法律状态公告日
法律状态信息
法律状态
2018-08-28
未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20150225 终止日期:20170808 申请日:20120808
专利权的终止
2015-02-25
授权
授权
2013-01-23
实质审查的生效 IPC(主分类):H04L29/06 申请日:20120808
实质审查的生效
2012-11-28
公开
公开
技术领域
本发明涉及网络通信安全领域,尤其涉及一种基于主机流量功率谱相似 性度量的僵尸网络检测方法。
背景技术
僵尸网络(botnet)是指攻击者出于恶意目的,传播僵尸程序控制大量主 机,通过一对多的命令与控制信道(Command and Control,C&C)所组成的网 络。僵尸网络为攻击者提供了隐匿、灵活且高效的一对多命令与控制机制, 僵尸网络的控制者可以控制大量僵尸主机来实现信息窃取、分布式拒绝服务 攻击和垃圾邮件发送等攻击目的。僵尸网络正步入快速发展期,对因特网安 全造成了严重威胁。
国内外有代表性的对僵尸网络的检测策略主要有基于蜜罐密网技术的检 测、基于终端信息的检测和基于流量的检测方法。但是这些研究通常都是用 于检测IRC类型僵尸网络,对P2P类型的僵尸网络检测效果较差。
参考文献1(臧天宁等.基于通讯特征和D-S证据理论分析僵尸网络相似 度.通信学报.2011,32(4):66-76)针对不同僵尸网络之间可能存在潜在的隐藏关 系,通过提取时间域内僵尸网络内部通信的数据流数量、流中数据分组数量、 主机通信量和数据分组负载等特征,并定义了特征相识度统计函数,利用改 进的D-S证据理论建立了僵尸网络之间的相似性关系。在实际应用中该方法 提取,由于僵尸网络主机的网络带宽、延时、用户习惯等原因,使得僵尸网 络内部通信特征在时间域上并不一定呈现出严格的相似性,如果用该方法检 测僵尸网络,容易导致检测失效。
参考文献2(金鑫等.基于通信特征曲线动态时间弯曲距离的IRC僵尸网 络同源判别方法.计算机研究与发展.2012,49(3):481-490)针对IRC类型僵尸网 络IRC服务器和bot连接的动态特性,提取僵尸网络的通信量特征曲线、通信 频率特征曲线,采用改进的动态时间弯曲距离判别不同的僵尸网络是否同源。 该方法的目的是识别使用不同IRC控制服务器的同源僵尸网络,只适用于IRC 型僵尸网络,对新型的P2P僵尸网络效果较差。
发明内容
鉴于此,本发明提出一种基于主机流量功率谱相似性度量的僵尸网络检测 方法,利用主机对功率谱序列的DTW距离对主机流量功率谱的相似性进行度 量。本发明方法的基本思想是采集网络出口流量数据,对该流量数据进行预 处理后,利用自相关函数对其进行描述,自相关函数取离散傅里叶变换得到 各主机流量功率谱序列,计算主机对功率谱序列的优化动态时间弯曲距离 (Dynamic Time Warping Distance,简称DTW距离),将优化DTW距离小于阈 值的主机对放入主机对集合,最后利用时空关联算法计算主机对集合中的各主 机对所处状态的可信度,根据该值的大小判断被检测网络中是否存在僵尸网 络,实现僵尸网络的检测。
具体实现步骤如下:
步骤一、网络出口流量数据采集
基于libpcap/winpcap等工具软件在企业网的出口处采集所有的网络流量, 作为检测的原始数据,并根据不同的内网主机对采集到的网络流量进行分类, 最后将流量数据存入数据中心;
步骤二、采用黑名单和白名单技术对流量数据进行预处理
在对僵尸网络的检测过程中主要关注两大类流量,一类是僵尸网络的通 信流量,包括IRC流量、HTTP流量和P2P流量;另一类是僵尸主机的攻击 流量,包括扫描流量、DDoS攻击流量、电子邮件流量。
采用黑名单和白名单技术对流量数据预处理的具体步骤如下:
(1)将上述两大类网络流量加入黑名单;
(2)采用白名单技术将明显不是检测所关注的流量从黑名单中剔除,本 发明针对不同的网络流量设置了不同的白名单:
IRC流量:因IRC流量在现实环境中较少出现,出现就极有可能是僵尸 网络,所以没有设置白名单;
HTTP流量:将典型门户网站(Sohu,Sina,ifeng,163,QQ,中华网,土 豆网,Yahoo)、搜索引擎(google,baidu)、论坛(CSDN,mop,tianya,人人网, 开心网)、电子商务网站(淘宝,京东,各大团购网,当当网,亚马逊)等的HTTP 流量都设置成白名单;
P2P流量:利用网络流(网络流包括源IP、目的IP、源端口、目的端口 和协议号)的特征进行过滤,如果在时间间距L内,网络流流量除以P2P连接 时间的值大于设定的阈值,则将该网络流列入白名单;
扫描流量:借助其他的检测工具,如借助开源的入侵检测工具snort,检 测扫描流量是否要列为白名单;
DDoS攻击流量:现实中出现的有效DDoS攻击绝大部分采用SYN攻击 方式,所以在数据采集过程中采用黑名单技术,采集所有的SYN请求流量;
电子邮件流量:如果出现了大于1M的附件,则将该电子邮件流量列入白 名单。
(3)计算网络主机在固定时间长度内的通讯量,并对其进行归一化处理, 得到网络主机的通讯量函数,即网络主机流量函数,记为x(t),t=1,2,…,N, 其中,N为观测的时间步长;在时间间距为L时,网络主机流量的自相关函数 定义为:
Rx(L)=E[x(t)x(t+L)]
其中,E[·]表示取数学期望。
步骤三、通过离散傅里叶变换得到各主机流量功率谱序列
通过对主机流量的自相关函数取离散傅里叶变换来获得主机流量功率谱 序列,表示为:
步骤四、主机对流量功率谱的相似性度量
提取步骤三中主机流量功率谱序列的特征点,得到特征点的数目q,并记录 特征点的序号is;将长度为N的主机流量功率谱序列转换为长度为f的功率谱特 征序列,并分别计算转换前后序列的查询上界和查询下界;计算主机对功率谱 特征序列的优化DTW距离,若距离值小于设定的阈值,则将主机对加入主机对 集合ASB,以备下一步的检测。
所述的长度为N的主机流量功率谱序列是指主机流量功率谱序列包含N个 元素。
主机对流量功率谱相似性度量的具体实现步骤为:
①提取主机流量功率谱序列的特征点
定义主机流量功率谱序列的特征点为:功率谱序列的起点、终点和横坐标 间的距离大于阈值△的极值点;
特征点的序号记为is,1≤s≤q;is=a表示功率谱序列中的第a个元素是该 序列的特征点,根据特征点的定义易知i1=1,iq=N;
②将长度为N的n个主机流量功率谱序列,记为S1(N),S2(N),…,Sn(N),转换 为长度为f的功率谱特征序列并分别计算转换前 后的查询上界序列和查询下界序列;
其中,f=q-1;1≤j≤n,表示转换后第j个主机流量功率谱特征序 列,该序列的第k个元素为1≤k≤f,Sj[ik]表示转 换前第j个主机流量功率谱序列Sj(N)的第ik个元素,ik为特征点序号,1≤ik≤N;
计算功率谱序列S1(N),S2(N),…,Sn(N)的查询上界序列和查询下界序 列,分别记为U1(N),U2(N),…,Un(N)和L1(N),L2(N),…,Ln(N),
其中,表示以Sl[i]为中心,以弯曲率ρ为半径的第l个主机流 量功率谱的最大值;表示以Sl[i]为中心,以弯曲率ρ为半径的第l个 主机流量功率谱的最小值;
计算长度为f的功率谱特征序列的查询上界序 列和查询下界序列
③计算主机对功率谱特征序列的优化DTW距离
由于直接计算主机对功率谱特征序列的DTW距离,计算量很大,为了减 小计算的复杂度,本发明对主机对功率谱特征序列DTW距离的计算进行了优 化:
首先,计算主机对功率谱特征序列DTW距离的下界1≤i<j≤n:
若小于阈值η1,则递归计算主机对功率谱特征序列的 优化DTW距离
其中,min(a,b,c)表示取a,b,c三者中的最小值,
表示序列除去第一个元素后的子序列;
④若小于阈值η2,则主机对为需要重点 检测的主机对,放入集合ASB中。
步骤五、时空关联分析
首先利用空间关联分析法分析主机对处于每种状态的可信度,即通过基本 概率赋值函数bpa(·)将主机对的优化DTW距离转换为主机对所处状态的可信 度;再利用时间关联分析法对主机对中存在僵尸主机的可信度进行修正,得到 更精确的检测结果;最后判断待检测网络是否为僵尸网络。
所述的主机对所处状态包括主机对处于非工作状态、主机对中存在僵尸主 机、主机对中不存在僵尸主机和不能确定主机对中是否存在僵尸主机。
(1)空间关联分析
采用D-S证据理论实现空间关联分析。
设辨识框架表示主机所处状态的集合,其中C表示主机是僵尸 主机;表示主机不是僵尸主机;则主机对所处状态的集合,即辨识框架U的 幂集合2U为:
其中,表示主机对处于非工作状态;表示主机对所处的状态无 法判断,即主机对中可能存在僵尸主机,也可能不存在僵尸主机。
幂集合2U中各元素的基本概率赋值函数bpa(2U)定义为:
其中,
Yt表示在当前t时刻,当前主机对流量功率谱特征序列的优化DTW距离。
(2)时间关联分析
为了提高僵尸网络的检测精度,本发明通过时间关联分析,即利用主机 对流量功率谱优化DTW距离的时间相关性,对主机对中存在僵尸主机的可信 度m(C)进行修正。如果当前时刻主机对流量功率谱优化DTW距离依然小于 设定的阈值η2,增大其可能是僵尸主机的概率;反之,减小其可能是僵尸主 机的概率。
用原假设H0表示前一时刻主机对不是僵尸主机,备择假设H1表示前一时 刻主机对是僵尸主机,则当H1成立时,该主机对流量功率谱的DTW距离为当 前时刻的DTW距离的概率为Pr(Yt|H1);当H0成立时,该主机对流量功率谱的 DTW距离为当前时刻的DTW距离的概率为Pr(Yt|H0)。考虑到不同时刻,主机 流量不会完全相同,因此功率谱序列也不会完全相同,所以只要主机对的DTW 距离在某一范围内,我们就认为主机对的DTW距离与前一时刻的距离相等, 即在实际操作中,用Pr(Yt≤ε|H0)、Pr(Yt≤ε|H1)分别代替Pr(Yt|H0)、Pr(Yt|H1)。
定义:Pr(Yt≤ε|H0)=θ0、Pr(Yt≤ε|H1)=θ1,
其中,θ0和θ1都是Yt和ε的函数,定义为:
式中,k为系统参数,ε为不采用时间相关性分析时系统的阈值。
那么,当前时刻主机对为僵尸主机的可信度的修正系数,即幂集合2U的 子集{C}的基本概率值修正系数为:
修正后,该主机对在当前时刻为僵尸主机的可信度为:
m'(C)=m(C)×Ks (10)
步骤六、异常判断
根据时空关联分析法分别计算出集合ASB中的n1个主机对存在僵尸主机的 可信度,用表示,则待检测网络为僵尸网络的可信度表示为:
其中,表示正交和;
mweb定义为:
其中,表示集合ASB中的n1个主机对都有 僵尸主机存在,即待检测网络为僵尸网络;表示集合ASB中的n1个主 机对均处于工作状态,且所处状态相同;mi(Ci)表示在当前时刻第i个主机对中 存在僵尸主机的可信度,即在当前时刻第i个主机对中存在僵尸主机的概率值 为mi(Ci),由式(10)计算得到。
由式(12)得到待检测网络所处状态的可信度,判断待检测网络为僵尸网 络的可信度是否大于给定的阈值,若是则认为待检测网络中存在僵尸网络;否 则,认为待检测网络为安全网络。
有益效果
本发明方法采用黑白名单技术对流量数据进行预处理,能够避免普通流 量对检测效果的影响,不需要对正常的网络流量进行建模,是一种非监督式 的僵尸网络检测方法;
将时域内主机流量的自相关函数描述转换到频域内的功率谱描述,可以 有效应对僵尸网络通信流量在时域上的不严格相似性;
采用优化DTW距离描述主机对流量功率谱的相似性,避免了僵尸主机个 体差异给检测效果带来的影响,还可以有效减少计算量,提高检测的准确性;
时空关联法分析主机对所处状态的可信度,充分利用了僵尸网络主机流 量在时间和空间上的相关性,提高检测效果。
本发明方法较现有方法检测准确率更高,误报率更低。
附图说明
图1为IRC僵尸网络关系图;
图2为本发明方法的流程图;
具体实施方式
本发明提出一种基于主机流量功率谱相似性度量的僵尸网络检测方法,其 基本思想是对采集到的网络出口流量数据进行预处理后,利用自相关函数对 主机流量进行描述,自相关函数取离散傅里叶变换后得到各主机流量功率谱 序列,计算主机对功率谱序列的优化DTW距离,将优化DTW距离小于阈值的 主机对放入主机对集合,最后利用时空关联算法计算主机对集合中的各主机对 所处状态的可信度,根据该值的大小判断被检测网络中是否存在僵尸网络, 实现僵尸网络的检测。
下面结合附图及具体实施例对本发明方法做进一步详细说明。
一种基于主机流量功率谱相似性度量的僵尸网络检测方法,其基本实施过 程如图2所示,具体实现步骤为:
步骤一、网络出口流量数据采集
基于libpcap/winpcap等工具软件在企业网的出口处采集所有的网络流量, 作为检测的原始数据,并根据不同的内网主机对采集到的网络流量进行分类, 最后将流量数据存入数据中心;
步骤二、采用黑名单和白名单技术对流量数据进行预处理
在对僵尸网络的检测过程中主要关注两大类流量,一类是僵尸网络的通 信流量,包括IRC流量、HTTP流量和P2P流量;另一类是僵尸主机的攻击 流量,包括扫描流量、DDoS攻击流量、电子邮件流量。
采用黑名单和白名单技术对流量数据预处理的具体步骤如下:
(1)将上述两大类网络流量加入黑名单;
(2)采用白名单技术将明显不是检测所关注的流量从黑名单中剔除,本 发明针对不同的网络流量设置了不同的白名单:
IRC流量:因IRC流量在现实环境中较少出现,出现就极有可能是僵尸 网络,所以没有设置白名单;
HTTP流量:将典型门户网站(Sohu,Sina,ifeng,163,QQ,中华网,土 豆网,Yahoo)、搜索引擎(google,baidu)、论坛(CSDN,mop,tianya,人人网, 开心网)、电子商务网站(淘宝,京东,各大团购网,当当网,亚马逊)等的HTTP 流量都设置成白名单;
P2P流量:利用网络流(网络流包括源IP、目的IP、源端口、目的端口 和协议号)的特征进行过滤,如果在时间间距L内,网络流流量除以P2P连接 时间的值大于设定的阈值,则将该网络流列入白名单;
扫描流量:借助其他的检测工具,如借助开源的入侵检测工具snort,检 测扫描流量是否要列为白名单;
DDoS攻击流量:现实中出现的有效DDoS攻击绝大部分采用SYN攻击 方式,所以在数据采集过程中采用黑名单技术,采集所有的SYN请求流量;
电子邮件流量:如果出现了大于1M的附件,则将该电子邮件流量列入白 名单。
(3)计算网络主机在固定时间长度内的通讯量,并对其进行归一化处理, 得到网络主机的通讯量函数,即网络主机流量函数,记为x(t),t=1,2,…,N, 其中,N为观测的时间步长;在时间间距为L时,网络主机流量的自相关函数 定义为:
Rx(L)=E[x(t)x(t+L)]
其中,E[·]表示取数学期望。
步骤三、通过离散傅里叶变换得到各主机流量功率谱序列
通过对主机流量的自相关函数取离散傅里叶变换来获得主机流量功率谱 序列,表示为:
步骤四、主机对流量功率谱的相似性度量
提取步骤三中主机流量功率谱序列的特征点,得到特征点的数目q,并记录 特征点的序号is;将长度为N的主机流量功率谱序列转换为长度为f的功率谱特 征序列,并分别计算转换前后序列的查询上界和查询下界;计算主机对功率谱 特征序列的优化DTW距离,若距离值小于设定的阈值,则将主机对加入主机对 集合ASB,以备下一步的检测。
所述的长度为N的主机流量功率谱序列是指主机流量功率谱序列包含N个 元素。
主机对流量功率谱相似性度量的具体实现步骤为:
①提取主机流量功率谱序列的特征点
定义主机流量功率谱序列的特征点为:功率谱序列的起点、终点和横坐标 间的距离大于阈值△的极值点;
特征点的序号记为is,1≤s≤q;is=a表示功率谱序列中的第a个元素是该 序列的特征点,根据特征点的定义易知i1=1,iq=N;
②将长度为N的n个主机流量功率谱序列,记为S1(N),S2(N),…,Sn(N),转换 为长度为f的功率谱特征序列并分别计算转换前 后的查询上界序列和查询下界序列;
其中,f=q-1;1≤j≤n,表示转换后第j个主机流量功率谱特征序 列,该序列的第k个元素为1≤k≤f,Sj[ik]表示转 换前第j个主机流量功率谱序列Sj(N)的第ik个元素,ik为特征点序号,1≤ik≤N;
计算功率谱序列S1(N),S2(N),…,Sn(N)的查询上界序列和查询下界序 列,分别记为U1(N),U2(N),…,Un(N)和L1(N),L2(N),…,Ln(N),
其中,表示以Sl[i]为中心,以弯曲率ρ为半径的第l个主机流 量功率谱的最大值;表示以Sl[i]为中心,以弯曲率ρ为半径的第l个 主机流量功率谱的最小值;
计算长度为f的功率谱特征序列的查询上界序 列和查询下界序列
③计算主机对功率谱特征序列的优化DTW距离
由于直接计算主机对功率谱特征序列的DTW距离,计算量很大,为了减 小计算的复杂度,本发明对主机对功率谱特征序列DTW距离的计算进行了优 化:
首先,计算主机对功率谱特征序列DTW距离的下界1≤i<j≤n:
若小于阈值η1,则递归计算主机对功率谱特征序列的 优化DTW距离
其中,min(a,b,c)表示取a,b,c三者中的最小值,
表示序列除去第一个元素后的子序列;
④若小于阈值η2,则主机对(Si(N),Sj(N))为需要重点 检测的主机对,放入集合ASB中。
步骤五、时空关联分析
首先利用空间关联分析法分析主机对处于每种状态的可信度,即通过基本 概率赋值函数bpa(·)将主机对的优化DTW距离转换为主机对所处状态的可信 度;再利用时间关联分析法对主机对中存在僵尸主机的可信度进行修正,得到 更精确的检测结果;最后判断待检测网络是否为僵尸网络。
所述的主机对所处状态包括主机对处于非工作状态、主机对中存在僵尸主 机、主机对中不存在僵尸主机和不能确定主机对中是否存在僵尸主机。
(1)空间关联分析
采用D-S证据理论实现空间关联分析。
设辨识框架表示主机所处状态的集合,其中C表示主机是僵尸 主机;表示主机不是僵尸主机;则主机对所处状态的集合,即辨识框架U的 幂集合2U为:
其中,表示主机对处于非工作状态;表示主机对所处的状态无 法判断,即主机对中可能存在僵尸主机,也可能不存在僵尸主机。
幂集合2U中各元素的基本概率赋值函数bpa(2U)定义为:
其中,
Yt表示在当前t时刻,当前主机对流量功率谱特征序列的优化DTW距离。
(2)时间关联分析
为了提高僵尸网络的检测精度,本发明通过时间关联分析,即利用主机 对流量功率谱优化DTW距离的时间相关性,对主机对中存在僵尸主机的可信 度m(C)进行修正。如果当前时刻主机对流量功率谱优化DTW距离依然小于 设定的阈值η2,增大其可能是僵尸主机的概率;反之,减小其可能是僵尸主 机的概率。
用原假设H0表示前一时刻主机对不是僵尸主机,备择假设H1表示前一时 刻主机对是僵尸主机,则当H1成立时,该主机对流量功率谱的DTW距离为当 前时刻的DTW距离的概率为Pr(Yt|H1);当H0成立时,该主机对流量功率谱的 DTW距离为当前时刻的DTW距离的概率为Pr(Yt|H0)。考虑到不同时刻,主机 流量不会完全相同,因此功率谱序列也不会完全相同,所以只要主机对的DTW 距离在某一范围内,我们就认为主机对的DTW距离与前一时刻的距离相等, 即在实际操作中,用Pr(Yt≤ε|H0)、Pr(Yt≤ε|H1)分别代替Pr(Yt|H0)、Pr(Yt|H1)。
定义:Pr(Yt≤ε|H0)=θ0、Pr(Yt≤ε|H1)=θ1,
其中,θ0和θ1都是Yt和ε的函数,定义为:
式中,k为系统参数,ε为不采用时间相关性分析时系统的阈值。
那么,当前时刻主机对为僵尸主机的可信度的修正系数,即幂集合2U的 子集{C}的基本概率值修正系数为:
修正后,该主机对在当前时刻为僵尸主机的可信度为:
m'(C)=m(C)×Ks (10)
步骤六、异常判断
根据时空关联分析法分别计算出集合ASB中的n1个主机对存在僵尸主机的 可信度,用表示,则待检测网络为僵尸网络的可信度表示为:
其中,表示正交和;
mweb定义为:
其中,表示集合ASB中的n1个主机对都有 僵尸主机存在,即待检测网络为僵尸网络;表示集合ASB中的n1个主 机对均处于工作状态,且所处状态相同;mi(Ci)表示在当前时刻第i个主机对中 存在僵尸主机的可信度,即在当前时刻第i个主机对中存在僵尸主机的概率值 为mi(Ci),由式(10)计算得到。
由式(12)得到待检测网络所处状态的可信度,判断待检测网络为僵尸网 络的可信度是否大于给定的阈值,若是则认为待检测网络中存在僵尸网络;否 则,认为待检测网络为安全网络。
综上所述,以上仅为本发明的一种较佳实例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进 等,均应包含在本发明的保护范围之内。
机译: 使用基于实时连接图的流量特征基于机器学习的僵尸网络检测
机译: 基于网络流量分析的基于签名的僵尸网络检测系统和方法
机译: 基于Netflow会话的P2P僵尸网络检测方法