朱 平 史 记 杜彦辉 陈光宣
(中国人民公安大学 北京 100038)
APT(Advanced Persistent Threat)木马是一种专门以国家或重大商业利益为目的的一种网络木马,是和平时期进行网络信息窃取的重要手段,该类型木马及对应的攻击通常具有都具三大特点:技术高、手段新;策略强、针对性强;持续性高。
在渗透进入目标系统或设备后,APT木马通常具备高度隐藏特性,具体包括自身文件的隐藏、启动与工作活动隐藏及通讯隐藏。
(1)文件隐藏。文件隐藏指木马通过欺骗和技术方式,将自身隐藏在目标计算机操作系统中。
(2)启动与工作活动隐藏。是指通过技术方法,使检测软件不能发现木马进程或线程的启动。
(3)通讯隐藏。APT木马通常通过网络与控制者进行通讯,接收控制者指令对目标进行特定的信息窃取,通讯隐藏包括数据传输行为隐藏和通讯加密。
传统的木马检测主要分为基于特征码检测、基于行为检测、基于网络入侵防范等方式,但存在以下缺点:
(1)特征码检测主要依赖于木马特征码的提取与比对。特征码检测法只能对已知计算机木马的检测有效,对未获取到特征码的APT型木马无能为力。
(2)行为检测主要是基于对可疑程序的行为进行监控,但是,如果木马先于检测软件启动,并通过一系列先进技术或漏洞修改操作系统内核,常造成对木马的检测失效。
(3)常见网络入侵防范检测方式主要原理仍然是基于对木马网络数据的特征码提取,不但对单台计算机的木马检测效率低下,且针对性效果较差,特别是对APT型木马窃取信息行为的准确分析能力不足。
由于APT木马的特殊性,目前,尚未有专门针对APT木马的抽象模型描述,但是可以确定的是,APT木马完全具备“僵尸网络”木马的基本功能,参考文献[6]1.4节中关于“僵尸网络”工作机制的理论及APT木马“网络通讯”这一关键特征:
本文针对APT木马提出一种新的检测模型:即基于网络数据与主机状态的计算机木马检测模型F
N(pk)是网络数据包(pk)的收集、协议还原与协议响应;
H(pr,n..)是主机的操作系统状态检测,检测变量包括进程(pr),网络连接变量(n)等等;
A
在检测中,如果发现主机发出的数据包不能关联至主机正在运行的进程及网络状态变量,那么,该主机就可能被种植了具有高深隐藏技术的木马。
(1)网络数据接收及互联网模拟端,用于模拟互联网,能对计算机发出的链路层和应用层网络连接请求数据包进行互联网模拟响应,使被检测主机认为已经连接到正常互联网,满足木马常常进行互联网连接检测才正常“工作”的环境需求。
(2)主机信息综合分析端,运行于被检测主机,使用正常操作系统API调用以记录计算机进程和网络连接的操作系统运行时变量,不采用杀毒软件等所运用的内核级编程技术。
本文在神经网络领域中选取能够在非稳定环境下进行实时学习的一种自适应谐振理论对 3.1中的检测模型进行自学习、分析。
F=ART’
A
{
H(pr,n)=
(1)首先将网络数据接收及互联网模拟端通过网线连接至计算机,并开启;
(2)启动计算机操作系统,开启计算机信息综合分析端软件;
(3)根据检测需求定制检测策略,如,可以模拟用户启动IE浏览器、模拟访问百度等常用网站;
根据2015年对工程海域5条垂线大小潮含沙量观测资料显示,工程区各侧大潮平均含沙量为0.3 kg/m3~0.5 kg/m3,小潮0.1 kg/m3左右。
(4)网络数据接收及互联网模拟端实时接收计算机发出的网络数据包,并对DNS请求、ARP请求等基本网络请求进行模拟响应;
(5)运行于被检测主机的计算机信息综合分析端软件实时记录操作系统进程和网络等运行时变量,并将网络数据接收及互联网模拟端反馈的数据包与进程和网络进行关联,比对正常数据包。
(6)如发现不能关联至计算机合法已知进程的数据包或可疑目的地址的数据包以及非用户主动请求所产生的数据包,则计算机被种植了通过网络进行控制木马。
本文在对被检测主机状态变量以及网络数据接收及互联网模拟端接收到的数据包收集后进行抽象形成以下待检测集合:
表1 待检测集合
表1仅展示了部分检测集合,其中既包括了正常程序的抽象同时也包括了部分可以进程(线程)的抽象。
下面抽取其中的若干抽象进行模型解释,如表2、表3、表4。
表2 抽象解释1
表2这条抽象所代表的行为特征是:主机状态记录中存在相应的进程号和线程标识符,且在主机状态集中存在 TCP Send,与之对应的,在网络接收器中也对应到了TCP Send数据包。按照默认检测策略,此行为不会触发报警。
表3 抽象解释3
表3这条抽象的行为特征是:主机状态集中存在相应的进程ID,ARP Send和Recv,网络接收其中也有对应的ARP Send和Recv,属于正常行为(如表4)。
表4 抽象解释4
该抽象行为特征较为特殊,首先在主机状态中没有找到对应的进程PID和线程描述符,同时主机状态集中没有相应的发包行为,但是在网络接收器中却接收到了TCP Send。这种行为比较危险,很有可能是在系统中做了某种隐藏之后虽然在本机无法查出,但是网络接收器确实发现了不该有的网络通信。
接下来将表1所代表的全部待检测集合输入到ART算法中进行自主学习,分类。
作者选取了860个混合样本作为全集,再从全集中随机选取一定数量的抽象样本作为输入进行检测。自适应学习检测结果如下图1:
图1 不同样本数量的样本检出率
模型实验显示,抽样样本中的木马数量比例对模型的学习性能产生直接影响,木马数量比例增加,学习效率将增加,检测率也将增加。
作者根据论文所提模型,编写了一套检测软件,在W indows XP系统运行过程中,对利用TCP/IP协议并通过SOCKET套接字编程方法发送UDP和TCP数据包的木马进行了模拟检测,通过对检测系统的随机抽样,测试了系统整体的性能并发现无论是在 CPU利用率或者是内存占有上系统均能达到相对较低且稳定的水平。
图2 内存占用率
图3 CPU时间
本文提出的木马检测方法与模型所使用的软件不依赖特征码提取,能够弥补“问题分析”中已知木马检测方法的弊端,相关软件及网络数据接收及互联网模拟端硬件简单易实现,在经过ART算法初步验证检测结果基础上,可由具有一定木马检测经验的人员进行进一步分析确定最终结果,检测模型适用于具有一定专业经验的人员对未知网络型木马的检测。
[1]金庆,吴国新,李丹.反病毒引擎及特征码自动提取算法的研究[J].计算机工程与设计.2007(24):2-3.
[2]刘国柱,尚衍筠.基于主动防御模式下蠕虫病毒特征码的提取模型及算法设计[J].计算机应用与软件.2009(06):3-4.
[3]徐明,陈纯,应晶.基于系统调用分类的异常检测(英文)[J].软件学报.2004(03):2-4.
[4]张波云,殷建平,蒿敬波,张鼎兴.基于多重朴素贝叶斯算法的未知病毒检测[J].计算机工程.2006(10):2-4.
[5]任云韬.基于二进制多态变形的恶意代码反检测技术研究[D].电子科技大学 2007:2-3.
[]6诸葛建伟僵尸网络研究[J]软件学报 2008,19(3):2-8.