图片103
一些常见的SDK,如支付SDK和导航SDK,其功能与个人信息密切相关。SDK收集的常见信息包括手机设备信息(如IMEI、IMSI和其他设备的唯一识别码)、网络信息(如IP地址、MAC地址、Wi-Fi热点等)、手机状态信息(如已安装/运行的应用信息)、用户行为信息(如锁屏、安装、升级、卸载应用软件)、用户个人信息(如电话号码、地理位置、通话记录)等,收集的信息范围非常广泛。SDK作为应用程序的一部分,应用程序需要对SDK的行为承担法律责任数据安全管理办法(草案)》、《个人信息安全规范》、《移动互联网应用程序(应用程序)收集和使用个人信息自我评估指南》明确指出,应用程序应如何处理与SDK的关系。
SDK经常在应用程序背后收集用户的个人信息。这种行为很难找到。它需要依靠自动动态检测来帮助识别。SDK依赖于应用程序运行。因此,您可以直接检测应用程序并找到SDK运行部分。
主要思路:定制ROM和真机设备,在定制ROM中加入探针和监听器,将AppUSH运行到定制设备中,通过脚本控制App在定制ROM中自动运行,遍历App的所有功能,定制ROM中的探针和监听器记录整个App运行过程中产生的数据、权限申请行为、数据采集行为等。根据权限检测标准,主动发现App和SDK未经授权。定制ROM+动态检测可以准确找出SDK中敏感权限调用和过度收集个人信息的行为。
以下是一组具体实现:分析第三方SDK信息。通过反向工具分析应用中的SMALI文件、Android Manifest.xml等关键信息,分析获取应用中包含的第三方SDK信息。
通过定制ROM+动态检测,记录调用点、个人信息收集等操作数据。在权限调用事件分析的基础上,将权限调用事件与SDK匹配,生成相关的SDK调用分析数据,检测到具体的权限调用时间点、权限申请位置、权限申请目的等信息。
从最近的安全事件和早期监管通知案例可以看出,许多案例是应用集成SDK收集个人信息,但没有提到SDK收集信息的隐私政策,最终导致监管通知批评,造成不良舆论,甚至应用直接下架,影响业务。