图片102
在选择第三方SDK时,我们应该选择满足相应的功能和性能需求,不仅要考虑价格问题,还要考虑安全问题。所有涉及SDK应用程序和使用的权限都应该只满足应用程序开发人员所需的功能。超出应用程序所使用的功能,即使功能合理,也应进行切割。如果有替代方案,所需的功能也可以在不收集个人信息或使用敏感权限的情况下实现,则应采用替代方案。应严格控制SDK申请的隐私和敏感权限。检查SDK是否通过国家安全等级保护的评和记录,是否符合国际信息安全管理体系等国际权威认证标准的要求,并获得相应的认证。
安全评估。第三方SDK应进行代码审计和漏洞检测,通过SDK反编译,评估来源可靠性、代码质量和潜在安全风险。对SDK申请的敏感隐私权进行安全评估,收集用户个人信息的字段、频率和返回服务端场景,以确认最小化引入SDK所需的权限。限制SDK权限的申请和获取,如Android系统通过APP声明,禁止SDK热更新(如果禁止热更影响SDK性能,SDK需要发布自律声明)等。注意引入SDK的安全动态和版本更新,及时修复安全问题,更新代码。混淆保护引入SDK的代码,外壳和加密。
个人信息安全影响评估。
个人信息安全影响评估(PIA)应在访问第三方SDK之前进行,并根据评估结果采取有效措施保护个人信息主体。PIA应综合考虑:SDK数据接收者的基本情况、数据收集的目的、类型、目的是否可以通过不收集数据或识别数据、数据可能侵犯个人信息主体、社会和个人潜在收入和风险、不收集数据是否会造成损害、任何法律限制或其他因素、数据收集是否可持续或临时、数据收集是否达到目的、是否需要继续收集数据、是否具有相同的网络安全和数据保护能力、动态审查PIA、是否有新的变化。
建立供应商管理制度。在网络安全等级保护评价要求或国际信息安全管理体系中,有供应商管理要求。APP开发人员应在第三方SDK签署的服务协议或安全责任书中明确后期的技术支持和服务承诺,明确双方的安全责任和个人信息安全措施。协议应包括信息安全风险处理要求,就信息安全要求达成协议,并形成文件。SDK服务应定期监控、评估和审查。