全国信息安全标准化技术委员会-App使用软件开发工具包(SDK)安全指引-2020.11-21页_1mb
报告摘要
网络安全标准实践指南总结
核心内容概述
《网络安全标准实践指南》(以下简称《指南》)是由全国信息安全标准化技术委员会秘书处发布的,旨在指导移动互联网应用程序(App)在使用软件开发工具包(SDK)时,如何防范安全和合规风险。文档涵盖SDK使用中的安全问题、责任划分、常见SDK类型及安全措施等内容,为App提供者和SDK提供者提供了详细的实践指引。
主要观点
1. SDK的广泛应用与潜在风险
- SDK被广泛应用于App开发中,提升了开发效率和功能多样性。
- 但由于SDK的封装特性,其行为具有较强的隐蔽性,可能引发安全问题。
- 某些SDK通过热更新方式动态加载恶意代码,对用户隐私和设备安全构成威胁。
2. 三方责任划分
- App用户:使用App时可能受到SDK影响,但对SDK提供者无直接感知。
- App提供者:是个人信息控制者和保护首要责任人,需确保SDK使用符合法律法规。
- SDK提供者:根据与App的使用方式,承担相应的个人信息安全责任,可能成为共同控制者或独立控制者。
3. SDK类型与功能
- SDK按功能可分为:框架类、广告类、推送类、统计类、地图类、第三方登录类、社交类、支付类、客服类、测试类、安全风控类、Crash监控类、人脸识别类、语音识别类、短信验证类、基础功能类等。
关键信息
常见安全问题
| 类型 | 具体问题 |
|---|---|
| SDK自身安全漏洞 | 包括Java代码未混淆、私有函数调用、AES弱加密、RSA不安全使用、随机数不安全使用、敏感函数调用、低保护级别的自定义权限、PengdingIntent不安全使用、隐式Intent调用、动态注册广播、FFmpeg文件读取、Intent Scheme URLs攻击、Provider文件目录遍历、Fragment注入、Webview未移除隐藏接口、Webview明文保存密码、Activity绑定browserable与自定义协议、剪切板读或写操作漏洞检测、DEX文件动态加载、外部加载so文件漏洞、未使用编译器堆栈保护技术、未使用地址空间随机化技术、unzip解压缩(ZipperDown)漏洞、动态链接库中包含执行命令函数、libupnp栈溢出漏洞、Webview组件远程代码执行、保存明文数字证书、篡改/二次打包、资源文件泄露、so文件破解等 |
| SDK恶意行为 | 包括流量劫持、资费消耗、隐私窃取、静默下载安装、广告刷量、恶意广告、勒索、挖矿、远程控制、剪切板劫持等 |
| 个人信息收集问题 | 包括超范围收集、未说明收集目的、未经用户同意收集、App对SDK安全管理监督不足等 |
安全措施与原则
5.1 App使用SDK安全原则
- 权责一致原则:App提供者与SDK提供者需对个人信息处理活动承担责任。
- 目的明确原则:SDK收集使用个人信息的目的需与App业务功能直接相关。
- 选择同意原则:向用户明示SDK收集信息的类型、目的、方式,并征求用户同意。
- 最小必要原则:App仅嵌入必要的SDK,SDK仅申请与功能相关的权限。
- 公开透明原则:SDK需以明确、易懂方式告知个人信息处理规则,实际行为需与公开文档一致。
- 确保安全原则:采取技术手段保障数据的保密性、完整性、可用性。
- 主体参与原则:提供用户查询、更正、删除个人信息及投诉渠道。
5.2 App提供者安全措施
- 遵循合法、正当、必要原则选择SDK。
- 对SDK进行安全性评估,包括来源、代码、行为三方面。
- 选择提供者信息明确、反馈渠道有效的SDK。
- 对具有热更新功能的SDK进行内容校验,阻断非官方更新。
- 对集成后的SDK进行持续监测或定期评估,及时修复漏洞或替换SDK。
- 对接口增加鉴权机制,确保调用安全。
- 向用户告知SDK信息,征得用户同意。
- 与SDK提供者签订合作协议,明确双方责任与义务。
- 停用SDK后及时移除相关代码,处理共享或收集的个人信息。
5.3 SDK提供者安全措施
- 遵循最小必要原则收集使用个人信息。
- 对功能模块进行拆分或提供单独开启关闭选项。
- 控制个人信息收集频率,仅在必要时收集。
- 通过代码审计、混淆等方式增强安全性。
- 在发布前进行安全评估,上线后持续监测。
- 对接口增加鉴权机制,隔离不同App的调用环境。
- 数据传输采用HTTPS、双向证书校验等安全机制。
- 对于使用热更新的SDK,需建立安全机制,包括告知机制、内容校验、关闭选项等。
- 向App提供者完整、准确告知SDK相关信息。
- 建立“Opt-out”退出机制,保障用户选择权。
- 完善与App提供者的合作协议,明确个人信息处理规则。
- App停止接入SDK后,需删除或匿名化处理相关个人信息。
总结
本《指南》强调了App与SDK在个人信息保护方面的责任划分和安全实践,提出了针对SDK安全漏洞、恶意行为和信息收集问题的系统性应对措施。通过明确各方责任、加强安全评估与监控、确保用户知情权和选择权,有助于提升App与SDK的整体安全水平,降低潜在风险,保障用户隐私与数据安全。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载