HTTP隧道木马原理分析及检测方法研究

时间:2022-08-31 08:14:26

HTTP隧道木马原理分析及检测方法研究

摘要:随着防火墙技术和各类安全监测技术的发展,木马也随之不断升级。为了穿透防火墙的阻隔,一种新型的利用HTTP隧道技术的木马随之诞生。对该类木马的运行原理进行了阐述,并对当前主流HTTP隧道木马检测技术进行了分析。

关键词:HTTP隧道木马;原理;检测方法

中图分类号:TP309.5文献标识码:A文章编号:16727800(2012)009015202

0引言

随着互联网的飞速发展以及网络中病毒木马程序的日益泛滥,防火墙已经成为保护局域网络中主机免受恶意程序侵害的一道屏障。随着防火墙技术的日益成熟,很多传统远控型木马程序已经失去了其发展空间,然而一种新型的利用HTTP协议隧道的木马又出现了。本文将主要介绍该类木马的运行原理以及目前针对该类木马的主流检测方法。

1HTTP协议隧道

HTTP协议隧道位于应用层,是将需要传输的数据封装在HTTP协议格式数据包中,通过HTTP协议在网络中进行传输,当HTTP数据包抵达目的地后对HTTP数据包进行解包,得到真实的数据。HTTP协议隧道分为直接型和中转型两种模式。

1.1直接型模式

此模式中每台主机都既作客户端又作服务器,可以相互通信。在客户端中,数据经过HTTP隧道软件使用HTTP协议进行封装,然后通过80端口或者8080端口发送到对方主机。服务器端收到数据后对HTTP包进行解包操作得到实际传输的数据。

1.2中转型模式

此模式中有一个专门的HTTP隧道服务器,负责接收客户机的请求,然后与目标主机通信,将客户端传过来的数据交付给目标主机。在客户端与目标主机之间仍使用HTTP协议对数据进行封装后传输。

2HTTP隧道木马原理

HTTP隧道木马与传统木马程序在功能上基本一致,主要差别在于通信方式上。传统木马,不论是正向连接型还是反向连接型,基本都是通过高于1024端口进行通信,然而现在的很多杀毒软件以及防火墙对于这些端口的检测会较为严格,从而使得木马程序容易暴露身份。而随着B/S模式的广泛应用,越来越多的网上流量都是通过HTTP协议进行传输,因此绝大多数防火墙对于HTTP协议都采取进行简单协议结果判定后直接允许其通过的策略,而这样的策略就给了木马程序以可乘之机。

HTTP隧道木马利用HTTP协议隧道,将自己需要传输的数据利用HTTP协议进行封装,然后经由HTTP协议专用端口80端口或者8080端口与外部服务器进行连接,服务器在得到数据以后进行简单的HTTP协议解包就可以得到实际的数据。

一般此类木马选择的HTTP协议隧道类型均为上一节中介绍的中转型模式。在木马实际运行过程中,客户端(即控制端)首先将待执行的命令以文件的形式存放在HTTP隧道服务器中,而对于服务端(及被控端),每次上线后会主动请求连接HTTP隧道服务器,然后用GET或者POST命令请求服务器中的特定文件(预先设定好的存放命令的文件)。如果文件中有需要执行的命令,则在被控端主机上执行相应操作,然后将数据封装成HTTP数据包回送给HTTP隧道服务器,如果文件中没有命令需要执行,则服务端断开连接,一段时间后再次以相同方式询问是否有命令,如此往复。通过此流程,HTTP隧道木马就可以借用HTTP协议躲避防火墙的阻拦与控制端进行通信。

3主流检测方法

针对HTTP隧道木马的检测方法目前主要存在下面的三大类:基于签名的检测、基于协议的检测以及基于操作行为的检测。下面分别对3种检测方法进行介绍。

3.1基于签名的检测(SIGNATUREBASED DETECTION)

该方法主要通过检测HTTP协议数据包定的数据式样来判断是否是可疑的HTTP数据包。这里所谓的特定的数据式样,指的是比如“cat c:”、“cat d:”、“del c:”、“PWD”、“RETR ”、“cmdc:”、“cmd net start”等字串。这些字串一般为计算机的一些操作指令,如果HTTP数据包中含有这些数据式样则将其判定为使用HTTP隧道进行传输。

然而这种方法也存在一些问题,比如很难准确找到有哪些数据样式只存在于HTTP隧道木马传递的数据包中而不可能或很少出现在正常网页里,因为HTTP协议是基于对象的协议,可以传输任何类型的文件,我们不能保证这些文件中不会出现所定义的“数据式样”,因此此方法在实际运用中可行性较低。

3.2基于协议的检测

由于很多HTTP隧道木马在进行HTTP隧道传输时都只是进行了一个简单的HTTP协议封装,即在数据外加上了一个HTTP头部,然而这种简单的协议封装往往在很多时候不符合实际的HTTP协议正常的格式。并且在数据交互的过程中,HTTP隧道木马一般只是简单发送单个HTTP数据包,而不会完整执行整个HTTP协议中规定的一整套交互流程。根据这些协议上的特点可以对HTTP隧道木马进行检测。

然而在有些情况下这种方式仍不能正确地对该类木马进行准确识别。比如木马程序为了伪装而进行一系列虚假的HTTP协议交互过程,从协议层面上看该过程完全无法分辨出是否为木马程序。

3.3基于操作行为的检测

该方法主要提取了HTTP隧道木马程序在网络会话上的一系列特征,如:数据包大小、数量、会话时长、会话上传数据量、会话上传数据量和下载数据量之比以及会话平局上传速率等。然后基于这些特征采取数据挖掘技术,对HTTP隧道木马进行分类,对其建立相应木马网络会话特征模型,根据此模型对其进行检测。

资料显示,此种检测方法在HTTP隧道木马程序检测方面的效果较好。此方向研究者较多,各研究者之间差别在于采取的特征选取有细微不同,以及采取的分类算法存在一定差异。

3.4分析比较

分析了3种当前主流HTTP隧道木马检测技术以后,我们可以看到,第一种技术基本无法单独运用于真实环境下的木马检测,在某些情况下可以作为辅助条件进行木马判定;基于协议的检测方法存在一定的适用性,但是也很容易被木马绕过,因此会导致实际使用的效果不佳;而第三种方式则相对显得效果更好,有很好的实用性。

4结语

本文主要就HTTP隧道木马的运行原理进行了介绍,然后对目前主流的HTTP隧道木马检测方法进行了分析比较。通过分析几种当前提出较多的HTTP隧道木马检测方法,得到当前检测该类木马程序最有效的方法在于对木马网络回话中的一些特征进行分类处理,建立该类木马特征模型,然后进行检测。

参考文献:

[1]许治坤,王伟,郭添森,等.网络渗透技术[M].北京:电子工业出版社,2005.

[2]李俊林.通用性HTTP隧道检测技术研究[D].成都:电子科技大学,2006.

[3]CASTRO,SIMON. Covert Channel and Tunneling over the HTTP protocol Detection:GW implementation theoretical design[J]. Nov,2003(16).

[4]孙海涛,刘胜利,陈嘉勇,等.基于操作行为的隧道木马检测方法[J].计算机工程,2011(20).

上一篇:基于Struts 2框架的数字化学习资源服务平台... 下一篇:ArcView GIS在中学地理体验式教学中的应用