CN101895420B - 快速网络流量异常检测方法 - Google Patents

快速网络流量异常检测方法 Download PDF

Info

Publication number
CN101895420B
CN101895420B CN2010102244040A CN201010224404A CN101895420B CN 101895420 B CN101895420 B CN 101895420B CN 2010102244040 A CN2010102244040 A CN 2010102244040A CN 201010224404 A CN201010224404 A CN 201010224404A CN 101895420 B CN101895420 B CN 101895420B
Authority
CN
China
Prior art keywords
value
packet
time
network
interface card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010102244040A
Other languages
English (en)
Other versions
CN101895420A (zh
Inventor
李慧贤
王晓芬
庞辽军
裴庆祺
赵军
赵晓辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Xidian University
Original Assignee
Northwestern Polytechnical University
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University, Xidian University filed Critical Northwestern Polytechnical University
Priority to CN2010102244040A priority Critical patent/CN101895420B/zh
Publication of CN101895420A publication Critical patent/CN101895420A/zh
Application granted granted Critical
Publication of CN101895420B publication Critical patent/CN101895420B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种快速网络流量异常检测方法,其目的是解决现有的网络流量异常检测方法检测速度慢的技术问题。技术方案利用描述网络流量分形特点的Hurst指数来判断异常的发生,通过采样最新的流量数据,并利用这些数据迭代求解Hurst指数,通过Hurst指数的变化,建立异常判断阈值,直接进行流量异常检测,实时检测网络流量异常,提高了网络流量异常检测的速度。

Description

快速网络流量异常检测方法
技术领域
本发明涉及一种网络流量异常检测方法,特别是快速网络流量异常检测方法。
背景技术
随着因特网的发展,网络环境日趋复杂,各种突发的快速的异常和攻击常常令异常检测系统猝不及防,异常检测的快速性和实时性愈来愈凸显其重要性。但是,现有的异常检测方法将侧重点放在检测的准确性上,跟不上因特网发展的需要。
文献“Network-Based Anomaly Detection Using an Elman Network,InternationalConference on Computer Communication and Mobile Computing(ICCNMC2005),2005,pp.471-480”公开了一种利用简单递归神经网络生成模型来检测网络流量异常的方法,该方法将有效载荷的聚合信息应用于模型的生成。这样做不仅可以检测出数据包内部异常,并且可以检测数据包间序列异常,提高了异常检测的准确性。但该方法仍存在一些缺陷:首先:方案仍然基于特征库生成,必须事先建立特征库并进行训练和学习,且这种特征库本身是主观建立的,无法反映网络自身特性,故仍很难保证检测的精确性。其次;方案并未考虑检测速度方面的问题,然而对于当今大量出现的各种突发的快速的异常和攻击,检测速度无疑是一个重要技术指标。最后,特征库匹配本身存在滞后性,训练和学习均发生在异常出现之后,所以检测实时性的保证存在一定困难。
发明内容
为了克服现有的网络流量异常检测方法检测速度慢的不足,本发明提供一种快速网络流量异常检测方法。该方法利用描述网络流量分形特点的Hurst指数来判断异常的发生,通过采样最新的流量数据,并利用这些数据迭代求解Hurst指数,通过Hurst指数的变化,建立异常判断阈值,直接进行流量异常检测,可以实时检测网络流量异常,提高网络流量异常检测的速度。
本发明解决其技术问题所采用的技术方案:一种快速网络流量异常检测方法,其特点是包括下述步骤:
(a)通过调用库函数pcap_findalldevs()获取系统所有网络设备的信息,从中获得本机网卡名称,选择本机网卡的名称,并通过库函数pcap_open_live()打开本机网卡,将本机网卡模式设置为混杂模式,以接收所有流过本机网卡的数据,将接收到的数据包存储在事先建立的文件中;
(b)从所接收到的数据包中提取数据包的到达时间和长度信息,将每个数据包中提取的数据包的到达信息和长度信息以链表的形式存储,通过遍历链表,按照数据包到达时间先后顺序进行序列划分,一个时间间隔STEP作为一个时隙,即循环遍历链表,每次取出一个节点,将节点中的数据包到达时间取出并与数据包初始到达时间求差值,再将该差值与设定的时间间隔STEP相除,求出数据包属于的时间间隔,该时间间隔的数据包总数增一,得到一组随机序列X={Xj:j=1,2,…};
Xj是随机分量,表示一个时隙内收到的数据包总数;
(c)将随机序列X={Xj:j=1,2,…}值作为网络流量分析和异常判断的原始数据,对随机序列值求解均值、方差以及自相关函数值,将得到的自相关函数值用于求解Hurst指数的值,即H值;
广义平稳自相似过程满足的自相关函数式如下:
ρk=H(2H-1)k2H-2,k→∞                              (1)
式中,ρk是样本自相关函数,k是采样间隔;
对上式进行变换得到Hurst指数的迭代求解公式如下:
H i + 1 = ( ρ k k 2 - 2 H i + H i ) × 0.5 , - - - ( 2 )
Hi+1是第i+1次迭代所得的Hurst指数值,Hi是第i次迭代所得的Hurst指数值;取k为1,按照迭代公式:
H i + 1 = ( ρ 1 + H i ) × 0.5 , - - - ( 3 )
计算H值;每次迭代求解完后,与上次迭代求解结果进行比较,若两次迭代求解值相差足够小,差值小于0.0005,则认为该次迭代完成,从而得到一个H值;若在此H值区间内不具备收敛性,则判定异常已经发生,并做中断处理;
(d)利用步骤(c)得到的H值判断异常是否发生;先判断H值是否为1,若为1,则立即中断进行网络检查,若不为1,则继续判断H值是否大于0.7,若为0.7,则认为网络安全,不必进行监测,并继续求解H值,若不为0.7,则继续判断H值是否在0.5以上,若在0.5以上,则使网络处于监测状态,并继续求解H值,若不在0.5以上,则判定网络流量自相似性破坏,发出异常警报。
本发明的有益效果是:由于利用描述网络流量分形特点的Hurst指数来判断异常的发生,通过采样最新的流量数据,并利用这些数据迭代求解Hurst指数,通过Hurst指数的变化,建立异常判断阈值,直接进行流量异常检测,实时检测网络流量异常,提高了网络流量异常检测的速度。
下面结合附图和实施例对本发明作详细说明。
附图说明
图1是本发明快速网络流量异常检测方法流程图。
图2是本发明方法中求解Hurst指数的流程图。
图3是本发明方法中流量异常检测的流程图。
具体实施方式
下面,通过一个快速求解Hurst指数来检测流量异常的过程说明本发明。
1)采集网络流量数据。
首先获取网络数据包,使用Winpcap(windows packet capture)库来实现,它是针对windows平台上的抓包和网络分析的一个架构,用于捕获网络数据包并进行分析。利用它捕获原始数据包,收集并统计网络流量信息。大致分为三步:一:获取网卡列表;二:打开设备列表,设置网卡模式为混杂模式;三:建立存储数据包的文件并对捕获的数据包进行保存。
网络流量数据获取步骤包括:首先,通过调用库函数pcap_findalldevs()获取系统所有网络设备的信息,并从中获得本机网卡名称;然后,选择本机网卡的名称,并通过库函数pcap_open_live()打开该网卡,将网卡模式设置为混杂模式,使得该网卡可以接收所有流过网卡的数据;最后,将接收到的数据包存储在事先建立的文件中以待进一步处理和分析。
所涉及的主要算法如下:
Capture(CardName)
{
//获得网卡列表
pcap_findalldevs();
//打开网卡,并且设置为混杂模式
pcap_open_live();
//建立存储捕获网络数据包的文件,命名为Packet.dat
pcap_dump_open(″Packet.dat″);
//从网卡或者文件中读取数据包
while((re=pcap_next_ex()>=0)
     {
     //将捕获的数据包存入文件
   pcap_dump();
   }
}
CardName是用户选择的用来捕获数据的网卡的名字,启动一段时间以后,可以看到数据包已经被成功的截获下来,并存储到程序目录下的Packet.dat文件中。
接下来对所获取的数据包进行处理,根据方案要求,从捕获的数据包中提取包到达信息和长度信息,然后将这些信息以链表的形式存储,以便接下来对这些数据的处理。在对数据包长度信息和到达信息提取完成后,为了求解Hurst指数,还必须将这些信息按照到达时间先后顺序进行序列划分,即将所得网络流量数据按时间等间隔(STEP)划分,一个时间间隔作为一个时隙,将该时隙内所收到的所有数据包的总量作为该时隙的抽样值,从而得到一组自相似序列。具体做法为:使用循环遍历整个链表,每次取出一个节点,将节点中的数据包到达时间取出并与数据包初始到达时间求差值,再将该差值与设定的时间间隔STEP相除,这样就求出了该数据包属于哪个时间间隔,相应的该时间间隔的数据包数增一,这样循环后对所得所有数据包进行时间序列划分。
从捕获的数据包中提取的到达时间和数据包长度的信息,采用结构体型存储,具体定义如下:
struct DATA{
            unsigned int Data_Long;
            time_t Arrive_time;
            };
划分时间序列的实现算法如下:
void Sequence(CPtrList list,int*counter)
{
   POSITION pos=list.GetHeadPosition();//取链表首位置
   while(pos)//遍历链表
   {
       DATA*pNode;
       pNode=(DATA*)list.GetNext(pos);//取出链表中的一个节点
       time_t time=pNode->Arrive_time;//取出时间
        double temp=difftime(time,BeginTime);
       int c=temp/STEP;
    counter[c]++;;
  }
}
其中,STEP为设定的时间间隔,diffiime()为求解时间间隔的库函数。
经过处理后,得到一组随机序列X={Xj:j=1,2,…},其中,每一个随机分量Xj代表第j个时隙内收到的数据包总数。在正常网络状况下,这些序列符合自相似特性,即具有统计意义上的尺度不变性。
2)迭代求解Hurst指数。
本方案的目的在于设计一种快速地检测网络流量异常的方案,将迭代求解Hurst指数的算法实现并应用到快速网络流量异常检测中,该方法极大地提高了估计Hurst值的速度,从而提高了检测网络流量异常的速度。通过在线方式将前一次估计值作为下次估值的初始值,这样做进一步提高了估算速度和异常检测速度。具体作法如下:
将第1)步得到的随机序列X={Xj:j=1,2,…}作为网络流量分析和异常判断的原始数据,通过对这些随机序列值求解均值、方差以及自相关函数值,然后将得到的自相关函数值用于求解Hurst指数的值,即H值。利用如下公式:
H i + 1 = ( ρ 1 + H i ) × 0.5 , - - - ( 3 )
将计算得到的自相关函数值ρ1代入上式,设置迭代初值(一般为0.5),然后迭代计算H值。每次求解完后,与上次求解结果进行比较,若两次求解值相差足够小(一般取差值小于0.0005),则认为该次迭代完成,从而得到一个H值。一般迭代次数不会超过6次,若超过6次,则认为(3)式在此H值区间内已不具备收敛性,从而判定异常已经发生,并做中断处理。为了提高计算的精度,进一步设置循环,即多次循环求解H值,并将这些值取其均值后,作为最终的H值。系统在开始运行后,不必每次都从0.5开始迭代,而是选择将上一次的迭代值作为该次估计的初值,从而进一步提高迭代速度。所以,在迭代开始时,应该先对系统进行判断,是否为初次启动,若是,则迭代从0.5开始,不是,则迭代初值取上次估计值。
设置一个标志位flag,标志系统是否为第一次启动,若是则迭代从0.5开始,flag置为0,若不是,则从上次估值开始迭代,flag置为1。具体迭代算法描述如下:
for(k=0,l=0;l<L;l++)
     {
      if(flag==1)  //标志是否初次迭代
H 0 l = H pre ; //若非初次迭代,取前次迭代值
else H 0 l = 0.5 ; //若是初次迭代,设初值
while ( | H k + 1 l - H k l | > ϵ ) //迭代过程
 (
 k=k+1;
H k + 1 l = sqrt ( ( ρ 1 - H k l ) * 0.5 ) ; //迭代公式
 if(k>6)
    break;//若迭代次数超过6,则跳出循环
 }
k=0;
H l = H k + 1 l ;
}
其中,L表示每个H值的重复估计次数,最终的H值为L个估计值的均值,这样做的目的是提高估计精确度。ε表示两次估值之间的差值门限,一般取0.0005,若连续两次迭代值差值小于ε,则表示迭代完成,若不是,则继续迭代,使其差值变小。
3)网络流量异常判断。
Hurst指数求解完成后,将使用得到的H值来判断异常是否发生。由于H值表征网络流量的自相似特性,网络流量的短时间剧烈变化将对网络流量密度产生巨大影响,从而破坏网络流量的自相似属性。正常网络状况下,H值位于0.5到1之间,H值越大,表明网络流量自相似性越高,随着攻击的发生,网络流量的自相似属性减少乃至消失,H值也会随之减少,当H值下降到0.5以下时,网络流量自相似属性消失,而当极端突发网络流量发生时,H值会阶跃为1。
具体的判断标准为:在正常情况下,H值一般在0.7以上,故H值大于0.7但不等于1时,不进行监测;当异常出现时,网络流量自相似性受到干扰,导致H值下降,故H值在0.5~0.7区间时,异常可能发生,网络处于监测状态并继续求解H值;而当H值在0.5以下时,自相似性消失,故应发出异常警报,并检查网络;若H值阶跃为1,同样发出异常警报。具体实现采用分级判断的方式,先判断H值是否为1,若是,则立即中断进行网络检查,若否,则继续判断H值是否大于0.7,若是,则认为网络安全,不必进行监测,并继续求解H值,若否,则继续判断H值是否在0.5以上,若是,则使网络处于监测状态,并继续求解H值,若否,则判定网络流量自相似性破坏,发出异常警报。具体算法如下所示:
AnomalyDetermine(H)
{
 if(H==1)
     Alarm;
 else if(H>=0.7)
     work without monitor;
 else if(H>0.5)
     work and monitor;
 else Alarm;
 }
上述算法建立了一个判断异常的标准,但异常判断并非只参照当前的H值就立刻做出最终判断。首先根据当前值判断是否可能出现异常,若没有可能,则继续求值,若有可能出现异常,再参照前几次的迭代值,进行统计分析,从而得出结论。

Claims (1)

1.一种快速网络流量异常检测方法,其特征在于包括下述步骤:
(a)通过调用Winpcap库函数pcap_findalldevs()获取系统所有网络设备的信息,从中获得本机网卡名称,选择本机网卡的名称,并通过库函数pcap_open_live()打开本机网卡,将本机网卡模式设置为混杂模式,以接收所有流过本机网卡的数据,将接收到的数据包存储在事先建立的文件中;
(b)从所接收到的数据包中提取数据包的到达时间和长度信息,将每个数据包中提取的数据包的到达信息和长度信息以链表的形式存储,通过遍历链表,按照数据包到达时间先后顺序进行序列划分,一个时间间隔STEP作为一个时隙,即循环遍历链表,每次取出一个节点,将节点中的数据包到达时间取出并与数据包初始到达时间求差值,再将该差值与设定的时间间隔STEP相除,求出数据包属于的时间间隔,该时间间隔的数据包总数增一,得到一组随机序列X={Xj:j=1,2,…};
Xj是随机分量,表示一个时隙内收到的数据包总数;
(c)将随机序列X={Xj:j=1,2,…}值作为网络流量分析和异常判断的原始数据,对随机序列值求解均值、方差以及自相关函数值,将得到的自相关函数值用于求解Hurst指数的值,即H值;
广义平稳自相似过程满足的自相关函数式如下:
ρk=H(2H-1)k2H-2,k→∞           (1)
式中,ρk是样本自相关函数,k是采样间隔;
对上式进行变换得到Hurst指数的迭代求解公式如下:
H i + 1 = ( ρ k k 2 - 2 H i + H i ) × 0.5 ,
Hi+1是第i+1次迭代所得的Hurst指数值,Hi是第i次迭代所得的Hurst指数值,当i=1时,Hi迭代初值是0.5;取k为1,按照迭代公式:
H i + 1 = ( ρ i + H i ) × 0.5 , - - - ( 3 )
计算H值;每次迭代求解完后,与上次迭代求解结果进行比较,若两次迭代求解值相差足够小,差值小于0.0005,则认为该次迭代完成,从而得到一个H值;若在此H值区间内不具备收敛性,则判定异常已经发生,并做中断处理;
(d)利用步骤(c)得到的H值判断异常是否发生;先判断H值是否为1,若为1,则立即中断进行网络检查,若不为1,则继续判断H值是否大于0.7,若大于0.7,则认为网络安全,不必进行监测,并继续求解H值,若不大于0.7,则继续判断H值是否在0.5以上,若在0.5以上,则使网络处于监测状态,并继续求解H值,若不在0.5以上,则判定网络流量自相似性破坏,发出异常警报。
CN2010102244040A 2010-07-12 2010-07-12 快速网络流量异常检测方法 Expired - Fee Related CN101895420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102244040A CN101895420B (zh) 2010-07-12 2010-07-12 快速网络流量异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102244040A CN101895420B (zh) 2010-07-12 2010-07-12 快速网络流量异常检测方法

Publications (2)

Publication Number Publication Date
CN101895420A CN101895420A (zh) 2010-11-24
CN101895420B true CN101895420B (zh) 2012-05-30

Family

ID=43104498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102244040A Expired - Fee Related CN101895420B (zh) 2010-07-12 2010-07-12 快速网络流量异常检测方法

Country Status (1)

Country Link
CN (1) CN101895420B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945254B (zh) * 2012-10-18 2015-12-16 福建省海峡信息技术有限公司 在tb级海量审计数据中发现异常数据的方法
CN103067369B (zh) * 2012-12-24 2016-03-30 华为技术有限公司 一种报文切割指示方法、系统及报文分析方法和系统
CN103227738B (zh) * 2013-04-26 2015-10-21 华南师范大学 基于自相似模型的智能网络监控系统
CN105791040A (zh) * 2014-12-23 2016-07-20 青岛海信移动通信技术股份有限公司 一种数据帧采集的方法和装置
CN104767656A (zh) * 2015-04-10 2015-07-08 中国电力科学研究院 一种基于分数阶傅里叶变换的网络流量特性分析方法
US10581915B2 (en) 2016-10-31 2020-03-03 Microsoft Technology Licensing, Llc Network attack detection
CN107516041B (zh) * 2017-08-17 2020-04-03 北京安普诺信息技术有限公司 基于深度神经网络的WebShell检测方法及其系统
CN109587104A (zh) * 2018-02-26 2019-04-05 新华三信息安全技术有限公司 一种异常流量检测方法、装置和设备
RU2696296C1 (ru) * 2018-11-01 2019-08-01 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Способ обнаружения аномалий в трафике магистральных сетей Интернет на основе мультифрактального эвристического анализа
RU2713759C1 (ru) * 2019-05-28 2020-02-07 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ обнаружения сетевых атак на основе анализа фрактальных характеристик трафика в информационно-вычислительной сети
CN112650968B (zh) * 2020-11-18 2022-07-12 天津大学 一种多网络基于异常对齐模型的异常子图检测方法
CN114172706A (zh) * 2021-11-29 2022-03-11 广州大学 智能音箱网络流量异常的检测方法、系统、设备和介质
CN118300896B (zh) * 2024-06-05 2024-08-13 温州数码创业投资有限公司 一种面向云计算服务环境的异常用户行为管理方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100486179C (zh) * 2006-12-15 2009-05-06 华为技术有限公司 一种网络流量异常的检测方法及检测装置
CN101645884B (zh) * 2009-08-26 2012-09-05 西安理工大学 基于相对熵理论的多测度网络异常检测方法

Also Published As

Publication number Publication date
CN101895420A (zh) 2010-11-24

Similar Documents

Publication Publication Date Title
CN101895420B (zh) 快速网络流量异常检测方法
CN106375339B (zh) 基于事件滑动窗口的攻击模式检测方法
CN108494747B (zh) 数字化变电站流量异常检测方法、电子设备及计算机存储介质
CN111475680A (zh) 检测异常高密子图的方法、装置、设备及存储介质
CN105847283A (zh) 一种基于信息熵方差分析的异常流量检测方法
Jalili et al. Detection of distributed denial of service attacks using statistical pre-processor and unsupervised neural networks
CN107070683A (zh) 数据预测的方法和装置
CN104639368A (zh) 通信网络设备的故障处理方法及装置
CN117439827B (zh) 一种网络流量大数据分析方法
JP2018148350A (ja) 閾値決定装置、閾値決定方法及びプログラム
Yan et al. Low-rate dos attack detection based on improved logistic regression
CN114143037A (zh) 一种基于进程行为分析的恶意加密信道检测方法
CN110469461A (zh) 一种风机齿带的断裂预估方法、其装置及可读存储介质
CN103036743B (zh) 一种窃密木马的tcp心跳行为的检测方法
CN115514620A (zh) 一种异常检测的方法和云网络平台
CN116248362A (zh) 一种基于双层隐马尔可夫链的用户异常网络访问行为识别方法
CN116578436A (zh) 基于异步多元时间序列数据的实时在线检测方法
CN110943974A (zh) 一种DDoS异常检测方法及云平台主机
CN117743120A (zh) 基于大数据技术的网卡异常检测方法
CN112600901A (zh) 物联网设备状态检测方法、计算机设备及存储介质
CN113645215A (zh) 异常网络流量数据的检测方法、装置、设备及存储介质
CN117729119A (zh) 针对边缘计算网关的设备运行数据处理方法及系统
CN117633779A (zh) 电力网中网络威胁的元学习检测模型快速部署方法及系统
CN117240522A (zh) 基于攻击事件模型的漏洞智能挖掘方法
CN116128690B (zh) 一种碳排放量成本值计算方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530

Termination date: 20140712

EXPY Termination of patent right or utility model