Web应用程序架构和设计
由于已经定义了Web应用程序的架构和设计方案,下一步就需要评估安全问题。正是在这个阶段,成本高昂的、难以纠正的安全问题可以在其最易于解决的时间修复。为了防止损失惨重的错误,应当从性能和安全两个方面评估程序的架构。由于编制了详细的设计规范,因而可以向开发人员展示出应当包括哪些安全控制,以及应用程序的组件如何与完整的Web应用程序进行交互。
将安全性集成到架构和设计阶段的步骤
1、对于所建议的架构和部署环境执行风险评估,以决定设计是否会带来风险。
2、评估应用程序与原有系统进行交互时的安全意义和风险,以及不同的组件、层或系统之间的数据流的安全问题。
3、评述在实施或部署阶段需要解决的任何具体的暴露问题(即依赖于应用程序的部署方式和部署位置的漏洞)。
4、考虑依赖关系以及与混搭关系、SOA及合伙服务的交互所引起的漏洞。将最终的设计交付安全和审计,以确定安全测试计划和误用情形。
其好处体现在五个方面:
1、可以精心协调风险评估分析过程和可重用的风险评估模型。
2、可以在早期阶段确定由架构环境或部署环境所带来的风险。
3、可重用的误用案例可以节省测试阶段的时间。
4、减少特定的设计漏洞。
5、如果有必要,可以调整或变更带来风险的架构限制,如果无法完全清除风险,也可以用补偿性控制来定义减轻风险的策略。
Web应用程序代码执行与编译
在开发人员开始编写代码时,他们对安全控制必须拥有一套完整的风险评估设计和清晰指南,或通过经认可的服务来使用这种安全控制。集成到IDE中的自动化静态代码工具可以在编写代码时向开发人员提供检查和指南。自动化的工具还可在编译期间用于对照策略模板检查代码是否违规,并可以深入查看代码水平的安全问题。
将安全性集成到代码执行和编译阶段的步骤
1、安装可与集成开发环境整合到一起的静态源码检查工具。
2、作为一种选择,开发人员在交付代码之前可以用独立的编码工具来执行自动化的代码检查。
3、安全和审核团队抽查代码模块,看其是否遵循合规要求,并在编译之前使用自动化的或手动的代码检查来检查其安全风险。
4、在编译过程中,执行自动化的静态代码扫描,查找安全问题和策略的遵循情况。
5、使用工具跟踪开发人员的编码错误,并对其带来的安全风险提供解释性反馈和原因说明。
这会带来如下的好处:
1、可将更清洁的或漏洞更少的代码提交给质量评价人员。
2、随着时间的推移开人人员可以提升安全编码能力。
3、可重用策略可以提升风险分析的正确性。
4、在测试阶段发现的编码错误或漏洞更少,并会使开发周期更短。
转载请注明:IT运维空间 » 安全防护 » 如何在交付周期中保Web应用程序安全性(3)
发表评论