安全419发现,报告涉及的部分内容并不被人们所广泛熟知,其内容将为对SDK行业生态的健康发展提供参考。
报告指出,随着移动互联网产业的兴起,移动应用软件(App)逐渐渗透到社会生活的各个领域,成为线上线下数据交汇的重要节点。根据工信部《2021年上半年互联网和相关服务业运行情况》监测数据,截至2021年6月底,我国国内市场上检测到的App数量为302万款。其中,本土第三方应用商店App数量166万款,苹果商店(中国区)App数量136万款。在数量迅速增长的同时,App也进入了精细化开发阶段,软件开发工具包(SDK)帮助App高效率、低成本地实现各类功能,为缩短App开发周期提供了便利。
SDK应用广泛,行业发展持续活跃
报告对SDK行业发展进行了总结,指出SDK通过专业化分工服务,帮助移动App快速实现业务功能、降低开发成本、缩短开发周期、有效节约资源,具有广泛的应用场景和价值空间,与移动互联网产业高度共生。按照SDK功能划分,目前比较成熟的SDK有广告类、推送类、数据统计分析类、地图类、第三方登录类、支付类等等。
SDK行业面临合规风险、安全风险
安全419关注到,报告指出SDK在提供便利的同时,也面临的合规风险、安全风险问题。
报告指出,SDK具有泛用性、灵活性等特点,与App存在密切联系,一旦出现安全问题,不仅自身业务受到直接影响,也会威胁到集成SDK的App业务安全和数据安全,对App的安全治理工作形成阻碍。报告提及目前国内关于SDK安全的要求主要分散在App相关的法律法规和标准中,SDK的合规问题与安全风险已经进入各方视野,相关工作在持续研究和推进,并不断完善。
报告对SDK的合规风险进行总结,在个人信息合规风险方面,主要存在SDK未经用户同意收集个人信息、超范围收集个人信息、未经授权使用个人信息,同时进一步的违规传输个人信息。报道进一步指出,App对嵌入SDK的安全管理监督不足是导致一系列问题的根本原因,但也确实存在App针对SDK进行技术检测存在一定难度有关。引发深思的同时报告进一步指出,不仅App本身收集使用个人信息的合规问题应受到监督,“隐藏”在App中的SDK合规问题也应引起各方重视。
SDK自身的安全风险 漏洞问题不容忽视
App业务功能实现愈发依赖SDK,而SDK除了向App隐藏特定功能外,SDK本身也易出现安全问题,进一步影响宿主App及其用户。因为SDK在设计开发时聚集于功能的实现,安全漏洞难以完全避免,需要通过规范安全开发流程尽量减少漏洞。报道基于现实将SDK安全漏洞划分为五类,也强调了SDK在这一方面需要进一步提高安全性。他们分别是代码源文件安全类、内部数据交互安全类、本地数据传输安全类、通信数据存储安全类和防御检测类。
在安全风险表现最为突出的内部数据交互安全方面报告指出,从技术业务逻辑上看,SDK产品作为某类业务功能的底层实现手段,为宿主App实现业务功能或提供推送、统计、分析等轻量附加功能,与宿主App、系统组件、其他应用进行联调、交互,存在引发安全风险的可能性。调用系统本地浏览器组件过程中存在的安全配置问题是SDK本地交互中存在的典型问题之一。
另外,如果SDK存在组件漏洞,攻击者可以通过这些漏洞对App进行攻击,可能导致App崩溃或信息泄露等严重危害。例如某SDK存在可越权调用未导出组件漏洞,利用该漏洞可实现对集成该SDK的App的任意组件的恶意调用、任意虚假消息的通知、远程代码执行等攻击。
面向开发者的安全措施建设
报告面向SDK开发者提供了诸多建议,但报告也提及,SDK的安全涉及到设计、开发、分发、集成等关键环节,SDK开发者和App开发者都需要关注SDK的安全问题,并根据自己的角色定位,评估和排查相关安全风险。
面向SDK开发者,报告建议从处理个人信息应满足相关法律法规要求、将安全与合规覆盖SDK整个生命周期(并遵循合理、最小、必要原则)、向App开发者提供合规与安全开发指南、与App开发者约定双方在个人信息保护方面的责权等方面研判相关工作;
面向App开发者,报告建议从遵循合法、正当、必要的原则选择SDK,建立SDK安全规范,并依法依规处理与SDK相关的个人信息,同时完善合作协议,对SDK的安全性进行动态监测。
以下为报告全文:
以下为报告全文: