现如今,大量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 行为,后台拉活、自动下载安装、误触下载等风险行为。
(监制:张宁 策划:李政葳 制作:黎梦竹)
动画|可能不认识但每天都在用,告诉你手机App里的SDK“长啥样”******
最新数据显示,国内市场上的App已有252万款。在移动互联网时代,App与人们工作生活的关联日益密切。App开发者为提高迭代速度、降低开发成本、丰富业务功能,除了自主开发外,还会内嵌SDK(软件开发工具包)。
SDK是什么?它广义上指辅助开发某一类软件的相关文档、范例和工具的集合。第三方SDK则指,由第三方服务商或开发者提供的工具包。
App广泛接入第三方SDK是移动互联网发展至今形成的一种常态,这对于处理用户个人信息的责任边界和安全措施增加了隐患。
在理想情况下,第三方SDK和App之间存在三种关系:如果第三方SDK需遵循与App开发者的约定目的及方式处理个人信息,即第三方SDK为受“委托处理者”,此时App开发者承担向用户告知同意的职责;如果App开发者无法充分定制或限制第三方SDK处理个人信息行为,此时双方属于“各自独立处理者”,App开发者需向用户告知第三方SDK处理个人信息的规则;如果App与第三方SDK约定共同决定处理个人信息,双方可能成为“共同处理者”,都应该以个人信息处理者的名义对用户作出告知。
从保护用户权益角度考虑,如果基于用户同意使用SDK服务,用户有撤回同意的权利;而如果SDK收集用户信息是为履行法定义务,就不应提供停止或拒绝功能。
监制:张宁、李政葳
制作:孔繁鑫
(文图:赵筱尘 巫邓炎)