nullmobile APP security 交流*mobile APP security 交流碳基体(dani)我是谁*我是谁产品安全
师
APP security
web app,页游,手游(iOS&Android)主题*主题1. mobile APP主要威胁
2.mobile APP
流程mobile APP 主要威胁-iOS*mobile APP 主要威胁-iOS1. IPA破解
2.IAP解锁(in-apple-purchase)
3.存档修改
4.内存修改
5.封包修改
6.越狱检测绕过
7.patch mach-o executable
IPA破解-方法1*IPA破解-方法1方法1:破坏DRM数字版权保护技术,去处数字签名,取消IPA对apple帐号的绑定,允许没有合法签名的程序在设备上运行。(适用于非越狱机)IPA破解-方法1*IPA破解-方法1条件一:设备越狱,获得root权限,去除掉设备上的签名检查,允许没有合法签名的程序在设备上运行
代
工具:AppSync for iOS 5.0+
工具原理: 使用MobileSubstrate来hook libmis.dylib库的MISValidateSignatureAndCopyInfo函数来绕过签名验证IPA破解-方法1*IPA破解-方法1条件二:解密的mach-o可执行文件
代表工具:Clutch,Crackulous
工具原理:从内存中导出解密部分IPA破解-方法2*IPA破解-方法2方法2:
代表工具:PP助手,快用助手
工具原理:将正版购买相关信息同步到设备上,让其通过签名检查。 返回IAP解锁*IAP解锁什么是IAP
游戏关卡,游戏道具
built-in
server
IAP解锁*IAP解锁IAP解锁*IAP解锁IAP解锁-方法1*IAP解锁-方法1方法1:使用免费内购工具
代表工具:IAP cracker, IAP Free, LocalIAPStore
工具原理:伪造交易状态,伪造收据IAP解锁-方法1:IAPCracker*IAP解锁-方法1:IAPCracker原理:在客户端将transactionState修改为SKPaymentTransactionStatePurchased来欺骗应用程序下发购买内容IAP解锁-方法1:IAP Free*IAP解锁-方法1:IAP FreeIAP解锁-方法1:IAP Free*IAP解锁-方法1:IAP FreeIAP解锁-方法1:LocalIAPStore*IAP解锁-方法1:LocalIAPStoreIAP解锁-方法2:MITM*IAP解锁-方法2:MITM原理:证
伪造,DNS欺骗,模拟app store server进行Receipt验证IAP解锁-方法2:MITM*IAP解锁-方法2:MITMIAP解锁-方法2:MITM*IAP解锁-方法2:MITMIAP解锁-方法2:MITM*IAP解锁-方法2:MITMIAP解锁-方法3:存档替换*IAP解锁-方法3:存档替换原理:通过文档替换或覆盖来解锁,我们知道应用购买前后安装包中的Documents和Library目录发生的变化,就是解锁的内容。因此可以通过对比这两个目录的区别来完成IAP内购破解IAP解锁-方法3:存档替换*IAP解锁-方法3:存档替换返回存档修改*存档修改存档修改-plist*存档修改-plist存档修改-sqlite3*存档修改-sqlite3存档修改-json*存档修改-json存档修改-base64*存档修改-base64存档修改-十六进制*存档修改-十六进制返回内存修改*内存修改内存修改*内存修改返回封包修改*封包修改返回越狱检测绕过*越狱检测绕过越狱检测方法1:检查常见的越狱文件是否存在越狱检测绕过*越狱检测绕过越狱检测方法2:检查/etc/fstab的大小该文件描述系统在启动时挂载文件系统和存储设备的详细信息,为了使得/root文件系统有读写权限,一般会修改该文件。虽然app不允许查看该文件的内容,但可以使用stat函数获得该文件的大小。在iOS 5上,未越狱的该文件大小未80字节,越狱的一般只有65字节在安装了xCon的越狱设备上运行,result的大小为803705776 ;卸载xCon后在越狱设备上运行,result的大小为66越狱检测绕过*越狱检测绕过越狱检测方法3:检查特定的文件是否是符号链接文件iOS磁盘通常会划分为两个分区,一个只读,容量较小的系统分区,和一个较大的用户分区。所有的预装app(例如appstore)都安装在系统分区的/Application文件夹下。在越狱设备上,为了使得第三方软件可以安装在该文件夹下同时又避免占用系统分区的空间,会创建一个符号链接到/var/stash/下。因此可以使用lstat函数,检测/Applications的属性,看是目录,还是符号链接。如果是符号链接,则能确定是越狱设备越狱检测绕过*越狱检测绕过越狱检测方法4:检测dylib(动态链接库)的内容越狱检测绕过*越狱检测绕过原理:hook常见的越狱检测方法fileExistsAtPath:
fileExistsAtPath:isDirectory:
filePermission:
fileSystemIsValid:
返回patch mach-o executable*patch mach-o executable通过对已破解(ipa cracker解密后)的mach-O executable文件进行动态调试和静态反汇编逆向
,还原软件的整体结构,通过对相应的函数进行修改(也是常说的API hooker,malicious code injection),例如商店道具购买函数,任务奖励函数等来实现内购的解锁。这种类型的外挂通常以游戏插件形式提供,一般采用MobileSubstrate框架进行开发patch mach-o executable*patch mach-o executable工具
otool
classdump
cycript
gdb
IDA Pro
theos
MobileSubstrate mobile APP 主要威胁-Android*mobile APP 主要威胁-Android1.APK repacking
2.存档修改
3.内存修改
4.封包修改
5.其他APK repacking
*APK repacking
工具:
smali/baksmali
dex2jar/JD_GUI
apktool
otertool
APKTool_GUI
Andbug存档修改*存档修改工具:RE管理器(RootExplorer)
X-plore管理器
/data/data
/sdcard/Android/data/内存修改*内存修改工具:八门神器GameKiller/游戏金手指GameCIH/GameGuardian (需要root权限)封包修改*封包修改其他*其他1. 权限安全
2.组件安全mobile APP安全管理流程*mobile APP安全管理流程mobile APP安全管理流程*mobile APP安全管理流程mobile APP安全管理流程*mobile APP安全管理流程联系方式*联系方式微博: http://weibo.com/tanjiti
博客: http://danqingdani.blog.163.com
邮箱:danqingdani@gmail.com