动画|可能不认识但每天都在用,告诉你手机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收集用户信息是为履行法定义务,就不应提供停止或拒绝功能。
监制:张宁、李政葳
制作:孔繁鑫
【动画】@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 行为,后台拉活、自动下载安装、误触下载等风险行为。
(监制:张宁 策划:李政葳 制作:黎梦竹)
(文图:赵筱尘 巫邓炎)