一种木马通信通道检测方法及系统技术方案

技术编号:13385439 阅读:101 留言:0更新日期:2016-07-21 23:30
本发明专利技术公开了一种木马通信通道检测方法及系统,包括:获取待检测数据流,设置检测分值为0。检查待检测数据流中是否存在可疑加密行为,若存在则增加检测分值;并检查是否存在可疑心跳行为,若存在则增加检测分值,并将存在可疑心跳行为的数据包从待检测数据流中删除,记为清洗后的待检测数据流。检查清洗后待检测数据中是否存在异常数据传输模式,若存在则增加检测分值;并检测是否存在异常上下行流量比,若存在则增加检测分值。根据检测分值的最终结果,判断网络连接是否为可疑木马通信通道。通过本发明专利技术的方案,能够从心跳行为、异常数据传输驱动模式、可疑加密行为、异常上下行流量比等特征上检测未知木马,降低漏报、误报等情况的发生。

【技术实现步骤摘要】
一种木马通信通道检测方法及系统
本专利技术涉及信息安全领域,具体涉及一种木马通信通道检测方法及系统。
技术介绍
当前,APT(AdvancedPersistentThreat:高级持续性威胁)已成为各级各类网络所面临的主要安全威胁。它使网络威胁从散兵游勇式的随机攻击变成有目的、有组织、有预谋的群体式攻击,使传统的以实时检测、实时阻断为主体的防御方式难以再发挥作用。从APT流程中可以看到,木马仍然是攻击者渗透进入目标网络后,实施远程控制的主要手段。因此检测木马通信通道成为了APT检测防御的重要环节。当前主流木马通信通道的检测方法是:首先运行木马样本,提取木马通信时的网络连接特征;然后对捕获的网络流量进行特征匹配,识别其中的木马通信行为。这种方案的优势是误报率低,缺点是无法识别未知、加密、变形的木马程序的通信行为。经对现有技术的文献检索发现,中国专利申请号201110157821.2,专利名称“基于心跳行为分析的快速木马检测方法”,提出了一种基于木马心跳信号检测未知木马的方法;中国专利申请号201110430821.5,专利名称“一种木马检测的方法及装置”,提出了一种基于木马心跳信号和木马控制命令报文检测未知木马的方法;中国专利申请号201310478492.0,专利名称“基于网络数据流簇聚类的木马通信特征快速提取方法”,提出了一种先通过数据流簇聚类算法将数据包进行聚类,从而将木马通信过程分为连接保持无操作阶段和操作阶段,在通过心跳信号检测、通信时长、数据包大小分布、上传下载流量比等特征进行木马检测。这些检测方法能够从一定程度上解决未知木马检测的问题,但却存在如下不足:(1)一个典型的木马通信通道,是心跳行为与数据传输行为混合传输的通道,而这两种行为具有较大的差别。例如心跳行为一般为被控端主动发给控制端,控制端再回应被控端,且周期较为平稳,上下行流量差距不大;而数据传输行为一般为控制端先发送命令到被控端,被控端再回应控制端,且无明显的周期性,上下行流量差距较大。如果不将二者进行区分,直接从捕获的数据包中进行可疑行为检测,将会导致检测结果较大的误差。(2)为了躲避检测设备通过特征匹配的方法检测木马通信,许多木马采用了加密通信的方法绕过检测,这将会影响基于木马命令控制报文的检测方法;同时一条本不应该加密的网络连接出现了异常加密行为,本身就应当作为木马通信通道的重要特征。因此如果检测算法中不考虑通道是否存在加密,会导致较大的漏报。
技术实现思路
为了解决上述问题,本专利技术提出了一种木马通信通道检测方法及系统,能够从心跳行为、异常数据传输驱动模式、可疑加密行为、异常上下行流量比等特征上检测未知木马,降低漏报、误报等情况的发生。为了达到上述目的,本专利技术提出了一种木马通信通道检测方法,该方法包括:以串行或并行接入的方式获取一个网络连接从开始到结束的全部数据包,记为待检测数据流,设置检测分值为0。检查待检测数据流中是否存在可疑加密行为,如果存在则增加检测分值。检查待检测数据流中是否存在可疑心跳行为,如果存在则增加检测分值,并将存在可疑心跳行为的数据包从待检测数据流中删除,将待检测数据流记为清洗后的待检测数据流。检查清洗后待检测数据中是否存在异常数据传输模式,如果存在则增加检测分值。检测清洗后的待检测数据流中是否存在异常上下行流量比,如果存在则增加检测分值。根据检测分值的最终结果,判断网络连接是否为可疑木马通信通道。优选地,检测待检测数据流中是否存在可疑加密行为,如果存在则增加检测分值具体包括以下步骤:取待检测数据流中的前N个数据包,其中,N为设定的正整数;如果待检测数据流中的总数据包数小于N,则取待检测数据流中的全部数据。对于每个数据包,去除数据包的包头部分,取数据包的传输层的有效载荷部分。将有效载荷部分视为由单个字节的字符组成的字符串,统计前N个数据包中每个字符出现的次数,如果待检测数据流中的总数据包数小于N,则统计待检测数据流中的全部数据包中每个字符出现的次数。根据每个字符出现的次数,通过下式计算待检测数据流的信息熵:其中,S为所有字符的总数,cn为字符n出现的次数。如果待检测数据流的信息熵超过了设定的阈值Te,则判定待检测数据流中存在可疑加密行为,并根据偏离Te的程度增加检测分值的取值。优选地,可疑心跳行为包括以下特征:数据包从被控端发往控制端;数据包的大小固定,且不超过设定值Ns;数据包发送时间间隔稳定。优选地,检测待检测数据流中是否存在可疑心跳行为,如果存在则增加检测分值具体包括以下步骤:生成一个包含Ns个元素的结构数组,遍历从被控端发送到控制端的数据包,Ns为大于1的正整数;对于小于Ns的数据包,根据数据包大小,分别在预定义的结构中记录相同大小数据包的发送时间、前后两个数据包的发送间隔。遍历整个结构数组,计算每个相同大小数据包发送时间间隔序列的均值μ和标准差σ。通过下述等式计算所述每个相同大小数据包发送时间间隔序列的平稳度:通过平稳度P查找最为平稳的时间间隔序列,如果平稳度P超过了设定的阈值Ti,且心跳次数超过了设定的阈值Thb,则产生检测到可疑心跳信号报警,同时根据平稳度P的结果增加检测分值的取值。删除会话数据包中从客户端发往服务器端的疑似心跳数据包,以及从服务器端发往客户端的疑似心跳应答数据包。优选地,检测待检测数据流中是否存在异常数据传输模式,如果存在则增加检测分值具体包括以下步骤:根据待检测的数据流,生成两个时间序列:客户端到服务器端数据传输时间序列和服务器端到客户端数据传输时间序列。找到两个时间序列中的活跃点,生成两个活跃时间点序列:客户端到服务器端活跃时间点序列和服务器端到客户端活跃时间点序列。查找服务器端到客户端的活跃时间点中,有多少个活跃时间点得到了客户端的响应。计算服务器端到客户端活跃时间点的响应率,计算客户端到服务器端活跃时间点的激活率;如果二者的比例均超过设定的阈值Tr,且服务器端和客户端的命令-响应交互次数超过了设定的阈值Tmn,则产生检测到异常数据传输模式的报警,同时根据检测结果增加检测分值的取值。优选地,活跃时间点是指:如果当前数据包的时间点与其前一个数据包的时间点之间的间隔大于设定的阈值Tat,则当前时间点为活跃时间点;否则将当前的数据包作为上一次数据传输行为的后续,不当作新产生的活跃时间点。优选地,判断有多少个活跃时间点得到了客户端的响应的方法为:如果服务器端到客户端中存在一个活跃时间点,在该活跃时间点之后、在最大延迟时间Tmp结束之前,在客户端到服务器端中也存在一个活跃时间点,则判定活跃时间点得到了响应。优选地,响应率和所述激活率越高,则木马命令控制通道的概率越大。其中,响应率是指:从服务器端到客户端的活跃数据传输中,得到了客户端及时响应的概率;响应率高,则服务器端的命令被客户端执行并回传了数据的概率高。激活率是指:从客户端到服务器端的活跃数据传输中,数据传输行为是由于被服务器端激活才发生的概率;激活率高,则客户端除了被动接受服务器端的命令外,都处于静默状态。优选地,检测待检测数据流中是否存在异常上下行流量比,如果存在则增加检测分值具体包括以下步骤:根据清洗后的待检测数据流,分别计算客户端到服务器端的数据包数量之和SumC2S和服务器端到客户端的数据包数量之和SumS2本文档来自技高网
...

【技术保护点】
一种木马通信通道检测方法,其特征在于,所述方法包括:以串行或并行接入的方式获取一个网络连接从开始到结束的全部数据包,记为待检测数据流,设置检测分值为0;检查所述待检测数据流中是否存在可疑加密行为,如果存在则增加所述检测分值;检查所述待检测数据流中是否存在可疑心跳行为,如果存在则增加所述检测分值,并将存在可疑心跳行为的数据包从所述待检测数据流中删除,将所述待检测数据流记为清洗后的待检测数据流;检查所述清洗后待检测数据中是否存在异常数据传输模式,如果存在则增加所述检测分值;检测所述清洗后的待检测数据流中是否存在异常上下行流量比,如果存在则增加所述检测分值;根据所述检测分值的最终结果,判断所述网络连接是否为可疑木马通信通道。

【技术特征摘要】
1.一种木马通信通道检测方法,其特征在于,所述方法包括:以串行或并行接入的方式获取一个网络连接从开始到结束的全部数据包,记为待检测数据流,设置检测分值为0;检查所述待检测数据流中是否存在可疑加密行为,如果存在则增加所述检测分值;检查所述待检测数据流中是否存在可疑心跳行为,如果存在则增加所述检测分值,并将存在可疑心跳行为的数据包从所述待检测数据流中删除,将所述待检测数据流记为清洗后的待检测数据流;检查所述清洗后待检测数据流中是否存在异常数据传输模式,如果存在则增加所述检测分值;检测所述清洗后的待检测数据流中是否存在异常上下行流量比,如果存在则增加所述检测分值;根据所述检测分值的最终结果,判断所述网络连接是否为可疑木马通信通道;其中,所述检测清洗后的待检测数据流中是否存在异常数据传输模式,如果存在则增加所述检测分值具体包括以下步骤:根据所述清洗后的待检测数据流,生成两个时间序列:客户端到服务器端数据传输时间序列和服务器端到客户端数据传输时间序列;找到两个时间序列中的活跃点,生成两个活跃时间点序列:客户端到服务器端活跃时间点序列和服务器端到客户端活跃时间点序列;查找服务器端到客户端的活跃时间点中,有多少个所述活跃时间点得到了客户端的响应;计算服务器端到客户端活跃时间点的响应率,计算客户端到服务器端活跃时间点的激活率;如果二者的比例均超过设定的阈值Tr,且服务器端和客户端的命令-响应交互次数超过了设定的阈值Tmn,则产生检测到所述异常数据传输模式的报警,同时根据检测结果增加所述检测分值的取值,所述响应率是指:从服务器端到客户端的活跃数据传输中,得到了客户端及时响应的概率;所述激活率是指:从客户端到服务器端的活跃数据传输中,数据传输行为是由于被服务器端激活才发生的概率。2.如权利要求1所述的方法,其特征在于,所述检测所述待检测数据流中是否存在可疑加密行为,如果存在则增加所述检测分值具体包括以下步骤:取所述待检测数据流中的前N个数据包,其中,N为设定的正整数;如果所述待检测数据流中的总数据包数小于N,则取所述待检测数据流中的全部数据;对于每个数据包,去除所述数据包的包头部分,取所述数据包的传输层的有效载荷部分;将所述有效载荷部分视为由单个字节的字符组成的字符串,统计前N个数据包中每个字符出现的次数,如果所述待检测数据流中的总数据包数小于N,则统计所述待检测数据流中的全部数据包中每个字符出现的次数;根据所述每个字符出现的次数,通过下式计算所述待检测数据流的信息熵:其中,S为所有字符的总数,cn为字符n出现的次数;如果所述待检测数据流的信息熵超过了设定的阈值Te,则判定所述待检测数据流中存在可疑加密行为,并根据偏离Te的程度增加检测分值的取值。3.如权利要求1所述的方法,其特征在于,所述可疑心跳行为包括以下特征:数据包从被控端发往控制端;数据包的大小固定,且不超过设定值Ns;数据包发送时间间隔稳定。4.如权利要求3所述的方法,其特征在于,所述检测待检测数据流中是否存在可疑心跳行为,如果存在则增加所述检测分值具体包括以下步骤:生成一个包含Ns个元素的结构数组,遍历从被控端发送到控制端的数据包,Ns为大于1的正整数;对于小于Ns的数据包,根据数据包大小,分别在预定义的结构中记录相同大小数据包的发送时间、前后两个数据包的发送间隔;遍历整个结构数组,计算每个相同大小数据包发送时间间隔序列的均值μ和标准差σ;通过下述等式计算所述每个相同大小数据包发送时间间隔序列的平稳度:通过所述平稳度P查找最为平稳的时间间隔序列,如果所述平稳度P超过了设定的阈值Ti,且心跳次数超过了设定的阈值Thb,则产生检测到可疑心跳信号报警,同时根据平稳度P的结果增加所述检测分值的取值;删除会话数据包中从客户端发往服务器端的疑似心跳数据包,以及从服务器端发往客户端的疑似心跳应答数据包。5.如权利要求1所述的方法,其特征在于,所述活跃时间点是指:如果当前数据包的时间点与其前一个数据包的时间点之间的间隔大于设定的阈值Tat,则当前时间点为所述活跃时间点;否则将当前的数据包作为上一次数据传输行为的后续,不当作新产生的活跃时间点。6.如权利要...

【专利技术属性】
技术研发人员:周涛彭涛李高超
申请(专利权)人:北京网御星云信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1