CN112583859A - 一种网络攻击的识别方法 - Google Patents

一种网络攻击的识别方法 Download PDF

Info

Publication number
CN112583859A
CN112583859A CN202110122258.9A CN202110122258A CN112583859A CN 112583859 A CN112583859 A CN 112583859A CN 202110122258 A CN202110122258 A CN 202110122258A CN 112583859 A CN112583859 A CN 112583859A
Authority
CN
China
Prior art keywords
attack
data packet
data packets
recognition method
packet
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.)
Pending
Application number
CN202110122258.9A
Other languages
English (en)
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.)
Xi'an Jiaotong University Jump Network Technology Co ltd
Original Assignee
Xi'an Jiaotong University Jump Network Technology 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 Xi'an Jiaotong University Jump Network Technology Co ltd filed Critical Xi'an Jiaotong University Jump Network Technology Co ltd
Priority to CN202110122258.9A priority Critical patent/CN112583859A/zh
Publication of CN112583859A publication Critical patent/CN112583859A/zh
Pending legal-status Critical Current

Links

Images

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/1416Event detection, e.g. attack signature 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/1441Countermeasures against malicious traffic

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)

Abstract

本发明公开一种网络攻击的识别方法,通过抓取足够数量的数据包进行分析,提取出该种攻击的攻击特征,并基于多模式匹配算法,建立不同种攻击特征的有限状态机作为过滤器,将待识别数据包输入所述过滤器,当再次收到攻击时,能够过滤出带有攻击特征的数据包,从而起到防御作用。相对于现有的特征匹配技术,本发明的基于多模式匹配算法的攻击识别方法,有利于提高入侵检测的效率和准确性。

Description

一种网络攻击的识别方法
技术领域
本发明属于网络安全技术领域,尤其是涉及一种利用多模式匹配算法实现攻击特征识别的方法。
背景技术
入侵检测,即收集计算机网络或***中的若干关键点信息并分析,以发现是否存在可疑行为或遭受攻击的迹象。现实中,攻击行为常常混夹于正常的网络数据包之中,因此若要实现入侵行为的检测,必须对流经网络的数据包进行识别并加以判断,包括对数据包负载的分析,辨别数据包是否具有攻击特征,并根据辨别结果对数据包进行相应的处理。
传统的攻击特征匹配采用的如基于最长公共子串、基于固定长度的负载出现频率等,前者是在可疑数据流中查找最长的公共子字符串并将其作为攻击特征,仅提取单个最长的特征片段,并不足以准确描述攻击;后者将可疑数据流划分为固定长度的分片,然后计算分片在所有可疑数据流中出现的频繁度,最后将频繁度高的分片输出为攻击特征,存在的问题是难以选取固定长度的大小,计算开销和存储开销大、没有考虑攻击变形情况。
因此,如何通过优化攻击特征识别,以提高攻击检测的效率和准确性,成为入侵检测技术面临的难题。
发明内容
基于上述背景,本发明旨在提出一种网络攻击的识别方法,克服了现有技术下多特征匹配造成的资源消耗较大而识别准确性较低的问题,具体的技术方案如下所述。
一种网络攻击的识别方法,包括:
采集大于第一预设数量的已知攻击数据包;
分析计算,将各数据包负载中符合规定条件的公共子序列确定为攻击特征;
根据所述攻击特征,利用多模式匹配算法建立有限状态自动机;
提取待识别数据包的负载,输入所述有限状态自动机进行特征匹配,若匹配成功,则将数据包确定为攻击包,并执行预设的处理动作。
所述数据包负载的公共子序列,包括通过遍历前缀树的算法提取出的、出现频率大于预设阈值且长度大于规定值的字符串。
进一步的,将各数据包负载的最长公共子序列确定为当前威胁的攻击特征;若采集的各数据包负载具有2个以上最长公共子序列,将所述最长公共子序列作为特征集,建立对应的有限状态自动机;当待识别数据包输入状态机后匹配成功的特征数达到预设数量时,将当前数据包确定为攻击包。
当所述采集到的网络攻击数据包达到第二预设数量时,停止采集;所述第二预设数量大于第一预设数量;当所述采集到的网络攻击数据包未达到第二预设数量时,判断当前采集时长,若达到预设时长则停止采集。
所述攻击特征作为模式串,利用AC算法建立所述有限状态自动机。
较佳的,所述的待识别数据包进行特征匹配,具体包括:将待识别数据包的负载内容作为主串,输入所述有限状态自动机,使自动机进行状态转换,当到达规定的状态时,说明发生模式匹配,将当前数据包确定为攻击包,并输出匹配成功的攻击特征内容。
较佳的,所述确定攻击特征,具体包括:
S1,设定数据包采集的最大时长、最少数量和最多数量,提取字符串的最小出现频率与最小长度;
S2,当发现攻击时,开始采集数据包,若采集到的数据包数量≧所述最少数量,进行S4;若采集到的数据包≧所述最多数量,停止采集;
S3,若采集到的数据包数量<所述最少数量、同时采集时长≧所述最大时长时,停止采集并进行S4;
S4,根据预设的最小出现频率与最小长度,从所述采集到的数据包中提取字符串,以及确定其中的最长公共子序列为当前攻击的特征。
根据S1至S4所述,获取预设数量的不同种类攻击特征,使用AC算法建立有限状态机;以及持续的将新的攻击特征更新至所述有限状态机中。
采用上述技术方案的本发明,具有以下有益效果:当网络环境中发现攻击时,通过抓取足够数量的数据包进行分析,提取出该种攻击的攻击特征,并基于多模式匹配算法,建立不同种攻击特征的有限状态机作为过滤器,将待识别数据包输入所述过滤器,当再次收到攻击时,能够过滤出带有攻击特征的数据包,从而起到防御作用。相对于现有的特征匹配技术,本发明的基于多模式匹配算法的攻击识别方法,有利于提高入侵检测的效率和准确性。
附图说明
图1为本发明的攻击识别方法实施例一的,工作流程示意图;
图2为本发明的攻击识别方法实施例二的,根据攻击特征建立状态机的示意图;
图3为本发明的攻击识别方法实施例二的,特征匹配过程示意图。
需要说明的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
单模式匹配算法,匹配多个模式时需要多次遍历。具体到入侵检测***,如果采用单模式匹配算法,每个数据包进行匹配时都需要重新运行匹配算法,效率很低。因此,单模式匹配算法逐渐无法满足入侵检测***日益增加的检测负担。
而多模式匹配算法,只需一趟遍历就可以匹配多个模式,大大提高了匹配效率。多模式匹配算法代替单模式匹配算法应用于攻击检测***之中已是大势所趋。
实施例一
一种网络攻击的识别方法,包括:
第一步,采集大于第一预设数量并小于第二预设数量的已知攻击数据包。当所述采集到的网络攻击数据包达到第二预设数量时,停止采集;同时判断当前采集时长,若达到预设时长也停止采集。即判断所述第二预设数量与采集时长哪一个条件先达到,只要达到一个条件就停止所述数据包的采集。
第二步,分析计算,将各数据包负载中符合规定条件的公共子序列确定为攻击特征。所述数据包负载的公共子序列,包括通过遍历前缀树的算法提取出的、出现频率大于预设阈值且长度大于规定值的字符串。
作为较佳的,将各数据包负载的最长公共子序列确定为当前威胁的攻击特征;若采集的各数据包负载具有2个以上最长公共子序列,将所述最长公共子序列作为特征集,建立对应的有限状态自动机;当待识别数据包输入状态机后匹配成功的特征数达到预设数量时,将当前数据包确定为攻击包。
第三步,根据所述攻击特征,利用AC算法建立有限状态自动机。
第四步,提取待识别数据包的负载,输入所述有限状态自动机进行特征匹配,若匹配成功,则将数据包确定为攻击包,并执行预设的处理动作。
作为较佳的,所述的待识别数据包进行特征匹配,具体包括:将待识别数据包的负载内容作为主串,输入所述有限状态自动机,使自动机进行状态转换,当到达规定的状态时,说明发生模式匹配,将当前数据包确定为攻击包,并输出匹配成功的攻击特征内容。
通过抓取足够数量的数据包进行分析,提取出该种攻击的攻击特征,并基于多模式匹配算法,建立不同种攻击特征的有限状态机作为过滤器,将待识别数据包输入所述过滤器,当再次收到攻击时,能够过滤出带有攻击特征的数据包,从而起到防御作用。
实施例二
首先,从已知攻击的数据包负载中提取并确定出攻击特征,具体包括以下步骤:
S1,设定数据包采集的最大时长、最少数量和最多数量,提取字符串的最小出现频率与最小长度。需要说明的是,当发现攻击时,设备开始进行数据包采集,具体的采集包数由用户预先设定,在攻击进行过程中,采集的数据包越多越好,但是当数量过多时也会造成过多资源消耗而没有得到相应的提高特征提取准确性的效果,通常设置一个最小数量和最多数量,已达到数量要求与资源占用之间的平衡。
S2,当发现攻击时,开始采集数据包,若采集到的数据包数量≧所述最少数量,进行S4;若采集到的数据包≧所述最多数量,停止采集;
S3,若采集到的数据包数量<所述最少数量、同时采集时长≧所述最大时长时,停止采集并进行S4;
S4,根据预设的最小出现频率与最小长度,从所述采集到的数据包中提取字符串,以及确定其中的最长公共子序列为当前攻击的特征。
作为优选的实施方式,持续的将新的攻击特征更新至所述有限状态机中。
例如,采集到的一次攻击的各个数据包负载内容分别为{sdfasdbdfgdfasd,hrgbdfgtrte,opibdfgweqe,kjlbdfglkjl},计算这组数据包负载内容中的公共子序列,并将最长公共子序列为bdfg,作为本次攻击的识别特征。
其次,根据S1至S4所述,获取预设数量的不同种类攻击特征,使用AC算法建立有限状态机。
AC(Aho-Corasick)算法是经典的多模式匹配算法。简要说明算法中的三个步骤(该算法的详细实现过程并不在本发明实施例的范围,在此不作赘述):
(1) 建立Pattern tree,即建立自动机,简单来说就是根据输入的字符串构造一棵“树”;
(2)建立failure状态,即在每个叶子节点上加上failure状态(根节点不需要),即标注当前输入串到当前叶子节点时,若不能继续匹配所能跳转的路径;
(3)比对text,即成功到达output状态的时候,代表一次匹配成功。
此算法有两个特点,一是扫描文本时完全不需要回溯,另一个是时间复杂度为0(n),时间复杂度与关键字的数目和长度无关。AC算法的匹配时间不会因为样本数量而延长,因此,匹配速度极快。
运用有限状态自动机进行模式匹配的过程实际上就是状态转换的处理过程,有限状态自动机中的转向函数指的就是一种状态之间的转向关系。
假设一组经分析获取的攻击特征为{she,he,his,hers},其构建的特征状态机如图2所示。
该算法优先按照图1中实线标注的状态转换路径进行转换,当所有实线标注的状态转换路径条件都不能满足时,再按照虚线的状态转换路径进行状态转换。
如图1所示:状态0时,当输入h,则转换到状态1;输入S,则转换到状态3;否则转换到状态0。可见,当状态转移到2、5、7、9等状态时,说明发生了模式匹配。
例如现有一个攻击包的负载为ushers,则输入状态机后,从状态0开始进行状态转换,具体的状态转换过程如图3所示,在状态5、2、9等状态时发生模式匹配,匹配的模式攻击特征有she、he、hers,则说明该数据包为攻击包,***对其进行相应的处理。需要说明的是,确定为攻击包的匹配成功的特征数量,可以根据实际需要进行设定,例如本实施例中,设定匹配成功三个特征才确定为攻击包。实践中为了进一步提高检测的准确性,也可以设定匹配成功2个特征即确定为可疑数据包,再进一步进行其他方式的检测确定出攻击包。
通过抓取足够数量的数据包进行分析,提取出该种攻击的攻击特征,并基于多模式匹配算法,建立不同种攻击特征的有限状态机作为过滤器,将待识别数据包输入所述过滤器,当再次收到攻击时,能够过滤出带有攻击特征的数据包,从而起到防御作用。相对于现有的特征匹配技术,本发明的基于多模式匹配算法的攻击识别方法,有利于提高入侵检测的效率和准确性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种网络攻击的识别方法,其特征在于,包括:
采集大于第一预设数量的已知攻击数据包;
分析计算,将各数据包负载中符合规定条件的公共子序列确定为攻击特征;
根据所述攻击特征,利用多模式匹配算法建立有限状态自动机;
提取待识别数据包的负载,输入所述有限状态自动机进行特征匹配,若匹配成功,则将数据包确定为攻击包,并执行预设的处理动作。
2.根据权利要求1所述的攻击识别方法,其特征在于,所述数据包负载的公共子序列,包括通过遍历前缀树的算法提取出的、出现频率大于预设阈值且长度大于规定值的字符串。
3.根据权利要求2所述的攻击识别方法,其特征在于,将各数据包负载的最长公共子序列确定为当前威胁的攻击特征。
4.根据权利要求3所述的攻击识别方法,其特征在于,若采集的各数据包负载具有2个以上最长公共子序列,将所述最长公共子序列作为特征集,建立对应的有限状态自动机;当待识别数据包输入状态机后匹配成功的特征数达到预设数量时,将当前数据包确定为攻击包。
5.根据权利要求1所述的攻击识别方法,其特征在于,当所述采集到的网络攻击数据包达到第二预设数量时,停止采集;所述第二预设数量大于第一预设数量。
6.根据权利要求5所述的攻击识别方法,其特征在于,当所述采集到的网络攻击数据包未达到第二预设数量时,判断当前采集时长,若达到预设时长则停止采集。
7.根据权利要求1所述的攻击识别方法,其特征在于,将所述攻击特征作为模式串,利用AC算法建立所述有限状态自动机。
8.根据权利要求1至7任一所述的攻击识别方法,其特征在于,所述的待识别数据包进行特征匹配,具体包括:将待识别数据包的负载内容作为主串,输入所述有限状态自动机,使自动机进行状态转换,当到达规定的状态时,说明发生模式匹配,将当前数据包确定为攻击包,并输出匹配成功的攻击特征内容。
9.根据权利要求1所述的攻击识别方法,其特征在于,所述确定攻击特征,具体包括:
S1,设定数据包采集的最大时长、最少数量和最多数量,提取字符串的最小出现频率与最小长度;
S2,当发现攻击时,开始采集数据包,若采集到的数据包数量≧所述最少数量,进行S4;若采集到的数据包≧所述最多数量,停止采集;
S3,若采集到的数据包数量<所述最少数量、同时采集时长≧所述最大时长时,停止采集并进行S4;
S4,根据预设的最小出现频率与最小长度,从所述采集到的数据包中提取字符串,以及确定其中的最长公共子序列为当前攻击的特征。
10.根据权利要求9所述的攻击识别方法,其特征在于,根据S1至S4所述,获取预设数量的不同种类攻击特征,使用AC算法建立有限状态机;以及持续的将新的攻击特征更新至所述有限状态机中。
CN202110122258.9A 2021-01-29 2021-01-29 一种网络攻击的识别方法 Pending CN112583859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110122258.9A CN112583859A (zh) 2021-01-29 2021-01-29 一种网络攻击的识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110122258.9A CN112583859A (zh) 2021-01-29 2021-01-29 一种网络攻击的识别方法

Publications (1)

Publication Number Publication Date
CN112583859A true CN112583859A (zh) 2021-03-30

Family

ID=75145348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110122258.9A Pending CN112583859A (zh) 2021-01-29 2021-01-29 一种网络攻击的识别方法

Country Status (1)

Country Link
CN (1) CN112583859A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285624A (zh) * 2021-12-21 2022-04-05 天翼云科技有限公司 攻击报文识别方法、装置、网络设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285624A (zh) * 2021-12-21 2022-04-05 天翼云科技有限公司 攻击报文识别方法、装置、网络设备和存储介质
CN114285624B (zh) * 2021-12-21 2024-05-24 天翼云科技有限公司 攻击报文识别方法、装置、网络设备和存储介质

Similar Documents

Publication Publication Date Title
JP6106340B2 (ja) ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム
US9990583B2 (en) Match engine for detection of multi-pattern rules
JP4940220B2 (ja) 異常動作検出装置及びプログラム
US11888874B2 (en) Label guided unsupervised learning based network-level application signature generation
US20120173702A1 (en) Automatic Signature Generation For Application Recognition And User Tracking Over Heterogeneous Networks
CN113452672B (zh) 基于协议逆向分析的电力物联网终端流量异常分析方法
EP3905084A1 (en) Method and device for detecting malware
Khan et al. Determining malicious executable distinguishing attributes and low-complexity detection
JP2019148882A (ja) トラヒック特徴情報抽出装置、トラヒック特徴情報抽出方法、及びトラヒック特徴情報抽出プログラム
CN112583859A (zh) 一种网络攻击的识别方法
CN103166942B (zh) 一种恶意代码的网络协议解析方法
Das et al. An efficient feature selection approach for intrusion detection system using decision tree
CN108959922B (zh) 一种基于贝叶斯网的恶意文档检测方法及装置
Muhaya et al. Polymorphic malware detection using hierarchical hidden markov model
KR20180070247A (ko) 네트워크 침입 탐지 규칙을 생성하는 방법 및 장치
Aldwairi et al. Bloom filters optimized Wu-Manber for intrusion detection
KR101621959B1 (ko) 로그패턴추출장치, 로그패턴분석장치 및 그 방법
CN112163217B (zh) 恶意软件变种识别方法、装置、设备及计算机存储介质
CN115102758A (zh) 异常网络流量的检测方法、装置、设备及存储介质
CN110135155B (zh) 一种基于模糊K近邻的Windows恶意软件识别方法
WO2020240718A1 (ja) 抽出装置、抽出方法及び抽出プログラム
Lai A feature selection for malicious detection
CN113691562B (zh) 一种精确识别恶意网络通讯的规则引擎实现方法
CN113381986B (zh) 网络安全扫描规则集的约减方法及装置
CN113032783B (zh) 一种基于非代码特征的病毒检测方法和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210330