mobile APP security 交流 碳基体(dani)
我是谁 产品安全工程师 APP security web app,页游,手游(iOS&Android)
主题 1. mobile APP主要威胁 2.mobile APP安全管理流程
mobile APP 主要威胁-iOS 1. IPA破解 2.IAP解锁(in-apple-purchase) 3.存档修改 4.内存修改 5.封包修改 6.越狱检测绕过 7.patch mach-o executable
IPA破解-方法1 方法1:破坏DRM数字版权保护技术,去处数字签名,取 消IPA对apple帐号的绑定,允许没有合法签名的程序在设 备上运行。(适用于非越狱机)
IPA破解-方法1 条件一:设备越狱,获得root权限, 去除掉设备上的签名检查,允许没有 合法签名的程序在设备上运行 代表工具:AppSync for iOS 5.0+ 工具原理: 使用MobileSubstrate来hook libmis.dylib库的 MISValidateSignatureAndCopyInfo函数来绕过签名验证
IPA破解-方法1 条件二:解密的mach-o可执行文件 代表工具:Clutch,Crackulous 工具原理:从内存中导出解密部分
IPA破解-方法2 方法2: 代表工具:PP助手,快用助手 工具原理:将正版购买相关信息同步 到设备上,让其通过签名检查。 返回
IAP解锁 什么是IAP 游戏关卡,游戏道具 built-in server
IAP解锁
IAP解锁
IAP解锁-方法1 方法1:使用免费内购工具 代表工具:IAP cracker, IAP Free, LocalIAPStore 工具原理:伪造交易状态,伪造收据
IAP解锁-方法1:IAPCracker 原理:在客户端将transactionState修改为SKPaymentTransactionStatePurchased来欺骗应用程序下发购买内容
IAP解锁-方法1:IAP Free
IAP解锁-方法1:IAP Free
IAP解锁-方法1:LocalIAPStore
IAP解锁-方法2:MITM 原理:证书伪造,DNS欺骗,模拟app store server进行Receipt验证
IAP解锁-方法2:MITM
IAP解锁-方法2:MITM
IAP解锁-方法2:MITM
IAP解锁-方法3:存档替换 原理:通过文档替换或覆盖来解锁, 我们知道应用购买前后安装包中的 Documents和Library目录发生的变化, 就是解锁的内容。因此可以通过对比 这两个目录的区别来完成IAP内购破 解
IAP解锁-方法3:存档替换 返回
存档修改
存档修改-plist
存档修改-sqlite3
存档修改-json
存档修改-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 通过对已破解(ipa cracker解密后)的mach-O executable文 件进行动态调试和静态反汇编逆向分析,还原软件的整体 结构,通过对相应的函数进行修改(也是常说的API hooker, malicious code injection),例如商店道具购买函数,任务奖 励函数等来实现内购的解锁。这种类型的外挂通常以游戏 插件形式提供,一般采用MobileSubstrate框架进行开发
patch mach-o executable 工具 otool classdump cycript gdb IDA Pro theos MobileSubstrate
mobile APP 主要威胁-Android 1.APK repacking 2.存档修改 3.内存修改 4.封包修改 5.其他
APK repacking 工具: smali/baksmali dex2jar/JD_GUI apktool otertool APKTool_GUI Andbug
存档修改 工具:RE管理器 (RootExplorer) X-plore管理器 /data/data /sdcard/Android/dat a/
内存修改 工具:八门神器GameKiller/游戏金手指 GameCIH/GameGuardian (需要root权限)
封包修改
其他 1. 权限安全 2.组件安全
mobile APP安全管理流程
mobile APP安全管理流程
mobile APP安全管理流程
联系方式 微博: http://weibo.com/tanjiti 博客: http://danqingdani.blog.163.com 邮箱:danqingdani@gmail.com