- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOSAPP安全杂谈之三-高小厨
原原文文地地址址:/papers/9598
0x00 序序
听说最近IOS让人操碎了心,不到三个月的时间里先后发生太极 狱被曝存在后门,22万iCloud账号及机密信息被多款内置后门 狱插件窃取并泄露,XcodeGhost事件多个知名企业中枪,吓的
大家纷纷改了密码。当然像XcodeGhost这样的事情用户是没办法避免的,其编译的APP毕竟是在AppStore上上架的,但是还有一大部分的安全问题其实是完全可以避免的,那就是用户不要
狱,而厂商的APP在运行前检查运行的设备是否安全。现在也有很多APP在使用前都会检查设备是否 狱,如果 狱了则强制退出或者只是提醒一下。那么这次我们就来聊聊 狱之后的那点
事。PS:由于本人能力有限,文章难免会有些错误,还望小伙伴们见谅。
0x01 狱狱之之后后更更美美好好??
狱之后可以干什么,可以免费的玩各种付费的游戏,可以自动的抢红包,可以在接听电话时自动录音,是的,想想还有点小激动。
图1 其实向往自由没什么错
但事实是 狱之后的风险是用户和厂商都不想看到的,攻击者可以在 狱环境下改变你的APP执行逻辑 (例如通过更改函数的返回值来绕过手势密码验证)、可以通过复制应用数据克隆用户
或者登陆任意用户、可以通过打补丁的方式绕过目标APP的一些限制等,当然以上的这些危害都是需要一个前提条件:目标APP在 狱环境下能正常使用。
图2 你以为 狱之后就自由了?
0x02 工工具具准准备备
狱的iPhone或iPad (我这里演示的是IOS 8.4,低版本或高版本的可能会有些不同);
IDA或者Hopper Disassem ler;
Xcode (主要使用其附带的LLDB),当然对于低版本的IOS可以使用gd ,LLDB具体如何调试可以参考这里;
OpenSSH,itools等其他工具。
0x03 方方法法准准备备
检测 狱的几种方法 (可参考 《Hacking and Securing ios Application》):
((1))沙沙盒盒的的完完整整性性校校验验
一些 狱工具会移除沙盒的限制,使程序可以不受限制的运行,这里要说的是关于fork函数的限制。fork函数可以允许你的程序生成一个新的进程,如果沙盒被破坏或者程序在沙盒外运行,
那么fork函数就会成功执行,如果沙盒没有被篡改则fork函数执行失败。这里我们通过fork ()的返回值判断子进程是否成功,程序代码如下:
#!c
#include stdio.h
#include stdlib.h
static inline int sandbox_integrity_compromised (void) __attribute__ ((always_inline));
int sandbox_integrity_compromised (void)
int result = fork();
if (!result)
exit(0);
if (result = 0)
return 1;
return 0;
}
int main (int argc,char *argv [])
if(sandbox_integrity_compromised ())
printf(Device is JailBroken\n);
}else
printf(Device is not JailBroken\n);
}
return 0;
}
((2 ))文文件件系系统统检检测测
1) 狱狱文文件件是是否否存存在在
狱之后的小伙伴们一定对Cydia程序很熟悉吧,它是最受欢迎的第三方程序安装器,大部分的 狱工具都会自动给设备进行安装。所以我们可以检测第三方程序文件是否存在来判断设备是
否 狱,例如检测Cydia程序是否存在。
2) /etc/fstab文文件件大大小小
fsta 文件通常被 狱工具替换使root分区有读写的权限,但是APP不允许查看该文件的内容,所以我们使用stat函数获得此文件的大小,再根据文件的大小来判断是否 狱。我这里显示 狱后
该文件的大小为67字节,有资料中说如果没有 狱该文件的大小应该为80字节。
图3 使用itools查看fsta 文件大小
3) 符符号号链链接接检检测测
IOS的磁盘被划分为两个分区:容量较小的是系统分区,另一个是比较大的数据分区。IOS预装的APP会安装在系统分区下的/App
文档评论(0)