保障信息安全:ISO 27001/27002标准解读
关键要点
- ISO 27001/27002 信息安全和隐私标准要求组织与外包供应商协商职责,以确保安全代码的交付。
- 要求包括测试第三方库的安全性,即使没有访问代码的权限,因此DAST和手动渗透测试是必不可少的。
- 这些标准还规定,需与云服务提供商合作,以确保应用平台的安全性。
在现代软件开发中,您很可能已经意识到,所有的代码并不完全属于您。实际上,大部分应用代码都是由开源代码、第三方库和外包代码与内部开发的代码混合而成。此外,不仅您不拥有所有的应用代码,运行应用程序的平台也是第三方软件,包括云服务、网页服务器、网络软件和操作系统。然而,如果出现数据泄露,您的客户并不会关心那些被攻陷的软件是否由第三方开发,他们会将责任归咎于您。
现代软件的协作特性在更新的国际标准组织(ISO)27001/27002标准中得到了明确认可,要求组织“识别并实施流程和程序,以应对与使用供应商提供的产品和服务相关的安全风险。”尽管这是一项艰巨的任务,但ISO27001信息安全、网络安全和隐私保护标准及其补充文件ISO 27002
,为保护外包和第三方代码及云服务提供了指导原则。
第三方软件仍需进行安全测试
组织使用第三方库来处理网络操作或渲染用户界面等常见任务是合理的。这些预编写的代码通常很稳定、经过调试并准备就绪。然而,广泛使用的代码也可能成为攻击者的目标,从而获得丰厚的回报。幸运的是,安全社区持续监控流行平台和软件,寻找漏洞或安全隐患。ISO建议组织关注披露信息,并在有补丁和更新可用时及时应用。回归测试必须随之进行,以验证现有代码仍能按预期工作。
“然而,组织不能将第三方软件视为‘按原样接受’,”Invicti首席信息安全官兼信息安全副总裁MatthewSciberras警告道。“他们必须进行安全测试。SAST适用于开源代码,而对于通过API访问的库(源代码不可用),自动化的DAST和手动渗透测试是唯一的选择,”他说。(SAST和DAST分别代表和)
ISO 27002 详解外包代码要求
外包开发的优势很多,主要优势在于外包供应商可以提供贵组织所缺乏的技能。然而,与内部开发的代码一样,外包代码也可能带来安全风险。ISO27002承认保护数据的责任仍在于组织,规定了一套关于外包开发各阶段的要求。
ISO建议的第一步是对外包供应商进行调研:包括其声誉、文档及认证。特别需要关注安全实践,因为供应商将能够访问组织的数据。
接下来是协商一份强有力的合同。ISO表示,合同应明确界定双方的责任,包括适当情况下的保密协议。合同还应明确完成代码的所有权及知识产权。有关安全设计、编码和测试的程序和政策也应写入合同,并保留审计这些程序的选项。
访问控制是另一个关键考虑因素。在开发过程中,组织应为供应商提供所需资源的适当访问级别,并双方应建立安全的代码交付程序。合同终止时,无论是软件交付完成还是外包公司未能遵守合同条款,组织应撤销给予供应商的任何访问权限,供应商也应销毁所有组织的数据副本并归还所有资产。如果外包供应商在任何时刻意识到其代码涉及数据泄露,应合同义务上及时通知组织并与组织协作解决问题。
供应商和组织都应进行安全测试。在开发阶段可以使用SAST,因为您将拥有源代码的访问权限,但