CN105306436B - 一种异常流量检测方法 - Google Patents

一种异常流量检测方法 Download PDF

Info

Publication number
CN105306436B
CN105306436B CN201510591310.XA CN201510591310A CN105306436B CN 105306436 B CN105306436 B CN 105306436B CN 201510591310 A CN201510591310 A CN 201510591310A CN 105306436 B CN105306436 B CN 105306436B
Authority
CN
China
Prior art keywords
message
array
information
sequence
hash
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.)
Active
Application number
CN201510591310.XA
Other languages
English (en)
Other versions
CN105306436A (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.)
Guangdong Ruijiang Cloud Computing Co Ltd
Original Assignee
Guangdong Ruijiang Cloud Computing Co Ltd
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 Guangdong Ruijiang Cloud Computing Co Ltd filed Critical Guangdong Ruijiang Cloud Computing Co Ltd
Priority to CN201510591310.XA priority Critical patent/CN105306436B/zh
Publication of CN105306436A publication Critical patent/CN105306436A/zh
Application granted granted Critical
Publication of CN105306436B publication Critical patent/CN105306436B/zh
Priority to JP2016179548A priority patent/JP6071026B1/ja
Priority to US15/267,253 priority patent/US10505958B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种异常流量检测方法,该方法包括:接收报文;根据报文类型进行数量统计,存储至IP哈希数组,并在所述IP哈希数组中存储流量特征;根据所述IP哈希数组中存储的报文数量信息,将数量排名前N位的报文的IP信息存储至排序数组中,N为自然数;接收新IP信息,更新排名前N位的报文的IP信息并存储到排序数组;在更新后的所述排序数组中,根据设定特征值校验对应类型的报文是否发生异常流量行为。采用本技术方案,克服了当前异常流量检测方法无法解决的漏报误报等问题,本技术方案能实时计算出整个网络中流量等各项指标排名前列的目标,再对这些目标进行详细的行为检测,能够精准和及时地发现攻击,把误报率和漏报率大大降低。

Description

一种异常流量检测方法
技术领域
本发明涉及计算机系统技术领域,尤其涉及一种异常流量检测方法。
背景技术
僵尸网络具有攻击方法简单、影响较大以及难以追查等特点,使得分布式拒绝服务攻击(Distributed Denial of Service,DDoS,)得到快速壮大和日益泛滥。成千上万主机组成的僵尸网络为DDoS攻击提供了所需的带宽和主机,形成了规模巨大的攻击和网络流量,对被攻击网络造成了极大的危害。随着DDoS攻击技术的不断提高和发展,互联网服务提供商(Internet Service Provider,ISP)、因特网内容提供商(Internet Content Provider,ICP)以及互联网数据中心(InternetData Center,IDC)等运营商面临的安全和运营挑战也不断增多,运营商必须在DDoS威胁影响关键业务和应用之前,对流量进行检测并加以清洗,确保网络正常稳定的运行以及业务的正常开展。
由于DDOS攻击的危害是巨大的,不仅会很快就使被攻击的服务器无法正常提供服务,甚至还会造成整个网络出现拥堵,严重时更会令到网络陷入瘫痪,影响同处于该网络中的其他服务器,所以及时找出网络中的攻击显得尤其重要。
目前的攻击检测方法一般使用固定阈值或者建立流量动态基线的方法,这两种方法都有很明显的缺点。固定阈值会因为阈值的设定过大或者过小造成误判和漏判;而如果使用流量动态基线,本来流量很小的目标因为基数小很容易会出现突发的情况而造成误判,流量大的目标又会因为变化幅度不大而可能会漏判。对于误报正常业务的突发流量,是这两种方法的共同缺陷。而流量动态基线在为每个新目标建立的初始阶段,是无法检测出攻击的,并且如果用攻击的流量来建立基线,甚至可能会出现往后都无法再检测发生在此目标上的攻击。
发明内容
有鉴于此,本发明实施例提供一种异常流量检测方法,以解决现有技术中的技术问题。
本发明实施例提供了一种异常流量检测方法,包括:
接收报文;
根据报文类型进行数量统计,存储至IP哈希数组,并在所述IP哈希数组中存储流量特征;
根据所述IP哈希数组中存储的报文数量信息,将数量排名前N位的报文的IP信息存储至排序数组中,N为自然数;
接收新IP信息,更新排名前N位的报文的IP信息并存储到排序数组;
在更新后的所述排序数组中,根据设定特征值校验对应类型的报文是否发生异常流量行为。
本发明实施例提供的一种异常流量检测方法,通过使用改良的最小二根堆算法实时计算出整个网络中流量等各项指标排名前列的目标,再对排名前列的目标加以行为分析准确地判定出这些目标是否发生了异常流量行为,本方法适用于任何一个网络中,同时能够把程序刚刚启动时发生的攻击也能检测出来,也能区分正常突发的业务流量。本发明实施例提供的异常流量检测方法正是解决固定阈值和流量动态基线等现有方法无法解决的漏报误报等问题,能够准确和及时地发现攻击,把误报率和漏报率大大降低。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例一提供的一种异常流量检测方法流程图;
图2是本发明实施例一提供的一种异常流量检测方法具体过程流程图;
图3是本发明实施例二提供的一种异常流量检测方法流程图;
图4是本发明实施例三提供的一种异常流量检测方法流程图;
图5是本发明实施例三提供的一种异常流量检测方法具体过程流程图;
图6是本发明实施例四提供的一种异常流量检测方法流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
图1为本发明实施例一中的一种异常流量检测方法流程图,本实施例提供了一种异常流量检测方法,该方法可以由任意执行流量检测的装置来执行,该装置可以通过软件和/或硬件实现。如图1所示,该方法包括:
S110、接收报文;
S120、根据报文类型进行数量统计,存储至IP哈希数组,并在所述IP哈希数组中存储流量特征;
示例性的,建立一个全局的IP哈希数组(HASH)用来统计IP流量等信息,所述IP哈希数组可以包含不同的变量来对IP流量等信息进行统计。优选的,所述IP哈希数组可以对IP流量包含的报文信息进行统计,例如:所述IP哈希数组可以包含变量SYN、ICMP以及UDP,分别用于统计同步报文(syn报文)数量、控制信息报文(icmp报文)数量以及用户数据报文(udp报文)数量。由于同步报文和控制信息报文流量特征比较单一,判断攻击比较简单,所以可以直接通过对这两种报文出现的频率做出判断,但用户数据报文流量特征多样,其出现频率再大都可能是正常的,所以用户数据报文需要根据其端口的出现频率、校验码的相同程度再加以判断,所述IP哈希数组还可以包含变量DNA,用于抽取用户数据报文流量特征,其成员可以包括多个,优选的,DNA成员可以包括CUR、SAME、REPLY以及TCP。
参见图2,基于上述方案,该操作包括:
S121、识别报文类型;
S122、如果所述报文类型为同步报文,则在所述IP哈希数组的第一流量特征中记录同步报文数量;
S123、如果所述报文类型为控制信息报文,则在所述IP哈希数组的第二流量特征中记录控制信息报文数量;
S124、如果所述报文类型为用户数据报文,则在所述IP哈希数组的第三流量特征中记录用户数据报文数量;
S125、从所述用户数据报文中提取流量特征,存储至所述IP哈希数组的第四流量特征中。
S130、根据所述IP哈希数组中存储的报文数量信息,将数量排名前N位的报文的IP信息存储至排序数组中,N为自然数;
示例性的,建立一个全局的排序数组(TOP数组)用来保存排名前N位的IP信息,初始化排序数组,所述排序数组的成员包括第一排序子数组(SYN)、第二排序子数组(ICMP)以及第三排序子数组(UDP),每个子数组成员的长度为N+1(第一个即下标为0的元素不使用),分别用于保存前N位报文的IP信息。进一步的,根据所述IP哈希数组中存储的报文数量信息,按照报文类型,以最小二根堆的形式将数量排名前N位的报文的IP信息存储至各排序子数组中。例如,排名前N位的同步报文的IP信息存储至第一排序子数组;排名前N位的控制信息报文的IP信息存储至第二排序子数组;排名前N位的用户数据报文的IP信息存储至第三排序子数组。
S140、接收新IP信息,更新排名前N位的报文的IP信息并存储到排序数组;
所述排序数组为动态数组,需要根据新IP信息的具体情况根据最小二根堆特性重新排序。
S150、在更新后的所述排序数组中,根据设定特征值校验对应类型的报文是否发生异常流量行为。
进一步的,所述设定特征值可以根据所在的网络环境中总流量的大小自行设定,例如设定为10000。当所在网络环境流量较大时可以设定较大的特征值,例如设定为100000,当所在网络环境流量较小时可以设定较小的特征值,例如设定为1000,所述特征值的设定比较灵活,可视具体情况而定,所述特征值的设定不单一。
本发明实施例一提供的异常流量检测方法,通过建立全局的IP哈希数组以及全局的排序数组,将IP信息的各项指标分别进行存储、排序以及流量检查分析,可以实时计算出整个网络中流量等各项指标排名前列的目标,再对这些排名前列的目标进行详细的行为检测,能够准确和及时地发现流量异常的情况,把误报率和漏报率大大降低。
实施例二
图3为本发明实施例二中的一种异常流量检测方法流程图,本实施例的技术方案以上述实施例一为基础,在实施例一的基础上作进一步的优化。
进一步的,根据所述IP哈希数组中存储的报文数量信息,按照报文类型,以最小二根堆的形式将数量排名前N位的报文的IP信息存储至各排序子数组中包括:
S310、根据所述IP哈希数组中存储的报文数量信息,按照报文类型,采用第一排序函数,通过向上遍历排序子数组保持所述排序子数组的最小二根堆特性;
S320、根据所述IP哈希数组中存储的报文数量信息,按照报文类型,采用第二排序函数,通过向下遍历排序子数组保持所述排序子数组的最小二根堆特性。
示例性的,所述排序数组中每个成员为一个最小二根堆,即所述排序数组中每个成员以完全二叉树的形式存在,以第一排序子数组为例:
假设TOP→SYN[i]为非叶子节点,则其左孩子为TOP→SYN[i*2],其右孩子为TOP→SYN[i*2+1],此时所述最小二根堆的第一个非叶子节点从1开始;
假设TOP→SYN[i]为非叶子节点,则其左孩子为TOP→SYN[i*2+1],其右孩子为TOP→SYN[i*2+2],此时所述最小二根堆的第一个非叶子节点从0开始;
假设TOP→SYN[i]为非叶子节点,则其左孩子为TOP→SYN[i*2-1],其右孩子为TOP→SYN[i*2],此时所述最小二根堆的第一个非叶子节点从2开始。
这里可以有很多种情况,只需保证从i-N+i的值都是所述最小二根堆的节点下标值,另外要求左孩子的节点下标值一定要比其父节点下标值大,右孩子的节点下标值比左孩子的节点下标值大。
设置所述第一排序函数和第二排序函数的目的是保持排序数组的最小二根堆特性。优选的,设置第一排序函数为top_up(j),第二排序函数为top_down(j),这两个函数的作用是假设当前排序数组已经具备最小二根堆特性,更新了位置j的值,假设新值比原来的值小,那么可能这个节点的新值会比其父节点的值小所以需要进行不断上移操作直到排序数组重新满足最小二根堆特性,这些操作由top_up(j)来完成,第一排序函数的作用即通过向上遍历排序子数组保持所述排序子数组的最小二根堆特性。相同原理的,top_down(j)的行为与top_up(j)相反,第二排序函数的作用即通过向下遍历排序子数组保持所述排序子数组的最小二根堆特性。
本发明实施例二提供的方法,使用最小二根堆对排序数组进行排序,保持排序数组的最小二根堆特性,子节点上只有左孩子和右孩子两种情况,使整个排序数组的排序关系简单明了。同时,当有新的IP信息进入时,使用第一排序函数或者第二排序函数,通过向上遍历或者向下遍历的方法对排序数组进行重新排序,逻辑清晰。
实施例三
图4为本发明实施例三中的一种异常流量检测方法流程图,本实施例的技术方案以上述实施例为基础,在上述实施例的基础上作进一步的优化。
进一步的,接收新IP信息,更新排名前N位的报文的IP信息并存储到排序数组包括:
S410、创建两个线程;
S420、第一线程负责在流入流出报文中抽取IP地址和报文类型(TYPE),存入IP哈希数组;
示例性的,如果报文类型为同步报文,则HASH[IP]→SYN+1,即在IP哈希数组中将同步报文数量加1;
否则,如果报文类型为控制信息报文,则HASH[IP]→ICMP+1,即在IP哈希数组中将控制信息报文数量加1;
否则,如果报文类型为用户数据报文,则HASH[IP]→UDP+1,即在IP哈希数组中将用户数据报文数量加1。
进一步的,如果IP存在于第三排序子数组中,则取出报文中的原端口(SPORT),目标端口(DPORT)和校验值(CHECK):
示例性的,如果源端口的值为某些特定值,例如,目前已经在网络中出现过的攻击的一些端口:123,1900,53,则HASH[IP]→DNA→REPLY+1,即在IP哈希数组中将DNA中的成员REPLY数量加1;
如果目标端口的值为某些特定值,例如,目前已经在网络中出现过的攻击的一些端口:22,80,443,则HASH[IP]→DNA→TCP+1,即在IP哈希数组中将DNA中的成员TCP数量加1;
如果CHECK=HASH[IP]→DNA→CUR,则HASH[IP]→DNA→SAME+1,否则,HASH[IP]→DNA→CUR=CHECK。即当校验值与IP哈希数组中DNA中的成员CUR取值相同时,在IP哈希数组中将DNA中的成员SAME数量加1,否则将IP哈希数组中DNA中的成员CUR赋值给校验值。
只要存在报文的流入流出,第一线程就开始工作,负责在流入流出报文中抽取IP地址和报文类型,存入IP哈希数组。
S430、第二线程负责遍历所述IP哈希数组,获取所述IP哈希数组中每一个IP信息,判断所述IP信息是否存在于相应的排序数组中。
若不存在,则将所述IP信息对应的流量特征与所述排序数组中首个IP信息对应的流量特征进行比较,如果比首个IP信息对应的流量特征大,则替换首个IP信息并调用第二排序函数;
若存在,则将所述IP信息的新的流量特征与所述排序数组中此IP信息的旧的流量特征做比较,并根据比较结果相应地调用第一排序函数或者第二排序函数,使排序数组保持最小二根堆特性,然后将所述新的流量特征和旧的流量特征进行比较,判断是否发生异常流量行为。
参见图5,优选的,基于上述方案,该操作包括:
S431、获取所述IP信息的流量特征SYN,判断所述IP信息是否存在于TOP→SYN中;
若不存在,则将所述IP信息的流量特征SYN与TOP→SYN数组中首个IP信息对应的流量特征SYN进行比较,如果比首个IP信息对应的流量特征SYN大,则替换首个IP信息,标记所述IP信息具备TOP_SYN属性(即存在于TOP→SYN数组中)并且把被替换的IP信息的TOP_SYN属性取消,然后调用top_down(j),使新的排序数组重新满足最小二根堆特性。
若存在,则将所述IP信息的新的流量特征SYN与TOP→SYN数组中此IP信息的旧的流量特征SYN做比较,如果新的流量特征SYN比旧的流量特征SYN小,则更新TOP→SYN[j]为所述新的流量特征SYN后调用top_up(j),否则更新TOP→SYN[j]为所述新的流量特征SYN后调用top_down(j)。
将所述新的流量特征SYN和旧的流量特征SYN进行比较,如果SYN前后两次差值大于某一设定特征值,例如:10000,则判断发生SYN FLOOD,存在异常流量行为。
S432、获取所述IP信息的流量特征ICMP,判断所述IP信息是否存在于TOP→ICMP中
若不存在,则将所述IP信息的流量特征ICMP与TOP→ICMP数组中首个IP信息对应的流量特征ICMP进行比较,如果比首个IP信息对应的流量特征ICMP大,则替换首个IP信息,标记所述IP信息具备TOP_ICMP属性(即存在于TOP→ICMP数组中)并且把被替换的IP信息的TOP_ICMP属性取消,然后调用top_down(j),使新的排序数组重新满足最小二根堆特性。
若存在,则将所述IP信息的新的流量特征ICMP与TOP→ICMP数组中此IP信息的旧的流量特征ICMP做比较,如果新的流量特征ICMP比旧的流量特征ICMP小,则更新TOP→ICMP[j]为所述新的流量特征ICMP后调用top_up(j),否则更新TOP→ICMP[j]为所述新的流量特征ICMP后调用top_down(j)。
将所述新的流量特征ICMP和旧的流量特征ICMP进行比较,如果ICMP前后两次差值大于某一设定特征值,例如:10000,则判断发生ICMP FLOOD,存在异常流量行为。
S433、获取所述IP信息的流量特征UDP,判断所述IP信息是否存在于TOP→UDP中;
若不存在,则将所述IP信息的流量特征UDP与TOP→UDP数组中首个IP信息对应的流量特征UDP进行比较,如果比首个IP信息对应的流量特征UDP大,则替换首个IP信息,标记所述IP信息具备TOP_UDP属性(即存在于TOP→UDP数组中)并且把被替换的IP信息的TOP_UDP属性取消,然后调用top_down(j),使新的排序数组重新满足最小二根堆特性。
若存在,则将所述IP信息的新的流量特征UDP与TOP→UDP数组中此IP信息的旧的流量特征UDP做比较,如果新的流量特征UDP比旧的流量特征UDP小,则更新TOP→UDP[j]为所述新的流量特征UDP后调用top_up(j),否则更新TOP→UDP[j]为所述新的流量特征UDP后调用top_down(j)。
将所述新的流量特征UDP和旧的流量特征UDP进行比较,由于用户数据报文类型攻击多样,需要对其进行细化分析,如果:
HASH[IP]→DNA→REPLY中REPLY前后两次差值大于某一设定特征值,例如:10000,则判断发生UDP FLOOD,存在异常流量行为;
HASH[IP]→DNA→TCP中TCP前后两次差值大于某一设定特征值,例如:10000,则判断发生UDP FLOOD,存在异常流量行为;
HASH[IP]→DNA→SAME中SAME前后两次差值大于某一设定特征值,例如:10000,则判断发生UDP FLOOD,存在异常流量行为。
即分别对IP哈希数组中DNA中的成员REPLY、TCP以及SAME前后两次差值与设定的特征值进行比较,判断是否发生了流量异常行为。
示例性的,可以定时设置启动第二线程,例如,可以设置第二线程每一秒钟启动一次。
本发明实施例三提供的方法,通过使用实时排名结合行为分析来检测攻击,判断是否发生异常流量行为,由于被攻击的目标的某一项指标必然在这项指标排名前列当中,实时排名能够找出可能存在攻击的目标,再加以行为分析准确地判定出这些目标是否发生了攻击,本方法适用于任何一个网络中,能够把程序刚刚启动时发生的攻击也能检测出来,也能区分正常突发的业务量,不会发生误判的情况。
实施例四
图6为本发明实施例四中的一种异常流量检测方法流程图,本实施例的技术方案以上述实施例为基础,在上述实施例的基础上作进一步的总结。
该方法包括如下步骤:
S601、建立全局IP哈希数组和排序数组;
所述IP哈希数组用来统计IP流量等信息,所述IP哈希数组可以包含变量SYN、ICMP、UDP以及DNA,分别用于统计同步报文数量、控制信息报文数量、用户数据报文数量以及抽取用户数据报文流量特征;所述排序数组用来保存排名前N位的IP信息。
S602、创建线程1;
S603、所述线程1负责接收报文并从其中获取IP地址和报文类型;
S604、判断报文类型是否为同步报文,若是,则执行S605,否则执行S606;
S605、HASH[IP]→SYN+1;
S606、判断报文类型是否为控制信息报文,若是,则执行S607,否则执行S608;
S607、HASH[IP]→ICMP+1;
S608、判断报文类型是否为用户数据报文,若是,则执行S609,否则返回执行S603;
S609、HASH[IP]→UDP+1;
S610、判断IP是否存在于TOP→UDP数组中,若是,则执行S611,否则返回执行S603;
S611、取出报文SPORT,DPORT,CHECK,取出IP成员DNA;
示例性的,由于用户数据报文流量特征多样,需要根据其端口的出现频率、校验码的相同程度再加以判断,优选的,选取SPORT、DPORT以及CHECK对用户数据报文进行细化分析。DNA,用于抽取用户数据报文流量特征,其成员可以包括多个,优选的,DNA成员包括CUR、SAME、REPLY以及TCP。
S612、判断SPORT的值是否为某些特定值,例如,目前已经在网络中出现过的攻击的一些端口:123,1900,53,若是,则执行S613,否则执行S614;
S613、DNA→REPLY+1;
S614、判断DPORT的值是否为某些特定值,例如,目前已经在网络中出现过的攻击的一些端口:22,80,443,若是,则执行S615,否则执行S616;
S615、DNA→TCP+1;
S616、判断CHECK是否等于DNA→CUR,若是,则执行S617,否则执行S618;
S617、DNA→SAME+1;
S618、DNA→CUR=CHECK;
S619、创建线程2;
S620、所述线程2负责遍历IP哈希数组获得当前IP对象A;
S621、依次取出对象A的成员SYN,ICMP,UDP表示为P;
S622、判断P是否存在于TOP→P数组中;若是,则执行S623,否则执行S634;
S623、得到P在TOP→P数组的位置j;
S624、判断A是否大于TOP[j];若是,则执行S625,否则执行S626;
S625、TOP→P[j]=P,调用top_down(j);
S626、TOP→P[j]=P,调用top_up(j);
S627、判断P是否为UDP,若是,则执行S628,否则执行S630;
S628、判断DNA成员REPLY,TCP,SAME是否任意一个大于设定特征值,例如:10000,若是,则执行S629;
S629、发生UDP FLOOD攻击;
S630、判断P是否大于设定特征值,例如:10000,若是,则执行S631;
S631、判断P是否为SYN类型,若是,则执行S632,否则执行S633;
S632、发生SYN FLOOD攻击;
S633、发生ICMP FLOOD攻击;
S634、判断P是否大于TOP→P[1],若是,则依次执行S635、S636以及S637;
S635、把TOP→P[1]原来的IP信息成员P的TOP属性取消;
S636、TOP→P[1]=P并且为P添加上TOP属性;
S637、调用top_down(1)。
本发明实施例四提供的方法,综合上述实施例的技术方案,全面细致地计算出整个网络中流量等各项指标排名前列的目标,再对排名前列的目标加以行为分析准确地判定出这些目标是否发生了异常流量行为,能够准确和及时地发现流量异常的情况,把误报率和漏报率大大降低。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (4)

1.一种异常流量检测方法,其特征在于,包括:
接收报文;
根据报文类型进行数量统计,存储至IP哈希数组,并在所述IP哈希数组中存储流量特征;
根据所述IP哈希数组中存储的报文数量信息,将数量排名前N位的报文的IP信息存储至排序数组中,N为自然数;
接收新IP信息,更新排名前N位的报文的IP信息并存储到排序数组;
在更新后的所述排序数组中,根据设定特征值校验对应类型的报文是否发生异常流量行为;
其中,根据报文类型进行数量统计,存储至IP哈希数组包括:
识别报文类型;
如果所述报文类型为同步报文,则在所述IP哈希数组的第一流量特征中记录同步报文数量;
如果所述报文类型为控制信息报文,则在所述IP哈希数组的第二流量特征中记录控制信息报文数量;
如果所述报文类型为用户数据报文,则在所述IP哈希数组的第三流量特征中记录用户数据报文数量;
从所述用户数据报文中提取流量特征,存储至所述IP哈希数组的第四流量特征中;
所述方法还包括:初始化排序数组,所述排序数组的成员包括第一排序子数组、第二排序子数组以及第三排序子数组,每个子数组成员的长度为N+1,分别用于保存前N位报文的IP信息;
相应的,根据所述IP哈希数组中存储的报文数量信息,将数量排名前N位的报文的IP信息存储至排序数组中包括:根据所述IP哈希数组中存储的报文数量信息,按照报文类型,以最小二根堆的形式将数量排名前N位的报文的IP信息存储至各排序子数组中。
2.根据权利要求1所述的方法,其特征在于,根据所述IP哈希数组中存储的报文数量信息,按照报文类型,以最小二根堆的形式将数量排名前N位的报文的IP信息存储至各排序子数组中包括:
根据所述IP哈希数组中存储的报文数量信息,按照报文类型,采用第一排序函数,通过向上遍历排序子数组保持所述排序子数组的最小二根堆特性;
根据所述IP哈希数组中存储的报文数量信息,按照报文类型,采用第二排序函数,通过向下遍历排序子数组保持所述排序子数组的最小二根堆特性。
3.根据权利要求1所述的方法,其特征在于,接收新IP信息,更新排名前N位的报文的IP信息并存储到排序数组包括:
创建两个线程;
第一线程负责在流入流出报文中抽取IP地址和报文类型,存入IP哈希数组;
第二线程负责遍历所述IP哈希数组,获取所述IP哈希数组中每一个IP信息,判断所述IP信息是否存在于相应的排序数组中。
若不存在,则将所述IP信息对应的流量特征与所述排序数组中首个IP信息对应的流量特征进行比较,如果比首个IP信息对应的流量特征大,则替换首个IP信息并调用第二排序函数;
若存在,则将所述IP信息的新的流量特征与所述排序数组中此IP信息的旧的流量特征做比较,并根据比较结果相应地调用第一排序函数或者第二排序函数,使排序数组保持最小二根堆特性,然后将所述新的流量特征和旧的流量特征进行比较,判断是否发生异常流量行为。
4.根据权利要求1所述的方法,其特征在于,在所述更新后的排序数组中,根据设定特征值校验对应类型的报文是否发生异常流量行为包括:
所述设定特征值根据所在的网络环境中总流量的大小设定。
CN201510591310.XA 2015-09-16 2015-09-16 一种异常流量检测方法 Active CN105306436B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510591310.XA CN105306436B (zh) 2015-09-16 2015-09-16 一种异常流量检测方法
JP2016179548A JP6071026B1 (ja) 2015-09-16 2016-09-14 異常フロー検知方法
US15/267,253 US10505958B2 (en) 2015-09-16 2016-09-16 Method for detecting abnormal traffic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510591310.XA CN105306436B (zh) 2015-09-16 2015-09-16 一种异常流量检测方法

Publications (2)

Publication Number Publication Date
CN105306436A CN105306436A (zh) 2016-02-03
CN105306436B true CN105306436B (zh) 2016-08-24

Family

ID=55203191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510591310.XA Active CN105306436B (zh) 2015-09-16 2015-09-16 一种异常流量检测方法

Country Status (3)

Country Link
US (1) US10505958B2 (zh)
JP (1) JP6071026B1 (zh)
CN (1) CN105306436B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721494B (zh) * 2016-03-25 2019-04-19 中国互联网络信息中心 一种异常流量攻击检测处置的方法和装置
CN105959300B (zh) * 2016-06-24 2019-09-17 杭州迪普科技股份有限公司 一种DDoS攻击防护的方法及装置
CN107770113A (zh) * 2016-08-15 2018-03-06 台山市金讯互联网络科技有限公司 一种精确确定攻击特征的洪水攻击检测方法
CN106330951B (zh) * 2016-09-14 2019-11-19 北京神州绿盟信息安全科技股份有限公司 一种网络防护方法、装置和系统
US10116671B1 (en) 2017-09-28 2018-10-30 International Business Machines Corporation Distributed denial-of-service attack detection based on shared network flow information
US11616790B2 (en) 2020-04-15 2023-03-28 Crowdstrike, Inc. Distributed digital security system
US11861019B2 (en) 2020-04-15 2024-01-02 Crowdstrike, Inc. Distributed digital security system
US11645397B2 (en) 2020-04-15 2023-05-09 Crowd Strike, Inc. Distributed digital security system
US11711379B2 (en) * 2020-04-15 2023-07-25 Crowdstrike, Inc. Distributed digital security system
CN112367322B (zh) * 2020-11-10 2022-09-30 西安热工研究院有限公司 一种基于冒泡排序法的电站工控系统异常流量识别方法
US11836137B2 (en) 2021-05-19 2023-12-05 Crowdstrike, Inc. Real-time streaming graph queries
CN115766201B (zh) * 2022-11-11 2023-07-18 北京哈工信息产业股份有限公司 一种大量ip地址快速封禁的解决方法
CN115664869B (zh) * 2022-12-28 2023-05-16 北京六方云信息技术有限公司 入侵防御系统误识别处理方法、设备以及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609205B1 (en) * 1999-03-18 2003-08-19 Cisco Technology, Inc. Network intrusion detection signature analysis using decision graphs
US7702806B2 (en) * 2000-09-07 2010-04-20 Riverbed Technology, Inc. Statistics collection for network traffic
EP1209861A1 (en) * 2000-11-22 2002-05-29 Telefonaktiebolaget L M Ericsson (Publ) Monitoring traffic in packet networks
US20020133586A1 (en) * 2001-01-16 2002-09-19 Carter Shanklin Method and device for monitoring data traffic and preventing unauthorized access to a network
US7114182B2 (en) * 2002-05-31 2006-09-26 Alcatel Canada Inc. Statistical methods for detecting TCP SYN flood attacks
US7426634B2 (en) * 2003-04-22 2008-09-16 Intruguard Devices, Inc. Method and apparatus for rate based denial of service attack detection and prevention
US7478156B1 (en) * 2003-09-25 2009-01-13 Juniper Networks, Inc. Network traffic monitoring and reporting using heap-ordered packet flow representation
JP4743901B2 (ja) * 2004-07-22 2011-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク上での不正なスキャンニングを検出するための方法、システムおよびコンピュータ・プログラム
US7669241B2 (en) * 2004-09-30 2010-02-23 Alcatel-Lucent Usa Inc. Streaming algorithms for robust, real-time detection of DDoS attacks
JP4170301B2 (ja) * 2005-02-23 2008-10-22 日本電信電話株式会社 DoS攻撃検出方法、DoS攻撃検出システム、およびDoS攻撃検出プログラム
US20070255861A1 (en) * 2006-04-27 2007-11-01 Kain Michael T System and method for providing dynamic network firewall with default deny
CN101383694A (zh) * 2007-09-03 2009-03-11 电子科技大学 基于数据挖掘技术的拒绝服务攻击防御方法和系统
JP4667437B2 (ja) 2007-10-02 2011-04-13 日本電信電話株式会社 異常トラフィック検知装置、異常トラフィック検知方法および異常トラフィック検知プログラム
CN101150581A (zh) * 2007-10-19 2008-03-26 华为技术有限公司 分布式拒绝服务攻击检测方法及装置
US8452761B2 (en) * 2007-10-24 2013-05-28 International Business Machines Corporation Apparatus for and method of implementing system log message ranking via system behavior analysis
WO2010037308A1 (en) * 2008-09-30 2010-04-08 The Chinese University Of Hong Kong Systems and methods for determining top spreaders
US7953092B2 (en) * 2009-04-08 2011-05-31 Ixia Traffic receiver using parallel capture engines
CN102308554B (zh) * 2009-02-06 2014-03-12 香港中文大学 捕获具有最大数量小流的主机的系统和方法
KR101109669B1 (ko) * 2010-04-28 2012-02-08 한국전자통신연구원 좀비 식별을 위한 가상 서버 및 방법과, 가상 서버에 기반하여 좀비 정보를 통합 관리하기 위한 싱크홀 서버 및 방법
US9313224B1 (en) * 2010-09-30 2016-04-12 Google Inc. Connectivity protector
KR101574193B1 (ko) * 2010-12-13 2015-12-11 한국전자통신연구원 분산 서비스 거부 공격 탐지 및 방어 장치 및 방법
NL2007180C2 (en) 2011-07-26 2013-01-29 Security Matters B V Method and system for classifying a protocol message in a data communication network.
KR101391781B1 (ko) * 2012-08-07 2014-05-07 한국전자통신연구원 웹 트랜잭션 밀집도 기반 에이치티티피 봇넷 탐지 장치 및 방법
US9020954B2 (en) * 2012-09-28 2015-04-28 International Business Machines Corporation Ranking supervised hashing
CN104202336A (zh) * 2014-09-22 2014-12-10 浪潮电子信息产业股份有限公司 一种基于信息熵的DDoS攻击检测方法
US9838354B1 (en) * 2015-06-26 2017-12-05 Juniper Networks, Inc. Predicting firewall rule ranking value

Also Published As

Publication number Publication date
CN105306436A (zh) 2016-02-03
US20170078316A1 (en) 2017-03-16
US10505958B2 (en) 2019-12-10
JP2017059232A (ja) 2017-03-23
JP6071026B1 (ja) 2017-02-01

Similar Documents

Publication Publication Date Title
CN105306436B (zh) 一种异常流量检测方法
US11087329B2 (en) Method and apparatus of identifying a transaction risk
US11848950B2 (en) Method for protecting IoT devices from intrusions by performing statistical analysis
CN105049291B (zh) 一种检测网络流量异常的方法
CN108076040B (zh) 一种基于杀伤链和模糊聚类的apt攻击场景挖掘方法
US9479524B1 (en) Determining string similarity using syntactic edit distance
EP3121727A1 (en) Information processing device and error detection method
WO2019136850A1 (zh) 风险行为识别方法、存储介质、设备及系统
CN104168288A (zh) 一种基于协议逆向解析的自动化漏洞挖掘系统及方法
CN101902349B (zh) 一种检测端口扫描行为的方法和系统
CN109842588B (zh) 网络数据检测方法及相关设备
CN101656638B (zh) 面向误配置的域间前缀劫持检测方法
CN106453229A (zh) 使用公共过滤器对域名系统记录系统的更新的并行检测
CN105187279A (zh) 一种流量统计并实时排名的方法
CN110213254A (zh) 一种识别伪造互联网协议ip报文的方法和设备
CN108616614B (zh) Mac地址管理方法、装置及电子设备
CN105939328A (zh) 网络攻击特征库的更新方法及装置
KR102282847B1 (ko) 제어데이터 이상 검출을 위한 시스템
CN108366048B (zh) 一种基于无监督学习的网络入侵检测方法
CN108307001B (zh) Mac地址老化方法、装置及电子设备
CN107622065B (zh) 一种数据处理方法及服务器
CN111866028B (zh) 一种攻击面可视化的方法、系统及存储介质
CN112272184A (zh) 一种工业流量检测的方法、装置、设备及介质
US10423784B2 (en) Dummy information insertion device, dummy information insertion method, and storage medium
CN113835082B (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
CB02 Change of applicant information

Address after: 705-708, room two, No. 121, north south of the Five Ridges Avenue, Chancheng District, Guangdong, Foshan, 528000

Applicant after: GUANGDONG RUIJIANG CLOUD COMPUTING CO., LTD.

Address before: Chancheng District of Guangdong city of Foshan province south of the Five Ridges 528000 Avenue North 121 East International A District Office 7-8

Applicant before: Guangdong Efly Network Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160203

Assignee: Guangdong Zhijiang Network Co., Ltd.

Assignor: GUANGDONG RUIJIANG CLOUD COMPUTING CO., LTD.

Contract record no.: 2016440000254

Denomination of invention: Abnormal traffic detection method

Granted publication date: 20160824

License type: Common License

Record date: 20161226

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model