Web应用遭受着格外多的安全攻击。其原因在于,网站及在网站上运行的应用在某种意义上是所有公司和组织的虚拟正门。Web自1993年以来的发展令人瞠目结舌,就其被广泛采用的速度而言,甚至超过了电视和电力技术。 Web应用在软件开发中所扮演的角色不断成长并且越来越重要。事实上,评论家日前称我们已经进入了Web 3.0时代(参见http://www.informit.com/articles/article.aspx?p=1217101)。问题在于,安全性确实没能跟上这种发展步伐。目前,我们在加固Web 1.0应用的安全方面仍有很多的问题,以致于还没有开始加固Web 2.0的安全,更别提Web 3.0了。 在继续之前,我有一些话不吐不快。Web应用是很重要而且正在不断发展的一类软件,但它们并不是唯一的软件类型!事实上,考虑到遗留应用,嵌入式设备以及世界上的其他代码,我相信Web应用只占到所有软件的一小部分。因此,当世人将所有对软件安全的注意力全部倾注在Web应用上时,我感到担忧。有大量其他类型的重要软件并不依赖于Web。这就是我自称是软件安全人员而不是Web应用安全人员的原因。 无论如何,Web应用安全和软件安全确实存在许多共同的问题和缺陷(这一点也不奇怪,因为前者是后者的子集)。一个共同的问题是将安全作为一项功能,或者某种“东西”。安全并不是某种“东西”,它是系统的一项属性。这意味着再多的身份验证技术、神奇的加密技术或者面向服务架构(SOA)Web服务安全API都无法自动地解决安全问题。事实上,与任何其他方面相比,安全与测试及保障都有着更多的关联。 打开这本书,哦,我们确实需要一种有效的Web应用安全测试方法么?要知道,许多由安全专家为Web应用测试所设计的“测试”都不具有任何测试严密性。原来测试本身就是一门学科,背后有整套的学问。Paco和Ben带给我们的是对测试线索的深入了解。这真是一对珍贵的组合。 所有称职的测试人员都理解,关于测试的一项关键要素是:测试结果必须能够用于指导行动。差的测试结果会给出像“bigjavaglob.java文件中存在XSS问题”这样含糊的报告。开发人员怎么会知道如何去修复这个问题呢?这里缺少的是适当地说明XSS是什么(当然,它指的是跨站式脚本),指出在成千上万行代码的文件中问题可能出现的位置,以及如何做才能修复它。本书中包含了大量技术信息,足以供像样的测试人员向真正起作用的开发人员报告可用于指导行动的结果。 但愿本书中的内容不仅能够被安全人员采用,而且也能够被Web应用的测试人员所采用。事实上,质量保证(QA)人员会高兴地看到,本书正好面向测试人员,书中采用了回归测试、覆盖率以及单元测试等术语。以我的经验来看,就测试而言,测试人员做得要比安全人员好得多。使用得当的话,本书可以将安全人员改造成更优秀的测试人员,将测试人员改造成更优秀的安全人员。 本书的另一重要特点在于,它明确地将重点放在工具和自动化上。与现代安全人员一样,现代测试人员也使用工具。本书包含了大量基于实际工具的真实例子,其中许多工具都可以从网上免费下载。事实上,本书适用于指导正确的工具使用方法,因为书中描述的许多开源工具都没有自带内置的手册或入门指导。我喜欢实践性的资料,而这本书在实际动手方面做到了极致。 一种过度乐观的软件开发方法必然会创造出令人吃惊的东西,但是从安全角度而言,它同样也会使我们陷入困境。简单地说,我们会忽视去考虑自己的软件在遭到故意和恶意攻击时会发生什么。攻击者就在大门口,每天都在探查我们的Web应用。 软件安全就是建立安全的软件,并使之在遭到恶意攻击时仍然能够正常运转的实践。本书的主题就是软件安全最重要的实践之一 —— 安全测试。
- 出版: 2010-03-01
- 更新: 2024-07-16
- 书号:9787302219682
- 中图:TP393.408
- 学科:工学控制科学与工程工学计算机科学与技术