报文查询方法、装置、电子设备及存储介质与流程

文档序号:31655740发布日期:2022-09-27 22:15阅读:112来源:国知局
报文查询方法、装置、电子设备及存储介质与流程

1.本技术涉及安全技术领域,具体而言,涉及一种报文查询方法、装置、电子设备及存储介质。


背景技术:

2.随着大数据时代的到来,网络安全态势感知成了抵御未知威胁的有效武器。为了进行安全防护,安全人员在查看攻击日志时,通常会分析整个攻击交互过程中的报文,以此来排查攻击来源以及攻击特征,目前的方式是安全人员对整个攻击交互过程中的报文进行一一筛选排查来进行分析,但是攻击日志中往往还包含有大量的正常报文,这些正常报文影响了安全人员的攻击分析效率。


技术实现要素:

3.本技术实施例的目的在于提供一种报文查询方法、装置、电子设备及存储介质,用以改善现有的方式影响攻击分析效率的问题。
4.第一方面,本技术实施例提供了一种报文查询方法,所述方法包括:
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.图1为本技术实施例提供的一种报文查询方法的流程图;
40.图2为本技术实施例提供的一种攻击过程产生的交互报文的示意图;
41.图3为本技术实施例提供的一种报文查询装置的结构框图;
42.图4为本技术实施例提供的一种用于执行报文查询方法的电子设备的结构示意图。
具体实施方式
43.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述。
44.需要说明的是,本发明实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
45.本技术实施例提供一种报文查询方法,该方法通过对攻击报文进行标识,在查找时,直接根据标识将报文查找出来,可实现对多个交互报文中的攻击报文进行准确定位,如此安全人员在进行攻击分析时,可快速查询得到攻击报文,提高攻击分析效率。
46.请参照图1,图1为本技术实施例提供的一种报文查询方法的流程图,该方法包括如下步骤:
47.步骤s110:从攻击报文文件中查找标识有包含攻击特征的目标攻击报文。
48.其中,攻击报文文件中存储有攻击过程中所产生的两个设备之间的多个交互报文,两个设备比如客户端与服务器,多个交互报文可以指客户端与服务器之间的交互报文,这些交互报文可能并不是每个报文都是攻击报文,比如有的报文是正常通信报文,但是其中某个报文是攻击报文。若检测设备在检测到客户端与服务器的某次交互过程中有攻击报文产生,则会将本次的所有交互报文生成攻击报文文件并存储在攻击日志中,以供后续安全人员进行攻击分析。
49.检测设备可以是指与流量转发设备(如交换机、路由器、分光器等)连接的设备,流量转发设备可将客户端与服务器之间的交互流量转发给检测设备,本技术中可不限定检测设备的类型,检测设备可通过网卡接收客户端与服务器之间的交互报文,并对交互报文进行攻击报文的识别。
50.对于攻击报文文件中的各个交互报文,如果某个交互报文包含有攻击特征,则可预先将该交互报文标识为攻击报文,这样后续安全人员在查找攻击报文进行攻击分析时,可以直接根据标识从攻击报文文件中快速查找得到相应的攻击报文。
51.步骤s120:输出目标攻击报文。
52.上述的目标攻击报文可以理解为是攻击报文文件中的其中一个包含攻击特征的攻击报文,也可以理解为是攻击报文文件中的包含攻击特征的所有攻击报文。也就是说,在查询时,可以将攻击报文文件中的其中一个攻击报文输出给安全人员,也可以将攻击报文文件中的所有攻击报文输出给安全人员,其可根据安全人员的需求进行选择。比如安全人员选择查询所有的攻击报文,则在查询时,将攻击报文文件中的所有攻击报文查询后输出给安全人员,若安全人员选择查询其中某个攻击报文,则可根据安全人员的查询请求查询该攻击报文后输出给安全人员。
53.可以理解地,攻击报文文件也有多个,每个攻击报文文件可以理解为是一次攻击过程中的多个交互报文所生成的文件,如果有多次攻击过程,则对应有多个攻击报文文件,所以安全人员在查询时,可以在客户端上选择需要查询的攻击报文文件的文件名,这样检测设备可根据文件名来定位到具体的攻击报文文件。当然,安全人员也可以一键查询所有的攻击报文文件中的攻击报文。
54.安全人员在获得攻击报文后,可对攻击报文进行相应的攻击分析,例如将攻击报文传输给分析设备,使得分析设备可根据攻击报文进行攻击溯源、攻击特征分析等,进而可为后续的攻击防护提供一定的参考。
55.在上述实现过程中,通过对攻击报文进行标识,在查找时,直接根据标识将报文查找出来,可实现对多个交互报文中的攻击报文进行准确定位,如此安全人员在进行攻击分析时,可快速查询得到攻击报文,提高攻击分析效率。
56.在上述实施例的基础上,为了便于安全人员知晓攻击报文在多个交互报文中的顺序,上述目标攻击报文的标识可以为目标攻击报文在多个交互报文中的索引,该索引表征目标攻击报文在多个交互报文中的报文传输顺序。
57.例如,以http交互为例,假设客户端与服务器之间的http交互是一次完整的攻击,如图2所示,若攻击特征为“get”,此时检测设备获得客户端与服务器之间的多个交互报文后,通过攻击特征分析,确定在多个交互报文中的第4个报文为包含该攻击特征的攻击报文,所以可以为该攻击报文添加索引为4,即将索引“4”作为该攻击报文的标识。而对于其他没有包含攻击特征的攻击报文,则不需要进行特殊标识,这样就可以根据索引来快速查找得到包含有攻击特征的攻击报文了,比如,检测设备可以筛选出有标识的报文,这些报文即为攻击报文。
58.这里的索引即是指攻击过程中的第几个交互报文包含有攻击特征,如此可便于后续安全人员查找得到攻击报文后,可根据其标识知晓该攻击报文是多个交互报文中的第几个报文,进而可以通过大量的攻击报文的标识来分析其攻击行为,以便于后续可以着重采取相应的措施进行处理,比如一般这些攻击报文经常出现在交互报文中的中间第4或5个报文,则可着重对这些报文进行攻击检测以及攻击防护等。
59.可以理解地,在实际应用中,对攻击报文进行标识的方式也不限于上述方式,也可以有其他特殊的标识方式,在此不一一列举说明。
60.在上述实现过程中,通过报文传输顺序作为索引来标识攻击报文,如此可便于安全人员知晓攻击报文在交互过程中的交互行为,有利于后续进行更全面的攻击行为分析。
61.在上述实施例的基础上,为了便于安全人员的分析,在输出目标攻击报文时,可以先获取目标攻击报文的报文特征信息,然后解析报文特征信息,获得报文特征信息中的攻击特征,获取攻击特征在报文特征信息中的位置偏移,然后根据位置偏移输出目标攻击报文。
62.这里的报文特征信息可以是指报文的五元组信息,或者是包含报文的五元组信息以及http url等信息。对目标攻击报文进行解析获得五元组信息的方式中,可使用相应的解析工具,如开源的tshark工具等,该工具支持将pcap文件解析并将解析结果以16进制字符串的形式输出。
63.如此可通过解析获取目标攻击报文中包含的攻击特征,如包含的攻击特征为上述
的“get”,则可获取该攻击特征在报文特征信息中的位置偏移,这里的位置偏移可以理解为是攻击特征在攻击报文的16进制字符串中的第几位,这样在输出目标攻击报文时,可以根据该攻击特征的位置偏移进行输出,如对于其他的特征可用省略号代替,输出时,只显示位置偏移处的攻击特征。
64.或者,在另一些实施方式中,可以将位置偏移处的攻击特征进行标识后输出目标攻击报文。其中,标识的方式可以是对攻击特征增加css(cascading style sheets,层叠样式表)样式,如更改字体颜色、增加背景色等,以达到对攻击特征进行高亮显示的目的,如此可使得安全人员能够快速看到目标攻击报文中攻击特征所在的位置。
65.在上述实现过程中,根据攻击特征的位置偏移来输出攻击报文,如此可便于安全人员快速知晓攻击特征所在的位置,进而提高分析效率。
66.在上述实施例的基础上,上述提到的检测设备可指网络探针或入侵检测设备等,流量转发设备可以截获客户端与服务器之间的交互流量,即交互报文,流量转发设备可将客户端与服务器之间的交互报文进行缓存后,实时或定时传输给检测设备,比如流量转发设备可将客户端与服务器之间的一次http请求过程中的多个交互报文生成报文文件,然后将多个报文文件生成流量日志,然后一并发送给检测设备。
67.检测设备接收到流量转发设备发送的流量日志后,从中获取各个报文文件,即检测设备可获取客户端与服务器之间的多个交互报文,并对各个报文文件中的各个报文进行攻击检测,以检测每个交互报文是否包含攻击特征,如果包含有攻击特征,则可将该报文所在的报文文件标识为攻击报文文件,并将包含有攻击特征的交互报文标识为攻击报文,比如报文文件1中的报文a包含要攻击特征,则可将报文文件1标识为攻击报文文件,将报文a标识为攻击报文。
68.或者,流量转发设备可以将客户端与服务器之间的一次http请求过程中的多个交互报文直接发送给检测设备,若检测设备检测到其中有交互报文包含有攻击特征,则将多个交互报文存储在攻击报文文件中,并将包含攻击特征的交互报文标识为攻击报文。这里的攻击报文文件可以是指一个文件夹(该文件夹可以是预先创建好的),该文件夹中包含多个交互文件夹,每个交互文件夹用于存储一次交互过程中的交互报文,检测设备在存储攻击报文时,可先在大文件夹里创建一个交互文件夹,以存储当前获取的多个交互报文。或者攻击报文文件也可以是指多个文件夹,每个文件夹用于存储一次交互过程中的多个交互报文,比如检测设备在检测到有交互报文包含攻击特征时,创建一个攻击报文文件的文件夹,然后将多个交互报文存储在该文件夹中,存储时,可将报文以pcap格式进行存储。
69.在另一些实施方式中,检测设备在存储攻击报文时,虽然可以将一次攻击过程中的所有交互报文均存储在攻击报文文件中,但是大多交互报文是非攻击报文,所以这些报文可能需要占据较大的存储空间,为了节省存储空间,可以在检测到存储攻击报文文件的存储空间不足时,丢弃一部分非攻击报文,这里可选择性丢弃一些非攻击报文或选择丢弃一些存储时间较久的非攻击报文。
70.或者,检测设备还可将非攻击报文与攻击报文进行分流存储,如非攻击报文存储在空间1中,攻击报文存储在空间2中,空间1或空间2的大小可以根据需要进行配置,在检测到攻击报文后,将攻击报文存储到空间2之前,先检测空间2的存储空间是否足够,若不足够,此时可选择丢弃其中存储时间较久的一些攻击报文,为新存入的攻击报文腾出存储空
间,同理,对于非攻击报文的存储也可如此。这样可避免大量的报文因为占用硬件存储资源而影响正常报文的处理的问题。
71.在上述实现过程中,检测设备在检测每个交互报文中是否包含有攻击特征的方式可以包括:获取每个交互报文的报文特征信息,判断报文特征信息是否命中攻击特征库中的攻击特征,若是,则确定交互报文包含有攻击特征。
72.攻击特征一般是指一段特殊的数据,如特殊的url等,检测设备中可存储有攻击特征库,该攻击特征库中包含有各种形式的攻击特征,当报文的报文特征信息命中攻击特征库中的某一个攻击特征时,则表示有攻击产生,该报文为攻击报文。当然,攻击特征库中的攻击特征还支持自定义配置,如安全人员可自定义url内容作为攻击特征,安全人员也可随时对攻击特征库中的攻击特征进行更新,包括修改、删除、添加等。
73.可以理解地,对攻击报文的检测方式也不仅仅包括上述利用攻击特征库进行检测的方式,实际应用中,还可以有其他检测方式,具体可以根据需求来选择。
74.在上述实施例的基础上,检测设备在存储多个交互报文时,为了便于后续查询,可提取每个交互报文的五元组信息以及名称,以及提取攻击报文中的攻击特征,将这些信息可单独保存在交互报文之后,这样在进行查询时也可以根据这些信息来查找相应的报文。
75.而为了实现对攻击报文的快速查找,可以获取包含有攻击特征的交互报文在多个交互报文中的报文传输顺序,将报文传输顺序作为索引,为包含有攻击特征的交互报文添加该索引作为标识。
76.这样安全人员在查询时,可在浏览器上点击攻击报文查询入口,即向检测设备提交攻击报文查询请求,检测设备接收到该查询请求后,可以从各个攻击报文文件中查找有标识的报文,这些报文即为攻击报文。
77.检测设备在输出攻击报文时,可以先对攻击报文进行解析,如解析成16进制字符串,这里也包括将攻击报文中的攻击特征解析成16进制字符串,假设当前获得的攻击报文的输出结果为result_string。将当前的攻击报文的攻击特征解析成16进制字符串,假设为attack_string,其长度为attack_len,在result_string中查找并记录attack_string在result_string的位置记为索引attack_index,即位置偏移,然后在浏览器中显示result_string的内容时,可以对attack_index的位置及其后面attack_len的内容设置成高亮模式,以到达对攻击特征进行高亮显示的目的。
78.在其他一些实施方式中,检测设备也可自动提取这些有标识的攻击报文,然后对一次攻击过程进行分析,比如确定这些有标识的攻击报文的索引,以确定这些攻击报文在攻击过程中的排序,比如是靠后、还是靠前、还是大多处于中间顺序,这样可以对多次攻击过程进行分析,以统计大量的攻击报文在攻击过程中的排序,从而可分析攻击者的一个攻击行为,并根据攻击行为可自动生成对应的防护措施,比如可重点针对排序位置处的报文进行攻击检测,而不用对所有的报文均进行攻击检测,如此可节省检测资源,提高检测效率,或者也可以重点针对排序位置处的报文进行拦截等。
79.上述根据统计攻击报文在攻击过程中的排序可以理解为是统计这些攻击报文所在的排序区间,比如大量的攻击报文均处于攻击过程中的第3个报文-第7个报文之间,表示攻击者喜欢将攻击隐藏在这些顺序的报文中,这样可以对这些排序区间内的报文进行针对性防护。
80.可以理解地,在实际应用中,还可以灵活设置对攻击报文的其他防控方式,在此不一一举例说明。
81.请参照图3,图3为本技术实施例提供的一种报文查询装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
82.可选地,所述装置200包括:
83.报文查找模块210,用于从攻击报文文件中查找标识有包含攻击特征的目标攻击报文,所述攻击报文文件中存储有攻击过程中所产生的两个设备之间的多个交互报文;
84.报文输出模块220,用于输出所述目标攻击报文。
85.可选地,所述目标攻击报文的标识为所述目标攻击报文在所述多个交互报文中的索引,所述索引表征所述目标攻击报文在所述多个交互报文中的报文传输顺序。
86.可选地,所述报文输出模块220,用于获取所述目标攻击报文的报文特征信息;解析所述报文特征信息,获得所述报文特征信息中的攻击特征;获取所述攻击特征在所述报文特征信息中的位置偏移;根据所述位置偏移输出所述目标攻击报文。
87.可选地,所述报文输出模块220,用于将所述位置偏移处的攻击特征进行标识后输出所述目标攻击报文。
88.可选地,所述装置200还包括:
89.存储模块,用于获取客户端与服务器之间的多个交互报文;检测每个交互报文中是否包含有攻击特征;若其中有交互报文包含有攻击特征,则将所述多个交互报文存储在攻击报文文件中,并将包含有攻击特征的交互报文标识为攻击报文。
90.可选地,所述存储模块,用于获取包含有攻击特征的交互报文在所述多个交互报文中的报文传输顺序;将所述报文传输顺序作为索引,为所述包含有攻击特征的交互报文添加所述索引作为标识。
91.可选地,所述存储模块,用于获取每个交互报文的报文特征信息;判断所述报文特征信息是否命中攻击特征库中的攻击特征;若是,则确定交互报文包含有攻击特征。
92.需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
93.请参照图4,图4为本技术实施例提供的一种用于执行报文查询方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器310,例如cpu,至少一个通信接口320,至少一个存储器330和至少一个通信总线340。其中,通信总线340用于实现这些组件直接的连接通信。其中,本技术实施例中设备的通信接口320用于与其他节点设备进行信令或数据的通信。存储器330可以是高速ram存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器330可选的还可以是至少一个位于远离前述处理器的存储装置。存储器330中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器310执行时,电子设备执行上述图1所示方法过程。
94.可以理解,图4所示的结构仅为示意,所述电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
95.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
96.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:从攻击报文文件中查找标识有包含攻击特征的目标攻击报文,所述攻击报文文件中存储有攻击过程中所产生的两个设备之间的多个交互报文;输出所述目标攻击报文。
97.综上所述,本技术实施例提供一种报文查询方法、装置、电子设备及存储介质,该方法通过对攻击报文进行标识,在查找时,直接根据标识将报文查找出来,可实现对多个交互报文中的攻击报文进行准确定位,如此安全人员在进行攻击分析时,可快速查询得到攻击报文,提高攻击分析效率。
98.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
99.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
100.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
101.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
102.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1