2012.4
37
计算机病毒行为特征的
检测分析方法
谢辰
国际关系学院 北京 100091
摘要:在研究计算机病毒之前,如果我们能先对被研究病毒的行为特征有足够的了解,那么对于之后的反汇编代码分析以及查杀工作都会起到事半功倍的效果。本文先介绍了计算机病毒行为特征,然后通过实验的方法,利用虚拟机和软件分析技术,从动态和静态两个角度,以new orz.exe 病毒为例,来阐述和总结检测分析计算机病毒行为特征的方法。
关键词:计算机病毒;行为特征;虚拟机;软件分析技术
0 引言
随着互联网技术的日渐普及和高速发展,全球化通信网络已经成为大势所趋。但网络在提供巨大便利的同时,也存在种种安全隐患和威胁,其中危害最大影响最广的莫过于计算机病毒。在网络带宽不断升级的今天,计算机病毒的传播速度和变种速度也随之加快,问题也越来越严重,引起了人们的广泛关注,并成为当前计算机安全技术研究的热点。据国内外各大反病毒公司统计,2008 年截获的各类新病毒样本数已经超过1000万,日均截获病毒样本数万。对于现如今计算机病毒变种的不断增加,反计算机病毒的一个研究方向便是怎样在不对病毒汇编代码分析的前提下,分析出已知或未知的计算机病毒的全部行为特征。
1 计算机病毒行为特征
(1) 传染性
传染性是计算机病毒最重要的特征,是判断一段程序代码是否为计算机病毒的依据。计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。是否具有传染性是判别一个程序是否为计算机病毒的重要条件。
(2) 非授权性
病毒隐藏在合法程序中,当用户调用合法程序时窃取到系统的控制权,先于合法程序执行,病毒的动作、目的对用户是未知的,是未经用户允许的。
(3) 隐蔽性
病毒一般是具有很高编程技巧、短小精悍的程序,它们一般附着在合法程序之中,也有个别的以隐含文件形式出现,目的是不让用户发现它的存在。如果不经过代码分析,病毒程序与合法程序是不容易区别开来的。
(4) 潜伏性
大部分的病毒传染系统之后一般不会马上发作,它可长期隐藏在系统中,只有在满足其特定条件时才启动破坏模块。如著名的在每月26日发作的CIH 病毒。
(5) 破坏性
病毒可分为良性病毒与恶性病毒。良性病毒多数都是编制者的恶作剧,它对文件、数据不具有破坏性,但会浪费系统资源。而恶性病毒则会破坏数据、删除文件或加密磁盘、格式化磁盘等。
(6) 不可预见性
从对病毒检测方面看,病毒还有不可预见性。不同种类的病毒,它们的代码千差万别。虽然反病毒技术在不断发展,但是病毒的制作技术也在不断的提高,病毒总是先于相应反病毒技术出现。
(7) 可触发性
计算机病毒一般都有一个或者几个触发条件。如果满足其触发条件,将激活病毒的传染机制进行传染,或者激活病毒的表现部分或破坏部分。病毒的触发条件越多,则传染性越强。
2012.4
382 实验环境
本文的实验环境为一台PC 机,其运行Windows XP SP3系统和装有Windows XP SP3系统的Vmvare7.0虚拟机,其中还有OllyDBG 、Filemon 、SReng2、Regshot 、SSM 在开始实验之前,我们先要确保虚拟机内的系统纯净,然后保存虚拟机的快照。
3 检测分析计算机病毒过程
运行Regshot 进行注册表快照比较。
首先,运行Regshot 软件,然后选择日志输出路径后点击1st shot ,即对纯净系统下的注册表进行快照,之后不要退出程序,接下来运行我们要测试的new orz.exe ,再点击2st
shot ,即对运行病毒后的注册表进行快照。在第二次快照完成之后,点击compare 便会在IE 浏览器中显示出注册表的变化,由于该病毒修改表项过多,此处只展示一部分,如图1所示。
图1 病毒修改表
通过报告我们知道new orz 共对注册表造成影响有541项,通过上图我们能够发现,此病毒对很多杀毒软件进行了映像劫持操作。
(1) 对使用系统端口进行比较
在进行完注册表对比后,我们将虚拟机系统还原至纯净快照,运行CMD ,切换到C 盘根目录下,输入netstat –
an >netstat1.txt ,这样做是保存纯净系统下系统所开端口的记录。之后运行病毒文件,再次输入netstat –an >netstat2.txt 。对比两个TXT 文档的变化,在这里,用的是UltraEdit 进行的比较。
通过比较我们发现在运行new orz.exe 之后,虚拟机有了一个端口为1401的TCP 链接,指向一个特定IP 的80端口,打开TCPview 软件,对所有TCP 链接进行监控后发现这个
1401端口正是new orz.exe 打开用来与远程主机通信的。
(2) 用SReng2分析病毒样本静态行为
再次将虚拟机还原到纯净快照处,这次我们要用到
SReng2软件。打开SReng2,点击左侧的智能扫描,然后开始扫描,保存扫描结果。在运行病毒后再次运行SReng2,并保存扫描结果,用UE 对比两次结果。我们能够发现在进程中多了new orz.exe 进程,
同时发现其获得了SeDebugPrivilege 和SeLoadDriverPrivilege 权限,并且在有一个不是在
C:\Windows\System32目录下的svchost.exe 也同样获得了这两个权限。
(3) 通过Filemon 观察病毒的操作
在这里需要提前说明一点,根据前面的分析研究发现
new orz.exe 病毒也对Filemon 进行了映像劫持,所以需要将主程序名更改一下方可正常运行。同样,还原虚拟机至纯净快照,打开Filemon ,将过滤条件设置成为new orz.exe ,然后运行病毒程序。由于信息量很大,只列举一部分,如图2所示,我们可以发现在其在C:\Documents and Settings\
Administrator\Local Settings\Temp 目录下创建了绿化.bat ,还发现其在相同的目录下创建了svchost.exe 和urlmOn.dll 。
图2 病毒程序
(4) OllyDBG 分析
还原虚拟机系统,运行PEID 对new orz.exe 进行查壳,发现其使用的是WinUpack 0.39 final 的壳。对其脱壳,脱壳过程不在这里进行说明了。脱壳之后显示是VC6.0编写的。将其载入OD ,查找字符串,结合我们刚才对new orz.exe 行为的分析,我们发现了其创建的绿化.bat 和修改的权限,图3是病毒对注册表的修改,我们可以发现其对大部分的杀毒软件都进行了映像劫持,同时还有任务管理器。
图3 病毒对注册表的修改
2012.4
39
(5) 通过HIPS 软件SSM 对病毒进行动态分析 与Filemon 一样,在用SSM 对病毒进行动态监控时,也需要将SSM 主程序更改名称。最后一次将系统还原至纯净,安装SSM ,并将系统内的安全进程设为信任。再次运行病毒,如图4,可以发现new orz.exe 运行了winlogon.exe ,之后
services.exe 运行了Beep.sys 等等,在这里就不一一举例了。
图4 运行病毒
4 总结
本文通过对new orz.exe 计算机病毒为例,总结了使用虚拟机和软件行为分析技术对检测病毒行为的各个步骤:注册表快照对比、端口开放与通信对比、利用SReng2比较分析、通过使用Filemon 观察病毒文件操作、研究分析OD 字符串和使用HIPS 软件对病毒进行动态观察等,使得在接下来的查杀和今后的防御有了极大的帮助。
参考文献
[1]彭国军,傅建明,张焕国.浅析反病毒技术现状挑战及发展趋势[J].信息网络安全.2009.
[2]冯天树.计算机病毒行为特征分析[M].黑客防线2010. [3]艾天予.计算机病毒的攻防技术探析[J].2010.
[4]高敏芳,王冬.WinPE 病毒实验方案设计[J].实验室科学.2009.
The Method of Detection and Analysis of the Characteristics of the Computer Virus Behaviour Xie Chen
University of International Relationship,Beijing,100091,China
Abstract:Before the study of computer viruses,if we can have a sufficient understanding of the behavior of the virus characteristics,then it’s very helpful for the disassembled code analysis and the work after.This article describes the characteristics of the behavior of computer viruses,and then by experimental method,from the dynamic and static two aspects,use the virtual machine and software analysis technique,with the new orz.exe virus,for example,to illustrate and summarize the method of detection and analysis of the characteristics of the computer virus behavior. Keywords:computer viruses;behavioral characteristics;virtual machine; software analysis technique
[上接8页]
居名字。
作用:FITLER.EXE 通过这个控制代码,从IP 地址查询得到网上邻居的名字。
4 总结
随着Internet 技术的发展,网络安全将会面临更加严峻的挑战。本文从技术角度出发,对防火墙内部主要模块间的通讯技术进行了详细的分析和介绍,希望能对不同的用户提
供参考。
参考文献
[1]Keith E.Strassberg,Richard J.Gondek,Gary Rollie 等著.李昂等译.防火墙技术大全.北京:机械工业出版社.2003.
[2]Terry William Ogletree 著.李之棠等译.防火墙的原理与实施.北京:电子工业出版社.2001.
[3]博嘉科技.LINUX 防火墙技术探秘.北京:国防工业出版社.2002.
[4]周宏,刘克勤.新型主机防火墙模型的研究.现代电力.2003.
Personal firewall between modules within the system design and implementation of communication Xie Xiuwei
People's Bank of China Cangzhou Branch Technology Center,Hebei,061001,China
Abstract:It mainly analysis and design the internal communication of the firewall systems between the main module and interface,and details the interface code,the meaning and role of the parameters,with the most concise code improves the performance of packet filtering firewall,to better ensure network information security. Keywords:firewall;interface ;filter;module