黑客的动机有很多种,各种论坛多年以来对此已经进行了详细的讨论。我们不打算老调重弹,但是我们认为指出Web应用中一些吸引攻击者的特性是很重要的。理解这些特点,能够对为何防御有更清晰的认识。
·普遍存在: 今天,Web应用几乎无处不在,并且持续地在公共和私有网络上快速传播。Web黑客任何时候都不会缺乏有趣的目标。
·简单的技术: Web应用攻击技术相当容易理解,甚至外行也能掌握,因为它们大部分都是基于文本的,这使得操纵应用输入相当简单。和攻击更复杂的应用或者操作系统(例如制造缓冲区溢出)所需要的知识相比,攻击Web应用简直是小菜一碟。
·匿名性: 今天的互联网仍然有很多免责区域,可以很容易地发起进攻而不用害怕被跟踪。Web入侵特别容易通过(常常是无人知晓的)网上大量的开放HTTP/S代理进行。高级黑客会通过不同的代理路由各个请求,使得请求更难追踪。可以证明,这是恶意入侵爆发的主要原因,因为这种匿名性消除了黑客在现实世界中的顾忌(也就是被抓住并受到惩罚)。
·绕开防火墙: 大部分典型的防火墙策略允许入站的HTTP/S(需要澄清的是,这不是防火墙的漏洞,而是管理员配置的策略)。对于攻击者来说更好的是,这种配置可能随着越来越多的应用迁移到HTTP而增加。你已经看到这样的情况,越来越多的人通过Web分享家庭照片、个人博客、PC上的一次单击“将文件夹分享到Web”功能等。
·定制代码: 随着易于理解的Web开发平台如ASP.NET和LAMP(Linux/Apache/MySQL/PHP)的发展,大部分Web应用由缺乏有经验的开发人员制作(这仍然是因为Web技术易于理解,门槛相当低)。
·不成熟的安全性: HTTP甚至没有实施分离单独客户的会话。HTTP的基本验证和授权技术从流行之后已经应用多年,到今天仍在发展中。许多开发人员自己编写这些机制而且会出错(不过,随着越来越多常用的现成Web开发平台组合了经过审查的授权/会话管理,这种情况正在改变)。
·不断的变化: 许多人总是不断地“接触”Web应用:开发人员、系统管理员和所有内容管理者(我们曾经看到许多公司的市场团队能够直接访问生产用的Web Farm!)。这些人当中很少受过足够的安全培训,却要求他们经常(我们曾看到每小时一次的)修改复杂的、面向互联网的Web应用。在这种变化水平之下,很难遵守简单的更改管理程序,更不用说确保安全策略的一贯执行了。
·钱: 尽管.com时代遇到很多困难,但是很明显,通过HTTP的电子商务将在可见的未来支持许多赢利的业务。不出意料,最近的统计表明,和Web的成熟同步,Web入侵的动机已经从沽名钓誉转向盗取钱财。权威机关越来越多地揭露,在Web应用入侵中,出现了许多以赢利为目的、有组织的犯罪。直接闯入Web服务器、对Web最终用户的欺诈(也称钓鱼),使用拒绝服务的勒索等,当前这些问题正是Web犯罪所造成的。