移动APP隐私合规检测解决方案初探
目录:
一、背景与应用场景介绍
二、企业APP面临的问题
三、个人面临的问题
四、解决方案
五、未来展望与总结
一、背景与应用场景介绍
1.1、国家对个人隐私保护越来越重视
2019年初,中央网信办、工信部、公安部及市场监管总局四部门联合发布了《关于开展App违法违规收集使用个人信息专项治理的公告》,预示着我国在APP隐私层面的治理进入了一个新的高度,期间部分APP采集隐私数据受到了严重处罚。
如图1-1所示,每年各部门发布的相关个人信息范围规定文件可以看出个人信息安全和用户权益保护越来越被重视。
图1-1
各监管部门不断开展APP专项治理工作及核查通报,不合规的APP通知整改或直接下架。
1.2、应用场景
企业:
针对企业开发的移动应用中收集个人信息行为是否存在违法违规进行认定并提供参考,为企业APP运营者自查自纠提供指引,移动应用个人信息安全提供多方位全面体检,APP是否合规等问题的深度检测,及时发现应用存在的潜在风险与不合规之处,帮助企业对APP隐私、过度收集、滥用等行为进行检测,高效、低成本地做APP合规自查形成专业并易理解的检测报告,为移动应用运营者提供专业的合规、安全提供整改依据。
个人:
现在我们的日常工作生活基本都离不开手机,无论是购物、点外卖、工作还是娱乐,都需要用到各种互联网公司开发的APP,但是其中的用户安全隐私问题,悄然的浮现了出来,很多APP能监听用户内容上传到服务器,然后发放精准广告,没有隐私可言。所以普通人如果要发现自己使用的APP是否有问题就需要借肋能检测出问题的工具或平台。
二、企业APP面临的问题
2.1、来自多方面的风险
企业APP的直接开发者:
自研企业移动应用
第三方业务应用
多方协同开发业务应用
基于第三方开源应用。
第三方SDK引用:
推送类SDK
地图类SDK
认证识别SDK
登录分享SDK
短信验证SDK
即时通讯SDK
支付类SDK
自动更新SDK
直播类SDK
音视频多媒体SDK
安全键盘SDK
埋点统计SDK
开发框架SDK
游戏SDK
······
风险分类
风险主要为三类:个人隐私、安全漏洞
过度收集用户个人信息:
无论是第三方SDK,还是是企业自研移动应用,均存在对个人信息过度获取、泄露、滥用等安全 问题,(如摄像头、存储读写、麦克风、位置、短信读取等)。
存在代码安全与漏洞:
引用的第三方SDK、自研移动应用安全审查过程缺乏,安全意识薄弱,造成移动应用代码存在未知安全漏洞。
2.2、对企业APP的影响
过度收集信息APP下架造成业务不能正常推进、影响企业品牌信誉。
2.3、浪费人力资源与时间
目前很多企业检测APP主要是通过读源代码方法将有关API标记为敏感,这显然很不合理。这种方法大多是依赖于人工、开发人员或分析师手动标记敏感的内容,这需要大量的人工干预,而工作跟不上就会导致安全风险存在。这种方式是非常低效的,成本也很高。
三、个人面临的问题
3.1、信息被过度采集
可能你听过或自身也遇到过以下这些场景,比如刚刚在聊天的时候提到某件商品的名字,在打开电商平台的时候,满屏都是这种商品的身影,就会接收到相应的广告,在论坛上面交流某款游戏,转头过来就在论坛推送的广告上看到这款游戏的名字等等。是否在我输入交易密码时会被记录上传?这到底是谁泄的密?对于个人而言只能感叹“我们还有隐私么?"
大多对APP在手机上用户隐私的定义主要集中在操作系统预定义的敏感API上,如设备标识符,电话号码,IMEI、MAC等、GPS位置信息、通讯录、短信、浏览器信息等,主要采取了权限保护的手段。这些的确是非常重要的用户隐私,但是并没有覆盖所有的用户隐私和敏感数据。在很大程度上忽视了一个非常重要的用户隐私来源——用户输入隐私。App通常通过用户界面让用户输入一些信息,而这些信息就包括了登录凭证、财务信息、医疗信息等敏感数据。因此要在APP中保护用户隐私,就必须很好的处理这些用户输入数据。
3.2、恶意操作行为
第三方SDK可能借助合法的宿主APP执行恶意的操作:静默安装其他APP、上传业务数据、获取用户隐私数据上报云端、监听用户、恶意推送信息等。
某些应用为了对抗自动化安全分析,只有在用户特定的情形下才触发隐私收集事件,比如某输入法。没有完整的逻辑逆向分析很难发现其行为。
四、解决方案
4.1、方案介绍
方案主要分成两部分:
第一:企业APP发版时针对应用中收集个人信息行为是否存在违法违规进行认定并提供参考,为APP运营者自查自纠提供指引。
第二:及时发现个人手机上APP获取信息合规问题及准确定位,提前发现应用中个人信息的安全、合规风险,并准确定位问题出现的源头,对获取隐私的应用提出预警提示。
4.2、整体架构
架构分为移动端与服务器端,如图4-2所示:
图4-2
安全沙箱是指建立一个隔离的运行环境,在里面直接运行第三方App,这种技术方案为解决上述某些APP在特定条件下才收集用户隐私的事件监控,因为只在服务器端自动化分析场景比较单一,某些有做安全处理的APP会逃过检测,很难发现它的恶意行为。
4.3、核心功能介绍
威胁行为类型
常见的威胁类型如图4-3所示:
图4-3
移动端:
移动端主要负责监控用户界面输入的内容隐私,例如,伪装成银行应用的APP来骗取用户的财务信息。设备方面的敏感数据是操作系统给出的,例如位置、硬件号信息,保护此类隐私数据可以利用系统API来设置安全标签,对其进行保护APP执行时API、网络接口监控,特定行为监控。
云端:
云端主要对APP进行通用类型的隐私接口进行检测,脚本自动化静态与动态分析APP的行为,APP执行时API、网络接口监控。
五、未来展望与总结
5.1、难点与挑战
难点与挑战主要来自三个方面:
1、识别用户输入的隐私
如何识别输入文字、语音、图片是敏感的?人眼可以很轻易的识别用户输入隐私,但对机器来说大规模精准识别是很难的。由于用户输入隐私是高度非结构化的数据,因此无法在用户输入过程中用正则表达式来识别。用传统的静态检测技术同样也是不切实际的,因为在代码语义中,隐私输入和其他普通输入并没有显著的区别。
2、有安全防护的APP
某些APP将收集隐私部分的代码进行VMP虚拟机保护、Java2C保护、防Hook等,需要二进制文件逆向、动态调试、反汇编等,增加分析难度与成本。
3、准确理解APP隐私声明
如果要保证APP隐私政策识别准确性可以在检测时人工介入,但是成本高、周期慢,提升效率的方法可以使用机器学习算法对隐私声明进行阅读训练。但是准确性可能达不到。
5.2、权利交给用户
最基础的智能是依赖于数据,如果用户想要享受更加智能的体验,那么在享受着智能来便利的同时,也会失去更多的隐私,相应地也会收到更加精准的广告投放。这是目前大多数APP做智能推荐的一个大逻辑。
哪可不可能在应用内让用户可以设置隐私保护模式,在不影响用户正常使用的前提下开启隐私保护模式,开启隐私模式后用户的数据不会被上传到云端,以此保证用户个人隐私安全。
5.3、总结
任何事物都有其两面性,“这是一个智能的年代,也是一个没有隐私的年代”,鱼和熊掌不可兼得,比如输入法其实就是一个游走在隐私和智能之间的产品。如果用户想要享受更加智能的输入法体验,那么在用户享受着云端联想词库带来便利的同时,也会被更加精准的广告投放与更多隐私问题。
欢迎关注公众号: