文章编号:10062475(2009)01002503
计算机与现代化JISUANJIYUXIANDAIHUA
总第161期
木马的伪装和免杀技术分析
蔺聪,黑霞丽
1
2
(1.广东商学院教育技术中心,广东广州510320;2.广东商学院信息学院,广东广州510320)
摘要:首先介绍了木马技术的结构和基本功能,描述了木马的发展概况它的五个发展阶段,及其未来的发展趋势。然后着重从更名换姓、文件捆绑、木马加壳、文件重组四个方面分析了木马的伪装技术。最后从加壳、修改特征码、加花指令、修改内存特征码等方面,分析和介绍了木马的免杀的技术。本文试图通过研究木马的攻击技术,找到防范的途径。关键词:伪装;免杀;加壳;花指令;特征码中图分类号:TP393.08文献标识码:A
AnalysisofTechnologyofTrojan sDisguiseandAvoidableClean
LINCong,HEIXiali
1
2
(1.EducationalTechnologyCenterofGuangdongUniversityofBusinessStudies,Guangzhou510320,China;2.InformationTechnologyCollegeofGuangdongUniversityofBusinessStudies,Guangzhou510320,China)
Abstact:Firstly,it sintroducedinthetextthestructure,functions,developmentandcurrentoftheTrojanhorse.Inordertoenterourcomputerstealthily,
trojanwilldisguiseitselfbyallmeans,
inthesecondpartofthetext,it sintroducedemphatically
inthelast,itisempasisedonaddingshel,lamending
fourdisguisetechnologyforTrojanhorses.ForTrojanhorses,disguiseisthefirststep,toavoidthescanandcleanofantivirussoftware,themostimportantofallistomakethetrojantoavoidclean,thetechnologyoftrojanhourses attacking.
Keywords:disguise;avoidableclean;addshel;lnopinstructon;key
key,addingnopinstruction,amendingkeyinthememoryinthetext,andtrytofindthemethodofpreventingaccordingtostudy
1木马技术的发展概况
木马程序一般分为客户端程序和服务端程序两
部分。客户端程序用于远程控制计算机,而服务端程序则隐藏到远程计算机中,接收并执行客户端程序发出的命令。到目前为止,木马的发展已经历了五代。第一代木马出现在网络发展的早期,功能相对简单,以窃取密码为主要任务,在隐藏和通信方面均无特别之处。
第二代木马在技术上有了很大的进步,它使用标准的C/S架构,提供屏幕监视,远程管理等功能。在木马技术发展史上开辟了新的篇章。但是由于植入木马的服务端程序会打开连接端口等候客户端连接,因此比较容易被用户发现。典型的如国产的!冰河∀
木马。
第三代木马在功能上的改变主要在网络连接方式上,它的特征是不打开连接端口进行侦听,而是使用ICMP(网际控制报文协议)进行通信或使用反向连接技术让服务器端主动连接客户端,以突破防火墙的拦截。在数据传递技术上也做了不小的改进,出现了ICMP等类型的木马,利用畸形报文传递数据,增加了查杀的难度。如:网络神偷(Netthief)、Peep201等。木马在进程隐藏方面做了大改动,采用内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL线程,或者挂接PSAPI,实现木马的隐藏。前三代木马,大多都有的木马,因此用户可以根据启动项目中的描述内容,很快找到木马,并删除它。但是,木马选择注册表的方式,伪装成DLL文件
收稿日期:20071212
作者简介:蔺聪(1979),男,河北邯郸人,广东商学院教育技术中心助理工程师,本科,研究方向:信息安全,数据挖掘等;黑霞丽(1981),女,广东商学院信息学院讲师,硕士,研究方向:信息安全等。
26计算机与现代化2009年第1期
形式加载到正常的启动程序上,无法通过!任务管理器∀查看到正在执行的木马。不过在连接方式上,依然使用第三代木马或第二代木马的连接方式。如:Beast木马。
第五代木马实现了与病毒紧密结合,利用操作系统漏洞,直接实现感染传播的目的(类似冲击波那样的攻击方式),而不必像以前的木马那样需要欺骗用户主动激活。
木马的攻击技术种类繁多,让人防不胜防。本文试图从伪装和免杀的角度,解析木马的攻击技术。
免杀和行为免杀。下面主要针对文件免杀和内存免杀分析一下目前木马躲杀的几种手段。3.1加壳免杀
现在木马很多都加壳,一些通过常用的加壳工具加过壳的木马是很难躲过杀毒软件的查杀的。其对策之一就是找一些比较生僻的加壳工具,但是这种方法往往只能短期凑效,一旦被发现,很快还是会被杀毒软件识破;对策之二就是加双壳,因为用多个加壳工具来回组合,有很多种,这样就可能躲过杀毒软件的查杀;对策之三就是修改壳,经过易容之后,让杀毒软件认不出是加的那种壳,从而无法下手,比如修改壳开头那段代码,从而让杀毒看不出是什么工具加的壳。
3.2修改文件特征代码免杀
修改文件特征代码免杀的通用性比较差,针对的是某一杀毒软件的特征码,特征码修改之后,只能在这种杀毒软件环境下免杀,除非有其它杀毒软件和这个杀毒软件特征码相同。主要方法是:直接修改法和跳转修改法。其中跳转修改法可以用一些软件来做到,比如:vmprotect。首先要查找到文件的特征码,查找方法有两种:直接定位法和折半查找法(利用数据结构的技术,折半查找,加快搜索速度)。
(1)直接定位法。这种方法是从病毒文件的头开始,逐段地替换病毒的代码,先反汇编,然后用!0∀来代替,再用杀毒软件扫描。如果被杀了,那说明被替换的部分不是特征码,则顺序替换下去,直到不被杀毒软件查杀,那么找到的这段为特征码。这里有几个问题,首先这个方法效率很低;其次,度量单位的问题,比如一次替换100位,如果特征码大于100位,那么以特征码100为一个最小单位,用这种方法就找不到这个特征码;再次,对于复合特征码技术就为力,复合特征码技术就是确定一个病毒往往不是通过一个特征码,而是通过好几个特征码。
(2)折半查找。这种方法相对效率比较高。具体做法是先把文件从中间分成A,B两份,然后把其中一份全部用!0∀替换,再用杀毒软件去杀。这里存在四种可能;
第一种是A无毒,B有毒,则特征码在B部分,对B部分再采用折半查找;
第二种是A有毒,B无毒,则特征码在A部分,对A部分再采用折半查找;
第三种是A有毒,B有毒,则特征码在A,B两部分都有,那么,分别对A部分和B部分采用折半
2木马的伪装技术
作为病毒中利用率最高的木马,它的伪装技术也是一流的。主要有下列几种方式。
(1)更名改姓,修改文件名或者扩展名。许多木马文件名都很诱人,比如!美女图片∀等,引诱你去点击。进入机器之后的木马,往往将木马文件名和进程设为和系统相似的名称,隐蔽性很强。
(2)文件捆绑。文件捆绑就是将木马服务端和正常的文件捆绑在一起(比如和图片合并在一起,如果木马文件很小,就很难看出来),达到欺骗对方从而运行捆绑的木马程序。捆绑后的文件很有迷惑性,而且加上木马一般在后台运行,用户点击后不会出现什么异状,往往会在不知不觉中中招。
(3)文件压缩或加壳。这类方法是利用程序文件压缩工具来对木马进行伪装。用Winzip、WinRar压缩或者用UPX、ASPack、PECompact加壳,是被攻击者利用的几个常见的程序文件压缩工具,虽然这类工具主要是帮助用户将重量级的程序文件减肥,除了可以加快启动速度减少占磁盘空间,也能使用在木马上,压缩后会改变木马的特征,当然也就能躲过杀毒软件的追杀。由于此类工具并非为木马设计的,所以杀毒软件不能将其视为病毒或木马的帮凶。利用这些工具提供的多种选项的排列组合可以压缩出不同面貌的木马,就更容易逃过杀毒软件的追缉。
(4)文件重组。这类方法是利用将程序文件重组或变形的工具来对木马进行伪装。EXEStealth就是一个可用来对木马进行伪装的程序文件重组变形工具。这类工具同样不是为木马设计,杀毒软件不能将其视为病毒或木马的帮凶。它们提供了诸如CRC加密、反编译、删除文件头信息等多种选项,通过排列组合也可以重组出不同面貌的木马。
3木马的免杀技术
木马的免杀技术主要分为三类:文件免杀、内存2009年第1期蔺聪等:木马的伪装和免杀技术分析
参考文献:
27
查找;
第四种是A无毒,B无毒。这种情况,特征码很可能就在A,B的连接处,所以重点对A,B的接合部进行查找,可以使用直接定位法。
特征码找到后,对其修改也有两种:直接修改法和跳转修改法。直接修改法,比如ASCII码,可以直接修改大小写,还有在汇编指令中,连续的两条汇编指令,调整顺序,并不影响最后结果,跳转修改法,就是修改特征码的位置,比如退后或者提前,可以在代码中加入一些空指令,最好能渡过原来的特征码区,然后再跳转到真正的病毒代码部分,这样可以躲过一些杀毒软件的查杀。3.3加花指令免杀
加花指令免杀主要有两种:加区加花和去头加花。
比如修改入口地址,在原来的入口地址添加一些无用的花指令,这样,修改了入口地址,可以骗过一些杀毒软件。比如,在原来的入口地址,添加NOP指令,这些空操作不会影响程序的执行,然后,再用JMP指令跳转到真正的入口即可。
此方法特点就是通用性强,而且效果好。一般一个木马程序加入花指令之后,就可以躲过大部分杀毒软件,不像改特征码,由于不同软件厂商对特征码定义不同,改特征码可能只能躲过一种杀毒软件,缺点就是不能躲过内存查杀,比如rising。3.4修改内存特征代码
目前用于内存的杀毒软件强的并不多(如国内的rising),难点是在内存特征代码定位上,至于内存特征代码的修改其实和文件特征代码的修改一样,有跳转修改法和直接修改法。但是为了避免出错,建议大家尽量只使用直接修改法。
[1]CohenF.Computerviruses:Theoryandexperiments[J].
ComputersandSecurity,1987,6(1):2123.
[2]WagleCC,PuC,BeattieS,eta.lBufferoverflows:Attacks
anddefensesforthevulnerabilityofthedecade[C]//DARPAInformationSurvivabilityConferenceandExposition.2000.
[3]McGrawG,ViegaJ.Makeyoursoftwarebehave:Learning
thebasicsofbufferoverflows:Getreacquaintedwiththesinglebiggestthreattosoftwaresecurity[C]//ReliableSoftwareTechnologies.2000.
[4]WeberM,SehmidM,GeyerD,eta.lAtoolkitfordeteeting
andanalyzingmalieioussoftware[C]//AnnualComputerSecurityApplieationsConferenee(ACSAC,02).LasVegas,NV,Deeember,2002.
[5]MihaiChristodoreseu,SomeshJha.Statieanalysisofexeeu
tablestodeteetmalieiouspatterns[C]//12thUSENIXSeeuritySymPosium.2003.
[6]DouglasEComer.用TCP/IP进行网络互连(第1卷)
[M].北京:电子工业出版社,2007.
[7]AndrewSTanenbaum.计算机网络[M].北京:清华大学
出版社,1998.
[8]幽游.木马免杀原理详解[J].黑客防线,2006(9):
57.
[9]李顺东,覃征,贾晓琳,等.一种特洛伊木马的检测算法
[J].小型微型计算机系统,2003,24(7):13711373.[10]CohenF.Computerviruses:Theoryandexperiments[J].
ComputersandSecurity,1987,6(1):2235.
[11]WhitmanM,MattordH.PrinciplesofInformationSecurity
[M].北京:清华大学出版社,2006.
[12]宋海涛.木马攻击防范理论与技术研究[D].南京:南京
师范大学,2004.
[13]王战浩.木马攻击与防范技术研究[D].上海:上海交通
大学,2007.
[14]StallingsWilliam.网络安全基础教程应用与标准(第2
版)[M].北京:清华大学出版社,2002.
[15]张新宇,等.特洛伊木马隐藏技术研究[J].通信学报,
2004,25(7):153159.
[16]刘成光.基于木马的网络攻击技术研究[D].西安:西北
工业大学,2004.
4结束语
如果木马将加花指令与改入口点、加壳、改特征码这几种方法结合起来混合使用,则杀毒软件是比较
难查杀的。由此可见,木马隐蔽性很强,而且非常顽固,是网络安全防范的重点。作为专业的网络安全工作者,如果想找出防御木马进攻的有效途径,就必须认真地研究木马攻击的技术,做到!知己知彼,百战不殆∀。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务