当下,大多数的App运营者为了更加方便、快速地构建出各种应用程序,通常会在App内接入第三方SDK以实现特定的业务功能,满足用户的多样化需求。然而不规范地接入第三方SDK可能会为App带来合规性问题,本文将依据《信息安全技术 移动互联网应用程序(App)收集个人信息基本要求》(GB/T 41391-2022)“6.6.2 App嵌入第三方SDK”章节,举例分析第三方SDK常见违规问题及整改建议。
一、何为第三方SDK?
SDK全称Software Development Kit,即软件开发工具包。为协助软件开发的软件库,通常包括相关二进制文件、文档、范例和工具的集合。
为避免相同功能重复开发,SDK提供者将实现特定功能的代码封装成工具包(即SDK),并提供简单的接口。App提供者将SDK嵌入代码,通过调用接口就能实现相应功能,大大提高了App的开发和运营效率。
App提供者和SDK提供者可能为同一方,即为“自身开发的SDK”。如果不是同一方,称为“第三方SDK”。
二、GB41391中嵌入SDK的合规要求
(一)App运营者在接入第三方SDK前,需要满足以下要求:
遵循最小必要原则,仅嵌入实现业务功能所必需的SDK;
评估SDK是否存在违法违规收集使用个人信息行为;
评估SDK是否存在违法违规个人信息出境行为;
与第三方SDK明确双方的个人信息处理规则和保护责任;
对SDK申请使用权限进行审核,确保其申请的权限具有明确、合理的使用目的。
(二)App运营者在接入第三方SDK后,需要注意以下几点:
App仅向第三方SDK提供实现处理目的所必要的最小范围的个人信息;
向用户明示嵌入第三方SDK收集使用个人信息的目的、方式和范围;
向用户明示嵌入第三方SDK申请的系统权限和申请目的;
持续监督嵌入第三方SDK是否存在违规收集个人信息、调用权限、个人信息出境行为;
要求存在热更新机制的第三方SDK在热更新推送前向App运营者告知;
(三)当App运营者停止使用某SDK时,应及时从代码中移除该SDK的相关代码。
三、由SDK导致App违规的常见问题项
01 未征得用户同意,第三方SDK存在收集个人信息的行为
App首次运行时,需通过弹窗等方式征得用户同意隐私政策,在用户点击“同意”前,嵌入三方SDK不应存在收集个人信息或申请打开可收集个人信息权限的情形。
尤其要注意,点击首次弹窗中的隐私政策链接或点击“不同意”按钮后的过程中,均不应存在收集个人信息行为。
图1:同意隐私政策前三方SDK收集个人信息违规示例
对于该类违规行为,App运营者要注意SDK初始化的时机,移至用户点击“同意”隐私政策后再进行初始化及收集行为。
02 App隐私政策未逐一列出第三方SDK收集个人信息或调用的可收集个人信息权限的目的、方式、范围
用户使用App业务功能过程中,嵌入的某些SDK可能会产生较多的收集行为,一般是代码层面的接口调用,因此对于收集行为用户大多是无法感知的。而App运营者需要在隐私政策中将第三方SDK的收集行为逐一列举,向用户明示SDK收集的目的、方式、范围,甚至频次。
图3:第三方SDK存在收集行为但未在隐私政策中明示列出的示例
那么,对于该类违规行为,App运营者应该如何进行整改呢?
App运营方可自行梳理嵌入的第三方SDK收集个人信息的业务场景是否合理,遵循最小必要原则,对于不合理或非必要的SDK应尽量避免接入;对于有合理业务需求的第三方SDK,需在隐私政策中进一步详细列举其收集的个人信息及调用敏感权限的目的、方式、范围等。
特殊情况:有的SDK存在集成、嵌入其他SDK的情况,对于这种情况,则需在隐私政策中列出该SDK以及其集成、嵌入的其他SDK所收集个人信息和调用可收集个人信息权限的目的、方式、范围,并注明该SDK集成、嵌入了哪些SDK;此外,还有一种处理方式,就是在隐私政策中将该SDK与其集成、嵌入的其他SDK单独分开列出各自收集个人信息和调用可收集个人信息权限的目的、方式、范围。
03 第三方SDK超范围收集个人信息
在用户将App置于手机后台后,若不存在合理的后台业务场景,App嵌入的三方SDK存在后台收集个人信息或调用权限行为,App隐私政策也未对该SDK采集行为做必要说明,这种情况就属于App嵌入的第三方SDK超范围收集个人信息。
图4:某SDK后台运行期间定频读取ip的示例
相较于在用户使用过程中的个人信息采集行为,App在后台运行时的采集行为会尤为敏感。当然,并不是说App在后台运行时完全不允许采集个人信息。对于一些业务场景而言,后台运行期间的采集行为是合理的,比如:我们平时使用的地图导航类App,开启导航后即使将App置于手机后台,App仍会通过语音提示我们是左转还是直行,故而App采集用户定位的行为是存在合理且必要的业务目的的。
就目前而言,对于后台运行期间采集个人信息的业务场景是否合理以及其采集的频次是否在合理范围还没有一个明确且统一的规范界定。作为App运营者,若发现嵌入的第三方SDK存在后台采集个人信息的情况,首选确认该后台行为是否必要,是否可以避免它在后台采集——通过联系该SDK运营方调整代码,或是选择更合规的SDK替换它;当然,如App运营者核查后确认后台采集行为实际业务所必需,那么应在隐私政策中向用户明示该行为的目的、场景、方式、范围等,并遵循最小必要原则,尽可能的在满足业务功能的同时以低频率采集。
四、SDK存在合规问题,App来负全责?
我们常收到来自App开发者/运营者的疑问:“很多SDK收集的个人信息并未在他们的隐私政策列全,甚至有的SDK都没有隐私政策。我们技术手段有限,也不知道他们会收集什么。由SDK引起的合规问题,难道锅只能由我们App来背?”
不!!!
其实SDK的合规早已进入监管的关注范围,目前已有部分监管对SDK的违规行为进行了通报。并且针对SDK制定的标准也在陆续发布,相信不久,SDK行为整改规范后,App运营者的合规压力会小很多。
图:GB/T 43435-2023《信息安全技术 移动互联网应用程序(App)软件开发工具包(SDK)安全要求》2023年11月27日发布
图:GB/T 43435-2023中关于SDK收集个人信息的要求
图:SDK违规通报示例
五、总 结
“根之茂者其实遂,膏之沃者其光晔”。目前App仍对嵌入的第三方SDK负主要的安全管理责任,故而App运营者一定要重视起来,在选择SDK前及接入SDK后均应进行隐私合规方面的审核,尽量避免由SDK引起的违规行为,减少企业因SDK而被监管通报的风险。
(本文作者:北京梆梆安全科技有限公司 胡川 吴飏)
声明:本文来自CCIA数据安全工作委员会,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。