随着移动互联网时代的来临,APP开发逐渐成为创新与竞争的焦点。在这个过程中,移动互联网应用程序软件开发工具包(SDK)的使用变得愈发普遍。然而,为确保应用程序的安全性和用户信息的保护,开发者在设计、开发、发布、运营以及终止运营过程中都必须严格遵循SDK安全要求。在本文中,我们将探讨这些安全要求,以帮助您在找相关的app开发者时,能让他们确保开发的全过程中始终保持警惕。
1 范围
本文件规定了移动互联网应用程序(App)软件开发工具包(SDK)设计、开发、发布、运营、终止运营等阶段和个人信息处理活动的安全要求。
本文件适用于SDK开发、运营,并供SDK安全检测和评估参考使用。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 25069--2022信息安全技术术语
GB/T 34975--2017信息安全技术移动智能终端应用软件安全技术要求和测试评价方法
GB/T 35273--2020信息安全技术个人信息安全规范
GB/T 37964--2019信息安全技术个人信息去标识化指南
GB/T 41391--2022信息安全技术移动互联网应用程序(App)收集个人信息基本要求
3 术语和定义
3.1软件开发工具包software development kit;SDK
协助软件开发的软件库。
注:软件开发工具包通常包括相关二进制文件、API文档范例和工具的集合。
3.2软件开发工具包运营者software development kit operator
软件开发工具包的开发者、所有者、管理者或提供者。
注:简称SDK运营者,也包括SDK相关的个人信息处理者。
3.3移动互联网应用程序运营者mobile internet application operator
移动互联网应用程序的开发者、所有者、管理者或提供者。
注:简称App运营者,也包括App相关的个人信息处理者。
3.4最终用户end user
在移动终端设备上使用移动互联网应用程序的用户。
3.5热更新hot update
通过动态下发和加载代码,在App或SDK不重新下载和安装的情况下,改变其原有代码逻辑或资源文件。
3.6公共仓库public repository
方便开发者上传和下载源码或者二进制程序的公共平台。
4 概述
4.1 SDK使用场景
SDK运营者将实现特定功能的代码开发并封装成SDK,App运营者将SDK嵌入其开发的App中,最终用户通过App使用SDK提供的功能,如广告、推送等。
4.2 SDK安全风险
最终用户在SDK使用过程中存在的安全风险主要包括:
- SDK安全漏洞,由于SDK技术方案不合理或者因自身代码缺陷产生的技术层面的安全隐患和风险,例如弱加密算法漏洞等。
- SDK恶意行为,利用SDK进行非正当的行为,例如刷量等。
- SDK处理个人信息安全问题,SDK运营过程中涉及个人信息处理的安全问题,如超范围收集个人信息等。
5 SDK设计、开发、发布、运营、终止运营等阶段安全要求
5.1设计
SDK设计阶段的安全要求包括:
- SDK应仅包含与其声明功能相符合的功能,功能设计应符合正当、必要的原则;
- SDK宜提供单独控制热更新功能开启或关闭的选项,并确保App运营者在不接受热更新功能的情况下仍可正常使用SDK其他功能;
- 在非服务所必需或者无合理场景下,SDK不应自启动或者关联启动其他App。
5.2开发
SDK开发阶段的安全要求包括:
- 应满足GB/T 34975一2017中4.1.5.1 4.1.5.2 4.1.5.3的要求;
- SDK运营者应对SDK进行安全自评估,如代码审计安全漏洞扫描、隐私合规检测等;
- SDK运营者宜对广告、支付、认证、安全风控等安全要求较高的SDK进行第三方安全测评;
- SDK运营者应对SDK中集成使用的第三方代码和/或组件进行安全检测。
5.3发布
SDK发布阶段的安全要求包括:
- SDK运营者应通过官方网站、开源社区、公共仓库或以其他方式提供SDK下载文件集成文档和API文档、隐私政策、问题反馈和投诉渠道等信息;
- SDK运营者应在官方网站、开源社区或集成文档中提供隐私政策,并在隐私政策中声明SDK所具有的全部功能和个人信息处理规则,告知的信息应完整、准确、及时,不存在故意隐瞒、欺骗等行为;
- SDK运营者发布SDK时应提供相关的数字签名(包括SDK运营者和/或第三方安全测评机构签发的数字签名);
- 通过公共仓库进行SDK发布时,SDK运营者应对公共仓库账号进行妥善保管,避免因公共仓库账号泄露引发的安全风险。
5.4运营
SDK运营阶段的安全要求包括:
- SDK运营者应向App运营者提供SDK安全能力说明及安全评估报告(包括自评估和/或第三方安全测评机构报告),如数据安全存储、数据安全交互、关键组件安全配置、代码及资源文件安全等方面;
- 如SDK存在热更新机制,SDK运营者应在热更新推送前向App运营者告知本次热更新的具体内容及可能造成的影响,在涉及用户利益受损的紧急情况下,SDK运营者应当在紧急情况消除后及时告知;如热更新内容涉及个人信息处理目的、方式和范围的变更,应通过邮件、电话等逐一送达方式告知App运营者并宜通过App征得用户同意后再推送更新;
- SDK运营者如在运营期间发现SDK安全漏洞,应告知App运营者,并按照有关规定完成漏洞处置以及配合App运营者重新集成修复后的SDK;
- 如App运营者与SDK运营者分属不同的法人实体,SDK运营者应与App运营者通过合同等形式明确双方的安全责任及应实施的个人信息安全措施,约定App运营者应当通过隐私政策等文件将SDK在App中实际处理个人信息的目的、方式处理的个人信息种类、保存期限、个人信息主体行使权利的方式等规则告知最终用户;
- SDK运营者如发现App运营者未能向最终用户告知SDK个人信息处理规则,或授权同意方式不符合要求的,应主动提示其及时改进;如果App运营者在约定时间内未完成改进的,SDK运营者应当停止向其继续提供服务;
- SDK运营者应建立响应个人信息主体请求和投诉机制,个人信息主体可通过App运营者向SDK运营者进行请求和投诉;
- 因SDK引发个人信息安全事件的,SDK运营者应按照GB/T 35273-2020的第10章关于个人信息安全事件处置的要求进行处置;
- SDK运营者应按照GB/T 35273一2020的第11章落实组织的个人信息安全管理要求。
5.5终止运营
SDK终止运营阶段的安全要求包括:
- SDK运营者在终止运营前,应提前告知受影响的App运营者;
- SDK运营者在终止运营后,应按照SDK个人信息删除的安全要求对个人信息进行处理。[1]
移动互联网应用程序软件开发工具包的安全要求是确保APP安全性的重要组成部分。从SDK的设计、开发、发布、运营到终止运营,您所找的开发者都应该时刻关注并遵循相应的安全标准,以保障您的目标用户群体的信息安全和应用程序的稳定性。只有在全方位考虑安全性要求的基础上,您所开发APP才能真正迎合用户需求,建立可信赖的应用生态。[2]
参考来源:[1]
https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=E82DD873485F22C9AEC222289D51817A
[2]https://www.hooketech.com/mobile-internet-sdk-security-requirements.html
版权归原作者 虎克技术hukejishu 所有, 如有侵权,请联系我们删除。