像黑客一样思考问题 深入黑客内心世界 

Jeremy Poteet正在观看着他做安全工作的候选人网站上线。就在16分钟后,该网站遭到攻击。但是这个高度受关注的网站巧妙地规避了这些攻击,以及随之而来的其他攻击,因为Proteet已经预见到会发生此类攻击,并已经做出了对策。

他是怎么知道的呢?很简单,他是一个黑客,像黑客一样思考问题,并且知道黑客使用的工具——这是保护公司不被攻击的最有效方法。作为App防御的首席安全官,Poteet这一类黑客俗称为白帽子黑客或安全研究员——他们挖掘系统漏洞,指出哪里会有麻烦发生。黑帽子黑客是相反的一类——他们为了邪恶的目的企图获得进入系统和数据资料的权限。在过去,大多数黑客是为了好玩或是为了吹牛。

现在,黑帽子黑客在恶意软件业以数万美元的价格贩卖攻击代码,利用漏洞获取密码、银行网站信用及个人资料来进行身份窃取和金融诈骗。

学习像黑帽子黑客一样思考,知道他们寻找什么以及如何得到应该成为每个公司安全战略的基本部分。

根据“黑客暴光”一书的作者George Kurtz的说法,过去几年里黑客攻击的目标发生了戏剧性的变化。

“当我进入游戏…以前是这样,‘我们没有防火墙,我们有一个封包路由过滤器’,快速闪回到今天,你有非常互动的应用程序:Web2.0与后端数据库及周围所有潜在风险捆绑在一起”Foundstone的创始人Kurts说。 Foundstone是美国信息安全顾问服务与教育训练领导厂商,现在是McAfee的一个分公司,Kurtz担任McAfee企业在加里福尼亚的公司 Mission Viejo的高级副总裁。事实上,应用软件越来越引起黑客的注意。

根据Gartner和Symantec的研究,截至2006年6月接近90%的软件攻击是针对应用程序层。“只要开启了端口80,就可以不受限制的进入一个应用程序”Kurtz说。

应用级别的漏洞并不新鲜。2002年,Poteet赢得了第四界eWEEK’s OpenHack竞赛,在这个竞赛中参赛者被邀请攻击电子商务试验网站。Poteet那时已经攻击了一个捆绑于Oracle数据库应用版本的网站。

基本上,Poteet攻击的这个漏洞是一个可以让用户编辑个人资料的界面。

用户名域估计是不可编辑的。但只要前端接受了输入,同时WEB服务器从一个浏览器接收了数据,那么用户名域是不是可编辑的就不重要了——到了这一步,所有东西都可编辑了。

Poteet把用户名域中的名字改成"A Smith",然后他就象一只蜘蛛等待潜逃一样伺机行动。只要一个叫做"A Smith"的用户名登陆了,他便发起突袭,迅速进入并获取用户A Smith的所有数据。

问题是,在Openhack期间大部分应用开发商不重视Poteet的做法。Poteet说他已经与很多公司协商过,重要的不是看到漏洞无处不在,而是在所有域的所有界面和所有应用程序中都存在这种易于攻击的漏洞。

而且我们谈论的不是小夫妻店—Poteet的大部分客户是财富500强公司,其中很多是金融机构。但是,即使是在这些金融领域的大型机构中—它们都是以在安全问题方面专业精通和经验丰富而闻名—这些数字领域的专家仍然留出了大量有名的安全漏洞,吸引攻击者像苍蝇追着蜜糖一样蜂拥而至。

骗我一次…

谈到安全问题只有一件事可以确定,就是人们一遍又一遍地犯着同样的错误。黑客因此得以存在。

一般的漏洞包括错误信息数据,它们可以用来进入系统,SQL注入,XSS(跨站点脚本)和J2EE应用程序中的进入控制(Java2平台,企业版本)。

黑客特别喜爱SQL注入:一个好的SQL注入将从你数据库表中得到数据。

如果攻击者得到用户查询中的编辑能力,他们就可以改变数据库中的数据。

在开放网络应用安全计划概述中,这些问题名列全球十大应用安全问题最频繁失误。也包括在提供错误信息的实用信息名单中。

例如这个错误信息:"微软提供的适用于MS SQL Server数据库系统的OLE DB数据库驱动程序错误’80040e14’号, select语句中的字段’newsTBL.NEWS_ID’ 不合法,因为它没有包含在聚集函数中, 并且没有GROUP BY子句。

从以上信息中,一个潜在的攻击者会了解到该应用程序是使用OLE DB与数据库联系,它使用SQL服务器作为数据库,SQL指令会传送到数据库里叫做newsTBL的表。Rootkit技术的快速发展成为了为恶意代码机器增加利益的新趋势。

“我们在‘McAfee’s’的Avert实验室看到一些的rootkit技术简直不可思议,”Kurtz说“‘我们看到’以前没有做过的事情,完全按新的方法‘做’的事情,暗中窃取信息,并把它用于金融欺诈。从一个‘犯罪的’心理来看,观念从‘让我来找个漏洞’变成了‘让我来找个能让我安装网络自动代理程序的应用程序漏洞,用自动代理程序使它自动化下载网页、感染用户。”

安全研究人员正在密切关注着两项rootkit新技术的实战应用,他们担心新技术有一天会为自动代理程序产业贡献金钱:虚拟的rootkit和邪恶的超级监视者。

“我们知道坏人为了在系统中停留更长时间,在悄悄地寻找更多途径”Joe Telafici说, Joe Telafici是俄勒冈州Beaverton的McAfee公司的Avert运营中心副总裁。”在一台机器上隐蔽地停留越长时间,就能将网络自动代理程序或其他的东西租售越长时间。”

目前只在概念证明型代码中看到的无论是邪恶hypervisor技术还是虚拟rootkits,都能让恶意代码作者在一台机器上隐蔽地停留很长的时间。

一直以来,研究员对黑帽子将新技术运用于攻击中严阵以待;他们相信这只是时间问题,而不是会不会发生的问题。(6月27日,一组研究人员提出外国新rootkit技术可能无法被察觉出来,不过委员会对这个问题仍然没有得出结论。)

让它流血

Thomas Ptacek,Matasano公司的首席研究员兼创始人说,评估那些用来保护资产的产品的安全性不仅是程序开发员和系统架构师的应尽的责任;他们还应深入程序内部看是否有漏洞存在——和黑客做一样的事。”Ptacek还说“为了做到尽职调查,他们得要剥开应用程序的外衣深入其中”比如,剥离开 Microsoft’s Windows Vista,我们会看到微软在这个最新的操作系统中做出了被认为是最重大的安全问题改善。Vista的64位版本使现在黑客用的有些工具不能用了。

对于那些以为攻击登入点总在同一个地方,而向有安全漏洞的功能发起攻击的黑客来说,Vista的64位版本使之变的更加困难了。Vista还消除了向Windows核心注入编码的功能,来观察哪些函数正在被其他正在运行的程序所调用。

还有Vista的UAC(用户帐户控制),它将一些文件和注册表的键改向“沙坑”传送。恶意软件可以做出一些改变,但是这些改变会在进程停止或至少是不再感染其他用户时消失作用。

尽管如此,放心,这些新的安全控制还不会让恶意代码编写者卷铺盖回家。而且,安全研究员已预见到Vista的新安全文件实际上会促进攻击者推陈出新。

McAfee预计大约需要6个月的时间,一个遭受挫折的野心勃勃的恶意代码作者就会把他或她的注