计算机病毒行为特征的检测方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 病毒对注册表的修改

相关文档
最新文档