acm-header
登录

ACM通信

实践

网络犯罪2.0:当乌云变暗


乌云笼罩城市

由尼尔·克罗斯比

随着网络在我们的日常交易中变得至关重要,它也成为网络犯罪的一个诱人的途径。我们今天在网络上看到的以金钱为动机的犯罪与更传统的网络攻击有很大的不同。几年前,对手严重依赖远程利用通过扫描互联网来识别易受攻击的网络服务的服务器。自动传播的计算机蠕虫如红色代码和SQL Slammer就是这种扫描攻击的例子。它们的巨大规模甚至使互联网处于危险之中;例如,SQL Slammer产生的流量足以熔化主干。因此,学术界和工业界都开发了有效的方法来加强网络的周长,以抵御此类攻击。不幸的是,对手同样改变了战术,从噪声扫描转向更隐蔽的攻击。他们不仅改变了战术,还改变了动机。以前,网络蠕虫等大型事件大多是技术优势的展示。 Today, adversaries are primarily motivated by economic incentives to not only exploit and seize control of compromised systems for as long as possible but to turn their assets into revenue.

Web为对手提供了强大的基础设施,以破坏计算机系统,并将由此产生的计算资源以及任何可能从他们那里窃取的信息变本加厉。对手通过利用Web服务恶意的Web内容来实现这一点,这些内容能够危害用户的计算机并在其上运行任意代码。这在很大程度上是因为Web浏览器的复杂性增加以及复杂软件带来的漏洞。例如,现代Web浏览器提供了一个强大的计算平台,可以访问不同的脚本语言(例如Javascript),以及可能不遵循浏览器应用的相同安全策略的外部插件(例如Flash、Java)。虽然这些功能支持复杂的Web应用程序,但它们也允许对手收集有关目标系统的信息,并针对用户的计算机提供专门的攻击。由于对手使用浏览器启动出站连接来下载攻击负载,因此Web攻击使不允许传入连接的外围防御对攻击无效。这种类型的流量看起来几乎与用户的正常浏览流量相同,通常不会被网络防火墙阻止。

为了防止基于Web的恶意软件感染用户,谷歌开发了一种识别恶意Web页面的基础设施。该基础结构产生的数据用于保护Web搜索结果,以及保护Firefox和Chrome等浏览器。在本文中,我们将讨论一些有趣的Web攻击趋势,以及与这种日益增长的威胁相关的一些公开挑战。

回到顶部

网络攻击

随着Web浏览器的功能越来越强大,Web的特性也越来越丰富,普通用户很难理解访问Web页面时发生了什么。在大多数应用程序中,访问Web页面会导致浏览器从许多不同的提供商那里获取内容,例如,显示第三方广告、交互式地图或显示在线视频。设计网页并使其吸引用户的可能性是惊人的。总的来说,这些特性增加了构成现代Web浏览器的组件的复杂性。不幸的是,每个浏览器组件都可能引入新的漏洞,对手可以利用这些漏洞来控制用户的计算机。在过去的几年里,我们看到了越来越多的浏览器漏洞,58其中一些已经好几个星期没有官方修复了。

对手要利用漏洞,就需要用户访问包含恶意内容的Web页面。吸引用户流量的一种方法是发送广告链接到恶意网页的垃圾邮件消息。但是,这种交付机制有一些缺点。要传递漏洞,用户必须打开垃圾邮件,然后点击嵌入的链接。无处不在的Web基础设施为这个瓶颈提供了更好的解决方案。虽然利用Web浏览器很容易,但利用Web服务器更容易。设置和部署Web服务器的相对简单导致大量Web应用程序存在远程可利用的漏洞。不幸的是,这些漏洞很少被修补,因此,对Web服务器的远程利用正在增加。要利用用户,对手只需要入侵Web服务器并注入恶意内容,例如,通过指向利用服务器的IFRAME。任何访问这种被破坏的Web服务器的访问者都将成为被利用的目标。 If the visitor's system is vulnerable, the exploit causes the browser to download and execute arbitrary payloads. We call this process "drive-by download." Depending on the popularity of the compromised Web site, an adversary may get access to a large user population. Last year, Web sites with millions of visitors were compromised that way.


许多自动下载可以通过客户端蜜罐自动检测。然而,当对手使用社会工程欺骗用户安装恶意软件时,自动检测就变得非常复杂。


接管Web服务器。不幸的是,将Web服务器变成感染载体相当简单。在过去的几年里,我们观察到许多针对Web服务器和Web应用程序的不同攻击,从简单的密码猜测到更高级的攻击(可以同时感染数千个服务器)。一般来说,这些攻击的目的是修改网站内容,将访问者重定向到敌方控制的服务器。在这里,我们扩展了一些最近占主导地位的服务器攻击的例子。

SQL注入攻击。SQL注入是一种通常用于运行脆弱数据库应用程序的Web服务器的利用技术。该漏洞发生在用户输入没有被适当地消毒时(例如,通过过滤转义字符和字符串字面量),从而导致精心设计的用户输入被解释为代码并在服务器上执行。SQL注入通常被用于对脆弱的数据库服务器进行未经授权的操作,例如收集用户信息和操纵数据库内容。在运行SQL数据库来管理用户身份验证的Web应用程序中,对手使用SQL注入绕过登录,获得对用户帐户的未经授权访问,或者更糟糕的是,获得对Web应用程序的管理访问。这些攻击的其他变体允许攻击者直接更改服务器数据库的内容,并注入攻击者自己的内容。

去年,Asprox僵尸网络发起了一次重大的SQL注入攻击。15在这次攻击中,数千个机器人装备了一个SQL注入工具包,它首先向谷歌发送专门制作的查询,搜索运行ASP.net的服务器,然后对这些查询返回的网站发起SQL注入攻击。在这些攻击中,机器人会向目标Web服务器发送包含攻击有效负载(类似于此处显示的格式)的编码SQL查询。

http://www.victim-site.com/asp_application.asp?arg= <编码sql查询>

易受攻击的服务器解码并执行查询有效负载,在Asprox的情况下,产生类似于中所示片段的SQL代码图1.解码后的有效负载在Web服务器文件夹中搜索unicode和ASCII文件,并在其中注入IFRAME或脚本标记。注入的内容将Web站点用户重定向到对手控制的Web服务器,因此使他们受到直接的利用。

在过去的八个月里,我们对Asprox僵尸网络进行了监控,并观察到机器人收到了更新要注入域名列表的指令。总的来说,我们看到了340个不同的注射区域。我们对成功注入的分析显示,大约有属于15.3万个不同网站的600万个url是Asprox僵尸网络SQL注入攻击的受害者。虽然Asprox僵尸网络不再活跃,但一些受害网站仍将用户重定向到恶意域名。由于机器人以不协调的方式注入代码,随着时间的推移,许多Web站点最终会多次注入恶意脚本。

重定向通过. htaccess.即使服务器上的Web页面是无害的、未修改的,Web服务器仍然可能将用户引向恶意内容。最近,对手破坏了基于apache的Web服务器,并更改了. htaccess文件。此配置文件可用于访问控制,但也允许将url选择性重定向到其他目的地。在我们对Web服务器的分析中,我们发现了一些安装了对手的事件. htaccess配置文件,将访问者重定向到恶意软件分发网站,例如,假冒反病毒网站,我们稍后会讨论。

有趣的是. htaccess重定向是试图向网站所有者隐藏妥协。例如,重定向可以根据访问者到达受损Web服务器的方式(由传入请求的HTTP Referer头确定)而定。在我们观察到的事件中. htaccess规则被配置为通过搜索引擎到达的访问者被重定向到一个恶意网站。然而,当站点所有者直接在浏览器的位置栏中输入URL时,由于Referer头没有设置,站点将正常加载。

图2显示一个折衷的示例. htaccess文件。在本例中,通过任何列出的搜索引擎访问受损站点的用户将被重定向到http://89.28.13.204/in.html?s=xx。注意,初始重定向通常是指向一个充当登台服务器的IP地址,并将用户重定向到不断变化的一组域。登台服务器管理哪些用户被重定向到哪里。例如,登台服务器可能会检查用户是否已经访问了重定向器,并在任何后续访问中返回一个空负载。我们假设这是为了使重定向链的分析和复制更加困难。对手也经常重写. htaccess文件指向不同的IP地址。删除. htaccess不修补原始漏洞或更改服务器凭据将无法解决问题。许多Web管理员试图删除. htaccess第二天在他们的服务器上发现了一个新的。

接管网络用户。一旦对手将Web服务器变成了感染载体,访问该站点的访问者就会受到各种各样的利用尝试。一般来说,客户端攻击主要分为两类:自动驱动下载和社会工程攻击。

驾车下载。在这一类中,对手试图利用浏览器、操作系统或浏览器外部插件中的缺陷。一个成功的利用会导致恶意软件在用户不知情或不同意的情况下在用户的机器上被发送和执行。例如,我们遇到的一个流行的漏洞利用了Microsoft数据访问组件(MDACS)中的一个漏洞,该漏洞允许在用户的计算机上执行任意代码。7一个20行Javascript代码片段就足以利用这个漏洞并启动一个自动下载。

另一个流行的漏洞是由于Microsoft Windows WebViewFolderIcon中的一个漏洞。利用Javascript使用一种称为堆喷涂的技术,该技术在堆上创建大量Javascript字符串对象。每个Javascript字符串都包含在被利用的系统上下载和执行二进制文件所需的x86机器代码(shellcode)。通过喷射堆,对手试图在内存中已知的位置创建shell代码的副本,然后将程序执行重定向到该副本。

社会工程攻击。当手动下载无法入侵用户的机器时,对手通常会使用社会工程技术来欺骗用户自己安装和运行恶意软件。不幸的是,网络上充满了引诱用户下载恶意软件的欺骗性内容。

一种常见的攻击类型包括类似流行视频播放器的图像,以及错误警告,称计算机缺少显示视频所需的关键解码器,或者需要更新版本的视频播放器插件才能查看视频。相反,提供的链接是用来下载木马的,一旦安装,对手就可以完全控制用户的机器。

最近的一种骗术包括伪造安全扫描。一个特别制作的网站显示了假的病毒扫描对话框,以及动画进度条和一个可能在计算机上发现的感染列表。所有的警告都是假的,目的是让用户相信他们的机器被感染了。然后,该网站提供下载作为解决方案,这可能是另一个木马,或要求用户支付注册费来执行不必要的清理他们的机器。

我们观察到假冒反病毒攻击的数量稳步增加:从2008年7月到10月,我们平均测量了60个不同的域名提供假冒安全产品,平均感染了1,500个网站。2008年11月和12月,域名数量增加到475个,感染了超过8.5万个url。当时,美国联邦贸易委员会(Federal Trade Commission)报告称,有超过100万名消费者被骗购买了这些产品,美国地方法院对制造这些假冒产品的一些公司下达了停止销售和资产冻结的命令。3.这似乎还不足以阻止该计划。在2009年1月,我们观察到超过450个不同的域名提供虚假安全产品,受感染的url数量已经增加到14.8万个。

用户机器上的恶意软件活动。无论用户是受到社交工程攻击,还是成功的漏洞利用和自动下载,一旦对手控制了用户的机器,他们通常会试图将工作转化为利润。

在之前的工作中,10我们分析了通过自动下载安装的网络恶意软件的行为。在很多情况下,恶意软件都配有键记录程序,以监视用户的活动。通常,会安装一个后门,允许对手在稍后的时间点直接访问机器。更复杂的恶意软件把机器变成了一个机器人,听远程命令并按需执行各种任务。例如,僵尸网络的常见用途包括发送垃圾邮件或收集密码或信用卡。僵尸网络为对手提供了一定程度的匿名性,因为垃圾邮件似乎是从一组不断变化的IP地址发送的,这使得它们更难被列入黑名单。

为了帮助提高互联网的安全性,我们开发了一个广泛的基础设施,用于识别触发自动下载的url。我们的分析首先检查谷歌的大型Web存储库中的页面。由于存储库包含数十亿个页面,所以对每个页面进行彻底检查的成本非常高,但我们开发了一个轻量级系统来识别更有可能是恶意的候选页面。然后在虚拟机中对候选页面进行更详细的分析,从而确定访问页面是否会导致对机器本身的恶意更改。轻量级分析使用了一个机器学习框架,可以检测出90%的恶意页面,假阳性率仅为103..在这种误报率下,过滤器将虚拟机的工作负载从数十亿页减少到仅数百万页。被确定为恶意的url将被进一步处理为host-suffix路径-前缀模式。自2006年以来,我们的系统一直用于保护谷歌的搜索。我们的数据也通过谷歌的安全浏览API发布到浏览器,如Firefox, Chrome和Safari。这些浏览器使用我们的数据来防止用户访问有害页面。

回到顶部

挑战

尽管我们努力使网络对用户更安全,但仍有一些基本的挑战需要未来的工作,包括:

确保Web服务。在Web上建立存在(从简单的HTML页面到高级Web应用程序)已经成为一个很容易的过程,即使是缺乏技术知识的人也可以建立Web服务。然而,维护这样的服务并保证其安全仍然很困难。许多Web应用程序框架要求程序员遵循严格的安全实践,例如对用户输入进行消毒和转义。不幸的是,由于这个负担被放在了程序员身上,许多Web应用程序都存在可以被远程利用的漏洞。1214例如,SQL注入攻击是由忽略转义外部输入的程序员启用的。

流行的Web应用程序(如公告板或博客)经常发布安全更新,但是许多管理员忽略了更新他们的安装。甚至Web服务器软件本身,如Apache或IIS,也经常过时。在以往的研究中,10我们发现,在受攻击的网站上,超过38%的Apache安装和40%的PHP安装是不安全的和过时的。

为了避免Web应用程序的危害,开发机制来保持Web服务器和Web应用程序自动打补丁是很重要的。一些Web应用程序已经通知Web管理员有关安全更新的信息,但是实际安装安全补丁的过程通常仍然需要手工操作,而且非常复杂。

想要完全安全的对付飞车下载是很困难的。对手想要控制您的系统只需要一个漏洞。任何暴露在Web内容下且不是最新的软件都可能成为最薄弱的环节。

许多浏览器插件和附加组件,如工具栏,不提供自动更新。此外,系统更新通常需要重新启动安装后,阻止用户及时应用安全补丁。

即使对系统进行了全面的修补,某些软件的漏洞窗口也常常非常大。根据克雷布斯的说法,在2006年,主要的浏览器有284天是不安全的,而在至少98天的时间里,犯罪分子利用没有补丁的漏洞从用户那里窃取个人和财务数据。56尽管在浏览器中提供故障隔离以防止漏洞被利用方面取得了进展,14完全安全的浏览器仍然需要开发。

检测社会工程攻击。许多自动下载可以通过客户端蜜罐自动检测。然而,当对手使用社会工程欺骗用户安装恶意软件时,自动检测就变得非常复杂。尽管用户交互可以通过客户端蜜罐进行模拟,但一个基本问题是用户对下载应用程序的功能的期望与它实际所做的比较。在前面描述的视频案例中,用户希望观看视频。下载并安装这样的木马程序后,通常不会发生什么事情。这可能会警告用户有问题,并可能导致用户试图修复他们的系统。然而,安装的软件没有理由不能播放一段视频,让用户没有理由怀疑她被感染了。

类似地,除了勒索用户金钱之外,一些假冒的杀毒软件实际上对旧的恶意软件有一定的检测能力。接下来的问题是如何确定一款软件的功能是否如宣传的那样。一般来说,这个问题是不可判定的。例如,流行的谷歌工具栏允许用户选择接收访问页面的pagerank。它的工作原理是将当前URL发送给谷歌,然后返回相关的pagerank并在浏览器中显示。这个功能是用户所期望的,也是合法的特性。然而,类似的软件可能不会透露其功能,并将所有访问过的url发送给某个不祥的第三方。在这种情况下,我们将该软件贴上间谍软件的标签。

自动化分析29当恶意活动仅在特定条件下触发时,难度会更大。例如,一些银行木马监视浏览器窗口中的URL,并覆盖一个仅针对特定银行网站的虚假输入字段。自动化工具可能会发现覆盖功能,但如果木马是与url的单向哈希值进行比较,确定哪家银行是目标可能会相当困难。

回到顶部

结论

毫无疑问,基于web的恶意软件对许多用户来说是一个安全问题。不幸的是,允许Web被用于恶意软件交付的根本原因是其设计中固有的安全性缺乏——Web应用程序和支持这些应用程序的Internet基础设施都没有使用经过深思熟虑的安全模型设计。浏览器在复杂性上不断发展,以支持广泛的应用程序,并继承了其中一些弱点,并添加了更多自己的弱点。虽然这个领域的一些解决方案很有前景,可能有助于减少问题的严重性,但安全浏览仍将是一个值得学术界和工业界认真关注的目标。


无论用户是受到了社交工程攻击,还是成功的漏洞利用和自动下载,一旦对手控制了用户的机器,他们通常会试图将自己的工作转化为利润。


回到顶部

参考文献

1.A.巴斯,C.杰克逊和C.赖斯。Chromium浏览器的安全体系结构http://crypto.stanford.edu/websec/chromium/chromium-security-architecture.odf。

2.Brumley, D., Hartwig, C., Kang, M., Liang, Z., Newsome, J., Song, D., and Yin, H. BitScope:自动剖析恶意二进制文件。技术报告CMU-CS-07-133,卡内基梅隆大学计算机科学学院,2007年3月。

3.法院制止伪造电脑扫描(2008年12月);www.ftc.gov opa / 2008/12 / winsoftware.shtm。

4.Grier, C., Tang, S.和King, S.使用OP Web浏览器安全浏览网页。安全性和隐私, 2008年。电子学报,2004,24(3):342 - 344。

5.2006年,ie浏览器有284天不安全。华盛顿邮报在线博客,2007年1月。

6.博客战:IE vs. Firefox安全。华盛顿邮报在线博客,2009年1月。

7.微软。Microsoft Security Bulletin MS06-014: Microsoft Data Access Components (MDACS)函数存在允许代码执行的漏洞。2006年5月。

8.微软。微软安全咨询(935423):Windows动画光标处理漏洞,2007年3月。

9.Moser, A., Kruegel, C.和Kirda, E.探索恶意软件分析的多个执行路径。在IEEE安全与隐私研讨会论文集231245年,2007年。

10.鬼变成僵尸:探索基于网络的恶意软件的生命周期。在第1届USENIX大规模利用和紧急威胁研讨会论文集(2008年4月)。

11.Provos, N.使用htaccess分发恶意软件。2008年12月;www.provos.org/index.php ? /archives/55-Using-htaccess-To-Distribute-Malware.html。

12.Provos, N., Mavrommatis, P., Rajab, m.a., and Monrose, F.,你所有的iframe都指向我们。USENIX安全研讨会, 2008, 116。

13.Raz, R. Asprox无声破坏。Web安全章节, 2008年12月;http://chaptersinWebsecurityblogspot.com/2008/07/asprox-silent-defacement.html。

14.Small, S., Mason, J., Monrose, F., Provos, N., and Stubblefield, a .捕捉捕食者:引出恶意载荷的自然语言方法。USENIX安全研讨会, 2008, 171184。

15.Stewart, J. Danmec/Asprox SQL注入攻击工具分析。安全工作网络, 2008年5月;www.secureworks.com/research/threats/danmecasprox。

回到顶部

作者

尼尔斯·Provos(niels@google.com)于2003年加入谷歌,目前是基础设施安全组的主要软件工程师。他的兴趣领域包括计算机和网络安全以及大规模分布式系统。他任职于USENIX董事会。

Moheeb阿布回历的七月(moheeb@google.com)于2008年加入谷歌,目前是基础设施安全组的软件工程师。他的兴趣领域包括计算机和网络安全。

Panayiotis Mavrommatis(Panayiotis@google.com)于2006年加入谷歌,目前在安全组担任高级软件工程师。

回到顶部

脚注

DOI: http://doi.acm.org/10.1145/1498765.1498782

回到顶部

数据

F1图1。由Asprox机器人发送的SQL注入查询的解码片段。

F2图2。来自一个受损Apache服务器的。httacess文件的片段。

回到顶部


©2009 acm 0001-0782/09/0400 $5.00

允许制作本作品的全部或部分的数字或硬拷贝用于个人或课堂使用,但前提是该拷贝不是为了盈利或商业利益而制作或分发,并且该拷贝在第一页上带有本通知和完整引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2009 ACM有限公司

Baidu
map