碳基体

奋斗在产品安全第一线的安全妹子

iAuditor——iOS APP安全审计工具

一、iAuditor介绍


iAuditor是一款iOS app半自动化安全审计工具,使用相当简单。虽然功能有待完善,但对iOS平台而言,有公布出来的工具就该相当满意了,感谢提供者MDsec实验室。


iAuditor是采用MobileSubstrate框架编写的插件(搞越狱开发和外挂的对这个框架应该相当熟悉了),它通过HOOK运行中的APP调用的各种API,检查以下安全点:


1.APP是否支持自签名证书

2. APP是否存在URL Schema漏洞

3.APP是否访问地址簿(涉及用户隐私)

4.APP是否使用定位服务(涉及用户隐私)

5.APP中是否使用NSLog函数打印敏感信息(工具会将NSLog打印出的内容都列出来,以供发现是否存在敏感信息)

6.APP是否存在不安全的文件存储(会列出明文存储的一些文件)

7.APP是否采用明文传输


二、iAuditor安装

安装前提条件:

1. iOS 越狱

2. 安装了MobileSubstrate插件


安装方法:

第一步: 下载iAuditor 

第二步:将LibiAuditor.dylib与LibiAuditor.plist文件存放到移动设备的/Library/MobileSubstrate/DynamicLibraries下

第三步:将iauditorcli文件存放到/bin目录下(可以随便存放,我是为了方便调用,才放在该目录下的),修改该文件权限为可执行

danimato-iPod:/bin root# chmod +x iauditorcli


三、iAuditor使用

1. 该工具为命令行工具,输入help会显示具体的选项

 

2.审计应用(重点,属于动态审查)

第一步:输入list列出当前安装应用,每个应用都有一个相应的编号

 第二步:输入 audit与相应的应用编号,开启审计

 第三步:运行待审计应用,开始操作,操作步骤越多,相应的审计结果也会越全面

第四步:输入issues与相应的应用编号,查看审计结果

这时会在设备中所审计应用的主目录的/Documents文件夹下建立一个名叫iauditor.db的数据库,用来存放审计结果

我试验了几个应用,下面是审计结果:


1)指出应用会读取地址簿(addressbook)

 

(2)指出应用会读取当前地理位置

 

(3)列出不安全的文件存储

 该工具会将你在第三步操作时应用所进行的明文存储的文件操作列出来,具体应不应该明文存储,待按实际情况判断

 上图指出的文件就是新浪微博登录时所需要的验证码图片

 

(4)列出采用http传输的URL路径

 是否需要使用SSL待按实际情况判断


(5)列出可疑日志

 

 

3. 输入scan,采用静态方法检查mach-o可执行文件

如下图所示,指出该应用未启用ASLR安全机制(ASLR即地址随机化,iOS在4.3后开始支持,android 4.1后开始支持)

 

PIE,postition independent executable,当开启这个选项时,程序每次运行的加载地址都会不同,可以加大逆向分析(漏洞挖掘)的难度。(《ASLR》一文有介绍linux/android下的ASLR示例)


苹果的系统应用都是开启这个flags,如下图所示的计算器应用

 而我还未发现国内的第三方APP开启这个功能。




参考:

http://blog.mdsec.co.uk/2012/07/no-source-no-problem.html

来源:碳基体

评论