敏捷开发中的信息安全
敏捷软件开发在当今世界的数字演进中变得越来越普遍。尽管软件开发的转换已经取得进展,但是在这种环境中的信息安全性和风险管理尚未定义,并且无法支持这种环境。
一个概念是Scaled Agile的SAFe精益敏捷原则,其中包含十项敏捷和精益产品开发的基本概念。信息安全社区可以考虑适应IT安全的十项原则,以响应敏捷环境中软件开发的发展。
SAFe精益敏捷的第一条原则是“采取经济观点”。经济考虑因素考虑了市场的需求和需求,当我们从经济角度确定IT安全性时,我们应该根据市场的需求和评估IT安全控制措施。从消费者和监管机构的期望中可以得出经济学观点。这将有助于确定IT安全控制的优先级。
第二个原则围绕“应用系统思考”。IT安全应该成为开发团队的一部分,因为这样做可以在开发过程的早期就做出安全决策和风险考虑。如果无法在迭代中添加控件,则IT安全部门将能够为安全控制提供指导,而风险团队可以帮助指导和建议团队管理风险。
第三个原则是“假设可变性;保留选项”。假定可变性并保留此选项的心态将需要一个人在进行动态决策时同时兼顾安全灵活性和机会。从IT安全性的角度来看,这意味着安全控制的实现需要灵活,同时由公司策略指导和驱动以提供信标,而不管可变性如何。安全策略需要提供明确的方向,同时要在实现安全控制方面提供灵活性。
为了支持软件开发的快速增量方法,第四项原则是“以快速,集成的学习周期逐步构建”。由于安全性方法应该是自适应的,快速的且不会对开发过程造成阻碍,因此安全性测试和保证应适用于不断变化的增量迭代。这可以通过利用集成的自动化安全工具来发现安全问题来完成。
第五项原则是“建立基于工作系统客观评估的里程碑”。在产品的整个开发过程中,应以定期的里程碑逐步实施IT安全性和控制措施,以评估产品。为了信息安全,必须明确安全要求,以便为评估每个里程碑上的安全要求提供目标。
下一步是“可视化和限制WIP,减小批次大小和管理队列长度。” 这要求批次大小保持较小,并且队列长度保持较短。安全控制和要求将需要分解为工作项的批量大小,以便团队确定优先级,进行开发和实施。
第七条原则是“应用节奏,与跨域计划同步”。常规节奏和同步也应应用于安全性实施和控制。使用常规节奏,可以对主要的主要安全控制进行优先级排序,而可以在积压中添加次要安全控制。
随着安全策略和控件跨越技术和业务功能,同步事件使跨域团队能够在解决方案的各个级别上调整安全要求和实施。
第八条原则是“释放知识工作者的内在动力”。为了释放内在动力,应鼓励员工根据公司的原则和价值观探索并做出安全决策。组织应该认识到安全性要求很重要,因为它可以为加快市场接受产品的客户提供保证。团队应该有动力,并继续努力,使他们的产品不会成为错误和攻击者的受害者。
倒数第二个原则是“分散决策”。为了使团队能够对安全控制和风险做出决定,重要的是,开发人员应有权并负责做出安全决定。应该赋予开发团队成员权力,以确定如何满足策略和控制以及将执行哪个迭代。
应该培训开发人员从攻击者的角度评估代码和应用程序,以便他们能够对产品安全性做出决定。
第十个也是最后一个原则是“围绕价值组织”。安全控制和要求应围绕客户和社会要求的价值进行组织。需要对组织的安全控制进行范式转换,并要求控制对客户和组织的价值。
需要进行评估以确定要实施哪些控制措施,以支持产品的价值和风险暴露。
总而言之,IT安全和信息风险有机会被嵌入到敏捷框架中。有了正确的心态并愿意改变实践,就可以在快速,动态的软件开发环境中管理安全性和风险。
在敏捷框架内调整安全实践将使IT安全专业人员能够帮助开发团队根据社会的威胁和需求来管理风险并平衡安全要求。