【动画】@App开发者们,你想了解的SDK安全风险都在这 !******
日前 ,工业和信息化部信息通信管理局通报了今年第一批侵害用户权益行为App,有13款内嵌第三方SDK存在违规收集用户设备信息行为。
现如今,大量App借助SDK实现特定功能 ,提供便捷服务,满足用户多样需要,但APP使用SDK也可能带来相关安全问题,包括SDK自身安全漏洞 、SDK恶意行为 、SDK收集使用个人信息三类 。
其中 ,SDK恶意行为是指嵌入APP中 的SDK自身产生的恶意行为 。这种恶意行为将破坏使用SDK 的APP 的安全性 ,对用户权益、数据等方面造成严重威胁。典型的恶意行为如流量劫持、资费消耗、隐私窃取等。
常见SDK恶意行为
流量劫持指SDK信息拉取、上报和展示目标App提供者设定 的目标不同 ,恶意劫持App流量 ,可能对App造成损害;隐私窃取指SDK在用户不知情或误导用户 的情况下,隐蔽窃取用户 的通讯录 、短信息等个人敏感信息 ,隐蔽进行拍照、录音等敏感行为 ,并发送给恶意开发者 ;广告刷量指SDK在最终用户不知情的情况下,在后台模拟人工点击广告链接进行牟利 。
在SDK收集使用个人信息方面 ,安天移动安全发现 ,应用接入第三方SDK引发 的违规收集个人信息问题较为普遍 。其中,包括用户同意隐私政策前就开始收集个人信息 、隐私政策中未明确提及所接入 的SDK和数据收集情况 、SDK收集的个人信息范围与隐私政策不相符等。
除了上述 SDK恶意行为外,当前 App 接入 的 SDK 中还存在以上风险行为类型
在对某统计类SDK检测分析时研究发现,其主要提供用户行为统计功能,并在此过程中实现用户终端数据的收集和上传 。
由于该SDK 在不同App中存在模块代码和版本的不同 ,因此对其在不同月活范围 App 中 的数据收集行为进行抽样分析 ,从结果上来看 ,该SDK 普遍存在违规收集和超范围收集个人信息的问题 ,并且在月活较低 的 App 接入 的版本中,还存在通过云控参数控制 SDK 在终端侧收集数据范围的情况,并且涉及大量用户隐私路径数据的访问 。
以某知名地图 App为例 ,在相关检测中发现 ,在隐私政策中明确提到了应用内第三方 SDK所收集 的个人信息类型为设备信息和 Wi-Fi 地址。而实际上传的数据中除了包含 WiFi 的BSSID名称信息外 ,还频繁上传用户安装应用 的列表信息 。
国家标准计划《信息安全技术 移动互联网应用程序(App)收集个人信息基本要求》中明确定义了不同业务场景下,应用收集个人信息范围 的最小化原则 。而在应用接入 的 SDK 中,收集个人信息范围 、频度 的必要性和最小化原则同样适用于SDK 的功能业务场景。
虽然部分应用接入 SDK 时明示了 SDK 所收集 的个人信息范围 ,但其合理性和必要性存疑 ,例如收集个人信息范围为软件安装列表 ,但实际除了收集安装应用包名信息外,还收集了安装应用运行状态信息等 ,这就涉及超范围收集个人信息 。
例如 ,某统计类 SDK除了应用开发者本身主动调用相关事件接口外,SDK自身还注册监听了多种广播消息,在监听到相关消息后则会触发数据 的收集和上传行为 。例如对解锁屏 、电源连接断开事件进行监听、对用户终端安装 、卸载应用行为进行监听 ,除此以外 ,还会监听应用前台、后台的切换行为从而触发数据的收集和上传。
另外,当前 App 接入的 SDK 中还存在云端控制SDK行为 ,热更新技术控制 SDK 行为 ,后台拉活、自动下载安装 、误触下载等风险行为。
(监制 :张宁 策划 :李政葳 制作 :黎梦竹)
(文图 :赵筱尘 巫邓炎)