本帖最后由 dolphin55 于 2012-6-12 21:16 编辑
Duqu(中国命名:超级工厂二代, 毒区) 与 Stuxnet(超级工厂)恶意程序掀起了一场针对中东地区的数字战争 - 但是现在我们发现 火焰(Flamer)恶意程序可能是迄今为止最复杂的数字战争工具。“火焰(Flame)”恶意程序是由卡巴斯基实验室的专家们在参与由国际电联(ITU)发起的一项针对活跃于中东地区可以删除敏感信息的未知恶意程序的调查研究中发现的,分析之初就引起了卡巴斯基实验室的专家们的注意,当我们分析它的代码时,我们发现其与 Wiper 恶意程序相类似,之后卡巴斯基实验室的产品将其检测为Worm.Win32.Flame。
火焰蠕虫病毒从臭名昭著的数字战争武器 Duqu 和 Stuxnet 继承了许多特性:在选择攻击区域以及有针对性的选择存在漏洞的软件发起攻击上看,这种行为类似于“超级武器”的概念,该恶意程序主要针对中东地区的目的是明显的。火焰蠕虫病毒可以轻松的被列为是全世界被发现的恶意程序中最复杂的威胁。它非常的巨大以及异常的复杂。它几乎重新定义了网络战争和网络间谍的概念。
为了全面的了解这种高级威胁,我们接下去深入讨论……
一般问题
火焰病毒是什么?是一个蠕虫病毒还是一个后门程序?它会做什么?
火焰病毒是一个复杂的攻击工具,它有点比 Duqu 更加的复杂。它是一个类似具有后门程序,木马程序以及蠕虫病毒特征的复合威胁。它能够接受控制端的命令在本地或者网络与可移动磁盘上进行复制。
火焰恶意程序何时进入互联网世界目前未知 - 我们怀疑它是专门开发用来进行有针对性或者有目的的攻击工作;然而,我们目前无法看到它的母体(原始版本)是如何开始传播的,我们已经有若干疑问:该恶意程序可能是通过 MS 10-033 漏洞进行传播,但是我们目前无法证实这个猜测。
当系统收到此恶意程序感染后,火焰病毒开始了它一系列复杂的操作,包括监听网络通信量,截屏,打开话筒记录音频讨论,截获键盘输入信息等等。所有的这些数据对于火焰病毒的命令与控制中心都是可见、可控制操作的。
之后,火焰病毒可以选择上传更多的模块,这能够拓展火焰病毒的功能。根据初步的分析,大约有20多个模块可被火焰病毒调用使用,这些模块目前正在被调查中。
火焰病毒究竟有多复杂?
首先,火焰病毒是一个 20MB 大小的大块头(封装所有的模块功能)。正因为如此,它很难被分块进行单独的分析。火焰病毒体积为什么会那么大的另一个原因就是它包含了许多的库,例如压缩库(zlib, libbz2, ppmd)和数据库操作语言库(sqlite3)以及一个 Lua 虚拟机。
译者注:Lua 亮了……
Lua 是一个 (程序) 脚本语言,它能够非常容易的拓展与 C 代码的接口。火焰病毒的许多部分的高级逻辑都是用 Lua 编写 —— 有效的攻击子程序和C + +编辑的库
高效的 Lua 代码量相对于该恶意程序所有代码的量来说是很小的一部分。恶意程序包含大约3000行的 Lua 代码,平均开发与调试这千条代码需要花费一个月的时间。
同时,该恶意程序内部嵌套使用 SQL 数据库查询语言,多种加密方式与压缩算法以及利用Windows Management Instrumentation 脚本和 batch 脚本等等。
运行并调试该恶意程序也是非常复杂的,因为它不是通常意义上的可执行程序文件,它只是一些能够在系统启动过程中被加载的若干 DLL 库文件的集合体。
总而言之,我们可以肯定的将 火焰 恶意程序称之为迄今为止被发现的最复杂的恶意程序之一。
该恶意程序与其他后门木马比起来有何复杂?它被开发出来是为了做某些特殊的事情的吗?
首先,恶意程序使用 Lua 语言是不寻常的。同样的疑问也存在在为何这种攻击工具有如此之大的文件大小。通常,现代恶意程序尽量使用紧凑的编程语言编写并编译成小体积文件,这样便于隐藏自身。然而火焰恶意程序却完全相反,大量的代码隐藏实践也许是火焰恶意程序的某种新特性。
从内部麦克风记录音频数据信息是该恶意程序所使用的全新技术。当然,其它恶意程序同样也有记录音频数据文件的功能,但是关键在于火焰恶意程序的完整性——那种能够通过多种不同方式盗取数据的能力。
另一个创新特性在于火焰恶意程序能够利用 蓝牙 设备。当 蓝牙 设备可用并且配置设置中的回应选项是启用状态的话,它就会收集受感染计算机附近的“已发现”设备的信息。根据配置文件,它能够将受感染的计算机的状态变成 Beacon (蓝牙广播消息)状态并且使受感染计算机变成可见状态使之成为攻击其他计算机的“灯塔”,同时提供有关于已加密的恶意程序状态的设备消息。
火焰恶意程序窃取信息有何显著的特点?
虽然我们仍在分析该恶意程序不同的模块,火焰似乎能够通过麦克风录制音频。它会将录制好的音频文件通过开源压缩库进行压缩储存。
录制好的数据会定期的通过 SSL 通道发送至 命令与控制中心服务器。我们现在正在分析这个机制,有关这个机制的详细信息我们会在不久之后发布。
该恶意程序也有能力进行定期的截屏操作;或者说,它会针对它所感兴趣的应用程序运行时进行截屏操作,举个例子,即时通信工具启动后它会进行截屏并将截屏内容压缩储存并定期的发送至 命令与控制中心 服务器 - 这个行为如同 音频记录 一样。
我们现在正在分析这个机制,有关这个机制的详细信息我们会在不久之后发布。
火焰病毒是何时创建的?
火焰病毒的作者修改了文件的创建日期信息,这是为了使我们无法对其创建文件的真实时间进行调查。根据现有的文件,文件是创建在 1992、1994、1995等等年份,但是很明显这些日期信息都是虚假的。
我们认为编写火焰病毒主要代码的项目的启动时间应该是不迟于2010年,到目前为止,该项目的开发周期还未结束。它的编写者们仍然在继续使用相同的结构以及文件名来开发、修改着不同的模块。一些数量的模块是 2011 年 2012 年被创建的。
根据我们所掌握的数据来看,我们认为火焰病毒应该在 2010年 8月左右开始被使用。更加值得注意的是,根据我们所掌握的附属数据,我们可以确认火焰病毒的出现应该早于 2010年 2 月。但是我们没有数据来证明以上假设,然而已经高度接近了真实。
为什么我们称该恶意程序为 火焰(英译:Flame)?它的原始名称是什么?
火焰恶意程序是一个由众多模块组成的大型攻击工具。这些模块中的一个主要模块被命名为 火焰 —— 该主要模块负责攻击与感染计算机。
这是一个国家发起的攻击还是由一群网络犯罪分子或黑客激进分子实施的攻击?
当前,已知有三种类型的“玩家”会开发恶意程序与间谍软件:黑客激进分子,网络犯罪分子与受国家授权指示进行网络站的资深人员。火焰病毒不是设计用来从银行账户中盗取钱款。它同时有与其他单纯的黑客工具以及由黑客激进分子使用的恶意程序不同。所以,通过排除 网络犯罪分子 与 黑客激进分子 后,我们得出结论,该恶意程序的开发机构应该是第三者。此外,攻击的地理位置(某些中东地区国家)与威胁的复杂程度这两方面综合分析不难看出这应该是受到国家层面的赞助与支持才能够进行研究与开发。
谁能够对此次攻击的发生负责?
在代码中没有任何信息可以表明 火焰 病毒是由哪个国家授权指使开发的。所以就如 Stuxnet (震网)与 Duqu(毒区)一样,它的开发者们依然未知。
译者注:最近媒体表示可能是 以色列 与 美利坚,不过 以色列 随后又否认了,有些微妙。很明显的,大家都懂的,政治这种东西。伊朗IT宅们,不妨也回敬这两基友?
它们主要攻击了哪些地区的国家?
我们系统的收集了一些信息,首先是主要受害国排名数据,我们可以看到受害国主要分布在中东地区,它们包括 伊朗、苏丹、叙利亚、黎巴嫩、沙特和埃及等,以下是一张前七位的受害国地图:
火焰病毒是否仅针对特定的组织?此次攻击是否只是收集些特定的信息用以在日后发起其他攻击?此次攻击他们是想寻找哪些类型的数据与信息?
从间接分析看,它的作者们是想单纯的寻找一些情报——电子邮件、文档、即时通信消息,敏感区域内的讨论、以及其他情报。我们还没有看到它有其他针对特定设备的企图,例如电力工业设备——这让我们相信它是一个完整的攻击工具包,是为一般的网络间谍 活动 目的而设计的。
当然,就如我们在过去所看到的,此类高度灵活的恶意软件,可用于特定的攻击模块,这些攻击模块可以针对SCADA系统设备,ICS的关键基础设施等方面的部署等等。
火焰病毒攻击什么样的行业或者组织?它们是否是工业控制设备/ PLC/ SCADA系统?攻击目标由哪些,数量有多少?
目前还不能够确定火焰病毒是否有攻击特定的组织机构。受害者遍布工业设备领域与某些国家组织机构、教育领域。当然,在受害者处收集信息严格的收到当地个人数据收集政策的保护而不便透露。
基于你们的分析,火焰病毒就只有一个变种,还有其他变种吗?
基于我们从 卡巴斯基安全网络 上获取的信息,我们现在已经看到了有关于该恶意程序的多个版本 - 不同的大小与内容。当然,我们意识到恶意程序已经被开发多年了,我们相信在未来还会有许多不同的版本出现。
另外,火焰病毒由由许多不同的插件组成 - 20种左右 ,这些插件有不同的特定规则。某种特定的感染也许会感染7个插件,而另一台受感染计算机可能会被安装15个。这主要看受害者计算机上有无特定的条件触发不同的机制所致。这个机制同样也影响到火焰病毒存在在受害者计算机上的时间。
命令与控制中心服务器 目前是否仍然在线?主要的 命令与控制 中心服务器是有许多台吗?当一台受到感染的计算机与 命令与控制中心服务器通信后会发生什么?
目前有若干 命令与控制中心 服务器存在,我们已经统计出了一堆不同的 命令与控制中心服务器 域,都运行在不同的服务器上,有些位于其他有关域上,这可能使总数达到约80个不同的域,这些域被用于恶意软件联系命令与控制中心服务器,正因为如此,实在是难以跟踪 命令与控制中心 服务器的部署。
该恶意程序是否出自于创建 Duqu/Stuxnet 的团队之手?是否该恶意程序包含与之类似的源代码或者做些其他什么事情?
从大小上看,火焰病毒比 Stuxnet 大20倍,包括许多不同的攻击方式和网络间谍功能。火焰病毒与 Stuxnet/Duqu 没有重大的相似之处。
举个例子,当 Duqu 被发现时,它很显然是由某个开发 Stuxnet 的人员通过 “Tilded” 平台开发的。
火焰病毒似乎是与 Stuxnet / Duqu 并行开发的,开发平台不是使用 Tilded 平台。然而,有某些迹象表明 火焰病毒 使用了 Stuxnet 开发项目中的某些技术 - 例如 使用 autorun.inf 作为感染方式,使用打印池漏洞感染系统,这些技术都是 Stuxent 所使用的。从某种程度上看,火焰病毒的开发团队借鉴了 Stuxnet 开发团队的技术与系统漏洞攻击方式。
另一方面,我们不能够排除火焰病毒的变种是在 Stuxent 被发现后进行开发的。很有可能火焰病毒的开发团队通过公共媒介得知并使用有关于 Stuxnet 的技术细节用在了 火焰病毒 上。
总之,火焰病毒 与 Stuxnet/Duqu 可能是由两个独立的开发团队开发。我们认为火焰病毒是与 Stuxnet / Duqu 独立并行开发的项目。
你们称火焰病毒自从 2010年 3 越就出现了,那是正是 Stuxnet 被发现的时候。 这个微妙的节点是否能够与 Stuxnet 相关联?有趣的是,它们都利用打印机打印后台处理程序漏洞。
它们知道,不要把所有鸡蛋都放在一个篮子里的道理(译者注:这是直译,如果换成咱们中国裡语的话就是不要在一棵树上吊死),这是网络灰色产业链中一直盛传的一个经典建议。它们知道 Stuxnet 与 Duqu 迟早会被发现,所以它们会重启炉燥安静的生产其他类似项目,这种观念非常的不同寻常,颠覆了以往的灰色哲学。如果一个研究项目被发现,另一个项目可以不受阻碍的继续进行。
因此,我们相信火焰是一个与Duqu/Stuxnet 平行开发的项目,当其他项目被发现后,能够作为一种后备工具而开发创建的。
在你们分析 Duqu 时,你们指出 Duqu 是“双胞胎”中的一个,应该还有其他类型的恶意程序存在,请问这个就是其中之一吗?
应该不是,Duqu 的另一个同胞应该同样是基于 Stuxent 的 Tilded 平台的,火焰病毒不使用该平台。
这听上去像是一个类似于 Duqu 的信息偷盗工具,你们是否认为这是一个更大的具有网络破坏性武器(类似于 Stuxent )使用前的信息收集活动?
Duqu 是非常小规模且有针对性的进行情报收集工作的。我们相信Duqu在全世界的目标少于50个。火焰病毒远比 Duqu 传播的广泛,目前全世界受感染数可能达到数千万。它攻击目标非常广泛,包括 学术界,私营公司,具体个人等等。
根据我们的观察,火焰病毒的操控者需要人为的将受感染系统维持在一个水平上。这能够进行有顺序的处理以及筛选对比——它感染一堆计算机,然后操控者开始分析汇聚与命令与控制中心服务器上面的受害者处传过来的数据,从他们不感兴趣的系统上移除火焰病毒,而在重要的计算机系统上保留火焰病毒,以便继续收集有价值的信息以及伺机感染其他系统。
据我们的观察,火焰的运营人为地支持受感染的系统的数量在一定的水平不变。这可与顺序处理的领域 - 他们感染了几十只,然后受害者的数据进行分析,卸载系统,是不是有趣的火焰,留在地方,最重要的。之后,他们开始一系列新的感染。
Wiper 恶意程序与 火焰病毒 有何关系?它是如何破坏所在某些国家信息系统的?
恶意程序 Wiper ,这个师妹其他媒体所报道出来的一款恶意程序。火焰病毒其实是在调查分析 Wiper 攻击时被发现的。目前没有足够的信息能够将 Wiper 与 火焰病毒关联起来。当然由于火焰病毒的复杂性,很容易就能够开发出一个可以抹除数据的插件。然而,我们还没有看到火焰病毒有这样的行为证据。
而且感染了 Wiper 恶意程序的系统是完全的不可恢复——系统上的内容被彻底破坏并且不会留下任何可被追踪攻击源的信息存在。
这是发生在伊朗的 Wiper 事件。火焰病毒被我们发现是在不同区域的国度,不仅仅在伊朗。
火焰病毒是通过什么方法感染计算机?通过USB 设备?它是否是使用其他方法来绕过检测的?是否利用其他 零日漏洞?
火焰病毒有两个被设计用来感染 USB 盘的模块,我们命名为“Autorun Infector” 与 “ Euphoria” 。我们现在还不知到它们有何动作,这两个模块可能是火焰病毒已经禁用了配置数据有关。不过,感染 USB 盘的能力体现在了它的代码中,该恶意程序使用如下两种方法实施感染:
- Autorun Infector:“Autorun.inf” 方式,早期的 Stuxnet 使用 “shell32.dll” 加载这一招。这招仅在 Stuxnet 上被使用而没有在任何其他恶意程序上被使用过。
- Euphoria:通过使用包含恶意程序模块的“联结点”目录在媒体间进行传播,当这个目录被打开时,LNK 文件将会激发感染。我们的样本包含文件的名称,但是没有包含 LNK 文件本身。
除了这些,火焰病毒有能力通过以下方式在本地网络进行复制:
- 被 Stuxnet 利用的 MS 10-061 打印漏洞 - 使用一个特殊的 MOF 文件,在受害者计算机上使用 WMI 加载运行。
- 远程计划任务 Remote jobs tasks.
- 当火焰病毒被具有管理员权限的域控制器操作员运行的话,它就能够攻击位于网络中的其他计算机:它会创建一个后门用户账户,使用预先定义好的密码,然后复制自身到那些受感染的计算机上。
现在,我们还没有看到有利用任何 零日漏洞 的行为,然而,该蠕虫病毒可以通过 网络 感染补丁全齐的 Windows 7 系统,这种情况表明可能存在未经发现的 零日漏洞 。
火焰病毒是否与 Stuxnet 一样具有自我复制的功能?它是否有像 Duqu 一样使用多种控制手段进行传播?
自我复制部分是通过一个僵尸网络配置文件受到操作命名控制的,就如 Duqu 一样。大多数感染例程都受到可允许攻击数量的限制。
为什么恶意程序有 MB 级的代码量?有哪些功能会促使它远远比 Stuxnet 大?为什么如此之大,在过去也没有安全机构发现它?
体积规模如此之大的恶意程序为什么到现在才被发现?通常来说,当今的恶意程序都小而缜密。大小较小的恶意程序比快头大的恶意程序更好隐藏。然而,我们可曾想过,如果在一个网络不稳定的环境下, 下载 100k 的数据远比下载 6MB 的数据的成功性要高很多。
火焰病毒的模块加起来超过20MB。它们其中的库是被设计用来处理 SSL 通信量,SSH 链接,监听,攻击,中断通信等等。考虑到这些:我们分析 Stuxnet 500K 的代码花费了几个月的时间。火焰病毒可能将要花费掉我们整年的时间去理解它 20MB 的代码。
火焰病毒是否有与 Duqu 或者 Stuxnet 一样的自杀(Time-of-Death)机制?
火焰病毒有许多不同的计时器。它们监视着每次与 命令与控制中心 服务器通信的成功次数,具体某个数据的盗取操作,成功的攻击数等等。虽然在该恶意软件内没有自杀定时器,但是控制器能够发送一个特定的恶意软件清除模块(名为“browse32”),该模块有能力从系统中完全卸载恶意软件并且消除其曾经存在的轨迹。
有关于 JPEGs 或者 截屏 呢?它同样会盗取这些?
该恶意程序也有能力进行定期的截屏操作;或者说,它会针对它所感兴趣的应用程序运行时进行截屏操作,举个例子,即时通信工具启动后它会进行截屏并将截屏内容压缩储存并定期的发送至 命令与控制中心 服务器 - 这个行为如同 音频记录 一样。
我们现在正在分析这个机制,有关这个机制的详细信息我们会在不久之后发布。
我们下周将会在Serurelist 网站为技术人员分享一张文件列表与追溯信息
如果我发现自身正收到此威胁的感染,我该怎么做?如果提供恶意程序样本给你们进行研究?
我们非常感谢你的帮助,你可以通过以前为收集 Stuxnet/Duqu 恶意程序而开设的 给我们发送样本。
经过我们的分析,火焰恶意程序和被 CrySyS 实验室命名为“SkyWiper”恶意程序与被伊朗 CERT 小组命名的“Flamer”一致。 同时,目前卡巴斯基实验室反病毒全线产品均可查杀该恶意程序及其已知变种。 |