构筑安全的 Web 应用
功能和性能,往往是我们衡量应用是否满足需求的指标,但是,对于载体为 Internet 的特殊应用-Web 应用而言,安全性也是必要的考量标准,皮之不存,毛将焉附?如果失去了安全性,即使功能再完备、性能再可靠的 Web 应用,一旦遭到黑客的攻击和破坏,一切都失去了意义。因此企业,尤其是提供 Web 应用的企业,一定要加强对应用安全的重视程度。
针对目前 Web 应用安全性不高的现状,IBM Rational 提出了构筑安全 Web 应用的解决方案。
加强全员应用安全性意识
一个根本、底层的战略手段就是加强企业全员的应用安全意识。正如前面所阐述过的,对于应用而言,无论是开发人员、测试人员、质量管理人员还是项目经理、企业高层,都会对其功能和性能做更多的关注,这也是由于早期应用多为 C/S 架构的应用,安全问题并不突出。但是在当今的环境,就不得不将安全作为应用质量的基础。
图 5 中功能、易用性、可靠性、性能、可支持性,是由 Rational Unified Process(RUP)定义的 FURPS 质量模型,它告诉我们应用的质量需要从这几个方面着手衡量,对于 Web 应用,就必须将安全性作为质量模型的基础条件。
图 5: 适于 Web 应用的质量模型
要加强全员应用安全意识,就需要对每一个相关角色落实安全要求。
1) 对于需求分析、设计人员而言,是否已将产品的安全性考虑到产品的需求设计中,从而保证在项目初期,安全因素已被关注;
2) 对于开发人员,在应用中实现了身份认证等安全功能,并不意味着在编程中已考虑到了应用安全性,它们还必须掌握 Web 应用安全编程规范等技术;
3) 对于测试人员,验证了应用的 FURPS,不能保证产品已具备安全性,还需要借助其他工具或平台,对应用的安全隐患,进行自动化的扫描,得出全面的安全性报告;
4) 对于质量管理人员,产品的质量过关,也不等于产品已经安全可靠,他们和测试人员一样,需要借助工具,掌握 Web 应用全面的安全隐患汇总和分析。
使用先进的工具确保软件开发生命周期中的安全性
在企业全员都具有了应用安全意识之后,必须将该意识贯彻到项目的具体工作之中,除了要求每个人具备严谨认真、不断学习的态度之外,还需要借助先进的工具,对开发的 Web 应用进行自动化的安全隐患发现、分析、报告、提供修复意见等工作,建立人工检查和自动化工具配合的完整保障措施。IBM Rational AppScan,正是这样一种 Web 应用自动化诊断工具,下面我们对其进行简单的介绍。
Rational AppScan,是对 Web 应用和 Web Services 进行自动化安全扫描的黑盒工具,它不但可以简化企业发现和修复 Web 应用安全隐患的过程(因为这些工作,以往都是由人工进行,成本相对较高,但是效率却非常低下),还可以根据发现的安全隐患,提出针对性的修复建议,并能形成多种符合法规、行业标准的报告,方便相关人员全面了解企业应用的安全状况。图 6 说明了 AppScan 在软件开发生命周期中的各个阶段,都可以协助安全隐患的诊断。
图 6: AppScan 对软件开发生命周期的支持
1) 开发过程中的安全保障
AppScan DE(AppScan 开发版)可以作为多种平台的插件,这些平台包括 Eclipse、WebSphere、Visual Studio、JBuilder,协助开发人员对编写的模块进行自我安全诊断。图 7 是 AppScan DE 作为 Visual Studio 插件使用的示例。
图 7: AppScan DE 作为 Visual Studio 的插件
2) 质量管理过程中的安全保障
通过和 Rational ClearQuest 的集成,AppScan 可以将发现的安全隐患方便的导入到变更管理平台中,确保发现的每一个问题,都被记录,并详细跟踪其在整个修复过程中的状态变化。如图 8 所示。
图 8: AppScan 和 Rational ClearQuest 集成
除 Rational ClearQuest 之外,AppScan 还可以和 Mercury 的 Quality Center 集成。
3) 在集成和发布阶段中的安全保障
在集成和发布阶段,可以通过简单的配置,使用 AppScan 对应用进行全面的扫描,企业仅需要指明 Web 应用的入口链接,AppScan 就会利用网络爬行(Crawling)技术,遍历应用中所有需要测试的链接,并对每个链接发送多种测试参数,诊断其有无漏洞可被利用。最后将结果呈现在用户面前。如图 9 是对示例网站 http://demo.testfire.net 进行诊断的结果。
从结果可以看出,本次诊断共发现了 88 个安全隐患,并按照严重程度进行了统计。诊断结果的中部,显示了 AppScan 扫描出来的应用结构、每个模块或链接包含的漏洞数;右上方则按照严重程度,对扫描出来的漏洞进行了分类;结果的右下方对每一种隐患,进行了解释,并提出了详细的修复建议,同时说明了为发现这个漏洞,AppScan 发送了哪些测试参数等。
图 9: AppScan 的诊断结果示例
4) 对诊断结果进行全面的分析和报告
Rational AppScan 不仅可以对 Web 应用进行自动化的扫描、指出安全漏洞的修复意见,还可以将诊断结果,使用不同的行业标准、法规,形成针对性的报告,让相关人员对应用安全状况和法规遵从等有了全面的认识。如图 10,左图是 AppScan 可以自动生成的行业标准报告,而右图则是近 40 种的法规遵从报告,如赛班斯法规遵从等。
图 10: 自动生成的行业标准报告
小结
通过上述对 Web 应用现状和常见的 Web 应用攻击示例分析,我们可以看出,目前因特网上的 Web 应用,存在着极大的安全隐患和风险,企业对 Web 应用安全的保护,已经刻不容缓。IBM Rational AppScan,作为先进的 Web 应用自动化诊断工具,可以协助企业在整个 Web 应用开发生命周期,将安全意识贯彻到企业全员具体的工作中,高效率的发现应用中存在的安全隐患、给出详细的修复建议、并生成多种符合行业标准和法规的报告,已在全球拥有近千个成功案例,是一个完整的、端到端的 Web 应用安全解决方案,能真正为企业的 Web 应用披上安全的盔甲。