国内外木马研究现状
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国外研究背景:
快速发展的计算机网络的普及,人类社会已经进入信息时代,信息已成为一种宝贵的人力资源。
网络战争战场将成为未来信息作战风格。
木马技术是一种两用网络攻击技术,使用木马技术渗透到敌人在系统内,建立一个稳定的内部点的攻击,并且提供了一个屏障。
1.有关国外的隐藏技术
(1)木马的P2P网络模型
木马设计的一个主要困难是隐藏的木马一定会各种各样的技术来隐藏行踪的目标系统植入后,为了避免被发现,尽可能延长生存。
木马隐藏技术主要分为两类:主机隐藏和隐藏通信。
设计一个新的木马主机隐藏DLL陷阱技术在Windows SPI接口,木马没有隐藏的过程。
通信隐藏使用P2P技术控制网络模型取代了传统的木马,木马通信协议开发P2P环境中,提高隐藏的木马控制系统通信的性质,并确保系统的可靠性。
(2)Bootkit
Bootkit是继承自Rootkit内核权限获取和自我痕迹擦除技术的Rootkit高级发展模式。
大规模互联互通“之前每个人都连接到互联网”,恶意代码乘坐便携式存储介质,如光盘或软盘的恶意软件,通常病毒隐藏在引导扇区的磁盘,充当一个数字寄生虫,感染主机PC在引导过程的介绍。
感染会腐败的机器通过改变硬盘的主引导记录,任何引导磁盘引导扇区代码,或磁盘分区表(DPT)。
bootkit是启动病毒能够钩和补丁Windows加载到Windows内核,从而得到无限制的访问整个电脑,甚至可以绕过满卷加密,因为主引导记录不加密。
主引导记录包含密码解密的软件要求和解密开车。
国内研究现状:
计算机病毒、特洛伊木马以及网络蠕虫等恶意程序对网络安全构成了巨大的威胁。
其中特洛伊木马的破坏最大,它能在高隐蔽性的状态下窃取网民的隐私信息。
通常被感染木马的计算机用户并不知道自己的计算机已被感染。
这是由于木马程序具有很高的隐蔽性,它能在看似无任何异常的情况下,秘密操控远程主机,进行破坏活动。
1.木马隐藏相关技术
(1)程序隐蔽
木马程序隐藏通常指利用各种手段伪装木马程序,让一般用户无法从表面上直接识别出木马程序。
要达到这一目的可以通过程序捆绑的方式实现。
程序捆绑方式是将多个exe 程序链接在一起组合成一个exe 文件,当运行该exe 文件
时,多个程序同时运行。
程序捆绑有多种方式,如将多个exe 文件以资源形式组合到一个exe 文件中或者利用专用的安装打包工具将多个exe 文件进行组合,这也是许多程序捆绑流氓软件的做法。
因此,木马程序可以利用程序捆绑的方式,将自己和正常的exe 文件进行捆绑。
当双击运行捆绑后的程序时,正常的exe 文件运行了,而木马程序也在后台悄悄地运行。
程序隐藏只能达到从表面上无法识别木马程序的目的,但是可以通过任务管理器中发现木马程序的踪迹,这就需要木马程序实现进程隐藏。
(2)进程隐蔽
隐藏木马程序的进程显示能防止用户通过任务管理器查看到木马程序的进程,从而提高木马程序的隐蔽性。
目前,隐藏木马进程主要有如下两种方式:(2.1)API 拦截
API 拦截技术属于进程伪隐藏方式。
它通过利用Hook 技术监控并截获系统中某些程序对进程显示的API 函数调用,然后修改函数返回的进程信息,将自己从结果中删除,导致任务管理器等工具无法显示该木马进程。
具体实现过程是,木马程序建立一个后台的系统钩子(Hook),拦截PSAPI的EnumProcessModules 等相关函数的调用,当检测到结果为该木马程序的进程ID(PID)的时候直接跳过,这样进程信息中就不会包含该木马程序的进程,从而达到了隐藏木马进程的目的。
(2.2)远程线程注入
远程线程注入属于进程真隐藏方式。
它主要是利用CreateRemoteThread 函数在某一个目标进程中创建远程线程,共享目标进程的地址空间,并获得目标进程的相关权限,从而修改目标进程内部数据和启动DLL 木马。
通过这种方式启动的DLL 木马占用的是目标进程的地址空间,而且自身是作为目标进程的一个线程,所以它不会出现在进程列表中。
DLL 木马的实现过程是:
①通过OpenProcess 函数打开目标进程;
②计算DLL 路径名需要的地址空间并且根据计算结果调用VirtualAllocEx 函数在目标进程中申请一块大小合适的内存空间;
③调用WriteProcessMemory 函数将DLL 的路径名写入申请到的内存空间中;
④利用函数GetProcAddress 计算LoadLibraryW 的入口地址,并将LoadLibraryW 的入口地址作为远程线程的入口地址;
⑤通过函数CreateRemoteThread 在目标进程中创建远程线程。
通过以上步骤就可以实现远程线程注入启动DLL 木马,达到隐藏木马进程的目的。
而且,远程线程注入方式与其他进程隐藏技术相比,具有更强的隐蔽
性和反查杀能力,增加了木马的生存能力。
(3)通信隐藏
进程隐藏可以进一步加强其隐蔽性。
但是仍然可以从通信连接的状况中发现木马程序的踪迹。
因此,很有必要实现木马程序的通信隐藏。
以下是两种通信隐藏技术的实现思想。
(3.1)端口复用技术
木马服务器端程序在运行时会主动打开某一端口和客户端程序进行连接,从而降低了木马程序的隐蔽性。
木马端口复用技术能避免这种缺点,它让木马服务端程序共享其他网络程序已打开的端口和客户端进行连接,从而防止重新开启端口降低隐蔽性。
该技术的关键之处在于,木马程序应增设一个数据包转交判断模块,该模块控制主机对数据报的转交选择。
当主机收到目的端口与木马所复用的端口一致的数据包时,调用数据包转交判断模块进行判断,若为木马程序的数据包,将其转发给木马程序。
否则,将其转交给开启该端口的网络程序。
利用端口复用技术可以增强木马的通信隐藏,但是对于某些设置得过严的防火墙和入侵检测系统,这种技术也会失去作用。
因此,除了通信端口的隐藏之外,还应该考虑数据包传输协议的隐藏。
本文通过分析相关网络协议,编写出了一款利用ICMP 协议缺陷传输数据的木马程序,这里给出该技术的关键实现思想。
(3.2)利用ICMP 和HTTP 协议
通常网络防火墙和入侵检测系统等安全设备只检查ICMP 报文的首部,对数据部分不做处理。
因此,可以将木马程序的通信数据隐藏在ICMP 报文格式的选项数据字段进行传送,如把服务端程序向客户端程序传输的数据伪装成回显请求报文,而把客户端程序向服务端程序传输的数据伪装成回显应答报文[1] 。
这样,就可以通过PING\PING-RESPONSE 的方式在木马服务端程序和客户端程序之间建立起一个高效的秘密会话信道。
利用ICMP 协议传输数据还有一个很大的优点,即ICMP 属于IP层协议,它在传输数据时并不使用任何端口,从而具有更好的隐蔽性。
利用HTTP 协议进行木马程序之间的数据传输同样具有很高的隐蔽性。
攻击者可以将木马客户端程序使用的端口绑定到HTTP 服务的端口(80)上。
那么,当木马服务端程序向客户端程序建立连接时,目的端口就变成了80 端口,从而将该连接伪装成HTTP 服务连接以逃过防火墙的检查。
实验测试表明,利用ICMP 协议缺陷传输数据的木马程序能够很好地逃避网络防火墙和入侵检测系统的检查,实现和控制端之间的通信。
但是,采用该技术的木马程序传输数据的效率和稳定性还有待提高。
以上分析的各种木马隐藏技术都只是建立在木马程序实现自身隐藏的基础上。
然而,目前网络安全状况表明,随着反木马技术的不断提高,木马程序仅靠自身或者某单一技术已无法实现高隐蔽
性。
因此,实现木马的协同隐藏技术就显得尤为重要。
(4)协同隐藏
木马协同隐藏思想通常是综合利用各种木马隐藏技术,通过木马子程序或者木马程序之间相互协作,实现更高的隐蔽性。
木马协同隐藏技术摆脱了传统隐藏技术仅靠单一木马、单一技术的方式,它能够从宏观整体出发,设计更加强大的木马协作隐藏模型。
模型加强了木马协同隐藏的能力,增加了木马程序的生存时间,但也产生了一些相关问题,如增加了木马通信结构的复杂度,降低了通信过程的稳定性,增加了网内控制信息,易造成网络阻塞、瘫痪等。
总之,木马隐藏技术正朝着复合、协同的方向发展,各种问题也会随着技术的进步逐步得以解决。
2.木马隐藏的最新技术
(1)木马隐藏技术:Rootkit木马
随着安全技术的发展和计算机用户群的技术提高,一般的木马后门越来越难生存,于是一部分有能力的后门作者把眼光投向了系统底层——ring 0。
位于ring 0层的是系统核心模块和各种驱动程序模块,所以位于这一层的木马也是以驱动的形式生存的,而不是一般的exe。
后门作者把后门写成符合wdm规范(windows driver model)的驱动程序模块,把自身添加进注册表的驱动程序加载入口,便实现了“无启动项”运行。
一般的进程查看器都只能枚举可执行文件exe的信息,所以通过驱动模块和执行文件结合的后门程序便得以生存下来,由于它运行在ring 0级别,拥有与系统核心同等级的权限,因此它可以更轻易的把自己隐藏起来,无论是进程信息还是文件体,甚至通讯的端口和流量也能被隐藏起来,在如此强大的隐藏技术面前,无论是任务管理器还是系统配置实用程序,甚至系统自带的注册表工具都失去了效果,这种木马,就是让人问之色变的Rootkit。
3.相关文献
1.期刊论文刘冬.Liu Dong特洛伊木马的隐藏技术分析 -中国科技信息2013,""(1)
文章首先介绍了木马的定义,概括了木马的特征,对木马的功能做了一定的介绍,然后着重从文件隐藏、通信隐藏、进程隐藏三个方面分析木马的隐藏技术.
2.期刊论文刘德.甘早斌.LIU De.GAN Zao-Bin Windows下内核级木马隐藏技术研究 -微处理机2009,30(1)
木马技术是网络安全的重要方面,也是网络攻击中获取信息的重要途径.隐藏技术是木马的关键技术之一,其直接决定木马的生存能力.从Rootkit的原理分析出发,深入的研究
Windows下内核级木马的隐藏技术,并在此基础上实现一个内核级木马原型,最后介绍内核级木马的检测和应对策略.
3.期刊论文林小进.钱江.LIN XIAOJIN.QIAN JIANG特洛伊木马隐藏技术研究 -
微计算机信息2007,23(33)
首先介绍了传统的木马隐藏方法,由于传统方法主要集中于本地进程的隐藏,对木马两端之间通信隐藏涉及甚少,而本文所采用的基于ICMP的连接技术能够穿越防火墙,实现通信连接的隐藏.
4.学位论文孙淑华内核级木马隐藏技术研究与实现 2004
特洛伊木马是网络攻击的主要手段之一,其首要特征是隐蔽性.它可以在目标
系统被攻破以后继续保持对它的控制,并可以以长期潜伏、滞后活动的方式来隐
身以获取连续性的政治、经济、军事或商业情报.在网络攻击技术中,木马技术
是一个很重要的研究领域.特洛伊木马攻击、检测和清除技术在军方和国家安全
保密等部门存在潜在应用,研究意义重大.在当前多维信息战的形势下,加强这
方面的工作刻不容缓.该文的研究工作以国家"863"(《国家网络与信息安全保障
持续发展计划》)项目"特洛伊木马隐藏技术研究"为基础,对Linux内核级木马
的隐藏技术进行了深入地研究,分析和总结了现有的特洛伊木马的隐藏和检测技
术,并针对著名的内核级木马SuKit进行了剖析,指出了该木马的不足,提出了改
进建议和实现方案,开发了一个内核级木马原型LongShadow.内核级木马
LongShadow是基于Silvio Cesare的思想:在不支持LKM技术的前提下,在运行
的系统中实现对内核的改动.没有采用修改系统调用指针进行系统调用重定向
来实现隐藏,而是通过在内核中重建一个系统调用表,因此检查系统调用表的变
化无法检测到木马的存在.对利用检测系统调用重定向来检测LKM木马的扫描
检测工具Kstat可以成功避过.chkrootkit也是检测LKM的工具,它是通过一些
恶意代码签名来检测的,因此木马LongShadow能成功避过.stMicheal-LKM是检
测内核变动的工具,木马 LongShadow通过首先定位stMicheal-LKM,然后使其失
效的方法避过此种检测工具.由于木马原型LongShadow在通信隐藏上采用了隐
蔽通道技术,因此木马LongShadow可以成功避过 Realsecure/snort的检测.该
论文的工作主要创新之处在于:利用隐蔽通道技术和实时检测对抗技术改进了通
信隐藏和对抗实时检测的能力.另外,论文也针对木马攻击过程的各个阶段对检
测技术进行了分析和总结.当然,随着网络安全技术的不断发展,木马扫描检测技
术在不断深入,因而木马隐藏技术也需要不断提高.木马隐藏技术与检测技术是
攻与防、矛与盾的关系,它们是互相促进,螺旋式上升的.
5.期刊论文彭迎春.谭汉松.PENG Ying-chun.TAN Han-song基于DLL的特洛伊木马隐藏技术研究 -信息技术2005,""(12)
隐藏技术一直是木马设计人员研究的重要技术.在分析原有木马隐藏方法的基础上,提出了使用动态链接库(DLL)与线程技术相结合的木马进程隐藏方案,用动态链接库编程技术代替传统木马程序,并用线程嫁接技术将其植入目标进程,具有很好的隐蔽性和灵活性.
6.期刊论文孟蕾.Meng Lei特洛伊木马隐蔽性研究 -电脑学习2007,""(5)
从木马原理出发,分析了几种木马隐藏方法,并对各自优缺点做了简要评论.
7.学位论文李建定木马隐藏技术的分析与实现 2008
随着3G和信息网络技术的迅猛发展,人类社会正进入信息时代,信息己成为人类宝贵的资源,特别是Internet己经渗透到社会的各个领域,信息越来越成为一种战略资源,人们的决策越来越依赖于信息。
然而,网络诈骗、网上盗窃严重影响网络安全,严重影响人们正常的生活。
公安工作中需要依法利用木马手段对犯罪嫌疑人进行网络侦查,获得犯罪嫌疑人的犯罪信息,从而有效地打击违法犯罪活动,维护网络安全。
本文针对木马隐藏技术进行研究是公安网络侦察的一个子课题。