恶意代码的入侵检测技术研究
王晓平
(齐齐哈尔高等师范专科学校,黑龙江
齐齐哈尔
161005)
摘要:恶意代码对计算机的入侵越来越频繁,受害的用户越来越多,本文主要针对恶意代码的隐藏和入侵检测技术进
行分析,讨论了当前入侵检测中存在的问题并指出今后的发展趋势。
关键词:恶意代码;入侵检测;技术
中图分类号:TP393 文献标识码:A 文章编号:1008—8970—(2010)03—0124—02
一、引言
恶意代码通常利用各种手段来隐藏痕迹,以避免被发现和追踪。为保证计算机系统的安全,预防恶意代码的非法入侵,需要有一种能够及时发现并报告系统非授权使用或异常现象的技术,即入侵检测。
所谓入侵检测就是对计算机和网络资源的恶意使用行为进行识别和相应处理的过程。在不影响网络性能的情况下,入侵检测能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。本文主要针对恶意代码的隐藏和检测技术进行分析研究,讨论恶意代码检测的相关技术。
二、恶意代码概述(一)恶意代码
恶意代码是指任何故意的增加、改变或者从软件系统移除,从而破坏或扰乱系统特定功能的代码。恶意代码是一种计算机程序,它通常是在隐蔽的情况下将自身复制到计算机中,影响被感染的计算机系统的正常功能。其表现形式多种多样,有的是修改合法程序,使之包含并执行某种破坏功能;有的是利用合法程序的功能和权限,非法获取或篡改系统资源和敏感数据。(二)恶意代码分类
恶意代码按照传播的方式,可分为病毒、木马和蠕虫三类。
计算机病毒在《中华人民共和国计算机信息系统安全保护条例》中的定义,是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用,并且能够自我复制的一组计算机指令或程序代码。
木马的全称叫特洛伊木马,来源于古希腊神话。计算机网络中的木马是指隐藏在计算机中的具有特殊功能的程序。其实质是一种远程控制软件,是未经用户授权的,通过网络攻击或欺骗等手段隐蔽的安装到目标计算机中的,他通过获得被感染计算机系统的远程访问和控制权限,达到窃取用户的密码,个人帐户信息的目的。
蠕虫是一种通过网络传播的恶意代码,它有着与病毒一致的一些特性,如传播性、隐蔽性和破坏性,同时它也具有自己的特性,如其传播不需要寄生文件,是通过网络或者系统漏洞进行传播,可造成拒绝网络服务等。
随着恶意代码技术的发展,传统计算机病毒、蠕虫、木马等恶意代码之间的界线已经越来越不明显。许多新的恶意代码程序开始具有了双重或多重特征,即同时具有多种恶意代码的属性,这类恶意代码的破坏性更大,防范难度更高。现实需要我们积极探索综合防御技术,来对抗恶意代码的技术融合,保障计算机系统的安全运行。
三、恶意代码的入侵检测技术
入侵检测技术要求能够检测出来自于安全管理域外部的攻击,而且要求能够检测出来自管理域内部的攻击,其入侵检测的方法有多种,常见的恶意代码入侵检测技术有基于特征码的恶意代码检测技术、启发式代码分析扫描检测技术、基于完整性的恶意代码检测技术、虚拟机检测技术以及基于行为的检测技术。(一)基于特征码的恶意代码检测技术
基于特征码的恶意代码检测技术是当前使用最广泛的检测技术,通过对恶意代码的分析,提取出恶意代码独有的特征代码,在扫描文件时,将特征代码与被检测的文件进行对比,判断出被检测文件中是否有与特征代码一致的代码段,从而检测文件中是否含有恶意代码。其中用以保存恶意代码的特征代码的特征数据库是在确定某个程序是恶意代码后,通过静态反汇编或动态调试,手工提取其中不同于其他程序的指令片断组成的数据库。
该方法是检测已知恶意代码的最简单、最常用的方法,也是目前商用恶意代码检测软件使用的主要方法。然而随着越来越多的恶意代码使用了变形技术,一种恶意代码可以变形出多种变种,这就使得代码分析的工作量越来越庞
[收稿日期]2010-03-09
[作者简介]王晓平(1966-),男,齐齐哈尔高等师范专科学校计算机系副教授。
哈尔滨职业技术学院学报 2010年第3期 Journal of Harbin Vocational & Technical College
・125・
大,代码库也越来越大,特征代码库需随时更新,系统扫描时间越来越长。(二)启发式代码分析扫描检测技术
启发式代码分析扫描检测技术来源于人工智能技术,该方法是在对传统的特征码扫描技术改进的基础上形成的检测技术。通常恶意代码程序与正常程序之间是有着明显区别的,一个熟练的程序员很容易在调试状态下区分出恶意代码程序与正常程序。其区分的依据主要是程序代码的语义,通常一个正常的程序其初始的指令通常是为程序的运行做初始化工作,而恶意代码程序通常是直接进行写盘操作、解码指令等操作。启发式扫描技术实际上就是把这种代码分析的经验和知识移植到恶意代码的检测中来。在特征码扫描检测技术的基础上,通过对恶意代码的分析,获得若干可疑程序代码指令序列,并按照其安全和可疑的等级进行排序,并授予其不同的可疑代码加权值。在系统扫描过程中,对检测到的若干可疑程序代码指令序列的可疑代码权值相加,如果一个被检测程序的加权值总和超过了预定的阀值,则报告发现了恶意代码。因此启发式扫描技术是一种概率方法。
该方法将人工智能技术引入到恶意代码检测中,该方法不需升级或较少升级,不依赖于升级,使得恶意代码检测从代码库的泥潭中走了出来,是未来恶意代码检测技术发展的必然趋势。由于有着诸多传统检测技术所无法企及的强大优势,其必将得到普遍的应用和迅速的发展。(三)基于完整性的恶意代码检测技术
基于完整性的检测是一种针对文件感染型的恶意代码的检测技术。其原理是假设一个文件并未被恶意代码感染,首先计算出文件的特征码,并将其保存在基准数据库中。当扫描文件系统搜索到可疑的修改时,计算被监控文件的特征码,并与保存在基准数据库中的数值进行比较,然后根据比较的结果作出是否感染病毒的判断。这种方法主要用于检验关键的程序文件CRC或者MD5的值,判断文件是否被感染。
修改文件并不意味着就是恶意代码。因此,使用完整性检测有很高的误报和漏报率。(四)虚拟机检测技术
虚拟机检测主要用来检测使用代码变形技术的恶意代码,现在己广泛应用在商用反恶意软件上。当前使用的虚拟机检测技术是通过模拟程序执行过
程,来检测程序是否含有恶意代码,而不是为待查可执行程序创建一个虚拟的执行环境。通过程序来模拟执行,像真实环境下一样取指、译码、执行,它可以模拟指令执行的结果。当恶意代码使用了代码变形技术时,如果不进行脱壳处理,就无法进行特征码扫描检测。通过使用虚拟机检测技术可以将恶意代码脱壳,文件脱壳完毕后就可以采用特征码检测技术进行检测。该种技术的优点是可以对加密变形的恶意代码进行检测。(五)基于行为的检测技术所谓基于行为的检测技术,就是将一系列已经规定好的恶意行为做为规范,根据这些规范,去监视程序做了什么,再结合这个规范来判定程序是否是恶意代码。基于行为的检测不是什么新技术,他是病毒分析专家判定经验的应用。其原理就是根据使用者的行为或对资源使用情况判断其是否为入侵行为,所以称之为异常检测。
该项技术首先需要制定出恶意行为库,该过程是检测技术的重点,将直接影响整个系统的效果。该过程的实施最适合的人选是恶意代码的分析专家。其次,就是运用行为检测技术,对使用者的行为进行分析,并将其行为与恶意行为库进行比对。最后,根据其行为判定其是否为恶意行为。
基于行为的检测技术具有系统无关性和通用性。由于它不像基于知识的检测那样受己知性的限制。因此,经常被用于对未知的恶意代码的检测。其缺点是检测模型较为复杂,系统生成、调试和修正都不太方便。
四、结束
当今恶意代码的编写正逐渐向专业化和产业化方向发展,针对检测程序的反检测技术在不断的完善,恶意代码的隐藏技术越来越高,恶意代码的编制者一直都试图编制出可以避开检测程序的代码,从而延长恶意代码的生命周期,扩大传播范围。同时,对恶意代码的检测技术也在不断的成熟和完善,恶意代码的生存期正在缩短,一个恶意代码程序从发现开始到最后加入到代码库去,现在只需要几个小时的时间。
随着信息技术和网络技术的发展,包含更多新的隐藏技术的恶意代码将不断涌现,这对恶意代码的检测技术提出了新的挑战,需要挖掘更为底层的检测技术与之对抗,从而确保计算机系统的安全运行。
(责任编辑:刘丽)Research on the Instruction Detect System technology
of the malicious code
WANG Xiao-ping
(Qiqihar Teachers College, Qiqihar, Heilongjiang, 160005)
Abstract: The malicious code’s invasion into the computers becomes too often to keep away, and theinjured users are increasing. This article analyzes the technology of the Instruction Detect System of the hiddenmalicious code, discusses the problems of the Instruction Detect System at the present time and points out its devel-opment trend.
Key words: malicious code; Instruction Detect System; technology
因篇幅问题不能全部显示,请点此查看更多更全内容