当前位置:首页 > 工作计划 > 【全面剖析间谍软件】 间谍软件
 

【全面剖析间谍软件】 间谍软件

发布时间:2019-03-14 04:18:31 影响了:

  我很幸运,有人给我发来新的间谍软件和黑客漏洞,让我检查个明白,了解这些成功感染了主机的程序是怎样工作的、有什么危害。它们分别是一个新的Windows漏洞,以及一个值得关注的蠕虫。
  新的Windows漏洞是个概念证明型漏洞(proof-of-concept exploit)代码,声称可以远程攻击Windows XP Pro。这让我有些困惑,因为该漏洞代码的目标是针对XP和Server 2003的已知漏洞,但只能在本地进行。那么这个代码是只针对XP, 还是同时针对Server 2003?是本地攻击还是远程攻击?我必须自己试着分析一下。
  另一个蠕虫病毒则能够对SSL连接进行中间人攻击。确切地说,该蠕虫事先经过编程,把自己安装到未起疑心的PC上,等待连接到诸多银行网站中的某一个网站。如果某用户浏览至所在银行的网站,蠕虫就会截获HTTPS请求,并用本地装入的网页来替换,获取该用户的登录证书和个人身份识别号(PIN),然后把该信息发送到用来截获信息的远程位置,而浏览器上的SSL图标在整个过程中保持不变。它是如何得逞的呢?这让我感到很好奇。
  在了解了这些背景后,我开始分三步来分析这些让人好奇的程序。首先,是对具有SSL功能的蠕虫进行了反汇编及分析,然后详细探讨SSL蠕虫的内部机制,最后介绍如何下载、汇编及测试不同的概念证明型漏洞。
  
  表 反间谍软件工具的功能对比
  
  代码反汇编
  
  虽然恶意软件分析更多的是一门艺术而不是一门科学,但它还是有两条基本的道路:反汇编以及在虚拟环境下分析。分析人员通过读取程序的指令,就能知道该程序的具体功能,更为重要的是,能够知道它不能做什么。
  我收到的SSL蠕虫是Windows编译后的.exe可执行文件。虽然有许多反汇编器可供选择,不过商用IDA Pro被恶意软件分析人员认为是最好的。
  我对代码进行反汇编后,寻找API调用,它们往往会告诉你程序的功能。IDA Pro会自动创建清晰的源代码跳转逻辑图,把源代码和图形总结、合并起来。
  如果代码是经过加密的多态代码,或者采用了反调试技术,我会退出代码分析步骤。然后,我只好依靠那些专业朋友们了。
  
  在虚拟环境下运行
  
  接下来,可以使用VMware或微软Virtual PC建立模拟环境。我个人喜欢前者甚过后者,不过两者的功能相差很小。
  我把虚拟环境安装好并让它运行(如Windows XP Pro)后,安装了其他众多监控工具。简单来说,恶意软件启动后,我希望可以监控虚拟会话出现的任何变化。在Windows虚拟会话上,我想监控四个部分:注册表、文件系统、对应用程序或者操作系统所做的手脚,以及网络流量。
  在监控方面,我有一些自己的爱好。比如,为了监控注册表的变化,我喜欢使用Sysinternals的Regmon;在监控文件方面喜欢用Filemon;喜欢用Tripwire、WinInterrogate和Winalysis监控变化前后的整体对照。
  另外,在网络流量分析方面,我喜欢用Ethereal。我认为它是最出色的开放源代码实用程序。为了得到最好的效果,可以把它放在主机系统上运行,检测进出虚拟机器的网络流量。
  在分析与HTTP有关的流量方面,Paros效果最好。Paros让你可以捕获、发送及接收信息,这在SSL蠕虫分析过程中特别有用。它安装后,会告诉IE浏览器把它作为浏览器代理来使用。
  
  SSL蠕虫揭密
  
  这次收到的SSL蠕虫是一家在网上颇有知名度的银行的安全顾问给我发来的,该病毒曾把自己安装到这家银行的客户的100多台计算机上。最让人好奇的是,这个病毒居然能把自己安装到客户浏览器和银行SSL网站之间的SSL连接上。我试图对该特洛伊木马进行反汇编,随后在经过特殊配置的分析虚拟计算机上加以执行。
  我启动了IDA Pro反编译器,打开了该病毒。我立即发现,它使用ASPACK压缩软件进行打包(压缩成最小容量,这给分析恶意软件带来了难度)。IDA Pro还是让我看到了几个API调用:现在我知道该病毒对Windows注册表做了手脚,并使用基本的Windows API(Ntdll.dll)和一些C库(Msvcr71.dll)。
  后一个文件表明,该特洛伊木马可能是用微软Visual C++编写的。但我看不到任何ASCII文本字符串,只好等水平较高的专业朋友进行比较详细的反汇编。
  随后我在分析虚拟机主机上执行了该病毒,该主机运行了Windows XP Pro SP1 和SP2两个镜像。这两个镜像我都使用了,因为SP2往往可以防止恶意软件运行。这些镜像有多个监控实用程序,包括Ethereal和Sysinternals的Regmon、Filemon、Autorun及Process Explorer。
  我在几个不同阶段终止了特洛伊木马的执行,然后分析监控日志,以下是发现结果。
  特洛伊木马启动后,它会立即寻找微软C运行库(Msvcr71.dll)。我发现,该库文件不在我的XP SP1镜像上,而是在SP2镜像以及安装了.Net Framework的任何XP镜像上。该病毒还调用了Ntdll.dll和Gdi32.dll,它们含有部分最常用的Windows API。
  接下来,该病毒把60KB~80KB(取决于虚拟机镜像)的内容写到\System32\Config\System.log。我在检查时,System.log文件只有正常的1KB大小。 这时,我不知道特洛伊木马在搞什么破坏,不过我准备稍后查个清楚。
  
  下一步,特洛伊木马查询下列键和各个子键:
  ●HKLM\Software\Microsoft\
  WindowsNT\CurrentVersion\
  Image\FileExecutionOption
  ●HKLM\System\Current
  ControlSet\Control\SafeBoot\Option
  ●HKLM\Software\Policies\
  Microsoft\Windows\Safer\CodeIdentifiers\
  TransparentEnabled
  ●HKCU\Software\Policies\
  Microsoft\Windows\Safer\CodeIdentifiers\
  TransparentEnabled
  ●HKLM\System\CurrentControl
  Set\Control\TerminalServer\
  TSAppCompat
  ● HKLM\Software\Microsoft\
  WindowsNT\CurrentVersion\
  Compatibility32\
  对这些键的查询有许多值得关注的地方,因为该病毒似乎在查找使用哪种方式来避开不同的安全机制(包括“安全启动”和“软件限制策略”),从而安装自己。不过,该病毒对注册表键没有做手脚,所以我还不知道它为什么要查找。
  该病毒最终创建及编写了以下注册表键:HKLM\System\CurrentControlSet\
  Control\SessionManager\Pending
  FileRenameOperations。使用该键,它告诉Windows在下一次重新启动时删除在上面执行的主机文件。
  接下来,该病毒把自己写到名为Csrss.exe的文件里,并且把自己保存在\Windows文件夹下面。这个手法颇有意思。合法的Csrss.exe文件保存在该病毒无法改动、覆盖或者删除(因为Windows的文件保护机制)的\Windows\System32下面。所以,它把自己写到大多数用户根本不会想到去检查的另一个目录下。
  之后,病毒会搜索IE浏览器的Temporary Internet Files文件夹,寻找来自100多个不同银行网站的文件和Cookie的痕迹。然后它利用该信息创建各个银行网站登录页面的本地拷贝。
  这正是让人惊讶的地方。用户访问了其中一个银行网站后,该病毒就会截获合法的银行Web登录请求,用本地拷贝来替换该银行的登录页面。这就是它偷偷对文件做手脚、查询注册表键的原因。我认真观察浏览器,结果看到了装入的本地拷贝页面,不过我认为大多数用户不会注意到这种意想不到的变换。
  由于偷偷更换了页面,用户的浏览器似乎拥有指向银行网站的SSL连接(而且在浏览器上显示了SSL图标),但该SSL连接其实指向该病毒的本地网页。如果用户登录,病毒就会获取登录证书,把它们写到名为Temp.dlb的文件里面,然后把它们传送到该银行的网站。这种手法被称为“SSL混合”、“SSL代理”以及“SSL中间人攻击”(后者是更传统的名称)。病毒还把Temp.dlb文件上传到地址在俄罗斯的网站,然后又隐藏起来。
  我看到这个蠕虫在搞破坏大吃一惊。虽然我已了解并演示了许多SSL中间人攻击,但从来没见过自动化程度这么高、用意如此凶险的蠕虫。我又进行了一番调查后发现,SSL混合型特洛伊木马不是什么新木马――只是对我来说是新木马。
  不过,许多银行采用比仅仅要求提供姓名和PIN的SSL保护页面更先进的登录页面。而这方面的典型例子就是巴克莱银行的英国网站。除要求提供姓名和账号外,用户还被要求提供通行码和“某个难忘单词”当中两个随机选择的字母。虽然精心编写的特洛伊木马可能最终获得难忘单词的所有字母,并且有可能按正确顺序组合起来,但眼下要挫败当前的SSL及其他击键记录特洛伊木马还是非常困难。
  更为幸运的是,厂商们也正在竭力提供更智能、更有效的反间谍软件工具,以帮助防范这种数字偷袭活动。此次,我们选编了《InfoWorld》对十款企业级反间谍软件工具进行的一系列实际测试(详见表),看看它们在截获恶意程序、保护最终用户的计算机和敏感的公司信息方面效果如何。(编译 沈建苗)

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3