网络安全 频道

如何在交付周期中保Web应用程序安全性

  代码执行与编译

  在开发人员开始编写代码时,他们对安全控制必须拥有一套完整的风险评估设计和清晰指南,或通过经认可的服务来使用这种安全控制。集成到IDE中的自动化静态代码工具可以在编写代码时向开发人员提供检查和指南。自动化的工具还可在编译期间用于对照策略模板检查代码是否违规,并可以深入查看代码水平的安全问题。

  将安全性集成到代码执行和编译阶段的步骤

  1、安装可与集成开发环境整合到一起的静态源码检查工具。

  2、作为一种选择,开发人员在交付代码之前可以用独立的编码工具来执行自动化的代码检查。

  3、安全和审核团队抽查代码模块,看其是否遵循合规要求,并在编译之前使用自动化的或手动的代码检查来检查其安全风险。

  4、在编译过程中,执行自动化的静态代码扫描,查找安全问题和策略的遵循情况。

  5、使用工具跟踪开发人员的编码错误,并对其带来的安全风险提供解释性反馈和原因说明。

  这会带来如下的好处:

  1、可将更清洁的或漏洞更少的代码提交给质量评价人员。

  2、随着时间的推移开人人员可以提升安全编码能力。

  3、可重用策略可以提升风险分析的正确性。

  4、在测试阶段发现的编码错误或漏洞更少,并会使开发周期更短。

  质量评价/测试

  用于测试应用程序的具体安全工具范围很广,其中有可以评估完整应用程序的独立解决方案和服务,更有完全集成的套件,这种套件可以提供测试和对从教育到实施等多个阶段的支持。集成的方案可以为那些对可重复的Web应用程序的安全周期表现成熟的公司提供多个阶段的支持。集成套件可以在进程中的多个时点上实施,并可为持续的改善提供尺度和反馈。

  那么,在质量评价和测试阶段,应采取哪些集成安全和改善安全的步骤呢?

  1、专注于发现某些资源的最重要问题。

  2、在一个包括现有的补救控制(如防火墙和IPS)的应用架构中验证这些测试发现。

  3、根据安全性和业务需要,区分所发现的漏洞的优先次序。

  4、对于代码行或其所依赖的API、服务、库等提出修复建议。

  其好处也是显而易见的:1、应用程序开发人员之间可以更好地交流。2、似是而非的东西更少。3、修复周期更快。

  部署/投产

  Web应用程序的安全性并不会终止于应用程序的部署阶段。一旦Web应用程序投产,还应当实施其它测试和监视,用以确保数据和服务受到保护。实际的Web应用程序的自动安全监视能够确保应用程序正在如所期望的那样运行,并且不会泄露信息从而造成风险。监视可由内部人员完成,也可外包给能够全天候监视应用程序的外部供应商。

  在部署和投产阶段集成和改善安全性的步骤:

  1、监视误用情况,其目的是为了确定测试中所谓的“不会被利用的漏洞”在投产后真得不会被利用。

  2、监视数据泄露,其目的是为了查找被错误地使用、发送或存储的所有地方。

  3、将部署前的风险评估与投产后的暴露范围进行比较,并向测试团队提供反馈。

  4、实施Web应用防火墙、IPS或其它的补救措施,其目的是为了减轻代码修复之前的暴露程度,或是为了符合新的安全规范。

  其好处有如下几个方面:

  1、改善能够成功实施的漏洞利用的知识库,从而改善在静态和动态测试期间的扫描效益。

  2、发现并阻止应用程序的误用情况。

  3、在动态测试和投产中的应用程序控制(如Web应用防火墙或IPS)之间实现更好的集成。

  4、满足再次编写代码之前的合规需要。

  5、使用反馈机制实现持续的改善。

如何在交付周期中保Web应用程序安全性

  小结

  保障Web应用程序的安全未必意味着延长开发周期。只要对所有开发人员进行良好的教育,并采取清晰且可重复的构建过程,企业就可以用一种高效而合作性的方式将安全和风险纳入到开发过程中。

  将安全构建到Web应用程序的交付周期中确实需要一种合作性的方法,需要将人员、过程和技术集成到一起。虽然Web应用程序安全工具和套件有助于过程的改进,但它们并非功能较多药。为获得最大利益,应当考虑选择能够理解完整开发周期的Web应用程序安全工具厂商,还要有能在开发过程的多个阶段提供支持的工具。

0
相关文章