首页> 中国专利> 一种木马远程shell行为检测装置及方法

一种木马远程shell行为检测装置及方法

摘要

本发明公开了一种木马远程shell行为检测装置及方法,检测装置包括数据包采集装置,数据流筛选过滤装置,数据流特征提取装置和木马shell行为特征检测装置。检测方法首先为获取网络入口实时网络流量数据;然后对实时网络流量数据进行数据流分类,过滤掉无关协议数据流;再提取每个数据流一个应答响应过程中出入包载荷比率、出入包数目比率、数据流应答间隔;最后将一定时间间隔内提取到的数据流特征构造成特征向量输入到构造的神经网络模型当中;最后通过神经网络模型计算得出结果,判断该数据流是否存在木马远程shell行为,并输出结果,同时将检测结果反馈到数据流筛选过滤中,适用于大规模网络环境,能够对已知和未知木马远程shell行为进行检测。

著录项

  • 公开/公告号CN103532957A

    专利类型发明专利

  • 公开/公告日2014-01-22

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201310489714.9

  • 申请日2013-10-18

  • 分类号

  • 代理机构成都华典专利事务所(普通合伙);

  • 代理人徐丰

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2024-02-19 23:15:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-15

    授权

    授权

  • 2017-08-08

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20131018

    著录事项变更

  • 2014-02-26

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20131018

    实质审查的生效

  • 2014-01-22

    公开

    公开

说明书

技术领域

    本发明涉及通信技术领域,尤其涉及一种木马远程shell行为检测装置及方法。

背景技术

近几年来,网络安全问题已经成为各国关注的重点问题之一,“棱镜”事件的曝出,网络隐私与个人用户上网安全问题再一次成为公众关注的焦点。随着网络攻击技术的不断发展,各种新型木马技术不断涌出,尽管各大安全厂商也都与时俱进,不断推出运用新型技术的安全产品,安全问题依然形势严峻。

随着时代的发展,以往网络病毒与木马的爆发式出现的概率越来越小,网络攻击者们已经转入地下,利用木马技术等发展出了完善的网络安全黑色产业链。木马的设计越来越具有针对性,通用型木马的使用已十分少见。对于军队和涉密单位等信息保密级别要求比较高的地方,极易受到这种针对性强的窃密木马侵入攻击行为。

对于窃密型木马来说,获取远程主机shell是其最基本的一个功能。所以,如果能够检测出木马的远程shell行为,那么就很容易定位木马流量和感染主机了。然而,传统的木马查杀和检测技术,并不适合对此类木马的查杀检测。主要表现在以下几个方面:

首先,传统的安装反病毒软件的木马检测技术是基于主机的检测,这种方法需要用户自己安装反病毒软件,实施复杂,同时无法对整个网络中的是否存在木马行为进行检测和监控。

其实,反病毒软件查杀木马主要使用的是基于病毒木马特征码检测的方式,这种方法对于检测新型木马来说并不适用,因为这种针对性较强的木马,其特征码一般不会被杀毒软件所记录,木马的制作者一般都会对木马程序做“免杀”处理,杀毒软件很难提取到其特征码。而且,一般境外敌对势力使用的窃密木马其特征码也一般是未知的。

目前主流的入侵检测系统和防火墙等,也大部分是基于规则的防火墙系统。这种基于规则的防护方式很难对未知的网络攻击流量进行区分和控制。虽然目前也有一些智能防火墙系统,但是效果一般,主要还是依靠传统的技术手段进行检测。

从专利文献中检索到以下专利中:

    申请号为CN200910022718.X的网络窃密木马检测方法,此专利的思想是通过获取网络数据流,对通信地址进行分析、对通信协议进行分析、对通信行为进行分析、对通信关系进行分析,将高度疑似木马通信数据包,按照高度疑似木马通信所采用的网络通信协议,与相应的目的IP地址建立连接,并按照相应的通信协议构造探测数据包发送对方,如果对方返回的应答包中含有非 协议规定的内容,即确定该节点是木马控制端。但是对于使用正常网络通信协议进行通信的木马通信流量,该方法并不适用。

    申请号为CN201010581622.X的一种木马检测方法、装置及系统,该发明的思想是以木马攻击过程中的特征执行的时间顺序为特征,在通过预置的木马特征库判断得到可疑的特征报文后,进一步利用木马攻击程序执行时序的特点,判断可疑的特征报文的执行时序是否和木马攻击程序的执行时序相同,如果相同,则确定可疑特征报文为木马特征报文。该方法虽然不是传统的特征码识别检测方法,但是仍然需要一个预置木马特征库。

    申请号为CN201110430821.5的一种木马检测的方法及装置,该专利的主要思想是:当检测到会话中存在木马心跳检测时,根据木马心跳检测的频率是否固定,将记录的会话权值增加相应的权值并记录,并针对控制端向被控制端发送的每个报文,检测该报文是否符合木马控制命令报文的特征,若符合,则将记录的会话权值增加第三权值并记录,在会话权值达到告警阈值时发出告警,以通知该会话为木马发起的会话。但是,该方法无法检测某些无心跳包的静默式木马。

    申请号为CN201110157821.2的基于心跳行为分析的快速木马检测方法 ,   该发明也是一种基于心跳行为分析的木马检测方法,通过分析相邻两心跳过程之间的“心跳间隙”是否具有规律性以及心跳过程中被控端接收和发送的数据包数量比值是否相等,分析该阶段木马通信行为与正常网络通信行为之间的差别,挖掘二者之间的本质差别并提取行为特征,检测疑似木马。同上一发明,此方法也无法检测某些无心跳包的静默式木马。

    申请号为CN201210412347.8的一种基于网络流量中行为特征的智能木马检测装置及其方法,该专利是一种根据网络流量数据中反映出来的木马行为特征去智能地检测木马的方法,提供了一种基于网络流量中行为特征的智能木马检测方法及其装置,其主旨在于提供一种对新型未知木马的发现。但是该专利并未提出具体的木马特征提取方法。而且误报率和准确性也还有待验证。

    申请号为CN103095714A一种基于木马病毒种类分类建模的木马检测方法,该专利公开了一种基于木马病毒种类分类建模的木马检测方法,其中心思想是通过对已知木马按特征进行分类,建立木马特征识别模式库。然后依据该库来对木马进行检测。该方法具有一定的未知木马检测能力,但是从本质上来讲还是一种基于木马特征码的检测方式,对新型木马的检测误报率比较高。同时,该检测方式并不能对木马shell行为进行检测。

发明内容

本发明针对现有技术中存在的缺点和不足提供一种木马远程shell行为检测装置及方法,适用于大规模网络环境,能够对已知和未知木马远程shell行为进行检测。

为了实现上述目的,本发明采用的技术方案是:

一种木马远程shell行为检测装置,其特征在于,包括:

数据包采集装置:用于获取网络入口实时网络流量数据的;

数据流筛选过滤装置:用于对实时网络流量数据按源IP、源端口、目的IP、目的端口、协议类型进行数据流分类,过滤掉无关协议数据流;

数据流特征提取装置:用于提取每个数据流一个应答响应过程中出入包载荷比率、出入包数目比率、数据流应答间隔;

木马shell行为特征检测装置:用于将一定时间间隔内提取到的数据流特征构造成特征向量[x,x,x3]输入到构造的神经网络模型当中,x代表数据流的一个应答响应过程中出入包载荷比率,x2代表数据流一个应答响应过程中出入包数目比  ,x代表数据流一个连续应答响应过程的时间间隔,通过神经网络模型计算得出结果,判断该数据流是否存在木马远程shell行为,并输出结果,同时将检测结果反馈到数据流筛选过滤中的步骤。

所述数据包采集装置,在大型或者高速网络的主干节点上,采用数据镜像的方式采集网络上的数据;是部署在局域网的出入口,采用数据包嗅探的方式获得网络数据包。

所述数据流筛选过滤装置通过协议过滤或白名单过滤方式实现。

所述数据流特征提取装置建立一个hash链表保存提取的数据包包头信息,hash链表以数据流五元组源IP、源端口、目的IP、目的端口、协议类型、中前四个元组hash值作为索引,链表字段包括了前述的三种特征及其他控制信息,根据协议类型不同,分别建立TCP和UDP数据包hash表。

所述木马shell行为特征检测装置中的模型学习算法为神经网络模型,神经网络模型的函数表达为:y=wx,其中w为特征性向量系数矩阵[w1  ,w2  ,w3],x为特征值矩阵[x1  ,x2  ,x3]T,theta,为检测阀值,t为检测结果;对于某个输入[x1  ,x2  ,x3],a=w1x1+w2x2+w3x3≥theta,输出结果为1,表示检测到木马shell行为;反之输出结果0,没有检测到木马shell行为。

一种木马远程shell行为检测方法,其特征在于,包括以下实施步骤:

数据包采集装置获取网络入口实时网络流量数据的步骤;

数据流筛选过滤装置对实时网络流量数据按源IP、源端口、目的IP、目的端口、协议类型进行数据流分类,过滤掉无关协议数据流的步骤;

数据流特征提取装置提取每个数据流一个应答响应过程中出入包载荷比率、出入包数目比率、数据流应答间隔的步骤;

木马shell行为特征检测装置将一定时间间隔内提取到的数据流特征构造成特征向量[x,x,x3]输入到构造的神经网络模型当中,x代表数据流的一个应答响应过程中出入包载荷比率,x2代表数据流一个应答响应过程中出入包数目比  ,x代表数据流一个连续应答响应过程的时间间隔,通过神经网络模型计算得出结果,判断该数据流是否存在木马远程shell行为,并输出结果,同时将检测结果反馈到数据流筛选过滤中的步骤。

所述数据包采集装置获取网络入口实时网络流量数据的步骤,在大型或者高速网络的主干节点上,采用数据镜像的方式采集网络上的数据;是部署在局域网的出入口,采用数据包嗅探的方式获得网络数据包。

所述数据流筛选过滤装置对实时网络流量数据按源IP、源端口、目的IP、目的端口、协议类型进行数据流分类,过滤掉无关协议数据流的步骤,通过协议过滤或白名单过滤方式实现。

所述数据流特征提取装置提取每个数据流一个应答响应过程中出入包载荷比率、出入包数目比率、数据流应答间隔的步骤,建立一个hash链表保存提取的数据包包头信息,hash链表以数据流五元组源IP、源端口、目的IP、目的端口、协议类型、中前四个元组hash值作为索引,链表字段包括了前述的三种特征及其他控制信息,根据协议类型不同,分别建立TCP和UDP数据包hash表。

所述木马shell行为特征检测装置将一定时间间隔内提取到的数据流特征构造成特征向量[x,x,x3]输入到构造的神经网络模型当中,x代表数据流的一个应答响应过程中出入包载荷比率,x2代表数据流一个应答响应过程中出入包数目比  ,x代表数据流一个连续应答响应过程的时间间隔,通过神经网络模型计算得出结果,判断该数据流是否存在木马远程shell行为,并输出结果,同时将检测结果反馈到数据流筛选过滤中的步骤,中的模型学习算法为神经网络模型,神经网络模型的函数表达为:y=wx,其中w为特征性向量系数矩阵[w1  ,w2  ,w3],x为特征值矩阵[x1  ,x2  ,x3]T,theta,为检测阀值;对于某个输入[x1  ,x2  ,x3],a=w1x1+w2x2+w3x3≥theta,t为检测结果,输出结果为1,表示检测到木马shell行为;反之输出结果0,没有检测到木马shell行为。

    与现有技术相比,本发明的优点在于:

本发明对木马的shell行为的流量特征进行了深刻分析,找到了三个典型的区别于正常网络流量的数据包会话特征不同于传统的基于特征码的木马检测方法,本发明提出的方法是基于网络流量分析,所以不需要获取到木马程序本身,也不需要庞大的木马特征库。检测装置基于神经网络模型,当对模型学习训练到一定程度之后,便可以使其智能的判断数据流是否含有木马shell行为。由于不依赖于木马特征库,同时是使用会话行为特征作为检测依据,所以具有对未知木马shell行为进行检测的能力。

本发明提出的木马shell行为检测方法是基于数据流的会话特征,仅对数据包包头信息进行检测,而不检测数据包应用层具体数据,所以检测速度快。同时,本发明提出的数据流筛选过滤装置,可以对大部分的安全网络流量进行过滤,进一步降低了检测的数据量,减小检测系统的计算压力,从而提高检测效率。

相对于使用DPI,即深层数据包检测,检测数据包的应用层载荷数据,技术进行数据包检测的方式,本发明提出的方法具有很明显的效率优势,更适合对大规模网络流量进行检测。

附图说明

图1为本发明的装置示意图;

图2为本发明的木马远程shell行为检测示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的说明。

    本发明的关键在于提取出窃密型木马远程shell行为的通信流量特征,然后以这些通信特征建立一个神经网络模型,并使用学习算法,以正常网络数据流量和木马shell行为通信流量数据集对该神经网络模型进行学习训练,调整优化网络参数。

       远程shell是大多数长期潜伏/窃密型木马的常用功能,根据木马远程shell功能的实现方式,以及黑客使用远程shell功能的习惯,我们选取了以下三个特征作为木马shell行为流量检测的依据。

1) 数据流入包载荷与出包载荷的大小比率

我们将一次会话过程中,协议类型、源IP地址、源端口号、目标IP地址、目标端口号相同的数据包归为一个网络数据流。“入包载荷大小”指的是远程主机到发送本地主机的数据包载荷数据长度,“出包载荷大小”指的是本地主机到发送到远程主机的数据包载荷数据长度。

由于常见的shell命令,大都在15个字节以内。所以,木马客户端发送的shell命令数据包的有效载荷长度一般都很小,而被控端响应的数据包由于含有命令执行的结果信息,往往载荷长度比较大。这是木马远程shell行文流量区别于普通web流量等的一大特征。

2) 数据流入包数目与出包数目的比率

有少数基于C/S结构的网络服务程序,其通信特征也存在一些和数据流入包载荷与出包载荷的大小比率所述的特点,例如FTP下载数据流量。但是,这类网络数据包还有一个明显的特点:客户端发送控制命令后,服务端会有大量的回应报文。而一般木马服务端收到shell命令后,由于其响应报文仅仅包含shell命令的执行结果,并不会有大量的响应报文。所以我们可以将一个数据流入包的目和出包的数目比率作为木马shell行为流量的一大特征。

3) 数据流的应答间隔

对于使用木马shell功能的攻击者来说,其主要目的是要获取到一定的系统信息和权限。攻击者会使用不同的shell命令来获取他想要了解的不同信息。系统shell命令执行的响应速度很快,而且执行结果的信息量一般也不大。攻击者一般可以很快的浏览完返回信息并执行下一个shell命令。所以,每个shell命令执行的时间间隔也有一定的特征。我们将连续的两个数据流之间的时间间隔(第一次数据包发送响应完毕到第二次数据包到来的间隔)作为木马数据流的应答间隔特征。

为提高检测的精确性,我们将这三个特征作为一个整体来对网络数据流进行检测区分。

本发明的检测实施步骤如下:

获取网络入口实时网络流量数据;

对实时网络流量数据按源IP、源端口、目的IP、目的端口、协议类型进行数据流分类,过滤掉无关协议数据流,如DNS协议,SMTP协议等;

提取每个数据流一个应答响应过程中出入包载荷比率、出入包数目比率、数据流应答间隔;

将一定时间间隔内提取到的数据流特征构造成特征向量[x,x,x3](x1代表数据流的一个应答响应过程中出入包载荷比率,x2代表数据流一个应答响应过程中出入包数目比  ,x3代表数据流一个连续应答响应过程的时间间隔),将特征向量输入到构造的神经网络模型当中;

通过神经网络模型计算得出结果,判断该数据流是否存在木马远程shell行为,并输出结果,同时将检测结果反馈到数据流筛选过滤中;

 本发明所提出的木马远程shell行为检测系统由下面的装置构成:数据包采集装置、数据流筛选过滤装置、数据流特征提取装置和木马shell行为特征检测装置。

    数据包采集装置的功能在于实时采集网络上的数据流量,供进一步检测使用。如果部署在大型或者高速网络的主干节点上,可以采用数据镜像的方式把网络上的数据复制到本发明所实现的检测系统中。如果是部署在局域网的出入口,可以采用数据包嗅探的方式获得网络数据包。

数据流筛选过滤装置的主要功能是将捕获到的数据流按照一定的规则进行筛选过滤,比如可以过滤掉木马很少使用的通信协议数据包,如DNS协议,SMTP协议等,以提高检测效率。

数据包的筛选过滤主要通过两种方式来实现:一是协议过滤,二是白名单过滤。

协议过滤:常见木马的通信方式主要使用了TCP和UDP协议,有些木马会使用http或者icmp协议等作为伪装协议。所以,我们可以过滤掉一些木马使用频率很低的协议数据包,比如SMTP协议、SMB协议、DHCP协议、DNS协议数据包等。实际使用过程中可以根据需要调整协议过滤策略。

白名单过滤:一般来说,木马流量在整个局域网流量中所占的比率是很小的,大部分网络流量(无论是局域网还是广域网)都是P2P流媒体或下载流量。如果总是对整个局域网的所有流量进行木马shell行为检测,效率很低而且也没有必要。在实际检测过程中,可以设置一个检测白名单,白名单的内容为不对其进行检测的数据流。

白名单的构建方式如下:对于某一个数据流,以源IP、源端口、目的IP、目的端口、协议类型标志的,如果检测过程中连续3次检测没有发现可疑木马shell行为,我们将其加入到白名单,并给这个白名单项一个生命周期T,如10分钟,在其生命周期内不对该数据流进行检测,生命周期结束后将其从白名单中移除,继续检测该流的数据。

数据流特征提取装置本装置主要有两个功能:一是将数据流筛选过滤装置过滤后的流量按照源IP、源端口、目的IP、目的端口、协议类型进行数据流分类并保存数据包包头信息。二是提取一定时间内的保存的数据包头信息中各个数据流的应答响应过程中出入包载荷比率、出入包数目比率、数据流应答间隔这三个特征值。

数据流特征提取装置建立一个hash链表保存提取的数据包包头信息,hash链表以数据流五元组源IP、源端口、目的IP、目的端口、协议类型中前四个元组hash值作为索引,链表字段包括了前述的三种特征及其他控制信息。根据协议类型不同,分别建立TCP和UDP数据包hash表。

    木马shell行为特征检测装置,主要由构造的木马shell行为检测神经网络模型构成,它以数据流特征提取装置提取的三个特征值组成的特征向量作为输入,判断该数据流是否具有木马shell行为特征,然后将检测结果输出。

Shell行为检测装置主要是由检测神经网络模型构成的。该神经网络模型的输入为由数据流的一个应答响应过程中出入包载荷比率x,数据流一个应答响应过程中出入包数目比x,数据流一个连续应答响应过程的时间间隔x3,构成的特征向量。假设该神经网络模型的函数表达为:y=wx,其中W为特征性向量系数矩阵[w1  ,w2  ,w3],x为特征值矩阵[x1  ,x2  ,x3]T。设theta为我们的检测阀值,对于某个输入[x1  ,x2  ,x3],如果a=w1x1+w2x2+w3x3≥theta,则输出结果1,表示检测到木马shell行为,反之输出结果0,没有检测到木马shell行为。

在初始时,我们使用正常网络流量和已知木马shell行为流量对该模型进行训练学习,以调整W的权重系数。构造的输入序列如下:

[x1  ,x2  ,x3,  theta,  t]

其中x1  ,x2  ,x为训练数据流量的特征值,theta为检测阀值,t为检测结果,0或1。学习序列总数1000条以上。

   当模型学习训练完毕之后,我们就可以以获取的实时网络数据流量构造的特征值向量序列作为该模型函数的输入,获取结果,判断某个数据流是含有木马shell行为。同时将检测结果反馈到数据流筛选过滤装置。

    任何在思想上没有根本的改进,只是在实现方案上做了小的改动,或是对本发明提出的模块做简单的增删都在本专利的保护范围内。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号