App隐私合规浅谈
序
随着互联网的发展,越来越多的App来到大众的视野中,生活越来越便捷的同时又会带来哪些新的问题呢?值得大家一起思考。
作为用户,我提交到平台个人信息会不会泄露?是不是安全的?
作为企业,数据就是资产。那企业拿到这些资产(个人信息)是将商业价值最大化还是秉承着用户第一的原则,时刻保护用户个人信息?
作为安全从业者,传统的安全建设能否完全解决上述的问题?
当然,上述的问题相信大家也都有各自的答案,后续我也会陆陆续续更新相关的文章,所以今天我们只聊App隐私合规。
只想看怎么做,可直接翻到这部分 - 》》》0X03 App隐私合规怎么做?
0X01 背景
有人说,2017年可以称之为中国网络安全的元年;也有人说,2021年是中国网络安全的元年;是不是元年我觉得并不重要,重要的是国家越来越重视网络安全。
2017年6月1日,《中华人民共和国网络安全法》开始施行。
2021年6月10日,第十三届全国人民代表大会常务委员会第二十九次会议通过《中华人民共和国数据安全法》,自2021年9月1日起施行。
2021年4月9日,《中华人民共和国个人信息保护法(草案)》对外发布并公开征求意见。
从这些法律的出台,我们可以看到我国网络安全相关的法律体系在逐渐完善,从传统安全到数据安全,再到个人信息保护。
为什么是个人信息保护?前段时间在一个关于个人信息保护的会上演讲老师是这么说的:
传统安全是为了维护网络空间主权和国家安全、社会公共利益,保护公民、法人和其他组织的合法权益。
对于涉及国家安全&社会公共利益的数据大家都很容易理解这里不多说;对于涉及企业利益的数据企业肯定是重中之重;但对于个人&用户的数据谁来保障?谁来负责?
今年的315晚会曝光中,多个事件涉及个人信息保护,通过对比也很容易看出对于个人信息保护的监管力度越来越大,曝光名单见下表:
2020年曝光名单 | 2021年曝光名单 |
---|---|
养海参整箱放敌敌畏,南方海参冒充北方海参 | 科卫浴、宝4S店、MaxM*ra被爆:违规窃取人脸数据 |
汉*王用过期面包做汉堡,鸡腿排保质期随意改 | 智招聘、前无忧、*聘:简历流向黑市 |
毛巾生产线的暗黑面:旧袜子旧内衣竟是毛巾生产原料 | 手机清理软件:诱骗老年人 |
*骏560高速上突然失去动力 故障没完没了投诉无处可去 | U浏览器、搜索:推送虚假广告 |
...... | ...... |
今年7月份,国家网信办发布了关于该出行App下架的通知,发布消息称”根据举报,经检测核实,“滴滴出行”App存在严重违法违规收集使用个人信息问题。”
![](https://img.haomeiwen.com/i6450757/add1a14dee74ecb6.png)
此事件也让“个人信息保护”再次成为大众关注的焦点。那么,关于“个人信息保护”有哪些法律法规和相关规范呢?
0X02 法律&规范
一、《消费者权益保护法》
第二十九条
经营者收集、使用消费者个人信息,应当遵循合法、正当、必要的原则,明示收集、使用信息的目的、方式和范围,并经消费者同意。经营者收集、使用消费者个人信息,应当公开其收集、使用规则,不得违反法律、法规的规定和双方的约定收集、使用信息。
经营者及其工作人员对收集的消费者个人信息必须严格保密,不得泄露、出售或者非法向他人提供。经营者应当采取技术措施和其他必要措施,确保信息安全,防止消费者个人信息泄露、丢失。在发生或者可能发生信息泄露、丢失的情况时,应当立即采取补救措施。
经营者未经消费者同意或者请求,或者消费者明确表示拒绝的,不得向其发送商业性信息。
二、《中华人民共和国网络安全法》
第二十二条第三款
网络产品、服务具有收集用户信息功能的,其提供者应当向用户明示并取得同意;涉及用户个人信息的,还应当遵守本法和有关法律、行政法规关于个人信息保护的规定。
第三十七条
关键信息基础设施的运营者在中华人民共和国境内运营中收集和产生的个人信息和重要数据应当在境内存储。因业务需要,确需向境外提供的,应当按照国家网信部门会同国务院有关部门制定的办法进行安全评估;法律、行政法规另有规定的,依照其规定。
第四十一条
网络运营者收集、使用个人信息,应当遵循合法、正当、必要的原则,公开收集、使用规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意。
网络运营者不得收集与其提供的服务无关的个人信息,不得违反法律、行政法规的规定和双方的约定收集、使用个人信息,并应当依照法律、行政法规的规定和与用户的约定,处理其保存的个人信息。
第四十二条
网络运营者不得泄露、篡改、毁损其收集的个人信息;未经被收集者同意,不得向他人提供个人信息。但是,经过处理无法识别特定个人且不能复原的除外。
网络运营者应当采取技术措施和其他必要措施,确保其收集的个人信息安全,防止信息泄露、毁损、丢失。在发生或者可能发生个人信息泄露、毁损、丢失的情况时,应当立即采取补救措施,按照规定及时告知用户并向有关主管部门报告。
第四十三条
个人发现网络运营者违反法律、行政法规的规定或者双方的约定收集、使用其个人信息的,有权要求网络运营者删除其个人信息;发现网络运营者收集、存储的其个人信息有错误的,有权要求网络运营者予以更正。网络运营者应当采取措施予以删除或者更正。
PS:相关法律实在太多,我不一一列举,大家可以自己去搜上文中提到的一些法律。
三、《GB/T-2020-35273 信息安全技术-个人信息安全规范》
此规范其实有帮大家列举一些个人信息参考清单、隐私政策模板等,这里不做过多介绍,大家可以关注公众号获取相关文档。
四、《App违法违规收集使用个人信息行为认定方法》
-
未公开收集使用规则
-
未明示收集使用个人信息的目的、方式和范围
-
未经用户同意收集使用个人信息
-
违反必要原则,收集与其提供的服务无关的个人信息
-
未经同意向他人提供个人信息
-
未按法律规定提供删除或更正个人信息功能”或“未公布投诉、举报方式等信息
相关的法律法规及安全规范,相信大家也有所了解,那具体怎么做呢?
0X03 App隐私合规怎么做?
个人信息保护是个长期的事情,也有一些相关的标准、指南出台供大家参考,如:
《App违法违规收集使用个人信息自评估指南》
《移动互联网应用程序(App)收集使用个人信息自评估指南》
《移动互联网应用程序(App)个人信息安全测评规范》
前两个指南比较简单照着做就行,下边说下第三个规范中提到的具体操作流程及技术检测原理&方法。
概述:
主要针对App、App服务端和相关文档资料开展测评。
实施过程:
主要包括准备、实施、结果判断、报告编写四个阶段,如图所示。
![](https://img.haomeiwen.com/i6450757/e4eab9227e1a7d8b.png)
测评方法:
综合采用,文件审查、服务端核查、功能验证、技术检测、人员访谈等方式。
其实,文件审查、服务端检查、功能验证、人员访谈都比较容易理解,后续也可以自己去查看相关文档。
==下面重点说下技术检测(标准里没有的哦)==
检测原理:
以静态检测&动态检测的方法进行检查,如:在用户同意《隐私政策》之前,App是否已在程序后端获取敏感数据。
检测方法:
在讲方法之前我们先拟定一个场景:
在用户同意《隐私政策》之前,App是否已在程序后端获取了敏感数据。
-
==静态检测(代码)==
优点:检测速度快、通用性强、技术简单
缺点:无法确定是否合规、加固后无法检测
操作方式:
通过逆向Apk,反编译出Apk代码文件,再通过关键词(API)检索源代码的方式来进行合规判定。
场景解读:
这里我们可以搜索《隐私政策》去确定代码位置,再查找在此之前的代码是否存在收集敏感数据行为,或搜索如下敏感函数。
android.telephony.TelephonyManager.getNetworkOperator() # 获取运营商信息 android.telephony.TelephonyManager.getDeviceId() # 获取设备信息 android.telephony.TelephonyManager.getPhoneType() # 获取手机信息 android.telephony.TelephonyManager.getSubscriberId() # 获取设备信息 android.telephony.TelephonyManager.getLine1Number() # 获取手机号 android.telephony.TelephonyManager.getCellLocation() # 获取位置信息 android.telephony.TelephonyManager.listen() # 电话监听 android.telephony.TelephonyManager.getSimOperator() # 获取SIM卡信息 android.app.ActivityManager.getRunningAppProcesses() # 获取运行APP android.app.ActivityManager.getRunningTasks() # 获取正运行的task android.content.pm.PackageManager.getInstalledPackages() # 获取安装APP ...
Ps:App逆向操作流程及工具使用可以翻我之前写的文章。
==动态检测(行为)==
优点:检测确认性高100%能检测(不会受加固影响)
缺点:技术复杂、通用性差
操作方式:
通过抓包&Hook沙箱或操作系统沙箱技术,在App运行的过程中,针对特定API进行埋点(可参考上文敏感函数),查看App是否执行了埋点的API,从而判断是否合规。
场景解读:
1.通过抓包的方式,在同意《隐私政策》之前查看流量中是否出现敏感数据。
2.通过Hook技术,对敏感函数进行埋点,在同意《隐私政策》之前查看埋点的函数是否执行。
工具推荐:
1.抓包工具,burpsuite/charles/fiddler 等
2.Hook框架,frida/Xposed框架等
**场景解读:**
1.通过抓包的方式,在同意《隐私政策》之前查看流量中是否出现敏感数据。
2.通过Hook技术,对敏感函数进行埋点,在同意《隐私政策》之前查看埋点的函数是否执行。
工具推荐:
1.抓包工具,burpsuite/charles/fiddler 等
2.Hook框架,frida/Xposed框架等
以上,就是本人对App隐私合规粗略的理解,有很多不足也有很多需要大家一起去实践验证,有感兴趣的朋友欢迎一起交流。
Ps:关注公众号回复“35273”可获取文中提到的相关文档。
附录-取自《GB/T-2020-35273 信息安全技术-个人信息安全规范》
个人信息列举:
![](https://img.haomeiwen.com/i6450757/30e6399dbdd2ff81.png)
个人敏感信息列举:
![](https://img.haomeiwen.com/i6450757/26ee4da7e7fc827f.png)