计算机木马检测中木马行为诱发研究

2014-08-25 02:44杜彦辉
关键词:网络协议木马数据包

朱 平, 杜彦辉

(中国人民公安大学, 北京 100038)

0 引言

随着计算机及互联网技术应用的广泛发展,信息数据可直接或间接产生巨大的经济利益及其他社会利益,不同的利益目标促使以窃取特定信息为目的的木马的“专业性”更强。具有高深隐藏技术的计算机木马在没有被捕获到特征码以前,基于特征码的检测方式没有办法进行常规检测,在这种情形下,木马的检测只能通过基于行为检测的方式。但是,对于以窃取特定信息为目的的“专业性”木马,在特定条件没有得到满足前经常处于“休眠式”的潜伏状态,只运行基本的环境信息搜集代码,执行环境探测等低等级、不易暴露的正常软件常见行为。这些正常软件常见的并且活动量极少的行为往往能够躲过基于行为检测的木马检测。为此,本文将对计算机木马检测中的木马诱发条件进行全面研究,探讨触发木马产生更多“工作行为”,以提升木马检测成功率的模拟环境模型。

1 问题分析

目前计算机木马检测方法主要分为两大类:一是基于特征码的检测方式;二是基于行为的检测方式。

(1)特征码检测主要依赖于木马特征码的提取与比对。检测通常包含特征码设计,特征码提取和扫描引擎检测三大模块。检测算法一般采用可变长度的特征码集合来增加扫描引擎的检查效率;特征码提取模块自动定位病毒代码的位置,然后提取其中某些字节作为特征码;扫描引擎检测模块首先针对每个目标文件都进行一次准特征码提取操作,将获得到准特征码放到特征码库中去匹配,匹配成功后再进行二次准特征码提取和二次特征码匹配,最终确定目标文件是否被特征码库中的木马感染过。检测实现上,可分为单机杀毒软件式和网络入侵检测类式。受制于检测的基本原理,特征码检测法只能对已知特征码的计算机木马检测有效,对未获取到特征码的计算机木马将完全失效。

(2)行为检测主要是对可疑程序的行为进行监控,记录程序在运行时与操作系统交互过程中所调用的API函数相关信息或特定行为组合,从中抽取特征输入检测器,检测器对样本集进行学习后即可用于对可疑程序进行自动检测。对于尚未被捕获到特征码的木马检测,只能依靠于基于木马行为的检测。但是,检测软件需要捕获既定的木马行为,如果出于信息安全保密的考虑,在不能将待检嫌疑机连接至真实互联网环境的情况下,如何构造有效的模拟环境,诱发木马脱离“潜伏状态”产生更多的“工作行为”,将直接影响木马检测效果。

据调研,高“专业性”木马的工作通常可分四个阶段:一是植入阶段,即通过特定方式将木马植入特定主机;二是所需信息资源验证阶段,即验证所侵入主机是否存储有特定的、值得工作进行窃取的信息;三是信息窃取与通讯安全性验证阶段,即探测是否具有能够保障窃取信息不被发现的特殊运行时环境,以及能够掩护与控制者通讯行为的安全环境掩护保障;四是信息窃取阶段,即通过信息资源验证,信息窃取与通讯环境安全得到保障后开始窃取信息;或与控制者联系,接收控制者指令进行信息窃取。

通过研究木马上述第二、第三阶段所需的环境,提出一种基于主机行为与环境及互联网环境模拟的木马行为诱发模型。

2 模型的组成与功能

模型包括主机行为与环境模拟端及互联网环境模拟端两个部分:结构图如图1。

图1 木马行为诱发模型结构图

2.1 主机行为与环境模拟端

主机行为与环境模拟端负责模拟各种条件下的主机环境及用户行为,具体包含操作系统环境模拟模块、应用程序环境模拟模块、用户行为模拟模块和模拟环境综合指挥模块,功能模块图如图2。

(1)操作系统环境模拟模块主要负责通过模拟各种操作系统变量参数(如操作系统版本、操作系统语言类型、补丁版本)、网络类型和网络连接状态等环境信息,使木马认为已经处于所需的操作系统运行时环境。该模块包含操作系统环境库。

(2)应用程序环境模拟模块主要通过构造操作系统应用程序安装状态等信息,模拟木马所需的应用程序环境,如,部分Windows木马需要通过注入Firefox浏览器进程进行数据传输,则可以通过修改注册表和构建需虚拟应用程序文件,构造Firefox浏览器“存在”的假象,使木马认为已经具备特定的“辅助工具”。该模块包含应用程序环境库。

(3)用户行为模拟模块负责逐一构造各种用户行为,诱导木马认为已经满足可以“掩护工作”所需的“安全运行”环境。如,部分木马只在屏保时(认为用户不在计算机前)开始高级工作,部分木马只在用户大量浏览网页信息时工作(可以掩盖木马网络通讯)或大量文件读写操作时工作(可以掩盖木马文件读写操作),部分“摆渡类”木马检测是否有U盘等移动设备接入以便通过中间介质将局域网计算机数据“摆渡”至互联网环境。该模块包含用户行为库。

(4)综合指挥模块将根据上述三个模拟端数据库中的模拟行为进行组合,以制定综合模拟策略用例。

2.2 互联网环境模拟端

互联网环境模拟端是指构造被检测主机连接的互联网环境,使木马误认为计算机已经连接至互联网。主要包括数据包接收端模块、网络协议分析模块、网络协议响应模块和网络探测协议主动发起模块,如图3。

(1)数据包接收模块能够全部接收计算机发出的数据包。

(2)网络协议分析模块可以对接收到的数据包进行协议还原和协议分析。

(3)网络协议响应模块是指响应被检测计算机发出网络请求,使木马认为所在的计算机已经连接至互联网。如,部分木马会首先发出DNS请求以判断是否连接至真实互联网,在接收到正确DNS响应时才全面激活,进行更多行为活动。

(4)网络探测协议主动发起模块是指主动发出局域网及互联网常见探测协议的数据包,以构造更加真实的网络环境。如部分木马在判断所在计算机是否真正连接至网络时,会首先监听是否有ARP请求数据包。

图3 互联网环境模拟端

3 模型工作方式

3.1 主机行为与环境模拟端工作模式

主机行为与环境模拟端的各模块在模拟环境综合指挥模块的统一指挥下工作于异步模式。模拟环境综合指挥模块可以通过遍历的方式逐一遍历组合操作系统环境模拟模块、应用程序环境模拟模块和用户行为模拟模块数据库中的行为或环境变量,也可以根据检测者的检测策略进行特定行为组合模拟进而为木马检测提供所需的特定环境。

3.2 互联网环境模拟端工作模式

互联网环境模拟端的数据包接收模块和网络协议分析模块同步实时运行,实时地、全面的接收被检测主机发出的数据包并进行协议还原与分析。

网络协议响应模块及网络探测协议主动发起模块与数据包接收模块工作于异步模式。其中,网络探测协议主动发起模块主动并定期发起探测协议数据包;网络协议响应模块则根据数据包接收模块的数据接收情况进行响应。

4 实验与结果分析

利用本模型编写并搭建了一套Windows XP环境下的木马诱发环境。其中,主机行为与环境模拟端使用VC++6.0编写,除基本的用户操作模拟外,加入了时钟加速功能,可使Windows系统时钟最高加速4倍;互联网环境模拟端使用Linux操作系统,嵌入工控机内,可模拟响应ARP、DNS、TCP等网络协议。木马以“灰鸽子”为基础,通过重新编译,“变种”为ARP响应探测、DNS探测、Windows更新包探测、Firefox访问“Sohu网”激活等四个版本。木马检测软件使用开源杀毒软件“ClamAV”。实验结果显示,本模型环境切实可行,同时,时钟加速功能可大大提高对木马检测的效率,使对“低频度”活动木马的检测效率明显提升。

5 结论

本文提出木马行为诱发模型诱发能力取决于主机行为与环境模拟端中操作系统环境模拟模块、应用程序环境模拟模块和用户行为模拟模块三个模块数据库中的样例行为数量。在样例充分的情况下,可以极大条件的诱发计算机木马产生更多的活动行为,通过全面激活木马以提升木马检测成功率。全环境的模拟可以充分保障被检测计算机的信息安全,由于检测环境没有真正连接至互联网,可有效避免被检测计算机信息数据的泄漏。

[1]任云韬. 基于二进制多态变形的恶意代码反检测技术研究[D]. 西安:电子科技大学, 2007.

[2]金庆,吴国新,李丹. 反病毒引擎及特征码自动提取算法的研究[J]. 计算机工程与设计, 2007(24).

[3]张波云. 计算机病毒智能检测技术研究[D]. 长沙:国防科学技术大学, 2007.

[4]张峰. 基于策略树的网络安全主动防御模型研究[D]. 西安:电子科技大学, 2004.

[5]尹清波. 基于机器学习的入侵检测方法研究[D]. 哈尔滨:哈尔滨工程大学, 2007.

[6]刘国柱,尚衍筠. 基于主动防御模式下蠕虫病毒特征码的提取模型及算法设计[J]. 计算机应用与软件, 2009(6).

[7]彭国军,张焕国,王丽娜,等. Windows PE病毒中的关键技术分析[J]. 计算机应用研究, 2006(5).

[8]陈秀真,郑庆华,管晓宏,等. 层次化网络安全威胁态势量化评估方法[J]. 软件学报, 2006(4).

[9]金然,魏强,王清贤. 基于归一化的变形恶意代码检测[J]. 计算机工程, 2008(5).

[10]李荣鑫. 基于智能代理的分布式入侵检测系统模型[J]. 微计算机信息, 2008(6).

[11]陈立军. 计算机病毒免疫技术的新途径[J]. 北京大学学报:自然科学版, 1998(5).

[12]PEISERT S, BISHOP M, KARIN S, et al. Analysis of computer intrusions using sequences of function calls[J]. Dependable and Secure Computing, IEEE Transactions on, 2007,4(2):137-150.

[13]ELOVICI Y, SHABTAI A, MOSKOVITCH R, et al. Applying machine learning techniques for detection of malicious code in network traffic[M]∥KI 2007: Advances in Artificial Intelligence. Springer Berlin Hedelberg, 2007:44-50.

[14]JANG M, KIM H, YUN Y. Detection of DLL inserted by windows malicious code[C]∥Convergence Information Technology, 2007. International Conference on. IEEE, 2007: 1059-1064.

[15]LEE M, CHO S, JANG C, et al. A Rule-based Security Auditing Tool for Software Vulnerability Detection[C]∥Hybrid Information Technology, 2006. ICHIT’06. International Conference on. IEEE, 2006,2:505-512.

[16]ECOVICI Y, SHABTAI A, MOSKOVITCH R, et al. Applying machine learning techniques for detection of malicious code in network traffic[M]∥KI 2007: Advances in Artificial Intelligence. Springer Berlin Heidelberg, 2007: 44-50.

猜你喜欢
网络协议木马数据包
二维隐蔽时间信道构建的研究*
小木马
骑木马
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
小木马
C#串口高效可靠的接收方案设计
一种蓝牙多跳网络协议的设计与研究
基于载波技术的多点温度测量系统设计
基于DPI技术的语音视频流量监控系统设计与实现