出处:安天实验室安全分析与应急处理中心(Antiy CERT)
一、 事件描述
2009年5月19日,暴风影音域名服务器所在机房被黑客攻击,使其客户端升级程序无法正常访问域名服务器,从而间接导致全国多处网络不能正常访问。该事件引起一些关联的猜测和假想,亦有媒体根据暴风影音的客户端升级程序的某些表现猜测stormliv.exe是一个后门程序。
安天于5月27日收到用户委托,对stormliv.exe的行为安全性进行了初步分析,并根据目前的分析情况撰写此报告。
二、 后门的相关背景知识
后门,本意是指房间背后的可以自由出入的门,是相对于“前门”而产生的。在计算机安全领域特指绕过软件的安全性控制而从比较隐秘的通道获取对程序或系统访问权的黑客方法。
后门的出现可以追溯到计算机出现的早期,那时的计算机系统操作人员为了方便自己对主机系统的使用,有时会在系统中留下一个特殊的用户或程序,即使管理员修改了密码也不能阻止其再次登录并使用主机资源。
1998年,黑客组织死牛祭祀发布了Windows9x平台的后门程序BO、后又发布了BO2K,该组织开放了相关程序的源码,带动了NETBUS、NETSPY等关联后门的大量产生。至此,后门在安全领域更多的成为反病毒领域的专有名称,作为一个独立的恶意代码分类出现。在全球TOP 20的反病毒厂商中,有11家将后门作为病毒命名中一级分类使用。
什么样的样本被判定为后门,安天《恶意代码分类标准(CERT-0514)》后门的定义如下:
对后门的有关判定如下,后门是在运行后,能造成运行主机被攻击者全部或者部分的远程控制,且不能满足程序的正常可感知性的一种恶意代码。
根据该定义,“远程控制”+“不可感知”系判定后门程序的根本条件。在上述文档中,安天对的远程控制行为作了如下说明:
远端直接操作受害主机键盘、鼠标或其它外设的行为。
远端对受害主机屏幕图像的获取行为。
远端能够呈现受害主机文件结构列表,并可以获取列表内任意文件的行为。
远端制造shell,可以使远端操作者执行主机自身命令集,或者自定义命令集的。
远端能够发布批量指令给受害主机,且指令定义具有明确的威胁主机或者网内其他主机安全的行为。
其他的造成受害主机可以被控制者交互操作或者批量控制的行为。
在安天的分类命名的优先级为:蠕虫>感染式病毒>后门>木马>黑客工具>广告色情件>其他敏感程序。
即如果具有后门的核心行为特性,但也具有自我复制能力的划分为蠕虫类别,具有注入其他宿主文件能力的归为感染式病毒类别。
后门程序所以使用“远程控制”+“不可感知性”作为两个定性原则,是为了将后门与PCANYWHARE、VNC、远程桌面等远程管理工具进行区分。
另外,安天对于后门程序的定性,还有如下补充约定:
对于远程管理工具除符合可见性约定之外,至少要具备以下3点之一,方不被判定为后门,运行后具有托盘图标或者标明程序功能的启动界面、控制过程通过界面消息告知控制主机的前台用户、软件可以被正常卸载。
除具备关键行为特点的后门程序,其配套的配置、远程管理程序和插件,作为同名后门被检测。
远程管理工具如果经过加工与修改,导致原有的用户感知特性被破坏。则作为后门处理。
正常的shell程序,如果被攻击者进行场景构造,造成原有安全体系被破坏,而成为直接控制通道的,则作为后门处理。
三、 对样本的排查分类定性过程。
安天采用核心行为排查表来确认恶意代码分类,其局部如下:
分类 | 前缀名称 | 修饰符名称 | 核心行为 | 是否发现 | 病毒 | Virus | | 感染其他具有执行能力程序 | | 病毒 | Virus | | 感染MBR或BOOT | | 病毒 | Virus | | 将自身放置于其他扇区,但通过技术手段使自身可以伴随系统启动或者其他程序启动而加载 | | 蠕虫 | Worm | | 利用远端主机系统和应用层漏洞或者配置缺陷向远端主机主动注入自身的 | | 蠕虫 | Worm | | 能够主动通过电子邮件传播自身 | | 蠕虫 | Worm | | 能够本地复制自身,且可以导致通过移动介质传播的 | | …… | | | | | 后门 | Backdoor | | 远端直接操作受害主机键盘、鼠标或其它外设的行为。 | | | Backdoor | | 远端对受害主机屏幕图像的获取行为。 | | | Backdoor | | 远端能够呈现受害主机文件结构列表,并可以获取列表内任意文件的行为。 | | | Backdoor | | 远端制造shell,可以使远端操作者执行主机自身命令集,或者自定义命令集的。 | | | Backdoor | BOT | 远端能够发布批量指令给受害主机,且指令定义具有明确的威胁主机或者网内其他主机安全的行为。 | …… | | | | | 安天对感知特性的排查表格如下:
感知特性 | 编号 | | 静态可感知性 | A1 | 具有原厂数字签名。 | 静态可感知性 | A2 | VERSION信息中提供准确的发布厂商名称。 | 静态可感知性 | A3 | 签名信息、VERSION信息、图标、文件名不具备蓄意制造用户混淆的故意。 | 动态可感知性 | B1 | 运行后文件可以被系统内置资源/文见管理器在默认配置下看到。 | 动态可感知性 | B2 | 运行如果有独立进程,则该进程在系统内置进程察看器中可见。 | 动态可感知性 | B3 | 运行后如果启动服务,该服务在系统自带服务管理器中可见。 | 动态可感知性 | B4 | 运行后如果开放端口,该端口在系统自带端口察看程序中可见,且不得复用系统已经开放端口。 | 动态可感知性 | B5 | 运行后如果增加、修改注册表,增加修改项在注册表管理器下可见。 | …… | | |
安天样本可感知性判定表(局部) 安天技术标准约定,具备A1或A2特性且具备A3特性的,即认定具有静态可感知性,而在动态可感知性中,违反任意一条,则认定不具备动态可感知性。
通过将上述表格中特性与样本的行为对位,安天即可做出是否为恶意代码以及恶意代码的分类判断。
四、 对照分析所选取的典型后门样本
后门程序除了用于定性的核心远程控制行为外,往往还伴随一些关联行为,如
1. 复制自身或衍生文件到系统目录
2. 修改系统配置。
3. 实现开机自动
4. 隐藏自身
5. 连接网络发送、下载文件
6. 窃取用户键盘输入
7. 窃取用户重要文件
为清晰进一步说明后门的概念和行为,给用户一个更为直观的理解,Antiy CERT的反病毒工程师选取了四种典型后门程序样本,并提供提供行为分析报告。
样本相关信息如表1所示,各样本文件图标见图1。
常用名称 | 病毒名称 | 样本文件MD5值 | 灰鸽子 | Backdoor/Win32.Hupigon.afjm | 5C3BE8210DEEF401E1CF4A8623B068EE | 黑洞2005 | Backdoor/Win32.BlackHole.2005.f | 55DB1CCB00BB8ED6AE58E341066859BF | RBOT | Backdoor/Win32.Rbot.gen | 16E0CBD4DA722129E17B87764AFC6215 | PcClient | Backdoor/Win32.PcClient.aazt | 94469F5A95C3F9A7819EC79777A5E1C2 |
[表1] 典型后门程序样本信息 [图1] 典型后门样本文件信息 以下表格为各后门程序样本的病毒标签:
病毒名称 | Backdoor/Win32.Hupigon.afjm | 病毒类型 | 后门
| 危害等级 | 4
| 文件长度 | 266999
| 感染系统 | Windows98以上版本
| 开发工具 | 未知
| 加壳类型 | nSPack 2.1 - 2.5 -> North Star/Liu Xing Ping
| 数字签名 | 无
|
[表2] 典型后门程序样本病毒标签 病毒名称 | Backdoor/Win32.BlackHole.2005.f | 病毒类型 | 后门
| 危害等级 | 3
| 文件长度 | 194272
| 感染系统 | Windows98以上版本
| 开发工具 | Borland Delphi 6.0 - 7.0
| 加壳类型 | UPX 0.89.6 - 1.02 / 1.05 - 1.22 (Delphi) stub -> Markus & Lazlo
| 数字签名 | 无 |
[表3] 典型后门程序样本病毒标签
病毒名称 | Backdoor/Win32.Rbot.gen
| 病毒类型 | 后门
| 危害等级 | 4
| 文件长度 | 385095
| 感染系统 | Windows98以上版本
| 开发工具 | Microsoft Visual C++ 5.0
| 加壳类型 | 无 | 数字签名 | 无 |
[表4] 典型后门程序样本病毒标签 病毒名称 | Backdoor/Win32.PcClient.aazt
| 病毒类型 | 后门
| 危害等级 | 4
| 文件长度 | 65903
| 感染系统 | Windows98以上版本
| 开发工具 | Microsoft Visual C++ 5.0
| 加壳类型 | 无 | 数字签名 | 无 |
[表5] 典型后门程序样本病毒标签 五、 典型后门样本行为分析
以下为对上述后门程序样本的动态分析,及相应的判断依据。
1、 灰鸽子 (Backdoor/Win32.Hupigon.afjm )
描述信息:
该病毒为后门类程序,运行后,复制自身到%Program Files%\Common Files\Microsoft Shared\MSINFO\目录下,重命名为r47.exe,并将属性设置为隐藏。查找%system32%\drivers目录下是否存在klif.sys文件,开启iexplore.exe进程,加载ntdll.dll,动态获取ZwUnmapViewOfSection函数,利用该函数获取当前进程的基址,申请内存空间,将病毒代码写入iexplore.exe进程中,创建病毒服务,以服务方式启动病毒文件,病毒运行完毕后删除自身,自身克隆到系统进程calc.exe来保护病毒进程,系统利用iexplore.exe连接网络进行通信,等待接收病毒作者发送的控制命令。
定性依据:
该程序提供了通过反向连接方式进行远程控制的行为,且不满足程序可感知性因此被判定为后门。该程序的伴随行为包括 “复制自身到系统目录”、“修改关键系统文件”、“添加到系统启动项”、“隐藏自身”、“连接网络发送、下载文件”。
2、 黑洞2005 (Backdoor/Win32.BlackHole.2005.f )
描述信息:
该病毒为后门类程序,运行后,衍生病毒文件到系统目录下,添加注册表自动运行项以随机引导病毒体。感染用户可能被完全控制,进行上传、下载等操作。病毒会监测用户键盘输入,而后输出到%system32%\keylog.txt发送出去。该病毒还具有切断网络连接的能力。
定性依据:
该程序提供了开放目录遍历和访问以及文件双向交互操作的能力,且不满足程序可感知性因此被判定为后门。该程序的伴随行为包括 “衍生文件到系统目录”、“添加到系统启动项”、“连接网络发送、下载文件”、“窃取用户键盘输入”等,可判断为后门程序。
3、RBOT (Backdoor/Win32.Rbot.gen )
描述信息:
该病毒为后门类程序,图标伪装成图片诱惑用户点击,病毒运行后获取当前用户名,设置出错程序为安静模式隐藏子进程的内存报错窗口,创建病毒互斥体防止病毒多次运行,拷贝自身文件到%System332%目录下重命名为:“riot.exe”,添加注册表启动项,将riot.exe病毒文件添加到防火墙信任列表,达到运行病毒之后防火墙不拦截目的,获取%Windir%目录下的explorer.exe文件的创建时间,将病毒文件的创建时间与explorer.exe文件的创建时间同步,并将属性设置为只读、隐藏,设置完毕后创建病毒进程,休眠200ms后结束原病毒进程,该病毒会连接一个IRC服务器,等待接收服务器发送的响应指令,受感染的用户会造成网络丢包现象。 该后门程序接受IRC频道远程控制,对目标主机实现任意操作。
定性依据:
该程序提供了批量远程命令执行的能力,且不满足程序可感知性因此被判定为后门。该程序的伴随行为包括“复制自身到系统目录”、“添加到系统启动项”、“隐藏自身”、“修改关键系统文件”、“连接网络发送、下载文件”等,可判断为后门程序。
4、PcClient(Backdoor/Win32.Hupigon.afjm )
描述信息:
该病毒为后门类程序,运行后衍生病毒文件到系统目录以及附属目录下;修改注册表创建服务,截取键盘操作信息,记录到系统目录下,连接网络向服务器发送消息,病毒运行完毕后删除自身。
定性依据:
该程序提供了通过反向连接方式进行远程控制的行为,且不满足程序可感知性,因此被判定为后门。该程序的伴随行为包括“衍生文件到系统目录”、“添加到系统启动项”、“隐藏自身”、“窃取用户键盘输入”、“连接网络发送、下载文件”等,可判断为后门程序。
六、 暴风影音客户端升级程序分析
安天应急处理中心的反病毒工程师对媒体反映可能为后门程序的暴风影音声级程序stormliv.exe进行了初步的动、静态分析。
暴风影音客户端升级程序(stormliv.exe)的描述信息如下,参见图2:
文件名称: stormliv.exe
文件大小: 582 KB (596,064 字节)
文件时间: 2009-04-21 12:01:44
文件 MD5: AA88EFCC10091255529DB5A125CCD326
文件 CRC: 8CD96E26
开发工具: Microsoft Visual C++ 6.0
加壳工具: 无
版本:3.9.4.17
数字签名: 有
stormliv.exe具有数字签名和正常版本信息,同时在手动运行时将弹出对话框,这一点是符合安天关于文件静态可见性的规范的,同时未使用进程、服务、端口隐藏技术,也符合动态可见性规范。如图3。
[图3] 暴风影音客户端升级程序运行界面 根据对网络舆论的分析,对暴风升级程序的“后门”质疑主要来自其开机自动运行和进行网络通讯、升级等行为。
对于相关行为的实现及是否具有后门特性,我们进行了进一步分析:
stormliv.exe确实通过创建服务实现自动运行,见图4。
[图4] 暴风影音客户端升级程序创建服务(Atool截屏)
stormliv.exe使用UDP协议实现各程序模块进程间通讯,见图5。
[图5] 暴风影音客户端升级程序网络状态(Atool截屏) stormliv.exe在运行时,发现一个名为meedb.dll的动态链接库会创建用户态钩子。但经过分析确认,其功能应为用于光盘驱动器区码匹配控制和渲染引擎控制,符合媒体播放软件的正常使用需要,初步判定不是用于“窃取用户键盘记录”,见图6。
[图6] 暴风影音客户端升级程序用户态钩子 通过对stormliv.exe的反汇编分析,可以发现其主要功能包括:
1. 程序升级功能(检查版本更新,更新程序)
从图7所示的暴风影音客户端升级程序代码片断可以看出,stormliv.exe通过检测配置文件storm_ctrl.ini(http://download.baofeng.com/stormII/storm_ctrl.ini)判断是否有新版本程序存在,若该文件不存在,则将显示错误信息。该文件将在使用后被删除。
[图7] 暴风影音客户端升级程序代码片断 2.回传无法播放文件的服务程序
从图9所示的暴风影音客户端升级程序代码片断可以看出,stormliv.exe用户选择提交不可播放文件时(见图8),无法播放的文件将通过http://noplay.baofeng.com的9000端口回传。
[图8] 不可播放文件提交界面
[图9] 暴风影音客户端升级程序代码片断
3. 下载广告
从图10所示的暴风影音客户端升级程序代码片断可以看出,stormliv.exe通过http://download.baofeng.com下载exmat.ini文件。
[图10] 暴风影音客户端升级程序代码片断 exmat.ini文件内容如图11所示。
[图11] 广告列表文件内容 经过分析, 可判定该文件为广告列表,见图12。广告列表相关文件中未发现可执行程序。从其对下载内容的解析机制看,并未发现其他第三方程序的功能片断。
[图12] 下载广告内容 结合以上对stormliv.exe的动态、静态分析,该程序主要用于升级和广告下载,初步判断该程序中并未发现提供可以对系统远程控制以及获取系统敏感数据的功能片断,且具备可见性,不符合安天对于后门程序的定义条件。
从其关联行为来看,尚未发现 “复制自身或衍生文件到系统目录”、“ 修改系统文件”、“隐藏自身”、“窃取用户键盘输入”、“窃取用户重要文件”、“窃取用户屏幕显示内容”及“下载执行恶意代码”等行为。虽然有“添加到系统启动项”、“连接网络发送、下载文件”行为,但仅凭这两点无法将其判定为后门程序。
七、 行为对比
将判定后门程序的基本依据及前面提到的典型后门程序常见行为特性分类归纳,并与暴风影音客户端升级程序stormliv.exe的主要行为列表对照比较,其结果见表6。
常见行为 软件软件 | 典型后门 | 暴风影音 | | 灰鸽子
| Rbot
| PcClient
| 黑洞2005
| 客户端升级程序
| 复制到系统目录
| 是
| 是
| 是
| 是
| 否
| 修改系统文件
| 是
| 是
| 是
| 是
| 否
| 添加系统启动项
| 是
| 是
| 是
| 是
| 是
| 关闭系统防火墙
| 是
| 是
| 是
| 是
| 否
| 隐藏自身
| 是
| 是
| 是
| 是
| 否
| 进程注入
| 是
| 是
| 是
| 是
| 否
| 连接网络
| 是
| 是
| 是
| 是
| 是
| 无界面显示
| 是
| 是
| 是
| 是
| 否
| 无版本信息
| 是
| 是
| 是
| 是
| 否
| 程序加壳
| 是
| 是
| 是
| 是
| 否
| 无数字签名
| 是
| 是
| 是
| 是
| 否
| 可执行文件路径
| %system32%
| %system32%
| %system32%
| %system32%
| %Program Files%\StormII
| 运行删除自身
| 是
| 是
| 是
| 是
| 否
| 远程控制系统
| 是
| 是
| 是
| 是
| 否
| 窃取键盘输入
| 是
| 否
| 是
| 是
| 否
| 窃取用户文件
| 是
| 是
| 是
| 是
| 否
| 窃取用户屏幕
| 是
| 否
| 是
| 是
| 否
| 下载执行恶意代码
| 是
| 是
| 是
| 是
| 否
|
[表6] 典型后门程序行为与暴风影音客户端升级程序行为比较 同时需要说明的是,是否满足表中常见行为是定性后门程序的必要条件,而不是充分条件。比如,并非“连接网络”的程序就一定是后门程序,该程序也可能是下载器型木马、蠕虫,甚至是浏览器、即时聊天工具。同样,并非有数字签名的程序就一定不是后门程序,因为近年来Antiy CERT的病毒分析师已经发现有伪造数字签名的恶意代码出现。
八、 代码流程对比
通过对程序代码流程图的对比,也可以发现后门程序与正常应用程序之间的显著区别。这是因为后门程序的作者在编写和传播后门程序的过程中,会使用比较简单的代码逻辑,或者尽量破坏代码的规范性,以防止反病毒工程师对其进行逆向分析。但正常应用程序的作者并没有这样的顾虑,反而会尽量保证代码的清晰和规范性,以便在程序出现问题的时候,更容易跟踪、调试。
从以下各个典型后门程序的IDA流程图中,可以很容易地看出,后门程序的代码主流程图相对简单,没有太多的条件分支。但是,PcClient和灰鸽子的代码却很不规范,无法使用IDA获得其主流程图。
暴风影音客户端升级程序可以由IDA获得流程图,并采用了较为清晰的条件判断分支。
[图13] 后门程序样本代码流程(Rbot)
[图14] 后门程序样本代码流程(黑洞2005)
[图15] 无法获得IDA流程图(PcClient) [图16] 无法获得IDA流程图(灰鸽子) [图17] 暴风影音客户端升级程序代码主流程 九、 结论
通过以上分析,可初步得出以下几点结论:
1 暴风影音Stormliv.exe程序是具有升级、下载广告并开机启动的服务程序。该程序会下载更新暴风影音的程序和配置文件,并根据广告下载列表下载相应的广告数据包。此外,该程序可以回传不可播放的影音文件信息。
2 暴风影音Stormliv.exe在执行时无隐藏自身情况,也未发现令主机“通过网络被远程控制的”功能片段。同时没有“复制自身或衍生文件到系统目录”、“ 修改系统文件”、“隐藏自身”、“窃取用户键盘输入”、“窃取用户重要文件”、“窃取用户屏幕显示内容”及“下载执行恶意代码”等关联行为,不满足后门程序的判断条件。
基于上述分析我们最终对暴风客户端“后门"事件初步判定如下, Stormliv.exe具有开机启动及升级、下载广告行为,但基本上可以判定其不是控制用户计算机的后门程序。
说明: 安天2009年5月27日接到用户委托进行分析, 2009-5-28发布第一版,时间所限可能有疏漏请大家指正。
安天公开发布此报告是为了澄清安天产品用户的质疑,同时作为专业安全企业,对于公众关心的安全问题进行客观、全面、深入地分析并给出相应客观评价是我们的职责。 |