本文我们从实践的角度去跟大家进行探讨。一个企业如果想做好业务安全的测试和防护应该怎么做?最佳实践是什么?最完美的是三步走,分三个阶段。这三个阶段要循序渐进,一下子实现是不可能的。
绝大多数企业都做不到这三步都实现,实际上非常不容易。但是我们可以脚踏实地一步一步来,在实践的过程中就可以完善我们企业的整个的安全策略。通过不断地去实践、不断地完善,慢慢地探索出属于自己的最佳实践。因为每个企业的特点都是不一样的,行业属性、业务等各方面都不一样,需要根据实际情况不断去总结、完善、丰富。
第一步,在业务系统上线前,在源代码编写阶段和测试阶段进行安全检测,在源头上识别并控制软件的风险。
第一步是最重要的,现在我们很多企业现在基本上做到的也是第一步,都不到第二步。第一步做扎实了,才能够去做第二步。在业务上线之前,一定要去做安全测试,尤其是源代码的编写阶段和测试阶段,做安全测试是非常有必要的。这是在源头上去识别和控制软件的风险。
安全测试一定是必要的。哪怕我们只做黑盒测试、动态分析。当然最好的实践是在开发阶段就已经开始做基于代码的安全测试。
然后到了第二步,光做安全测试肯定还是不够的,我们是希望把安全的基因部署到我们整个生命周期里。比如说最开始的需求分析,这个时候还没有工具去测,因为还没有开始软件开发。这个时候就开始考虑到安全,是不是有一些安全的功能,在设计阶段就可以将一些基于安全的具体的功能涉及到我们的应用开发中,做一些威胁建模。
到了开发阶段就可以有一些自动化的工具包供我们去测试了。这个阶段,工具就很重要了。工具是集中了业界最顶尖的专家团队,总结了全球的安全知识库,可以帮助我们非常高效、全面地进行测试。从开发阶段到测试阶段,不管是黑盒、白盒、灰盒,都有自动化的工具可以帮助我们。
到第三步,我们光上线之前做好了还不够,上线之后还有可能被威胁。发布的时候已经保证这个应用很安全了,可能还有一些风险是在生产环境下进行的攻击,这个时候还需要监控,实时防护生产环境下的应用。这样才形成了我们整个安全的SDLC。
以上是我跟大家分享的一个最佳实践的思路。这个最佳实践为企业带来的收益也是很可观的,这里我们就不多做介绍了。接下来的文章我们会为大家讲一些具体的流程和方案,欢迎大家继续关注。