一种网络攻击的检测识别方法及相关设备与流程

文档序号:33462180发布日期:2023-03-15 04:18阅读:43来源:国知局
一种网络攻击的检测识别方法及相关设备与流程

1.本说明书涉及通信领域,更具体地说,本发明涉及一种网络攻击的检测识别方法及相关设备。


背景技术:

2.目前的监测方式均为通过在每个客户端部署agent进程至服务器,监控服务器关键进程,进行风险判定。而这种方式无法实现服务器端对客户端的统一监控与网络风险进行判断,同时采用这种方式需要对每个客户端都部署agent进程,在服务器下属的客户端数量较多的情况下,部署比较困难。


技术实现要素:

3.在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
4.为了提出一共更为方便快捷的网络攻击的检测识别方法,第一方面,本发明提出一种网络攻击的检测识别方法,上述方法包括:
5.基于目标服务器发出的tcp连接报文获取目标端口和目标ip地址;
6.根据http访问日志对上述目标端口和目标ip地址进行回溯以确定上述tcp连接报文的网络风险。
7.可选的,上述根据http访问日志对上述目标端口和目标ip地址进行回溯以确定上述tcp连接报文的网络风险,包括:
8.在上述http访问日志中存在于上述目标端口和目标ip地址相同的http访问请求的情况下,基于上述tcp连接报文发出网络入侵风险预警。
9.可选的,上述方法还包括:
10.基于本地预设白名单对上述tcp连接报文对应的目标端口和目标ip地址进行识别;
11.在上述本地预设白名单中存在相同的上述目标端口和上述目标ip地址的情况下,上述tcp连接报文无网络入侵风险。
12.可选的,上述方法还包括:
13.获取目标服务器的http响应报文;
14.基于上述http响应报文获取源端口和源ip地址;
15.基于云端数据库对上述源端口和上述源ip地址发出的网络请求进行风险识别以获取上述本地预设白名单,其中,云端数据库中包括目的ip地址和目的源端口的白名单和/或黑名单。
16.可选的,上述方法还包括:
17.获取目标区域内其他服务器在预设时长内的网络攻击频率;
18.基于上述网络攻击频率调整上述http访问日志的容量。
19.可选的,上述方法还包括:
20.统计上述http访问日志中相同端口和/或ip地址的访问频率;
21.基于上述访问频率调整上述端口和/或ip地址对应日志信息的生存周期。
22.可选的,上述方法还包括:
23.获取上述目标服务器的流量变化信息;
24.当上述流量变化信息超出预设阈值的情况下,提升上述http访问日志的容量。
25.第二方面,本发明还提出一种网络攻击的检测识别装置,包括:
26.获取单元,用于基于目标服务器发出的tcp连接报文获取目标端口和目标ip地址;
27.确定单元,用于根据http访问日志对上述目标端口和目标ip地址进行回溯以确定上述tcp连接报文的网络风险。
28.第三方面,一种电子设备,包括:存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器用于执行存储器中存储的计算机程序时实现如上述的第一方面任一项的网络攻击的检测识别方法的步骤。
29.第四方面,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现第一方面上述任一项的网络攻击的检测识别方法。
30.综上,本技术实施例的网络攻击的检测识别方法包括:基于目标服务器发出的tcp连接报文获取目标端口和目标ip地址;根据http访问日志对上述目标端口和目标ip地址进行回溯以确定上述tcp连接报文的网络风险。本技术实施例提供的一种网络攻击的检测识别方法,通过在服务器端通过实时监测网络请求和流量情况,对目标服务器发出的tcp连接报文进行分析获取目标端口和目标ip地址,并通过与http访问日志中记录的外网请求的端口和ip地址进行回溯和比对,确定上述tcp连接报文是否存在反弹shell的风险,通过在服务器端对网络请求进行监控,可以有效解决现有技术中需要管理员在目标服务器的客户端批量部署agent进行监控的权限问题,同时解决了现有方案中反弹shell监控进程多样性的问题,提升了方法的通用性。
31.本发明的网络攻击的检测识别方法,本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
32.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
33.图1为本技术实施例提供的一种网络攻击的检测识别方法流程示意图;
34.图2为本技术实施例提供的一种网络攻击的检测识别工作原理示意图;
35.图3为本技术实施例提供的一种服务器外联学习模块工作原理示意图;
36.图4为本技术实施例提供的一种反弹shell检测模块工作原理示意图;
37.图5为本技术实施例提供的一种网络攻击的检测识别装置结构示意图;
38.图6为本技术实施例提供的一种网络攻击的检测识别电子设备结构示意图。
具体实施方式
39.本技术实施例提供的一种网络攻击的检测识别方法,通过在服务器端通过实时监测网络请求和流量情况,对目标服务器发出的tcp连接报文进行分析获取目标端口和目标ip地址,并通过与http访问日志中记录的外网请求的端口和ip地址进行回溯和比对,确定上述tcp连接报文是否存在反弹shell的风险,通过在服务器端对网络请求进行监控,可以有效解决现有技术中需要管理员在目标服务器的客户端批量部署agent进行监控的权限问题,同时解决了现有方案中反弹shell监控进程多样性的问题,提升了方法的通用性。
40.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
41.目标主机处于内网环境下,不可以被外网直接访问,只能主动将shell反弹出来,这种方式称作反弹shell。反弹shell(reverse shell)就是控制端监听在某tcp/udp端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端,本质上是网络概念的客户端与服务端的角色反转。
42.请参阅图1,为本技术实施例提供的一种网络攻击的检测识别方法流程示意图,具体可以包括:
43.s110、基于目标服务器发出的tcp连接报文获取目标端口和目标ip地址;
44.示例性的,当存在攻击者攻击目标服务器的情况下,攻击者首先向目标服务器发送一段攻击指令,攻击指令中包含了目标服务器需要外联的ip地址和端口。目标服务器如果连接了攻击者提供的ip地址和端口,则会与其建立连接,攻击者就可以远程控制服务器的shell从而达到了入侵目标服务器的目的。
45.本技术提出的方案在服务器端对流量进行检测,对服务器下属的客户端的网络请求进行监控,在有tcp连接报文需要向外网发送的情况下,解析该tcp报文中需要发送到的目标端口和目标ip地址。
46.s120、根据http访问日志对上述目标端口和目标ip地址进行回溯以确定上述tcp连接报文的网络风险。
47.示例性的,http访问日志中记录着外网访问内网的历史记录,其中包括着访问者的端口信息和ip地址信息,当然也包括着可能为攻击者的端口信息和ip地址信息,通过与http访问日志中记录的端口信息和ip地址信息与tcp连接报文需要连接的目标端口和目标ip地址进行比对,如果tcp连接报文对应的目标端口和目标ip地址与http访问日志中相同则存在着反弹shell事件,目标服务器有很大可能受到攻击。
48.综上,本技术实施例提供的一种网络攻击的检测识别方法,在服务器端通过实时监测网络请求和流量情况,对目标服务器发出的tcp连接报文进行分析获取目标端口和目
标ip地址,并通过与http访问日志中记录的外网请求的端口和ip地址进行回溯和比对,确定上述tcp连接报文是否存在反弹shell的风险,通过在服务器端对流量进行监控,可以有效解决现有技术中需要管理员在目标服务器的客户端批量部署agent进行监控的权限问题,同时解决了现有方案中反弹shell监控进程多样性的问题,提升了方法的通用性。
49.在一些示例中,上述根据http访问日志对上述目标端口和目标ip地址进行回溯以确定上述tcp连接报文的网络风险,包括:
50.在上述http访问日志中存在于上述目标端口和目标ip地址相同的http访问请求的情况下,基于上述tcp连接报文发出网络入侵风险预警。
51.示例性的,通过http访问日志中记录的ip地址和端口,与tcp连接报文对应连接的目标端口和目标ip地址进行比对,如果有相同的,则上述tcp连接报文发出网络入侵风险预警。
52.例如:内网web主机192.168.1.50,发起tcp请求访问外部主机42.123.1.20的8888端口。根据当前装置内存容量并读取指定数量的http访问日志并进行回溯,检查关键字42.123.1.20:8888是否存在于历史日志中,若存在则记录对应日志,并推送告警。如果存在风险则推送如表1所示的网络攻击的检测识别:
[0053][0054]
表1
[0055]
其中,网络攻击的检测识别中记录着预警时间,源ip、源端口、目的ip、目的端口,内网资产,威胁类型和之前外网发送的风险会话。
[0056]
在一些示例中,上述方法还包括:
[0057]
基于本地预设白名单对上述tcp连接报文对应的目标端口和目标ip地址进行识别;
[0058]
在上述本地预设白名单中存在相同的上述目标端口和上述目标ip地址的情况下,上述tcp连接报文无网络入侵风险。
[0059]
示例性的,在利用http日志对tcp连接报文的进行回溯分析之前,可以通过本地存储的预设白名单对tcp连接报文对应的目标端口和目标ip地址先进行一次识别,如果本地预设白名单中存在着与tcp连接报文对应的目标端口和目标ip地址相同的端口和ip地址,则该tcp连接报文可以信赖,不存在着网络入侵的风险。
[0060]
综上,本技术实施例提供的一种网络攻击的检测识别方法,在利用http日志对tcp连接报文进行回溯分析比对前可以通过白名单对tcp连接报文对应的目的端口和目的ip首先进行一次比对,如果落入预设白名单中,则将该tcp连接报文直接通过。
[0061]
在一些示例中,上述方法还包括:
[0062]
获取目标服务器的http响应报文;
[0063]
基于上述http响应报文获取源端口和源ip地址;
[0064]
基于云端数据库对上述源端口和上述源ip地址发出的网络请求进行风险识别以获取上述本地预设白名单,其中,云端数据库中包括目的ip地址和目的源端口的白名单和/或黑名单。
[0065]
示例性的,在目标服务器与外网进行网络连接时,可以根据云端数据库存储的包括目的ip地址和目的源端口的白名单和/或黑名单对外网的网络请求进行风险识别,根据识别建立内网的本地预设白名单,例如:开启服务器外联学习,配置选择内网主机192.168.1.50,学习时间可以设置为1天,当服务器访问目标网址,会记录目标网址对应的目的ip,并与威胁情报比对后,如果不存在威胁,存储对应的ip、端口至白名单列表。
[0066]
综上,本技术实施例提供的一种网络攻击的检测识别方法,可以根据需要对目标服务器开启服务器外学习功能,并自主设置学习时间范围。在预设的时间范围内的内网web主机主动请求外网的会话,会与云端数据库中的ip地址和目的源端口的白名单和/或黑名单进行比对,并存储建立本地预设白名单,若目的ip存在威胁标签,则直接生成威胁日志及告警。
[0067]
http访问日志一般设置为固定容量大小,在访问日志存储满的情况下,会将访问日志形成时间较早的记录抹除,并将新发生的会话请求对应的信息记录到日志中。那么攻击者可以利用这种现象在发出攻击指令时,对攻击的内网服务器对应的客户端下达休眠指令,待http访问日志中该攻击指令对应的信息过期后再使客户端与攻击者建立连接,以此规避基于http访问日志进行回溯的方式做出安全检测,以成功入侵。
[0068]
为解决上述现象可以通过下述a、b和c中任意方案获取多种方案的组合形式提升网络检测的有效性。
[0069]
在一些示例中,上述方法还包括:
[0070]
方案a:
[0071]
获取目标区域内其他服务器在预设时长内的网络攻击频率;
[0072]
基于上述网络攻击频率调整上述http访问日志的容量。
[0073]
示例性的,统计目标区域内其他服务器在预设时长内的网络攻击频率,例如目标区域可以为整栋办公楼,预设时长可以设置为1小时,即统计在过去一小时内该栋办公楼遭受网络攻击的次数,也即网络攻击的频率。如果遭受网络攻击的频率没有超过预设频率可以不对http访问日志的容量做出调整,如果超出预设频率可以适当提升http访问日志的容量,超出的频率值越高http访问日志的容量也就越高,以此降低攻击者对客户端下达休眠指令从而跳过安全检测问题的可能性。
[0074]
方案b:
[0075]
统计上述http访问日志中相同端口和/或ip地址的访问频率;
[0076]
基于上述访问频率调整上述端口和/或ip地址对应日志信息的生存周期。
[0077]
示例性的,统计http访问日志中相同端口和/或ip地址的访问频率,如果同意端口或ip地址频繁地发出访问请求,且该访问请求不在白名单中,那么该网络请求的危险系数较高,可能为频繁试探的攻击者。根据访问频率调整端口和/或ip地址对应日志信息的生存周期,即如果访问频率较高,则当http访问日志容量不够的情况下,优先抹除其他频率较低的历史访问信息。
[0078]
方案c:
[0079]
获取上述目标服务器的流量变化信息;
[0080]
当上述流量变化信息超出预设阈值的情况下,提升上述http访问日志的容量。
[0081]
示例性的,获取目标服务器的流量变化信息,流量变化信息是当前时间段内的当前的流量信息与历史流量信息进行比对的结果,历史流量信息为统计该目标服务器在过去多个自然日的平均流量随时间的变化情况,一般情况下会呈现规律性,例如上班时间产生的流量较多,而下班时间则流量较少。正常情况下,流量变化信息不会超出预设阈值,即每日的流量情况应该大致相同,但是当流量变化信息超出预设阈值的情况下,则可能会存在一些网络异常事件发生,例如外部网络攻击,此时提升上述http访问日志的容量,以此降低攻击者对客户端下达休眠指令从而跳过安全检测问题的可能性。
[0082]
综上,本技术实施例提供的一种网络攻击的检测识别方法,通过分析网络攻击频率、相同端口和/或ip地址的访问频率和流量变化信息中一种或多种信息对访问日志的容量获日志信息的生存周期做出调整,以此降低攻击者对客户端下达休眠指令从而跳过安全检测问题的可能性,提升了网络攻击的检测识别的准确性,提升了服务器的网络安全。
[0083]
在一些示例中,如图3所示,可以通过资产管理模块、服务器外联学习模块、威胁情报模块、反弹shell检测模块和告警模块对网络风险做出预警,主要通过服务器外联学习模块结合威胁情报,标记外联地址及端口白名单,对服务器请求的非白名单的ip及端口进行日志回溯,对日志进行解码及判断是否存在相关shell反弹事件做出风险预警。
[0084]
资产管理模块可以通过手动添加或通过流量被动识别内网web资产。依赖于应用识别,对http服务中的响应字段进行标识与匹配,根据手动配置的内网网段,自动识别内网中的web服务器。如:配置内网网段为192.168.1.0/24若流量中存在http响应数据,则记录对应ip及端口。如192.168.1.50:80。
[0085]
服务器外联学习模块根据需求开启服务器外学习功能,及学习时间范围。如图4所示,时间范围内的web主机,主动请求的会话,会与威胁情报比对后,进行目的ip、目的端口的白名单存储。若目的ip存在威胁标签,则直接生成威胁日志及告警。如:开启服务器外联学习,配置选择内网主机192.168.1.50,学习时间为天,当服务器访问http://www.baidu.com,会记录目的ip,并与威胁情报比对后,存储对应的ip、端口至白名单列表。
[0086]
反弹shell检测模块,当存在web主机发起的请求后,判断目的ip及端口是否为白名单列表。如图4所示:内网web主机192.168.1.50,发起tcp请求访问主机42.123.1.20的8888端口。第一步:检查目的ip:42.123.1.20,目的端口8888,是否在白名单列表。若命中白名单,则结束匹配。否则进入下一步。第二步,根据当前装置内存容量并读取指定数量的http访问日志并进行回溯。第三步,检查关键字42.123.1.20:8888是否存在于历史日志中,若存在则记录对应日志,并推送告警。
[0087]
请参阅图5,本技术实施例中网络攻击的检测识别装置的一个实施例,可以包括:
[0088]
获取单元21,用于基于目标服务器发出的tcp连接报文获取目标端口和目标ip地址;
[0089]
确定单元22,用于根据http访问日志对上述目标端口和目标ip地址进行回溯以确定上述tcp连接报文的网络风险。
[0090]
如图6所示,本技术实施例还提供一种电子设备300,包括存储器310、处理器320及存储在存储器320上并可在处理器上运行的计算机程序311,处理器320执行计算机程序311时实现上述网络攻击的检测识别的任一方法的步骤。
[0091]
由于本实施例所介绍的电子设备为实施本技术实施例中一种网络攻击的检测识别方法所采用的设备,故而基于本技术实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本技术实施例中的方法不再详细介绍,只要本领域所属技术人员实施本技术实施例中的方法所采用的设备,都属于本技术所欲保护的范围。
[0092]
在具体实施过程中,该计算机程序311被处理器执行时可以实现图1对应的实施例中任一实施方式。
[0093]
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
[0094]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0095]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0096]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0097]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0098]
本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图1对应实施例中的网络攻击的检测识别的流程。
[0099]
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序
指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0100]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0101]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0102]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0103]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0104]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0105]
以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1