中文站

iOS应用的隐私合规技术介绍与技巧

一、背景


二、隐私泄露问题

移动互联网时代,智能手机已经成为人们工作生活必不可少的工具。2021年8月27日,中国互联网信息中心发布的第48次《中国互联网络发展状况统计报告》显示,截至2021年6月,中国手机网民的规模已达10.11亿,同2020年底相比增加了近2175万人。中国的智能手机持有率提升至96.3%,近乎人均一部智能手机。

智能手机中有三种主流的操作系统,分别是Android、iOS和Windows Phone。而其中应用从基础的社交娱乐、网络查询,到手机支付、互联网金融,再到教育、医疗、交通等公共服务,移动互联网正潜移默化地影响着人们的生活和社会的形态,然而也暴露出越来越多的安全缺失与个人隐私泄露问题。

尽管得益于App Store严格的审核机制,iOS平台相比Android平台有着更为安全的应用环境,但是由于开发者缺乏安全意识或未遵守开发规范,iOS应用仍存在大量安全问题,其中隐私问题尤为突出,且更容易被忽略。

根据AppSec-Labs的移动安全报告,在测试的应用样例中,平均每个应用存在9.041个漏洞或缺陷。

如下图所示,移动应用有41%的漏洞和缺陷由隐私信息泄露所导致。同时,OWASP发布的2016年十大移动安全威胁报告指出,十大威胁包括不恰当的平台使用、不安全数据存储、不安全网络通信、不安全的身份验证、不安全的加密策略、不安全的授权、客户端代码质量问题、代码篡改风险、逆向工程威胁和其他功能的威胁。

图 | 移动应用漏洞缺陷分布情况

其中,不恰当的平台使用、不安全的数据存储、不安全的网络通信及不安全的加密策略都可能导致隐私泄露的发生。个人隐私的泄露轻则影响个人生活,重则威胁个人及公司财产。因此,iOS应用隐私泄露问题受到高度重视,成为了研究的重点方向。

三、法律法规不断完善

在隐私问题越发严重的同时,法律法规的要求也变得更加严格,例如:

#《信息安全技术个人信息安全规范》

#《中华人民共和国网络安全法》

#《互联网信息服务管理办法》

#《App违法违规收集使用个人信息行为认定方法》

因隐私违规问题被强制下架的应用屡见不鲜。但产品开发时经常由于忽视隐私问题,以及三方SDK引入,往往会造成不明信息获取,导致隐私数据上传到其他三方服务。值得注意的是,开发者往往自身并无主动获取,却也被查出存在隐私问题。iOS应用隐私检测的必要性越发显著。


四、隐私检测现状

在隐私检测中,除检测标准需保持更新之外,检测方案是另一大壁垒。随着隐私规定不断更新,隐私检测从一开始的静态扫描产物包,逐渐演变到如今的动态方案。以下几个问题一直困扰着市场上的隐私检测提供商。

1、时间成本

隐私问题由于其特殊性,往往自动化检测并不能保证其准确性,例如:

# 检测标准:是否明示收集使用个人信息的目的、方式和范围;

# 检测标准:收集个人信息时不应诱导、欺骗用户;

使用自动化检测会出现判断不准,往往还需人工参与再次核验,人工进行隐私检测,需耗费较长时间,且需要技术参与,如HOOK系统API查看调用情况,调试应用获取堆栈,等等。

2、检测不准

隐私检测技术主要分为静态检测和动态检测两种思路。

2.1 静态扫描

静态检测技术无需运行待检测的应用,通过扫描应用程序的产物,反编译、反汇编代码、符号、文件信息以及字符串等信息,判断是否存在隐私泄露发生的可能。

静态扫描的实现方式较为简单,但存在以下问题:
一是,当隐私政策有对应声明时,用户允许后可以进行获取个人信息,但静态检测只可以检测应用有无获取该信息。
二是,静态检测可完成项较少,如有无隐私政策,有无个性化关闭选项,有无通知关闭选项等等,无法进行检测。

2.2 动态检测

针对运行中的应用开展调试分析,可更准确地定位应用获取信息情况有无遵循隐私标准。相较于静态扫描,动态检测可实现更全面、更准确的检测目的。但作为商业化产品,客户提交IPA包无模拟器架构,使用真机调试存在安装签名、hook方案、自动化完成度不高等问题。

五、易盾检测方案

(一)检测内容

易盾iOS隐私检测内容包括如下:

01、应用基础信息概况

02、应用获取权限信息、权限说明

03、隐私政策内容说明

04、应用采集设备信息、个人信息、敏感数据的时机、频次等情况

05、应用隐私相关功能,如个性化推送、账号注销、推送关闭等

06、三方SDK情况

基于以上基础信息, 结合隐私规定进行多项检测,每个检测项提供检测标准、检测目的、检测结果、整改建议、截图定位等相关信息,生成完整检测报告,例如:


(二)方案特点

易盾的iOS隐私检测服务随着检测标准的不断更新,经过大量内外部用户使用反馈不断迭代完善,从技术人工检测到完整解决方案,由“静态扫描+动态检测+自动化测试”组成,完整流程如下:


静态检测主要扫描应用二进制文件信息、二进制符号、字符串、配置文件信息、三方库引入情况、资源文件等信息。

动态检测采用真机越狱关闭签名,自动化运行应用,自动点击相关功能模块,HOOK方案采用越狱插件方式,功能检测部分使用自动化测试方案、检测应用功能、描述等相关的隐私问题。

(三)方案特性

#检测成本大大降低,检测时间从3~4小时降低到15~30分钟。且无需技术人员参与。

#检测信息更加完善,基于越狱插件HOOK方案可满足不同应用及其包含动态库获取信息的情况检测。

#检测结果更加准确,结合自动化测试能力,动态检测的自动化程度大幅提升。

#用户提供包无需考虑签名问题,提交dev、ad-Hoc、企业签名包、商店包均可。

基于检测方案,运营人员在自动化输出报告后,仅需要确认一些页面的功能项,无需参与具体技术检测内容,大大降低检测工具使用门槛。用户获取到检测报告后,可查阅具体的风险项以及详细的整改建议。

六、总结

我们借助于功能强大的手机或终端设备处理日常事务,其中储存了大量个人信息、行为数据和隐私数据。在用户无感知的情况下,iOS应用能够访问照片、通讯录、地址定位等信息。类似的行为是否符合用户意向,是否超出用户意志是隐私安全,影响着隐私合规的与否。

在《个人信息保护法》出台之后,APP侵害用户权益专项整治行动定期开展。无论是监管部门的专项整治行动,还是日益严格的上架审核要求,都意味着iOS应用应当具备隐私保护能力。