法律状态公告日
法律状态信息
法律状态
2015-06-10
未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20111221 终止日期:20140424 申请日:20080424
专利权的终止
2011-12-21
授权
授权
2008-11-05
实质审查的生效
实质审查的生效
2008-09-17
公开
公开
技术领域
本发明涉及一种检测网络滥用行为的方法,尤其涉及一种载荷无关的检测网络滥用行为的方法,属于计算机网络和数据通信技术领域。
背景技术
随着P2P应用范围越来越广,使用越来越普及,消耗着大量的网络资源,其对网络的危害日益增加,从而使得对网络滥用行为的检测工作越来越得到关注。
网络滥用行为表现出来的危害主要有两点:一是会占用很大的流量,消耗大量的网络带宽;二是建立大量的TCP/UDP连接,具有高发散度性,而且其中很多是一些仅仅传输了几个数据报文的短连接。由于在网络边界配置有网关,防火墙等设备,这些网络边界设备必须维持或者监控本地网络机器同外部机器的所有连接,是整个网络的性能瓶颈。网络滥用行为建立的大量的连接会降低这些设备的性能,严重干扰甚至中断网络的正常应用。
传统的特征码匹配方法检测网络滥用行为具有较好的检测率和实时性,然而该方法需要分析TCP流中每个数据包的有效载荷(应用层内容),提取每种应用协议的特征码进行匹配,计算量大,部署运行时占用系统资源较多。另外由于现在的很多应用协议在数据的传输上采取了加密措施,使得协议特征码的提取和验证工作也随之越来越困难。最后,提取数据的载荷信息,也在一定程度上涉及到侵犯用户隐私的法律问题。
发明内容
本发明的目的在于提供一种载荷无关的检测网络滥用行为的方法,即基于流量信息检测网络滥用行为。
基于流量信息特征检测网络滥用行为的方法只需要提取出流量日志信息里面的一些特征,这些特征能很好的刻画网络滥用行为。从而利用机器学习算法(如:决策树、神经网络等)对这些流量信息特征进行监督学习,得到一个分类器。然后就可以利用该分类器再对流量日志信息进行在线检测,从中发现网络滥用行为。
本发明提供的技术方案如下:
一种载荷无关的检测网络滥用行为的方法,其步骤为:
1)采集正常流量日志和有网络滥用行为的流量日志组成流量日志信息训练集;
2)从流量日志信息训练集中提取出对网络滥用行为检测有用的特征向量组成特征向量集,提取的特征如下:
基准特征:
a)某个时间区间内与目标主机通信的IP总数;
b)某个时间区间内与目标主机相关的TCP/UDP连接的总数量;
c)某个时间区间内目标主机发送和接收的总流量;
辅助候选特征:
d)某个时间区间内与目标主机相关的TCP/UDP短连接的总数量;
e)某个时间区间内目标主机发送的流量;
f)某个时间区间内目标主机接收的流量;
g)某个时间区间内目标主机发送流量与接收流量比率,即e)与f)的比值;
h)某个时间区间内目标主机发送的TCP/UDP总流量;
i)某个时间区间内目标主机接收的TCP/UDP总流量;
j)某个时间区间内目标主机发送的数据包总数量;
k)某个时间区间内目标主机发送的TCP/UDP数据包总数量;
1)某个时间区间内目标主机接收的数据包总数量;
m)某个时间区间内目标主机接收的TCP/UDP数据包总数量;
n)某个时间区间内目标主机发送和接收的数据包总数量;
o)某个时间区间内目标主机发送和接收的TCP/UDP数据包总数量;
p)某个时间区间内目标主机发送数据包的频率;
q)某个时间区间内目标主机接收数据包的频率;
r)某个时间区间内目标主机发送数据包的平均大小,即e)与j)的商;
s)某个时间区间内目标主机接收数据包的平均大小,即f)与l)的商;
t)某个时间区间内目标主机收发数据包的平均大小,即c)与j)+l)的商;
u)某个时间区间内与目标主机相关、且与HTTP/FTP服务端口(80/20/21)相关的连接总数;
v)某个时间区间内与HTTP/FTP服务端口(80/20/21)相关的、目标主机的发送总流量;
w)某个时间区间内与HTTP/FTP服务端口(80/20/21)相关的、目标主机的接收总流量;
本步骤提取出的基准特征是检测必须的特征,根据实际网络情况和需要,还可以选择部分或者全部辅助候选特征来提供检测准确率。另外也不局限于这里所列出的特征,可以根据检测需要进行增减基准特征或者辅助候选特征来提供分类的准确性。
3)通过步骤2)可以得到有标定类别的流量日志特征向量训练集,然后利用机器学习算法(如:决策树、神经网络等)对其进行学习,得到滥用行为检测分类器。
4)为了保证步骤3)得到的分类器的有效性,可以利用另一组(即不同于训练集合的)已知标定类别的流量日志对步骤3)得到的分类器进行测试,并根据测试结果重复第1)~4)步,直至得到分类器的检测误差控制在较小的范围之内。
5)布置网络滥用行为检测分类器,对流量日志进行在线检测,检测网络滥用行为。相对传统的特征码匹配的方法,本发明具有如下的优势:
1.计算量小,占用的计算资源少,比如无需在网关等网络设备上监听数据报文;
2.基于主机的行为特征进行分类,不需要提取应用协议数据报文的载荷信息,因此不受数据加密的影响以及面临侵犯隐私的法律问题。
3.通过网络滥用的本质行为特征进行分类,可以及时和准确地发现网络滥用行为,不依赖具体的应用协议,无需了解协议实现细节和变化以及提取特征码;
附图说明
图1为本发明方法的流程图;
图2为网络滥用检测分类器的逻辑示意图。
具体实施方式
以下参照附图对本发明的基于流量信息检测网络滥用行为的方法进行详细说明,但本发明不局限于下面的实施方式。
本发明方法的流程如图1所示,其工作过程如下:
(1)流量日志采集。采用防火墙等网关设施采集网络的流量日志信息。该步骤包括两方面的工作,一是采集正常流量日志,二是采集各种网络滥用行为类型主机的流量日志。
在采集的过程中对每种类型都标注好类型标签,然后将采集正常流量日志和有网络滥用行为的流量日志组成流量日志信息训练集。
流量日志样例:
2007-10-1900:00:04 Local7.Debug 172.31.4.44 id=firewall time=″2007-10-19
00:01:17″fw=FSG1000-test type=session_flux pri=6 duration=30 proto=17
src=172.31.5.80 dst=221.5.250.169 src_port=2393 dst_port=8000 rcvd=53 sent=47
rcvd_pkt=1 sent_pkt=1 rule=1 action=ACCEPT
流量日志相关字段介绍:
time: “YYYY-MM-DD HH:MM:SS”
proto: 协议
src: 源地址
dst: 目的地址
src_port: 源端口
dst_port: 目的端口
rcvd: 接收流量
sent: 发送流量
rcvd_pkt: 接收数据包个数
sent_pkt: 发送数据包个数
(2)特征提:取/特征选取
本次实施方式以子网内的每一台主机为单位,统计的时间长度是5分钟,选取以下特征进行特征提取:
a)5分钟内与目标主机通信的IP总数;
b)5分钟内与目标主机相关的TCP/UDP连接的总数量;
c)5分钟内目标主机发送和接收的总流量;
d)5分钟内目标主机发送的流量;
e)5分钟内目标主机接收的流量;
f)5分钟内目标主机相关的TCP/UDP短连接的总数量;
g)5分钟内目标主机发送数据包的平均大小;
h)5分钟内目标主机接收数据包的平均大小;
i)5分钟内目标主机发送数据包的频率;
j)5分钟内目标主机接收数据包的频率;
k)5分钟内与目标主机相关的TCP连接总数;
l)5分钟内与目标主机相关的UDP连接总数;
m)5分钟内目标主机TCP发送流量;
n)5分钟内目标主机TCP接收流量;
o)5分钟内目标主机UDP发送流量;
p)5分钟内目标主机UDP接收流量;
q)5分钟内目标主机HTTP端口发送流量;
r)5分钟内目标主机HTTP端口接收流量;
s)5分钟内目标主机发送、接收流量比值;
t)5分钟内目标主机FTP端口发送流量;
u)5分钟内目标主机FTP端口接收流量;
针对每台主机,根据5分钟内的流量信息(根据实际情况需要,可以改变统计窗口的时间长度)计算出以上特征值,将会得到一个特征向量<a,b,c,d,e,d,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u>,其中a、b、c……分别对应特征a)、特征b)、特征c)……的统计值。
如某一台运行着pplive软件(在线电视软件,一种网络滥用类型)的主机,对某5分钟时间窗口计算以上特征,得到相应的特征向量实例为<73,158,23445851,17563554.0,5882297.0,66,931,380,0,0,147,11,17559788.0,5881454.0,3766.0,843.0,0,0,,2.98583257527,0,0>。
每隔5分钟针对统计窗口进行一次滑动(根据实际情况需要,可以改变统计窗口的滑动长度)。对流量日志中的所有主机IP进行持续的统计可以得到一个特征向量列表。
(3)机器学习过程
采集正常网络流量日志,对流量日志经过“特征提取/特征选取”的处理,得到一个特征向量列表A,对A标定类别为正常;为某种需要检测的网络滥用类型单独采集主机流量日志,对其进行“特征提取/特征选取”的处理,得到一个特征向量列表,并对将给特征向量列表标定类别为对应的类型,比如为网络滥用类型C采集流量日志,得到特征向量列表CList,然后把CList标定为C。同样的,可以为其他需要检测的网络滥用类型得到一个对应的特征向量列表。这样可以得到一系列的特征向量列表,将所有的这些特征向量列表进行合并得到一个大的特征向量列表,就可以组成带有类别标定的特征向量集合组成的训练集。这就是机器学习所需的训练集X。任意采用一种有监督的机器学习算法(如:决策树、神经网络等)就可以从训练集X中学习得到一个分类器。
本发明采用通用的C4.5决策树算法(参考文献:J.Ross Quinlan.C4.5:Programs forMachine Learning.Morgan Kaufman,1993.)对训练集X进行训练,得到网络滥用行为检测分类器X_tree。
使用过程(2)中描述的特征向量<a,b,c,d,e,d,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u>,得到的网络滥用行为检测分类器X_tree的逻辑示意图,如图2所示。分类器以决策树的形式表现出来,树的首节点(称为根节点)显示在最上端,节点向下有序地与其他节点相连,直至到达没有后续的终端节点(称为叶节点)。决策树分类过程:第一步要从根节点开始,首先对模式的某一属性的取值进行判断,与根节点相连的不同节点对应不同的属性取值。继续这一判断过程直到叶节点。每一个叶节点都标有一个相应的类别标记,测试样本就被标记为它所到达的叶节点的类别标记。其中图2中的A、B、C、D、E、F、G表示决策树建立时采用的一些属性,a1、b1、c1、d1、e1、f1、g1为相应属性上的取值,表示实际中的判断标准。这些取值是通过机器学习的方法学习到的。
(4)采集网络中另一组流量日志,得到已知标定类别的特征向量列表,并输入步骤3)得到的分类器进行测试。若测试结果没有达到设定的准确率(如设定准确率为90%),则将这些特征向量列表加入步骤3)的训练集中,重新生成分类器。反复进行这一步骤,直至得到分类器的准确率控制在设定的准确率范围之内。
(5)布置分类器进行网络滥用行为的在线检测。
本实施例中,将网络滥用行为检测分类器X_tree部署到在局域网网关处,利用接收到的网络流量日志信息进行网络滥用行为检测。检测步骤包括:
1)定时接收网络的流量信息,针对局域网内各主机进行特征向量提取。
对局域网内各主机计算特征向量<a,b,c,d,e,d,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u>,得到特征向量列表H。
2)利用网络滥用行为检测分类器判断局域网内各主机的网络滥用行为。
如上所述,本发明可以通过网络滥用行为检测分类器判断局域网内的各主机是否存在网络滥用行为。网络滥用行为检测分类器可以部署在内部网络的子网范围内,根据实际部署网络的大小和实际流量,计算特征向量时的统计窗口大小可以进行相应调整;根据实际网络滥用行为种类的扩充,使用的候选特征也可以进行相应的增减。另外,用于机器学习的算法也并不局限于C4.5决策树算法。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
机译: 一种用于测量铁磁金属元件中的载荷的方法,一种用于测量平面传感器中的载荷分布的方法以及一种用于测量载荷分布的测量装置
机译: 一种使用与网络设备无关的绝对时间值生成时间感知网络的系统和方法
机译: 作为医疗记录和药物管理的一部分,检测欺诈或滥用行为的系统和方法