一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

生成入侵检测规则的方法、装置、计算机设备及存储介质与流程

2022-07-30 08:14:53 来源:中国专利 TAG:


1.本发明涉及规则生成技术领域,尤其涉及一种生成入侵检测规则的方法、装置、计算机设备及存储介质。


背景技术:

2.入侵检测系统(intrusion detection system,ids)为保护计算机系统免于被窃取数据或恶意破坏计算机的重要技术,通过入侵检测系统搭配防火墙可有效防止来自于外部网络或内部网络的恶意入侵行为。其中,ids主要利用入侵检测规则(intrusion detection rules)过滤网络的恶意入侵行为。
3.相关技术中存在入侵检测规则生成效率低下,ids检测能力较低的问题。


技术实现要素:

4.有鉴于此,本发明提供一种生成入侵检测规则的方法、装置、计算机设备及存储介质,至少部分解决现有技术中存在的入侵检测规则生成效率低下,ids检测能力较低的问题。
5.根据本技术的第一个方面,提供了一种生成入侵检测规则的方法,包括:
6.获取使用目标通讯协议的恶意数据帧。
7.确定所述恶意数据帧的请求类型。
8.根据所述请求类型,获取所述恶意数据帧的通信特征数据。
9.根据所述通信特征数据,生成所述恶意数据帧对应的入侵检测规则。
10.作为本技术一种可能的实现方式,所述获取使用目标通讯协议的恶意数据帧,包括:
11.将数据包中使用所述目标通讯协议的数据帧确定为目标数据帧。
12.根据每一所述目标数据帧的域名,确定出恶意数据帧。
13.作为本技术一种可能的实现方式,在所述获取使用目标通讯协议的恶意数据帧之前,所述方法还包括:
14.获取数据包。
15.确定所述数据包的文件格式。
16.若所述文件格式为目标格式,则将数据包中使用所述目标通讯协议的数据帧确定为目标数据帧。
17.作为本技术一种可能的实现方式,将数据包中使用目标通讯协议的数据帧确定为目标数据帧,包括:
18.获取所述数据包中每一数据帧的设定字段的第一内容。
19.根据每一所述数据帧对应的所述第一内容,确定每一所述数据帧对应的通讯协议。
20.将所述通讯协议为所述目标通讯协议的数据帧,确定为目标数据帧。
21.作为本技术一种可能的实现方式,所述确定所述恶意数据帧的请求类型,包括:
22.获取所述恶意数据帧的设定字段的第一内容。
23.根据所述第一内容,确定所述恶意数据帧对应的所述请求类型。
24.作为本技术一种可能的实现方式,所述根据所述请求类型,获取所述恶意数据帧的通信特征数据,包括:
25.根据所述请求类型,确定目标提取规则。
26.使用所述目标提取规则,对所述恶意数据帧进行信息提取,得到所述通信特征数据。
27.作为本技术一种可能的实现方式,所述根据所述通信特征数据,生成所述恶意数据帧对应的入侵检测规则,包括:
28.根据所述请求类型,确定目标规则模板。
29.根据所述通信特征数据和所述目标规则模板,生成所述恶意数据帧对应的入侵检测规则。
30.根据本技术的第二个方面,提供了一种生成入侵检测规则的装置,包括:
31.第一获取模块,用于获取使用目标通讯协议的恶意数据帧。
32.确定模块,用于确定所述恶意数据帧的请求类型。
33.第二获取模块,用于根据所述请求类型,获取所述恶意数据帧的通信特征数据。
34.生成模块,用于根据所述通信特征数据,生成所述恶意数据帧对应的入侵检测规则。
35.根据本技术的第三个方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的生成入侵检测规则的方法。
36.根据本技术的第四个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述的生成入侵检测规则的方法。
37.本公开的实施例提供的技术方案可以包括以下有益效果:
38.现有技术中通常通过人工对恶意数据帧进行多维度分析后确定出对应的入侵检测规则,其中,对于一些具有固定通信特征数据的恶意数据帧同样要反复经过人工分析后才能确定入侵检测规则,由此,由于存在大量的简单重复工作,进而降低了入侵检测规则的生成效率。
39.相较于现有技术,本技术根据恶意数据帧对应的目标通信协议以及恶意数据帧对应的请求类型,可以快速确定出对应的通信特征数据,然后再根据对应的通信特征数据自动生成对应的入侵检测规则。通过本技术可以快速自动的生成满足条件的恶意数据帧的入侵检测规则。由此,提高了入侵检测规则的生成效率,进而也提高了ids的检测能力。
40.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
41.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
agent)的值的任意一项或其任意组合。用户代理的值为表示浏览器名称的字段内容。优选的,通信特征数据可以包括第一内容、请求路径、请求参数的种类以及请求路径和各种请求参数的顺序。更优选的通信特征数据可以包括第一内容、请求路径、请求参数的种类、请求路径和各种请求参数的顺序以及用户代理的值等。本实施中所述的请求参数的种类可以通过请求参数的名称来确定,也即,一个请求参数的名称对应为一个请求参数的种类。其中,用户代理对应字段中的内容能够识别出客户端使用的操作系统版本、cpu类型、浏览器名称、浏览器渲染引擎、浏览器语言、浏览器插件等内容。本实施例中,用户代理的值可以为浏览器的名称。由此,可以通过加入用户代理的值来使通信特征数据增加更多项的特征内容,进而也增加了对应的入侵检测规则中需要满足的条件的项数,最终可以提高入侵检测规则的检测准确性,降低误检率。
56.步骤s400:根据通信特征数据,生成恶意数据帧对应的入侵检测规则。
57.具体的,可以利用设置好的正则表达式将每一恶意数据帧对应的通信特征数据,快速提取出来,然后再根据提取出来的通信特征数据生成符合ids使用要求的入侵检测规则。
58.现有技术中通常通过人工对恶意数据帧进行多维度分析后确定出对应的入侵检测规则,其中,对于一些具有固定通信特征数据的恶意数据帧同样要反复经过人工分析后才能确定入侵检测规则,由此,由于存在大量的简单重复工作,进而降低了入侵检测规则的生成效率。
59.相较于现有技术,本技术根据恶意数据帧对应的目标通信协议以及恶意数据帧对应的请求类型,可以快速确定出对应的通信特征数据,然后再根据对应的通信特征数据自动生成对应的入侵检测规则。通过本技术可以快速自动的生成满足条件的恶意数据帧的入侵检测规则。由此,提高了入侵检测规则的生成效率,进而也提高了ids检测能力。
60.作为本技术一种可能的实现方式,步骤s300:根据请求类型,获取恶意数据帧的通信特征数据,包括:
61.步骤s301:根据请求类型,确定目标提取规则。
62.步骤s302:使用目标提取规则,对恶意数据帧进行信息提取,得到通信特征数据。
63.具体的,由于不同的请求类型对应的通信特征数据的放置位置存在不同,所以需要根据请求类型来确定具体的目标提取规则,由此可以提高提取出来的通信特征数据的正确性,进一步提高入侵检测规则的准确性。
64.以恶意数据帧的目标通讯协议为http,通信特征数据为请求路径、请求参数的种类以及请求路径与各种请求参数的顺序为例进行说明。
65.当请求类型为get请求时,在get请求中对应的统一资源定位系统(uniform resource locator,url)中,存在对应的请求路径以及请求参数的种类,由此,可以利用正则表达式将url中的通信特征数据提取出来。
66.当请求类型为post请求时,在post请求的url中存在对应的请求路径,在post请求的消息体部分中存在对应的请求参数的种类,由此,可以利用正则表达式分别将url以及消息体部分中的通信特征数据提取出来。
67.作为本技术一种可能的实现方式,步骤s100:获取使用目标通讯协议的恶意数据帧,包括:
68.步骤s101:将数据包中使用目标通讯协议的数据帧确定为目标数据帧。
69.步骤s102:根据每一目标数据帧的域名,确定出恶意数据帧。
70.具体的,在获得大量目标数据帧后,可以通过对应的目标通讯协议中的设定字段的第二内容来确定出对应的目标数据帧的域名。
71.以目标通讯协议为http举例说明,http中的host字段的值也即设定字段的第二内容,通过host字段的值即可对应查找到唯一对应的域名。
72.然后,将对应的目标数据帧的域名与域名数据库中的恶意域名进行一一对比,当目标数据帧的域名与任一恶意域名一致时,确定对应的目标数据帧为恶意数据帧。域名数据库可以使用现有的存放恶意域名的数据库。
73.作为本技术一种可能的实现方式,在步骤s100:获取使用目标通讯协议的恶意数据帧之前,方法还包括:
74.步骤s010:获取数据包。
75.步骤s020:确定数据包的文件格式。
76.步骤s030:若文件格式为目标格式,则将数据包中使用目标通讯协议的数据帧确定为目标数据帧。
77.具体的,本实施例中的目标格式为pcap格式。当数据包的文件头前四个字节的内容为'\xd4\xc3\xb2\xa1'时,则认为该数据包的文件格式符合pcap格式。
78.本实施例可以快速获取大量的数据包作为生成入侵检测规则的数据样本,由此,在具有大量数据样本的基础上可以快速生成大量的入侵检测规则,进而增强ids的检测能力。
79.作为本技术一种可能的实现方式,步骤s101:将数据包中使用目标通讯协议的数据帧确定为目标数据帧,包括:
80.步骤s1011:获取数据包中每一数据帧的设定字段的第一内容。
81.具体的,设定字段的第一内容可以确定出对应的数据帧使用的通讯协议的种类,在获取对应数据包每一数据帧的第一内容之前,需要将数据包中每一帧数据帧传输层中对应的内容也即设定字段的内容解析出来。以数据帧采用的通讯协议是http为例,对设定字段的内容的解析步骤如下:
82.步骤s010:判断数据包的文件格式是否符合pcap格式。当数据包的文件头前四个字节的内容为'\xd4\xc3\xb2\xa1'时,则认为该数据包的文件格式符合pcap格式。
83.步骤s020:按照pcap格式,读取每一数据帧的协议层中的以太网类型的值。具体的,如果以太网类型的值为0x0800,是则代表其网络层协议为ipv4协议。
84.步骤s030:读取数据帧的网络层协议类型的值。如果数据帧的网络层协议类型的值为6,则表示数据帧对应的传输层协议为tcp协议。
85.步骤s040:读取数据帧传输层的数据内容。如果数据帧传输层的数据内容的开头为“get”或“post”,也即设定字段的第一内容为“get”或“post”,则表示该数据帧应用层使用的为http协议。
86.步骤s1012:根据每一数据帧对应的第一内容,确定每一数据帧对应的通讯协议。
87.步骤s1013:将通讯协议为目标通讯协议的数据帧,确定为目标数据帧。
88.作为本技术一种可能的实现方式,步骤s200:确定恶意数据帧的请求类型,包括:
89.步骤s201:获取恶意数据帧的设定字段的第一内容。
90.步骤s202:根据第一内容,确定恶意数据帧对应的请求类型。
91.具体的,第一内容为表示对应的目标通讯协议中的请求类型,由此,设定字段的第一内容设置为用于表示对应的通讯协议的请求类型,不仅可以根据第一内容确定出数据帧对应的通信协议的类型,还可以确定出请求类型。通过一个字段的内容可以同时确定出通信协议的类型以及请求类型,由此,可以节省操作步骤,也可以减少数据处理量。
92.作为本技术一种可能的实现方式,步骤s400:根据通信特征数据,生成恶意数据帧对应的入侵检测规则,包括:
93.步骤s401:根据请求类型,确定目标规则模板。
94.步骤s402:根据通信特征数据和目标规则模板,生成恶意数据帧对应的入侵检测规则。
95.具体的,对应不同的请求类型提前设置不同的目标规则模板,由此,可以将不同请求类型的恶意数据帧的通信特征数据,一一填入对应的目标规则模板中,进而生成恶意数据帧对应的入侵检测规则。
96.以恶意数据帧的目标通讯协议为http,通信特征数据为请求路径、请求参数的种类以及请求路径与各种请求参数的顺序为例进行说明。
97.当请求类型为get或post请求时,利用正则表达式识别url中的请求路径、请求参数的种类以及请求路径与各种请求参数的顺序作为通信特征数据。
98.例如:恶意数据帧内容url部分如下:
99.get/addrec.php?apikey=jdpr_apikey&compuser=tequilaboomboom|jan ettedoe&sid=mzofalzyn7rzvime&phase=start http/1.0。
100.则可利用正则表达式re.search('/([a-za-z0-9\_\.] )\?',url的值)提取请求路径addrec.php,利用正则表达式re.search('\?([a-za-z0-9\_] )\=',url的值)提取url中的第一个参数名称apikey,利用正则表达式re.findall(r'&([a-za-z0-9\_] )\=',url的值)提取url中的剩余参数名称compuser、sid、phase。此处使用的正则表达式库为re库,其它库的使用方法会与re库会有区别,此处只是示例。
[0101]
其对应的目标规则模板为:
[0102]
alerttcp any any-》any any(content:"第一内容/请求路径";content:"第一个请求参数的名称=";content:"&第二个请求参数的名称=";...content:"&最后一个请求参数的名称=";)。
[0103]
根据以上通信特征数据和目标规则模板,确定出符合ids规定的语法的snort入侵检测规则。具体如下:
[0104]
alert tcp any any-》any any(content:"get/adderc.php";content:"apikey=";content:"&compuser=";content:"&sid=";content:"&phase=";)。
[0105]
其中:tcp为传输层的通信协议名称;any any-》any any表示任一源ip和源端口发送至任一目标ip和目标端口。
[0106]
当请求类型为post请求,例如恶意数据帧内容如下:
[0107]
url部分为:post/s1/gate.php,
[0108]
消息体部分为:
[0109]
guid=7816136667397816328&build=&info=tequilaboomboom@tequilaboomboom\janettedoe&ip=91.121.71.92&type=1&win=5.1(x32)。
[0110]
同理,确定出符合ids规定的语法的snort入侵检测规则。具体如下:
[0111]
alert tcp any any-》any any(content:"post/sl/gate.php";content:"guid=";content:"&build=";content:"&info=";content:"&ip=";content:"&type=";content:"&win=";)。
[0112]
当以用户代理的值和第一内容作为通信特征数据时,其对应的目标规则模板为:alert tcp any any-》any any(content:"第一内容";content:"user-agent:用户代理的值";)。
[0113]
例如恶意数据帧的内容如下:
[0114]
get/10h8e.jpeg http/1.1
[0115]
host:iplogger.ru
[0116]
user-agent:buran。
[0117]
同理,确定出符合ids规定的语法的snort入侵检测规则。具体如下:
[0118]
alert tcp any any-》any any(content:"get";content:"user-agent:buran";)。
[0119]
通常当恶意数据帧中使用的用户代理的值为不常见的值时,会将用户代理作为通信特征数据。
[0120]
确定用户代理的值为不常见的值的步骤如下:
[0121]
步骤s4021:建立常见用户代理值的数据库。具体的,可以在数据中存放现有的大量常见的用户代理的值,来提高后续匹配的准确性。常见的用户代理的值如mozilla、windows nt、opera、firefox、ie等现有的浏览器在用户代理中对应的名称。
[0122]
步骤s4022:将恶意数据帧中使用的用户代理的值与常见用户代理值的数据库中的每一用户代理的值进行匹配。
[0123]
步骤s4023:当恶意数据帧中使用的用户代理的值的匹配结果为无,则认为该用户代理的值为不常见的值。
[0124]
根据本技术的第二个方面,如图2所示,提供了一种生成入侵检测规则的装置,包括:
[0125]
第一获取模块,用于获取使用目标通讯协议的恶意数据帧。
[0126]
确定模块,用于确定恶意数据帧的请求类型。
[0127]
第二获取模块,用于根据请求类型,获取恶意数据帧的通信特征数据。
[0128]
生成模块,用于根据通信特征数据,生成恶意数据帧对应的入侵检测规则。
[0129]
根据本技术的第三个方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现的生成入侵检测规则的方法。
[0130]
根据本技术的第四个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现的生成入侵检测规则的方法。
[0131]
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要
求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0132]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
[0133]
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0134]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0135]
根据本发明的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0136]
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。
[0137]
其中,储存器存储有程序代码,程序代码可以被处理器执行,使得处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0138]
储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(ram)和/或高速缓存储存器,还可以进一步包括只读储存器(rom)。
[0139]
储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0140]
总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0141]
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0142]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失
性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0143]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0144]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0145]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0146]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0147]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0148]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0149]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0150]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献