CN113067743A - 流规则提取方法、装置、系统及存储介质 - Google Patents

流规则提取方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN113067743A
CN113067743A CN202010002892.4A CN202010002892A CN113067743A CN 113067743 A CN113067743 A CN 113067743A CN 202010002892 A CN202010002892 A CN 202010002892A CN 113067743 A CN113067743 A CN 113067743A
Authority
CN
China
Prior art keywords
flow
software
rule
packet
matching
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.)
Granted
Application number
CN202010002892.4A
Other languages
English (en)
Other versions
CN113067743B (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.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
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 China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010002892.4A priority Critical patent/CN113067743B/zh
Publication of CN113067743A publication Critical patent/CN113067743A/zh
Application granted granted Critical
Publication of CN113067743B publication Critical patent/CN113067743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种流规则提取方法、装置、系统及存储介质。其中,所述方法包括:获取存在版本更新的软件的属性信息;基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包;基于规则库对所述流量包进行深度报文检测,得到检测结果;对所述检测结果中匹配失败的流量包提取流规则,利用提取出的流规则更新所述规则库。本发明实施例可以利用提取的流规则自动丰富规则库,使得规则库能够全面覆盖版本更新后的软件的网络流量,提高了流规则匹配的准确度。

Description

流规则提取方法、装置、系统及存储介质
技术领域
本发明涉及流量检测领域,尤其涉及一种流规则提取方法、装置、系统及存储介质。
背景技术
相关技术中,为了对网络流量进行检测分析,往往采用深度报文检测(DeepPacket Inspection,DPI)设备对网络的关键点处的网络流量和报文内容进行检测分析,该设备可以根据事先定义的流规则对网络流量进行过滤识别,能完成所在链路的业务精细化识别、业务流量流向分析、业务流量占比统计等功能。
作为DPI设备检测流量的标准,流规则对DPI设备来说至关重要,是DPI设备能否有效工作的基础。作为被检测对象的网络流量来说,网络流量的特征千变万化,并且不同版本的软件(app),对应的网络流量特征有可能完全不同,如果要使DPI设备具有较高的准确度,这就需要流规则能全面覆盖app的所有流量特征,且特征需要准确,否则会发生误判,导致匹配率低。
发明内容
有鉴于此,本发明实施例提供了一种流规则提取方法、装置、系统及存储介质,旨在提高流规则匹配的准确度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种流规则提取方法,包括:
获取存在版本更新的软件的属性信息;
基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包;
基于规则库对所述流量包进行深度报文检测,得到检测结果;
对所述检测结果中匹配失败的流量包提取流规则,利用提取出的流规则更新所述规则库。
本发明实施例还提供了一种流规则提取装置,包括:
获取模块,用于获取存在版本更新的软件的属性信息;
拨测模块,用于基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包;
检测模块,用于基于初始规则库对所述流量包进行深度报文检测,得到检测结果;
流规则提取模块,用于对所述检测结果中匹配失败的流量包提取流规则,利用提取出的流规则更新所述初始规则库。
本发明实施例又提供了一种流规则提取系统,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行本发明任一实施例所述方法的步骤。
本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明任一实施例所述方法的步骤。
本发明实施例提供的技术方案,通过对存在版本更新的软件进行拨测,获取拨测过程中的流量包,基于规则库对所述流量包进行深度报文检测,得到检测结果;对所述检测结果中匹配失败的流量包提取流规则,可以利用提取的流规则自动丰富规则库,使得规则库能够全面覆盖版本更新后的软件的网络流量,提高了流规则匹配的准确度。
附图说明
图1为本发明实施例流规则提取方法的流程示意图;
图2为本发明应用实施例流规则提取系统的结构示意图;
图3为本发明实施例流规则提取装置的结构示意图;
图4为本发明实施例流规则提取系统的结构示意图。
具体实施方式
下面结合附图及实施例对本发明再作进一步详细的描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
相关技术中,用于DPI设备检测流量的规则库中的流规则往往无法全面覆盖app的所有流量特征,且流量特征的提取效率难以适配app的更新频率,导致流规则匹配的准确度有待提高。
基于此,在本发明的各种实施例中,通过对存在版本更新的软件进行拨测,获取拨测过程中的流量包,基于规则库对所述流量包进行深度报文检测,得到检测结果;对所述检测结果中匹配失败的流量包提取流规则。可以利用提取的流规则自动丰富规则库,使得规则库能够全面覆盖版本更新后的软件的网络流量,提高了流规则匹配的准确度。
本发明实施例提供了一种流规则提取方法,应用于流规则提取系统,如图1所示,该方法包括:
步骤101,获取存在版本更新的软件的属性信息;
流规则提取系统获取存在版本更新的软件的属性信息。这里,可以通过访问软件应用数据库(比如,app应用商店),获取软件的当前版本信息;根据软件的当前版本信息与存储的软件的版本信息进行比对,若存在版本更新,则记录所述软件的属性信息,所述属性信息至少包括:软件包下载地址。
实际应用中,可以定时访问应用商店中,获取各app的当前版本信息,根据app的当前版本信息与数据库中存储的相应app的版本信息进行比对,确定存在版本更新时,生成相应app的属性信息。这里,该属性信息可以包括:app名称、app版本号信息、app版本大小、应用商店信息、app包下载地址等。
步骤102,基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包;
这里,流规则提取系统基于所述属性信息中的软件包下载地址下载新版本的所述软件,并将新版本的所述软件装载到软件模拟器;基于软件模拟器对新版本的所述软件进行拨测;对拨测过程中的流量包进行抓取,得到拨测过程中的流量包。
可以理解的是,软件模拟器可以模拟软件运行,该软件模拟器可以为android模拟器。在对软件进行拨测过程中,软件模拟器可以运行软件中各个访问链接,流规则提取系统可以通过流量包抓取工具,比如,winshark、sniffer等对自动拨测过程中产生的app的流量包进行抓包,得到拨测过程中的流量包。
步骤103,基于规则库对所述流量包进行深度报文检测,得到检测结果;
流规则提取系统基于规则库对软件拨测过程中的流量包进行深度报文检测(DPI),具体地,可以对软件拨测过程中的流量包中的每个流量包基于规则库中的流规则进行匹配,若匹配成功,则每个匹配成功的流量包生成一条XDR(External DataRepresentation,外部数据表示)数据,以反映该条流量包的详细信息。若匹配失败,则表明规则库中没有用于识别该流量包的流规则,可以对匹配失败的流量包进行标识。这里,流量包可以为基于五元组的消息流。
在一应用示例中,XDR数据包括:业务识别字段、数据类型及流量包的长度。若匹配成功,则XDR数据中的业务识别字段为匹配的识别结果,若匹配失败,则该业务识别字段为空。这样,可以通过XDR数据中的业务识别字段来确定匹配失败的流量包。
步骤104,对所述检测结果中匹配失败的流量包提取流规则,利用提取出的流规则更新所述规则库。
这里,流规则提取系统将XDR数据中的业务识别字段为空的流量包确定为匹配失败的流量包。对匹配失败的流量包提取流规则,并利用提取出的流规则来更新所述规则库。
可以理解的是,初始的规则库可以为空文件或者已经存在部分流规则的规则库文件。对匹配失败的流量包提取出流规则后,将提取出的流规则加入规则库,以形成更新后的规则库。更新后的规则库,由于具有更为丰富的流规则,可以提高流规则匹配的准确度。
为了使得规则库中的流规则能够满足相应app流量的识别成功率的要求,在一实施例中,所述方法还包括:
对所述软件进行重新拨测,获取重新拨测过程中的流量包;
基于更新后的规则库对重新拨测过程中的流量包进行深度报文检测,若检测结果未达到设定的识别成功率,则继续对匹配失败的流量包提取流规则,并利用提取出的流规则更新规则库,直至检测结果达到设定的识别成功率,得到最终的规则库。
这里,流规则提取系统基于软件模拟器对所述软件进行重新拨测,并流量包抓取工具获取重新拨测过程中的流量包;基于上次更新后的规则库对重新拨测过程中的流量包进行深度报文检测,若检测结果未达到设定的识别成功率(比如,95%),则继续对匹配失败的流量包提取流规则,并利用提取出的流规则重新更新规则库,直至深度报文检测的检测结果达到设定的识别成功率,则终止对规则库的更新,得到最终的规则库。这样,可以确保更新后的规则库能够满足版本升级后的软件的流量特征的覆盖需求。
在一实施例中,所述对所述检测结果中匹配失败的流量包提取流规则,包括以下至少之一:
基于协议特征对所述匹配失败的流量包提取流规则;
基于有效载荷(paylaod)特征对所述匹配失败的流量包提取流规则。
这里,协议特征可以是url(Uniform Resource Locator,统一资源定位符)、referUrl(引用url)、Host User-Agent等协议特征。paylaod特征可以是TCP(TransmissionControl Protocol,传输控制协议)或者UDP(User Datagram Protocol,用户数据报协议)报文的paylaod特征。
在一实施例中,所述基于协议特征对所述匹配失败的流量包提取流规则,包括:
针对所述匹配失败的流量包中的每个流量包,提取相应流量包对应的协议特征;
对提取的各协议特征根据分隔符进行拆解,得到各协议拆特征解后的字符串;
遍历各协议特征拆解后的字符串,确定提取的所有协议特征中拆解的字符串的数量最小的数值;
确定所有协议特征中相同位置存在相同字符串的概率达到设定概率的匹配字符串,所述匹配字符串包括一个或者多个字符串,所述匹配字符串中字符串的数量小于或等于所述数值;
根据所述匹配字符串生成相应的流规则。
这样,可以对匹配失败的流量包的url、referUrl、Host User-Agent等协议特征根据分隔符进行拆解后的字符串为单位来生成相应的流规则,流规则的生成效率高。
在一实施例中,所述根据所述匹配字符串生成相应的流规则,包括:
若所述匹配字符串包括一个或者多个连续的字符串,则根据所述一个或者多个连续的字符串,生成一条流规则;或者,
若所述匹配字符串包括至少部分非连续的字符串,则对所述匹配字符串在非连续的字符串之间添加通配符,生成一条流规则。
这里,对于至少部分非连续的字符串,可以包括两种情形,一种是匹配字符串中的所有字符串均不连续,则在各字符串之间添加通配符,生成一条流规则;另一种是匹配字符串中存在部分连续的字符串,则仅在非连续的字符串之间添加通配符,生成一条流规则。
在一实施例中,所述基于paylaod特征对所述匹配失败的流量包提取流规则,包括:
对所述匹配失败的流量包中每个流量包,提取相应流量包对应的paylaod;
对提取的各paylaod根据包长度进行分类;
以设定数量个字节为窗口,对分类后的paylaod按所述窗口进行取值,得到各paylaod对应的取值集合;
确定同一分类中各paylaod的取值集合内在相同位置存在相同取值的概率达到设定概率的取值子集;
根据所述取值子集生成相应的流规则。
这样,可以对匹配失败的流量包的TCP或者UDP报文的paylaod特征进行提取,生成相应的流规则。且通过对paylaod特征基于包长度进行分类,可以对不同类别的paylaod特征基于相应的窗口进行取值,进而生成相应的流规则,可以提高流规则的生成效率。
下面结合应用实施例对本发明再作进一步详细的描述。
如图2所示,本应用实施例中,流规则提取系统包括:探针系统、装载拨测系统和流解析系统,其中,探针系统包括:探针模块和数据库;装载拨测系统包括装载拨测模块和文件存储服务器;流解析系统包括流解析模块和规则库。
结合图2所示的流规则提取系统,本应用实施例的流规则提取方法包括以下步骤:
步骤1:探针模块连接应用商店,定时检测应用商店中app的版本更新情况。
步骤2:探针模块将当前获取的app版本情况发送到本地的数据库存储。
步骤3:探针模块从本地的数据库中获取app的旧版本信息,并做比对分析。
这里,app的旧版本信息为上次存储的app的版本信息,可以通过比对分析,判断出存在版本更新的app。
步骤4:探针模块确定app版本有更新,探针模块将app版本更新的消息发送到装载拨测模块,该消息包括:消息类型、消息编号、版本更新标记、app名称、app版本号信息、app版本大小、应用商店信息、app包下载链接。
步骤5:装载拨测模块向探针模块发送更新应答消息,以结束对话。
这里,更新应答消息包括:消息类型、更新消息的消息编号、结束对话标记。
步骤6:根据探针模块发送的消息,装载拨测模块从应用商店下载对应的app版本,并装载到本地app模拟器。
这里,app模拟器可采用android模拟器,可模拟app程序运行。
步骤7:app版本在app模拟器上安装完成后,装载拨测模块对新版本的app进行自动拨测,拨测覆盖app的每一个链接。
这里,拨测过程中,app从app服务器上获取相应的数据。
步骤8:装载拨测模块调用winshark或者TCP/IP库对自动拨测过程中产生的app的流量包进行抓包,并将流量文件存储到文件存储服务器。
步骤9:装载拨测模块拨测完成后,发送拨测完成消息到流解析模块。
这里,拨测完成消息信息包括:消息类型、消息编号、拨测完成标记、app名称信息、app版本详细、文件存储服务器文件路径信息、文件信息列表。
步骤10:流解析模块向装载拨测模块发送拨测完成的应答消息。
这里,应答消息包括:拨测完成消息编号、对话结束标记。
步骤11:流解析模块根据拨测完成消息的内容从文件存储服务器获取对应的流量文件。
这里,流解析模块可以基于FTP(File Transfer Protocol,文件传输协议)获取文件存储服务器中对应的流量文件。
步骤12:流量文件获取完成后,流解析模块加载初始规则库作为解析的前提条件。
这里,初始规则库可以为空文件或者已经存在部分规则的规则库文件。
步骤13:流解析模块根据每一组五元组解析出对应的消息流(即流量包),并与初始规则库匹配,匹配成功则生成对应消息流的XDR,XDR对应的业务识别字段为匹配的识别结果,匹配失败则标记出该流,表明规则库中没有该消息流的规则,同时生成的XDR对应的业务识别字段为空。
步骤14:流解析模块根据检测的XDR文件,将匹配失败的数据流检测出。
步骤15:将匹配失败的数据流进行流规则提取,将提取出的流规则加入初始规则库,形成更新后的规则库,该更新后的规则库将作为下一次迭代输入。
步骤16:以更新后的规则库作为下一次迭代的规则库,重新执行步骤7到步骤16,直到该app的所有数据流的识别结果大于给定的识别成功率(比如99%),则生成的规则库为最终规则库。
这里,对于步骤15中流规则提取的方法,具体如下:
流规则提取分为两种类型:第一种类型是基于url、referUrl、Host User-Agent等协议特征提取流规则;第二种类型是基于TCP或者UDP报文的paylaod特征提取流规则。
下面以url为例,描述第一种类型提取流规则的方法,具体包括:
步骤15-1:遍历所有的匹配失败的数据流,取出所有数据流的url,这些url的集合设为R,假设该集合中有n个url,第i个url记为url[i],i=[1…,n]。
步骤15-2:对所有的url根据资源路径分隔符“/”进行拆解,其中url[i]可分解为Mi个子字符串,假设拆解后第x位置上的子字符串为P[i](x),x=[1,2,…,Mi],分解后得到以下结果:
url[1]=P[1](1)+…+P[1](M1)
url[2]=P[2](1)+…+P[2](M2)
url[n-1]=P[n-1](1)+…+P[n-1](M(n-1))
url[n]=P[n](1)+…+P[n](Mn)
步骤15-3:遍历所有的子字符串P[i](x)。
步骤15-4:从所有的url中取拆解后字符串的数量最小的值Mmin为最大判断长度,依次减小到1。
步骤15-5:如果存在连续的位置集合A,对于集合A中所有的位置的存在相同的字符串的比例大于判定识别标准(如99%),则位置集合A中的字符为一条识别规则。
步骤15-6:如果存在不连续的位置集合B,对于集合B中所有的位置的存在相同的字符串的比例大于判定识别标准,则位置集合B中的字符串为一条识别规则,间隔位置采用通配符代替。
步骤15-7:如果存在连续的位置集合C和不连续的集合D,对于集合C+D中所有的位置的存在相同的字符串的比例大于判定识别标准,则位置集合C+D中的字符串为一条识别规则,间隔位置采用通配符代替。
步骤15-8:对于其他类似识别字段,如referUrl、Host User-Agent等,做相同的查找,提取对应的识别规则,形成新的规则库。
对于基于TCP或UDP报文的paylaod特征提取流规则,包括以下步骤:
步骤15-9:遍历所有匹配失败的数据流,取出所有数据流的TCP或者UDP报文的paylaod特征。
步骤15-10:将所有的paylaod特征根据包长度L进行梯度分类。
在一示例中,可以将paylaod特征根据包长度L分为以下四类:0<L<=100、100<L<=500、500<L<=1000、L>1000。
步骤15-11:选出0<L<=100类别的所有paylaod特征,设为集合Z。
步骤15-12:对于集合Z中的第i个paylaod设为z[i],对z[i]以10个字节为窗口进行滑动取值,共Mi个窗口,设滑动的第x个窗口取值集合为W[i](x)。
则z[1]=W[1](1)+W[1](2)+…W[1](M1)
z[2]=W[2](1)+W[2](2)+…W[2](M2)
依次类推。
步骤15-13:如果对于集合Z中存在一个窗口集合X,设集合X取值为[x1,x2…xn],
对于x1来说,每个窗口取值集合W[1](x1)、W[2](x1)…,在这些窗口取值中,如果存在位置子集合Px1,这些位置上的取值可以覆盖满足识别标准,则记录下Px1以及对应的值。
依次查找对于的x2、…、xn的位置子集合Px2、…、Pxn,以及对应的值。
步骤15-14,以Px1….Pxn,以及对于位置上的值,构成一条流规则。
步骤15-15:依次对100<L<=500、500<L<=1000、L>1000,重复步骤15-11到步骤15-14,查找出所有的流规则,形成新的规则库。
为了实现本发明实施例的方法,本发明实施例还提供一种流规则提取装置,如图3所示,该装置包括:获取模块301、拨测模块302、检测模块303及流规则提取模块304。
获取模块301,用于获取存在版本更新的软件的属性信息;
拨测模块302,用于基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包;
检测模块303,用于基于初始规则库对所述流量包进行深度报文检测,得到检测结果;
流规则提取模块304,用于对所述检测结果中匹配失败的流量包提取流规则,利用提取出的流规则更新所述初始规则库。
可以理解的是,获取模块301对应于上述的探针系统,拨测模块302对应于上述的装载拨测系统,检测模块303和流规则提取模块304对应于上述的流解析系统。需要说明的是,上述各模块的划分仅为举例,实际应用中,可以将上述处理分配由不同的程序模块完成。此外,各模块在硬件上的布置方式亦可以不限于上述的探针系统、装载拨测系统及流解析系统,比如还可以将各模块布置在同一或者不同系统中。
在一实施例中,所述检测模块303还用于对所述软件进行重新拨测,获取重新拨测过程中的流量包;所述检测模块303还用于基于更新后的规则库对重新拨测过程中的流量包进行深度报文检测,若检测结果未达到设定的识别成功率,所述流规则提取模块304继续对匹配失败的流量包提取流规则,并利用提取出的流规则更新规则库。当所述检测模块303确定检测结果达到设定的识别成功率时,终止流规则提取模块304的运行,得到最终的规则库。
在一实施例中,流规则提取模块304用于以下至少之一:
基于协议特征对所述匹配失败的流量包提取流规则;
基于有效载荷paylaod特征对所述匹配失败的流量包提取流规则。
在一实施例中,流规则提取模块304基于协议特征对所述匹配失败的流量包提取流规则,具体用于:
针对所述匹配失败的流量包中的每个流量包,提取相应流量包对应的协议特征;
对提取的各协议特征根据分隔符进行拆解,得到各协议拆特征解后的字符串;
遍历各协议特征拆解后的字符串,确定提取的所有协议特征中拆解的字符串的数量最小的数值;
确定所有协议特征中相同位置存在相同字符串的概率达到设定概率的匹配字符串,所述匹配字符串包括一个或者多个字符串,所述匹配字符串中字符串的数量小于或等于所述数值;
根据所述匹配字符串生成相应的流规则。
在一实施例中,流规则提取模块304根据所述匹配字符串生成相应的流规则,具体用于:
若所述匹配字符串包括一个或者多个连续的字符串,则根据所述一个或者多个连续的字符串,生成一条流规则;或者,
若所述匹配字符串包括至少部分非连续的字符串,则对所述匹配字符串在非连续的字符串之间添加通配符,生成一条流规则。
在一实施例中,流规则提取模块304基于paylaod特征对所述匹配失败的流量包提取流规则,具体用于:
对所述匹配失败的流量包中每个流量包,提取相应流量包对应的paylaod;
对提取的各paylaod根据包长度进行分类;
以设定数量个字节为窗口,对分类后的paylaod按所述窗口进行取值,得到各paylaod对应的取值集合;
确定同一分类中各paylaod的取值集合内在相同位置存在相同取值的概率达到设定概率的取值子集;
根据所述取值子集生成相应的流规则。
在一实施例中,获取模块301具体用于:
访问软件应用数据库,获取软件的当前版本信息;
根据软件的当前版本信息与存储的软件的版本信息进行比对,若存在版本更新,则记录所述软件的属性信息,所述属性信息至少包括:软件包下载地址。
在一实施例中,拨测模块302具体用于:
基于所述属性信息中的软件包下载地址下载新版本的所述软件,并将新版本的所述软件装载到软件模拟器;
基于软件模拟器运行对新版本的所述软件进行拨测;
对拨测过程中的流量包进行抓取,得到拨测过程中的流量包。
实际应用时,获取模块301、拨测模块302、检测模块303及流规则提取模块304,可以由流规则提取装置中的处理器来实现。当然,处理器需要运行存储器中的计算机程序来实现它的功能。
需要说明的是:上述实施例提供的流规则提取装置在进行流规则提取时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的流规则提取装置与流规则提取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供一种流规则提取系统。图4仅仅示出了该流规则提取系统的示例性结构而非全部结构,根据需要可以实施图4示出的部分结构或全部结构。
如图4所示,本发明实施例提供的流规则提取系统400包括:至少一个处理器401、存储器402和至少一个网络接口403。流规则提取系统400中的各个组件通过总线系统404耦合在一起。可以理解,总线系统404用于实现这些组件之间的连接通信。总线系统404除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统404。
本发明实施例中的存储器402用于存储各种类型的数据以支持流规则提取系统的操作。这些数据的示例包括:用于在流规则提取系统上操作的任何计算机程序。
本发明实施例揭示的流规则提取方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,流规则提取方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器401可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器402,处理器401读取存储器402中的信息,结合其硬件完成本发明实施例提供的流规则提取方法的步骤。
在示例性实施例中,流规则提取系统可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,存储器402可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体可以是计算机可读存储介质,例如包括存储计算机程序的存储器402,上述计算机程序可由流规则提取系统的处理器401执行,以完成本发明实施例方法所述的步骤。计算机可读存储介质可以是ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种流规则提取方法,其特征在于,包括:
获取存在版本更新的软件的属性信息;
基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包;
基于规则库对所述流量包进行深度报文检测,得到检测结果;
对所述检测结果中匹配失败的流量包提取流规则,利用提取出的流规则更新所述规则库。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述软件进行重新拨测,获取重新拨测过程中的流量包;
基于更新后的规则库对重新拨测过程中的流量包进行深度报文检测,若检测结果未达到设定的识别成功率,则继续对匹配失败的流量包提取流规则,并利用提取出的流规则更新规则库,直至检测结果达到设定的识别成功率,得到最终的规则库。
3.根据权利要求1所述的方法,其特征在于,所述对所述检测结果中匹配失败的流量包提取流规则,包括以下至少之一:
基于协议特征对所述匹配失败的流量包提取流规则;
基于有效载荷paylaod特征对所述匹配失败的流量包提取流规则。
4.根据权利要求3所述的方法,其特征在于,所述基于协议特征对所述匹配失败的流量包提取流规则,包括:
针对所述匹配失败的流量包中的每个流量包,提取相应流量包对应的协议特征;
对提取的各协议特征根据分隔符进行拆解,得到各协议拆特征解后的字符串;
遍历各协议特征拆解后的字符串,确定提取的所有协议特征中拆解的字符串的数量最小的数值;
确定所有协议特征中相同位置存在相同字符串的概率达到设定概率的匹配字符串,所述匹配字符串包括一个或者多个字符串,所述匹配字符串中字符串的数量小于或等于所述数值;
根据所述匹配字符串生成相应的流规则。
5.根据权利要求4所述的方法,其特征在于,所述根据所述匹配字符串生成相应的流规则,包括:
若所述匹配字符串包括一个或者多个连续的字符串,则根据所述一个或者多个连续的字符串,生成一条流规则;或者,
若所述匹配字符串包括至少部分非连续的字符串,则对所述匹配字符串在非连续的字符串之间添加通配符,生成一条流规则。
6.根据权利要求3所述的方法,其特征在于,所述基于paylaod特征对所述匹配失败的流量包提取流规则,包括:
对所述匹配失败的流量包中每个流量包,提取相应流量包对应的paylaod;
对提取的各paylaod根据包长度进行分类;
以设定数量个字节为窗口,对分类后的paylaod按所述窗口进行取值,得到各paylaod对应的取值集合;
确定同一分类中各paylaod的取值集合内在相同位置存在相同取值的概率达到设定概率的取值子集;
根据所述取值子集生成相应的流规则。
7.根据权利要求1所述的方法,其特征在于,所述获取存在版本更新的软件的属性信息,包括:
访问软件应用数据库,获取软件的当前版本信息;
根据软件的当前版本信息与存储的软件的版本信息进行比对,若存在版本更新,则记录所述软件的属性信息,所述属性信息至少包括:软件包下载地址。
8.根据权利要求1所述的方法,其特征在于,所述基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包,包括:
基于所述属性信息中的软件包下载地址下载新版本的所述软件,并将新版本的所述软件装载到软件模拟器;
基于软件模拟器运行对新版本的所述软件进行拨测;
对拨测过程中的流量包进行抓取,得到拨测过程中的流量包。
9.一种流规则提取装置,其特征在于,包括:
获取模块,用于获取存在版本更新的软件的属性信息;
拨测模块,用于基于所述属性信息装载所述软件,对所述软件进行拨测,获取拨测过程中的流量包;
检测模块,用于基于初始规则库对所述流量包进行深度报文检测,得到检测结果;
流规则提取模块,用于对所述检测结果中匹配失败的流量包提取流规则,利用提取出的流规则更新所述初始规则库。
10.一种流规则提取系统,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
所述处理器,用于运行计算机程序时,执行权利要求1至8任一项所述方法的步骤。
11.一种存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至8任一项所述方法的步骤。
CN202010002892.4A 2020-01-02 2020-01-02 流规则提取方法、装置、系统及存储介质 Active CN113067743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010002892.4A CN113067743B (zh) 2020-01-02 2020-01-02 流规则提取方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010002892.4A CN113067743B (zh) 2020-01-02 2020-01-02 流规则提取方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113067743A true CN113067743A (zh) 2021-07-02
CN113067743B CN113067743B (zh) 2022-12-13

Family

ID=76558216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010002892.4A Active CN113067743B (zh) 2020-01-02 2020-01-02 流规则提取方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113067743B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113905411A (zh) * 2021-10-28 2022-01-07 中国联合网络通信集团有限公司 深度包检测识别规则的检测方法、装置、设备及存储介质
CN113965526A (zh) * 2021-09-18 2022-01-21 网宿科技股份有限公司 数据处理方法、电子设备及计算机可读存储介质
CN114157648A (zh) * 2021-11-30 2022-03-08 北京知道创宇信息技术股份有限公司 请求匹配规则生成方法及装置、网站服务器和存储介质
CN114520774A (zh) * 2021-12-28 2022-05-20 武汉虹旭信息技术有限责任公司 基于智能合约的深度报文检测方法及装置
CN114826956A (zh) * 2022-03-30 2022-07-29 杭州迪普科技股份有限公司 用于dpi测试设备的dpi策略库文件自动生成方法和装置
CN115022100A (zh) * 2022-08-10 2022-09-06 东南大学 一种基于流量画像与机器学习的物联网入侵检测方法
WO2023125427A1 (zh) * 2021-12-28 2023-07-06 中国移动通信有限公司研究院 随流检测方法、装置、网络设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045363A (zh) * 2010-12-31 2011-05-04 成都市华为赛门铁克科技有限公司 网络流量特征识别规则的建立方法、识别控制方法及装置
CN106301825A (zh) * 2015-05-18 2017-01-04 中兴通讯股份有限公司 Dpi规则的生成方法及装置
CN107404392A (zh) * 2016-05-20 2017-11-28 中兴通讯股份有限公司 统一资源定位符url的调度规则的处理方法及装置
CN107426059A (zh) * 2017-08-28 2017-12-01 上海国云信息科技有限公司 Dpi设备特征库自动更新方法、系统、dpi设备及云端服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045363A (zh) * 2010-12-31 2011-05-04 成都市华为赛门铁克科技有限公司 网络流量特征识别规则的建立方法、识别控制方法及装置
CN106301825A (zh) * 2015-05-18 2017-01-04 中兴通讯股份有限公司 Dpi规则的生成方法及装置
CN107404392A (zh) * 2016-05-20 2017-11-28 中兴通讯股份有限公司 统一资源定位符url的调度规则的处理方法及装置
CN107426059A (zh) * 2017-08-28 2017-12-01 上海国云信息科技有限公司 Dpi设备特征库自动更新方法、系统、dpi设备及云端服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姚龙: "基于SDN深度包检测技术研究", 《中国优秀硕士学位论文全文数据库》 *
王洪蕾,双凯,柴琦,王雪凤: "网络流量监控系统的概述与实现", 《电子设计工程》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965526A (zh) * 2021-09-18 2022-01-21 网宿科技股份有限公司 数据处理方法、电子设备及计算机可读存储介质
CN113905411A (zh) * 2021-10-28 2022-01-07 中国联合网络通信集团有限公司 深度包检测识别规则的检测方法、装置、设备及存储介质
CN113905411B (zh) * 2021-10-28 2023-05-02 中国联合网络通信集团有限公司 深度包检测识别规则的检测方法、装置、设备及存储介质
CN114157648A (zh) * 2021-11-30 2022-03-08 北京知道创宇信息技术股份有限公司 请求匹配规则生成方法及装置、网站服务器和存储介质
CN114157648B (zh) * 2021-11-30 2023-11-28 北京知道创宇信息技术股份有限公司 请求匹配规则生成方法及装置、网站服务器和存储介质
CN114520774A (zh) * 2021-12-28 2022-05-20 武汉虹旭信息技术有限责任公司 基于智能合约的深度报文检测方法及装置
WO2023125427A1 (zh) * 2021-12-28 2023-07-06 中国移动通信有限公司研究院 随流检测方法、装置、网络设备及存储介质
CN114520774B (zh) * 2021-12-28 2024-02-23 武汉虹旭信息技术有限责任公司 基于智能合约的深度报文检测方法及装置
CN114826956A (zh) * 2022-03-30 2022-07-29 杭州迪普科技股份有限公司 用于dpi测试设备的dpi策略库文件自动生成方法和装置
CN114826956B (zh) * 2022-03-30 2023-05-26 杭州迪普科技股份有限公司 用于dpi测试设备的dpi策略库文件自动生成方法和装置
CN115022100A (zh) * 2022-08-10 2022-09-06 东南大学 一种基于流量画像与机器学习的物联网入侵检测方法

Also Published As

Publication number Publication date
CN113067743B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
CN113067743B (zh) 流规则提取方法、装置、系统及存储介质
CN110324311B (zh) 漏洞检测的方法、装置、计算机设备和存储介质
Cui et al. Discoverer: Automatic Protocol Reverse Engineering from Network Traces.
KR101582601B1 (ko) 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법
CN110768875A (zh) 一种基于dns学习的应用识别方法及系统
CN107223257B (zh) 测试方法、测试服务器及系统
CN111884876A (zh) 一种网络协议的协议类型检测方法、装置、设备及介质
CN110287700B (zh) 一种iOS应用安全分析方法及装置
CN110134595B (zh) Svn资源库测试前的分析方法、装置、计算机设备
CN107888451B (zh) 一种Web服务器的测试方法及装置
CN112363904B (zh) log数据分析定位方法、装置及计算机可读存储介质
CN106802860B (zh) 无用类检测方法及装置
CN110244968B (zh) 充电站管理系统及方法
KR101625890B1 (ko) 인터넷 응용 트래픽 프로토콜의 시그니처 변경 탐지를 위한 테스트 자동화 방법 및 시스템
CN111966339A (zh) 埋点参数的录入方法、装置、计算机设备和存储介质
CN113297583B (zh) 漏洞风险分析方法、装置、设备及存储介质
CN113032836B (zh) 数据脱敏方法和装置
CN114579767A (zh) 因果关系抽取方法、装置、电子设备及可读存储介质
CN110377499B (zh) 一种对应用程序进行测试的方法及装置
CN109560964B (zh) 一种设备合规检查方法及装置
CN108881151B (zh) 一种无关节点确定方法、装置及电子设备
CN113055396B (zh) 一种跨终端溯源分析的方法、装置、系统和存储介质
KR101884529B1 (ko) 최신 네트워크 응용 분류를 위한 자동화 페이로드 시그니쳐 업데이트 시스템 및 방법
CN117076333B (zh) 一种基于脚本断点与浏览器自动化的漏洞验证方法
CN114070819B (zh) 恶意域名检测方法、设备、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant