点击右上角微信好友
朋友圈
请使用浏览器分享功能进行分享
手机软件(App)出现流量劫持、恶意广告推送、违规收集个人信息等情况,或许是内嵌第三方软件开发工具包(SDK)在作怪——
警惕手机软件里的“内鬼”
光明网记者 孔繁鑫 李政葳
近日,国家计算机病毒应急处理中心监测发现15款移动App及1款SDK存在隐私不合规行为,涉嫌超范围采集个人隐私信息。今年2月份,工信部信息通信管理局也通报了今年第一批侵害用户权益行为的App,有13款内嵌第三方SDK存在违规收集用户设备信息行为。
伴随移动互联网时代到来,App与人们工作生活的关联日益密切。如今,大量App借助SDK实现特定功能,提供便捷服务,满足用户多样需要。但与之相关的安全问题,同样不容忽视。
何为SDK?与App有何关联?
最新数据显示,国内市场上App已达252万款。当前,App功能复杂程度及版本迭代速度大幅提升,已进入为大众提供精细化、场景化服务阶段。
“应用开发者为提高迭代速度、降低开发成本及丰富业务功能,除了自主开发外,还会内嵌SDK,从而快速接入和实现某类业务功能。”安天移动安全高级副总裁陈家林说。
安天移动安全风险应用检测预警平台统计发现,目前,我国80%以上App集成了第三方SDK,平均每个App集成数量近20款。中国信息通信研究院与腾讯公司联合发布的《软件开发包(SDK)安全研究报告(2021年)》中提到,被100款以上App所集成的第三方SDK已超3万款。
何为SDK?《TC260-PG-20205A移动互联网应用程序(App)中的第三方软件开发工具包(SDK)安全指引(征求意见稿)》中将其定义为,辅助开发某一类软件的相关文档、范例和工具的集合;第三方SDK则指由第三方服务商或开发者提供工具包。
“就像一家工厂在制造电视或汽车时,为实现更好的性能,从外界购买一些具有特定功能的零件组装在产品里。”一家资讯类平台的工程师田强这样打比方。
记者了解到,第三方SDK提供的App功能服务包括消息推送、支付、广告、行为分析统计、第三方登录等。有的SDK用于特定的品类应用中,比如,社交类App通常接入即时消息类SDK,网赚类App则会接入安全风控类SDK。
嵌入了便利,也嵌入了风险
从本次工信部通报的SDK违规问题可以看出,除多款SDK涉及违规获取设备ID外,还有1款涉及违规收集设备传感器信息,1款涉及违规收集设备安装列表。
对此,陈家林坦言,目前市面上的第三方SDK生态比较复杂,对于App开发者来说,第三方SDK运行时的行为可能并不透明;同一SDK引入不同App或App的不同版本中,其版本、功能、模块可能存在差异。“很多场景下App开发者难以全面评估SDK的安全性,且难以掌握SDK的全部运行行为。”陈家林说。
“我们曾采用过一款记录日志运行数据的SDK组件。几年前该SDK组件出现漏洞,平台数据安全因此遭遇严重威胁。”田强回忆,黑客通过该第三方SDK漏洞,可以登录服务器并获取操作权限,任意处置里面的用户数据。
安天移动安全近日发布的《移动互联网应用供应链(SDK)行为安全性现状研究报告》中提到,SDK恶意行为包括流量劫持、隐私窃取、静默下载安装、恶意广告、远程控制等;SDK风险行为包括违规收集个人信息、云端控制SDK、欺骗误导用户下载App、伪装或匿名推送消息等。
“App接入第三方SDK提供服务,在厘清个人信息处理责任边界、实施安全措施等方面,增加了复杂度和安全隐患。企业如何规范App接入的各类第三方SDK服务,已成为数据合规的难点之一。”中国电子技术标准化研究院网络安全研究中心测评实验室副主任何延哲说。
警惕违规收集用户个人信息乱象
去年年底,国家计算机网络应急技术处理协调中心、中国网络空间安全协会发布的《App违法违规收集使用个人信息监测分析报告》显示,第三方SDK收集行为普遍存在,由该行为不规范引发的App违规问题日益凸显。
“我们在检测中也证实了这类问题。具体包括在用户同意隐私政策前就开始收集个人信息、隐私政策中未明确提及接入SDK数据收集情况、SDK收集个人信息范围与隐私政策描述不相符等。”陈家林说。
从个人信息处理角度而言,何延哲认为,在理想情况下第三方SDK和App存在“委托处理”“各自独立处理”及“共同处理”三种模式:如果第三方SDK需遵循与App开发者的约定目的及方式处理个人信息,即第三方SDK受“委托处理”,App开发者承担告知同意职责;如果App开发者无法充分定制或限制第三方SDK处理个人信息行为,此时双方属于“各自独立处理者”,App开发者需告知第三方SDK处理个人信息规则;如果App与第三方SDK约定共同决定处理个人信息,双方可能成为“共同处理者”,都应该以个人信息处理者的名义对用户明示告知。
然而,在实际开发运营中,两者关系相比理想模式往往更为复杂。何延哲建议,App能够与用户直观交互并提供服务,应该承担更大告知职责;如果第三方SDK提供服务必须处理个人信息,需要主动详细告知处理规则。
应遵循最小化、必要性设计原则
第三方SDK嵌入App时,也嵌入了风险元素。对此,从事出行类平台研发工作的客户端工程师陆阳认为,一线工程师不能只关注软件开发业务,应该对所使用的SDK基本信息有清晰、必要的认识,并与安全团队配合,选出既符合业务诉求又能够保证安全性的SDK。
陈家林认为,从产业链角度看,SDK提供者需遵守个人信息保护法、数据安全法等相关法规以及App用户权益政策要求,在涉及个人信息收集和使用行为上秉持最小化、必要性设计原则;App开发者在选择和接入SDK时,需要重点评估SDK提供商及其SDK安全性。
针对用户权益,何延哲认为,如果基于用户同意使用SDK服务,用户有撤回同意权利;如果SDK收集用户信息是为履行法定义务,则不宜提供停止或拒绝功能;如果SDK与App为委托关系,应由App方对限制或拒绝处理个人信息作出响应。
近年来,国家相关单位的部分标准文件中,已提出App和SDK的安全技术要求和规范指引,部分处于征求意见稿阶段。记者也了解到,根据欧盟《通用数据保护条例》(GDPR)要求,欧洲的广告互动协会开始尝试“同意管理平台模式(CMP)”。何延哲表示,该模式本身有助于使个人信息处理更合规,具有一定借鉴性。而真正适合我国法律框架和App、SDK开发产业生态的个人信息处理模式,还需要各方持续研究尝试。
更多内容欢迎扫码观看