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

一种网络攻击告警的处理方法、装置、设备和存储介质与流程

2022-03-19 12:03:50 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种网络攻击告警的处理方法、装置、设备和存储介质。


背景技术:

2.在网络安全领域或云安全领域中,web应用程序和数据库之间可以通过结构化查询语言(structured query language,sql)进行数据交互。因此,攻击者通常会在web应用程序向服务器发送的超文本传输协议(hypertext transfer protocol,http)请求数据中插入sql指令,例如,在统一资源定位系统(uniform resource locator,url)中插入sql指令,以使服务器在数据库中执行该sql指令,造成sql注入攻击。一些安全防护软件,如防火墙等可以对web应用程序发送的http请求数据进行过滤,如果http请求数据存在异常,那么发出网络攻击告警。然而,网络攻击告警大部分都是误报,如果由人工对网络攻击告警进行处理,处理的数据量较大,处理效率较低,人工成本较高。其他网络攻击的告警处理中,也存在同样的问题。


技术实现要素:

3.本技术实施例提供一种网络攻击告警的处理方法、装置、设备和存储介质,用于提高处理网络攻击告警的效率。
4.第一方面,提供一种网络攻击告警的处理方法,该方法包括:
5.获得各个与网络攻击相关的告警初始数据,其中,所述与网络攻击相关的告警初始数据中包括业务请求数据,所述业务请求数据中携带了与攻击指令关联的数据;
6.根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合;其中,所述预设聚类条件至少包括如下一种:业务请求数据对应的业务请求的同类地址聚类条件、攻击指令的同类携带位置聚类条件或攻击指令的同类攻击方法聚类条件,所述告警聚类集合中包括至少一个与网络攻击相关的告警初始数据;
7.针对所述至少一个告警聚类集合中每个告警聚类集合,将告警聚类集合中的各个与网络攻击相关的告警初始数据合并,获得合并后的告警数据;
8.根据获得的各个合并后的告警数据,对网络攻击告警进行处理。
9.第二方面,提供一种网络攻击告警的处理装置,该装置包括:
10.获取模块:用于获得各个与网络攻击相关的告警初始数据,其中,所述与网络攻击相关的告警初始数据中包括业务请求数据,所述业务请求数据中携带了与攻击指令关联的数据;
11.处理模块:用于根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合;其中,所述预设聚类条件至少包括如下一种:业务请求数据对应的业务请求的同类地址聚类条件、攻击指令的同类携带位置聚类条件或攻击指令的同类攻击方法聚类条件,所述告警聚类集合中包括至少一个与网络攻击相关的告警初始
数据;以及,针对所述至少一个告警聚类集合中每个告警聚类集合,将告警聚类集合中的各个与网络攻击相关的告警初始数据合并,获得合并后的告警数据;以及,根据获得的各个合并后的告警数据,对网络攻击告警进行处理。
12.本技术实施例中,根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,将同一类中的告警初始数据合并,大大减少了待处理的告警数据的数据量,提高了处理网络攻击告警的效率。且,预设聚类条件包括业务请求数据对应的业务请求的同类地址聚类条件、攻击指令的同类携带位置聚类条件或攻击指令的同类攻击方法聚类条件中的一种或多种,在聚类之后,可以直接获得每个与网络攻击相关的告警初始数据的地址、攻击指令携带位置或攻击方法,提高了告警初始数据的可读性和可解析性,减少了处理人员根据告警初始数据确定地址、攻击指令携带位置或攻击方法的过程,降低了人工成本,提高了处理网络攻击告警的效率。
13.可选的,所述网络攻击包括攻击数据库的结构化查询语言sql指令,所述业务请求数据包括http请求数据。
14.本技术实施例中,与网络攻击相关的告警初始数据可以是sql注入告警初始数据,可以根据sql注入告警初始数据中的http请求数据,对各个sql注入告警初始数据进行聚类,并对sql注入告警初始数据进行合并。从而,减少了sql注入告警数据的数据量,提高了处理sql注入告警的效率,提高了sql注入告警数据的可读性和可解析性。
15.可选的,所述预设聚类条件包括同类地址聚类条件时,所述同类地址聚类条件包括相同地址标识,所述地址标识用于表征统一资源定位符url访问的目的地址;
16.针对每个与网络攻击相关的告警初始数据,所述处理模块还用于:
17.确定与网络攻击相关的告警初始数据的业务请求数据中是否包括所述url;
18.若所述业务请求数据中包括所述url,则获取所述url中的地址标识;
19.若所述业务请求数据中不包括所述url,则根据所述与网络攻击相关的告警初始数据中与所述url关联的数据合成所述url的地址标识。
20.本技术实施例中,根据业务请求数据,获取url中的地址标识,或根据业务请求数据,合成url的地址标识,使得在根据地址聚类条件进行聚类时,不需要确定完整的url相同时,才进行聚类,仅需要确定地址标识相同,就可以进行聚类,简化了根据同类地址聚类条件,对各个告警初始数据进行聚类的过程,提高了处理网络攻击告警的效率。
21.可选的,所述处理模块具体用于:
22.分别确定每两个与网络攻击相关的告警初始数据的地址标识是否相同;
23.将地址标识相同的与网络攻击相关的告警初始数据汇聚为一类,获得至少一个告警地址聚类集合。
24.本技术实施例中,将地址标识相同的告警初始数据汇聚为同一类,获得至少一个告警地址聚类集合,从而可以直观的确定每个告警地址聚类集合中的各个告警初始数据的地址标识,提高了告警初始数据的可读性和可解析性。
25.可选的,所述预设聚类条件包括攻击指令的同类携带位置聚类条件时,所述攻击指令的同类携带位置聚类条件包括相同攻击指令携带位置,所述攻击指令携带位置表征与攻击指令关联的数据在业务请求数据中的位置;
26.针对每个与网络攻击相关的告警初始数据,所述处理模块还用于:
27.若确定与网络攻击相关的告警初始数据的业务请求数据中包括与攻击指令关联的数据,则将所述与攻击指令关联的数据对应的数据名称确定为攻击指令携带位置。
28.本技术实施例中,根据业务请求数据中与攻击指令关联的数据对应的数据名称,确定攻击指令携带位置,从而,处理人员可以直观的确定各个告警初始数据中携带攻击指令的位置,提高了告警初始数据的可读性和可解析性。
29.可选的,所述处理模块具体用于:
30.分别确定每两个与网络攻击相关的告警初始数据的攻击指令携带位置是否相同;
31.将攻击指令携带位置相同的与网络攻击相关的告警初始数据汇聚为一类,获得至少一个告警位置聚类集合。
32.本技术实施例中,将攻击指令携带位置相同的告警初始数据汇聚为同一类,获得至少一个告警位置聚类集合,从而可以直观的确定每个告警位置聚类集合中的各个告警初始数据的攻击指令携带位置,提高了告警初始数据的可读性和可解析性。
33.可选的,所述预设聚类条件包括攻击指令的同类攻击方法聚类条件时,所述攻击指令的同类攻击方法聚类条件包括相同攻击方法,所述攻击方法表征攻击指令所采用的语法;
34.针对每个与网络攻击相关的告警初始数据,所述处理模块还用于:
35.若确定与网络攻击相关的告警初始数据的业务请求数据中包括与攻击指令关联的数据,则根据所述与攻击指令关联的数据,确定攻击指令的语法特征;
36.根据所述语法特征,确定攻击方法;其中,所述语法特征包括布尔类型语法特征、时间类型语法特征、错误类型语法特征、联合类型语法特征和堆叠查询类型语法特征,所述攻击方法包括布尔类型注入、时间类型注入、错误类型注入、联合类型注入或堆叠查询类型注入中的一种或多种。
37.本技术实施例中,根据业务请求数据中与攻击指令关联的数据,确定攻击指令的语法特征,从而确定攻击方法,使得处理人员可以直观的确定各个告警初始数据中网络攻击的攻击方法,提高了告警初始数据的可读性和可解析性。
38.可选的,所述处理模块具体用于:
39.分别确定每两个与网络攻击相关的告警初始数据的攻击方法是否相同;
40.将攻击方法相同的与网络攻击相关的告警初始数据汇聚为一类,获得至少一个告警方法聚类集合。
41.本技术实施例中,将攻击方法相同的告警初始数据汇聚为同一类,获得至少一个告警方法聚类集合,从而可以直观的确定每个告警方法聚类集合中的各个告警初始数据的攻击方法,提高了告警初始数据的可读性和可解析性。
42.可选的,当所述预设聚类条件包括至少两个时,所述告警聚类集合包括根据各个预设聚类条件获得的告警聚类集合的交集。
43.本技术实施例中,将地址标识相同、攻击指令携带位置相同和攻击方法的告警初始数据汇聚为同一类,获得至少一个告警聚类集合,从而可以直观的确定每个告警聚类集合中的各个告警初始数据的地址、攻击指令携带位置和攻击方法,提高了告警初始数据的可读性和可解析性。
44.可选的,针对每个告警聚类集合,所述处理模块还用于:
45.在根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合之后,获取告警聚类集合中各个与网络攻击相关的告警初始数据中的攻击指令;
46.在将告警聚类集合中的各个与网络攻击相关的告警初始数据合并之后,标注每个与网络攻击相关的告警初始数据的攻击指令。
47.本技术实施例中,对各个告警初始数据标注攻击指令,从而可以直观的确定每个告警聚类集合中的各个告警初始数据的攻击指令,提高了告警初始数据的可读性和可解析性。
48.可选的,针对每个告警聚类集合,所述处理模块还用于:
49.在根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合之后,确定告警聚类集合中各个与网络攻击相关的告警初始数据是否满足预设注入条件;
50.若与网络攻击相关的告警初始数据满足预设注入条件,则确定所述与网络攻击相关的告警初始数据对应的攻击结果为攻击成功;否则,确定所述与网络攻击相关的告警初始数据对应的攻击结果为攻击失败;
51.在将告警聚类集合中的各个与网络攻击相关的告警初始数据合并之后,标注每个与网络攻击相关的告警初始数据的攻击结果。
52.本技术实施例中,对各个告警初始数据标注攻击结果,从而可以直观的确定每个告警聚类集合中的各个告警初始数据的攻击结果,提高了告警初始数据的可读性和可解析性。
53.第三方面,一种计算机设备,包括:
54.存储器,用于存储程序指令;
55.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面所述的方法。
56.第四方面,一种存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的方法。
57.本技术实施例中,预设聚类条件是从引发网络攻击的攻击者的角度出发,根据业务请求数据对应的业务请求的同类地址聚类条件、攻击指令的同类携带位置聚类条件或攻击指令的同类攻击方法聚类条件中的一种或多种对网络攻击告警进行聚类,从而,在对网络攻击告警进行处理时,不需要再确定每个网络攻击告警的地址标识、攻击指令携带位置或攻击方法,提高了网络攻击告警的可读性和可解析性,从而提高了处理网络攻击告警的效率。且,聚类之后,每一类对应一个网络攻击告警,大大减少了需要处理的网络攻击告警的数据量,在一定程度上可以提高处理网络攻击告警的效率。且,聚类的过程并不需要通过训练好的模型来实现,因此,减少了训练模型的过程。
附图说明
58.图1为本技术实施例提供的网络攻击告警的处理方法的应用场景;
59.图2a为本技术实施例提供的网络攻击告警的处理方法的一种流程示意图一;
60.图2b为本技术实施例提供的网络攻击告警的处理方法的一种交互示意图;
61.图3为本技术实施例提供的网络攻击告警的处理方法的一种流程示意图二;
62.图4为本技术实施例提供的网络攻击告警的处理方法的一种流程示意图三;
63.图5为本技术实施例提供的网络攻击告警的处理装置的一种结构示意图一;
64.图6为本技术实施例提供的网络攻击告警的处理装置的一种结构示意图二。
具体实施方式
65.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
66.下面对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
67.(1)网络攻击和sql指令:
68.网络攻击包括web应用程序攻击,如sql注入攻击,或者,包括第三方应用程序攻击等。常见的一种网络攻击是将攻击指令携带在业务请求数据中,例如通过http请求数据中携带的sql指令,sql指令又可以称为攻击特征或攻击向量等,表示sql语句。
69.(2)sql注入和sql注入告警初始数据:
70.在web应用程序向服务器发送的http请求数据中插入恶意的sql指令,服务器在接收http请求数据时,会在数据库中执行该恶意的sql指令,从而形成sql注入。
71.一些安全防护软件在检测到sql注入时,生成的告警数据,sql注入告警初始数据中可以包括http请求数据和http返回数据等。
72.(3)http请求数据和http返回数据:
73.web应用程序向服务器请求资源时,向服务器发送的数据,http请求数据中包括请求行、请求头和请求正文。请求行中可以包括请求方法,如get或post,还可以包括请求地址,如url,还可以包括http协议版本等。其中,url中可以包括协议、主机名称、路径和其他数据,还可以包括端口号。请求正文中可以包括http请求数据的发送时间等。http请求数据中可以以“键值对”的形式存放每个数据,即每个数据对应一个数据名称。
74.服务器响应web应用程序的请求时,向web应用程序发送的数据。http返回数据中可以包括返回行、返回头和返回正文。返回正文可以包括http返回数据的发送时间等。
75.本技术实施例涉及服务器、数据库、云技术和云安全等。
76.服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
77.数据库(database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
78.数据库管理系统(database management system,简称dbms)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以
依据它所支持的数据库模型来作分类,例如关系式、xml(extensible markup language,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如sql、xquery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些dbms能够跨类别,例如,同时支持多种查询语言。
79.云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
80.云安全(cloud security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
81.云安全主要研究方向包括:1.云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2.安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3.云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
82.下面对本技术实施例提供的网络攻击告警的处理方法的应用领域进行简单介绍。
83.在安全防护领域中,攻击者通常利用业务请求数据携带攻击指令,形成网络攻击,例如利用web应用程序向服务器发送的http请求数据时,将恶意的攻击指令,如sql指令注入到业务请求数据,如http请求数据中,使得服务器在数据库中执行该恶意的sql指令,从而攻击者可以随意操作数据库。现有的一些安全防护软件,例如防火墙等,可以进行主动检测,对各个数据进行排查;或者,例如流量检测设备等,可以进行被动检测,对敏感数据进行监控。安全防护软件针对可疑的业务请求数据,可以产生网络攻击告警,如sql注入告警。处理安全告警的设备,例如态势感知设备或安全运营中心等,可以收集并处理网络攻击告警,从而更加有效的对网络攻击进行防护。
84.然而,网络攻击告警中既包括网络攻击成功的网络攻击告警,也包括网络攻击失败的网络攻击告警;既包括业务请求数据完整的网络攻击告警,也包括业务请求数据不完整的网络攻击告警等,使得网络攻击告警的数据量相对较大,且,对于一些业务请求数据不完整的网络攻击告警,如果缺少了可以用于分析和处理的相关数据,那么分析或处理的意义不大。因此,通常处理人员需要先对网络攻击告警进行筛选,获得其中具有分析意义的网
络攻击告警,再对网络攻击告警进行分析或处理等。可见,人工处理的方式会造成网络攻击告警的处理效率较低,不可避免的会出现遗漏处理或误处理的情况,造成网络攻击告警的处理准确率较低,且,人工成本较高。
85.为了解决现有技术中处理网络攻击告警的效率较低等问题,本技术提供一种网络攻击告警的处理方法。该方法根据预设聚类条件,对各个网络攻击告警进行聚类,并将聚类后的每一类中的网络攻击告警合并,生成一个新的网络攻击告警,再根据获得的新的网络攻击告警进行处理。
86.预设聚类条件可以有多种,下面以其中的三种为例进行介绍。
87.条件一:携带攻击指令的业务请求的同类地址聚类条件。
88.同类地址聚类条件包括相同地址标识,地址标识用于表征url访问的目的地址。通常url中可以包括协议、主机名称、路径和其他数据,或者,url中还可以包括端口号。因此,可以根据url中的主机名称和路径,确定两个url是否相同,或者,可以根据url中的主机名称、路径和端口号,确定两个url是否相同。因此,可以将主机名称和路径作为地址标识,或将主机名称、路径和端口号作为地址标识等。
89.作为一种实施例,地址标识用于表征目的互联网协议(internet protocol,ip)地址。因此,可以根据ip,确定两个地址标识是否相同。
90.作为一种实施例,同类地址聚类条件还可以包括两个url之间相似度大于预设相似度,或两个ip之间的相似度大于预设相似度,或者,两个地址标识之间的相似度大于预设相似度等,具体不做限制。相似度可以表征两个url、ip或地址标识之间的相似程度,相似度可以通过文本向量计算,或者可以通过神经网络模型计算等,具体不做限制。
91.条件二:攻击指令的同类携带位置聚类条件。
92.攻击指令的同类携带位置聚类条件包括,攻击指令的同类携带位置聚类条件包括相同攻击指令携带位置,攻击指令携带位置表征与攻击指令关联的数据在业务请求数据中的位置。由于网络攻击通常是将攻击指令,如sql指令注入到业务请求数据,如http请求数据中,可以通过确定业务请求数据中与攻击指令相关的数据对应的数据名称,获得攻击指令携带位置,从而确定攻击指令携带位置是否相同。
93.作为一种实施例,攻击指令的同类携带位置聚类条件还可以包括两个携带位置之间的相似度大于预设相似度等,具体不做限制。
94.条件三:攻击指令的同类攻击方法聚类条件。
95.攻击指令的同类攻击方法聚类条件包括相同攻击方法,攻击方法表征攻击指令所采用的语法。通常攻击指令,如sql指令具备一定的语法特征,因此,可以通过确定业务请求数据,如http请求数据中与攻击指令相关的数据中包含的语法特征,获得攻击方法,从而确定攻击方法是否相同。
96.作为一种实施例,攻击指令的同类攻击方法聚类条件还可以包括两个攻击方法之间的相似度大于预设相似度等,具体不做限制。
97.应当说明的是,预设聚类条件可以是上述三种条件中任意一种或多种的组合,具体不做限制。预设聚类条件不限于上述三种条件,还可以包括网络攻击是否成功的攻击结果等,在此不再赘述。
98.上述预设聚类条件均是从引发网络攻击的攻击者的角度,根据同类地址聚类条
件、攻击指令的同类携带位置聚类条件或攻击指令的同类攻击方法聚类条件中的一种或多种对网络攻击告警进行聚类,从而,告警处理人员可以直观的看出网络攻击的攻击指令携带位置和攻击方法,从而可以准确地采取相应的应对措施,或者,可以对较常被攻击的攻击指令携带位置加大监控力度,或者,可以对较常使用的攻击方法进行有针对性的防护等,处理人员不需要再确定每个网络攻击告警的地址标识、攻击指令携带位置或攻击方法,提高了网络攻击告警的可读性和可解析性,从而提高了处理网络攻击告警的效率。且,聚类之后,每一类对应一个网络攻击告警,大大减少了需要处理的网络攻击告警的数据量,在一定程度上可以提高处理网络攻击告警的效率。
99.下面对本技术提供的网络攻击告警的处理方法的应用场景进行说明。
100.请参考图1,为网络攻击告警的处理方法的一种应用场景。该应用场景中包括网络攻击设备101、告警处理设备102和告警分析设备103。网络攻击设备101和告警处理设备102之间可以通信,告警处理设备102和告警分析设备103之间可以通信。通信方式可以是有线通信方式,例如通过连接网线或串口线进行通信;也可以是无线通信方式,例如蓝牙或无线保真(wireless fidelity,wifi)等技术进行通信,具体不做限制。
101.网络攻击设备101泛指发送的业务请求数据,如http请求数据中携带了与网络攻击关联的数据的设备,例如,终端设备或客户端等。终端设备可以是手机、台式计算机或平板电脑等。客户端可以是安装在终端设备中的第三方应用程序或终端设备可以访问的网页等。告警处理设备102泛指用于处理网络攻击告警的设备,或者,泛指用于产生网络攻击告警的设备,例如,终端设备或服务器等。服务器可以是本地服务器或云服务器等。告警分析设备103泛指对网络攻击告警进行数据分析的设备,例如,终端设备、服务器或客户端等。
102.作为一种实施例,网络攻击设备101和告警处理设备102可以是同一个设备,即告警处理设备102可以实现网络攻击设备101的功能,或者,告警处理设备102和告警分析设备103可以是同一个设备,即告警处理设备102可以实现告警分析设备103的功能,或者,网络攻击设备101和告警分析设备103可以是同一个设备,网络攻击设备101、告警处理设备102和告警分析设备103可以是同一个设备,即告警处理设备102可以实现网络攻击设备101和告警分析设备103的功能,具体不做限制。本技术实施例中,以网络攻击设备101、告警处理设备102和告警分析设备103分别为不同的设备为例进行介绍。
103.请参考图2a,为本技术实施例提供的网络攻击告警的处理方法的一种流程示意图。
104.s201,获得各个与网络攻击相关的告警初始数据。与网络攻击相关的告警初始数据中包括业务请求数据,业务请求数据中携带了与攻击指令关联的数据。
105.作为一种实施例,获得各个与网络攻击相关的告警初始数据,具体可以是,先获得针对至少一个数据库的各个告警初始数据。在获得各个告警初始数据之后,确定各个告警初始数据中,是否包含业务请求数据。针对各个包含业务请求数据的告警初始数据,确定业务请求数据中是否携带与攻击指令关联的数据。根据业务请求数据中携带与攻击指令关联的数据的告警初始数据,获得各个与网络攻击相关的告警初始数据。
106.s202,根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合。预设聚类条件包括上述的携带攻击指令的业务请求的同类地址聚类条件、攻击指令的同类携带位置聚类条件或攻击指令的同类攻击方法聚类条件中的一种
或多种,或包括其他聚类条件,在此不作限制。本技术实施例中,以预设聚类条件包括上述的同类地址聚类条件、攻击指令的同类携带位置聚类条件和攻击指令的同类攻击方法聚类条件三种为例进行介绍。
107.作为一种实施例,针对每个与网络攻击相关的告警初始数据,确定业务请求数据中是否包括url。如果业务请求数据中包括url,那么确定url中的地址标识。如果业务请求数据中不包括url,那么根据与网络攻击相关的告警初始数据中,与url关联的数据合成url的地址标识,或者,合成url之后,再根据url确定地址标识等。在获得地址标识之后,将地址标识相同的告警初始数据汇聚为同一类,获得至少一个告警地址聚类集合。
108.作为一种实施例,针对每个与网络攻击相关的告警初始数据,确定业务请求数据中的ip,将ip作为地址标识。
109.作为一种实施例,针对每个告警地址聚类集合中的与网络攻击相关的告警初始数据,确定业务请求数据中是否包括与攻击指令关联的数据。如果业务请求数据中包括与攻击指令关联的数据,那么与攻击指令关联的数据对应的数据名称确定为攻击指令携带位置。如果业务请求数据中不包括与攻击指令关联的数据,那么确定该告警初始数据中不存在攻击指令携带位置。在获得攻击指令携带位置之后,将攻击指令携带位置相同的告警初始数据汇聚为同一类,获得至少一个告警位置聚类集合。
110.作为一种实施例,针对每个告警位置聚类集合中的与网络攻击相关的告警初始数据,确定业务请求数据中是否包括与攻击指令关联的数据。如果业务请求数据中包括与攻击指令关联的数据,那么确定攻击指令的语法特征,并根据语法特征确定攻击方法。如果业务请求数据中不包括与攻击指令关联的数据,那么确定该告警初始数据中不存在攻击方法。在获得攻击方法之后,将攻击方法相同的告警初始数据汇聚为一类,获得至少一个告警方法聚类集合。每个告警方法聚类集合即为告警聚类集合。
111.作为一种实施例,当所述预设聚类条件包括至少两个时,可以分别针对每个与网络攻击相关的告警初始数据,分别获得至少一个告警地址聚类集合、至少一个告警位置聚类集合或至少一个告警方法聚类集合中的至少两种,再对获得至少一个告警地址聚类集合、至少一个告警位置聚类集合或至少一个告警方法聚类集合取交集,获得至少一个告警聚类集合。
112.s203,针对所述至少一个告警聚类集合中每个告警聚类集合,将告警聚类集合中的各个与网络攻击相关的告警初始数据合并,获得合并后的告警数据。
113.作为一种实施例,在获得至少一个告警聚类集合之后,可以获取每个告警聚类集合中各个与网络攻击相关的告警初始数据中的攻击指令。在将告警聚类集合中的各个与网络攻击相关的告警初始数据合并之后,将各个与网络攻击相关的告警初始数据中的攻击指令标注在告警聚类集合中。
114.作为一种实施例,在获得至少一个告警聚类集合之后,可以获取每个告警聚类集合中各个与网络攻击相关的告警初始数据中的攻击结果,攻击结果可以包括攻击成功和攻击失败。在将告警聚类集合中的各个与网络攻击相关的告警初始数据合并之后,将各个与网络攻击相关的告警初始数据中的攻击结果标注在告警聚类集合中。
115.s204,根据获得的各个合并后的告警数据,对网络攻击告警进行处理。
116.本技术实施例中,预设聚类条件是从引发网络攻击的攻击者的角度出发,根据地
址标识相同、攻击指令携带位置相同或攻击方法相同中的一种或多种对网络攻击告警进行聚类,从而,在对网络攻击告警进行处理时,不需要再确定每个网络攻击告警的地址标识、攻击指令携带位置或攻击方法,提高了网络攻击告警的可读性和可解析性,从而提高了处理网络攻击告警的效率。且,聚类之后,每一类对应一个网络攻击告警,大大减少了需要处理的网络攻击告警的数据量,在一定程度上可以提高处理网络攻击告警的效率。且,聚类的过程并不需要通过训练好的模型来实现,因此,减少了训练模型的过程。
117.下面以网络攻击为sql注入,业务请求数据包括http请求数据为例,基于图1的应用场景,参见图2b所示,对各设备之间的交互过程进行示例说明。其中,攻击指令为sql指令,告警初始数据为sql注入告警初始数据,攻击指令携带位置为sql注入位置,攻击方法为sql注入方法,攻击结果为sql注入结果。
118.网络攻击设备101向告警处理设备102发送携带了与sql注入关联的数据的http请求数据,告警处理设备102接收网络攻击设备101发送的http请求数据。告警处理设备102确定http请求数据异常,产生sql注入告警初始数据,告警处理设备102获得各个sql注入告警初始数据。
119.告警处理设备102根据预设聚类条件,对各个sql注入告警初始数据进行聚类,获得至少一个告警聚类集合。其中,预设聚类条件可以包括url相同、sql注入位置相同或sql注入方法相同中的一种或多种。
120.告警处理设备102针对至少一个告警聚类集合中每个告警聚类集合,将告警聚类集合中的各个sql注入告警初始数据合并,获得合并后的告警数据。
121.告警处理设备102在获得至少一个合并后的告警数据之后,向告警分析设备103发送获得的至少一个合并后的告警数据,告警分析设备103接收告警处理设备102发送的至少一个合并后的告警数据。告警分析设备103根据至少一个合并后的告警数据,对每个合并后的告警数据进行数据分析。
122.应当说明的是,告警处理设备102可以在产生sql注入告警初始数据时,就将该sql注入告警初始数据,与在该sql注入告警初始数据之前获得的各个sql注入告警初始数据进行聚类,达到实时聚类的效果;或者,可以在获得一定数量的sql注入告警初始数据之后,或在预设时长之后,或在告警处理设备102资源占用率较低时,对各个sql注入告警初始数据进行聚类,以降低告警处理设备102的性能消耗,提高利用资源的合理性等,具体不做限制。
123.本技术实施例中图2b所示为网络攻击设备101、告警处理设备102和告警分析设备103之间的信令交互过程示意图,主要包括如下步骤:
124.s21,网络攻击设备101向告警处理设备102发送http请求数据。
125.网络攻击设备101例如在访问某个网页时,或者,在网页中提交信息时,可以向告警处理设备102发送http请求数据。告警处理设备102接收网络攻击设备101发送的http请求数据,并生成http返回数据,表示告警处理设备102已对网络攻击设备101的请求进行响应。告警处理设备102向网络攻击设备101发送http返回数据,网络攻击设备101接收告警处理设备102发送的http返回数据。
126.s22,告警处理设备102获得各个sql注入告警初始数据。
127.告警处理设备102在接收网络攻击设备101发送的http请求数据之后,可以对http请求数据进行过滤,确定http请求数据是否存在异常,例如是否存在sql注入的可能性。如
果http请求数据存在异常,那么告警处理设备102根据http请求数据和http返回数据,生成对应的sql注入告警初始数据。
128.作为一种实施例,sql注入仅是web应用程序攻击中的一种攻击类型,web应用程序攻击还包括跨站脚本攻击(cross site scripting,xss)等。因此,告警处理设备102可以处理的告警初始数据除了包括与sql注入相关的告警初始数据以外,还可以包括与xss相关的告警初始数据,或第三方应用程序攻击等。因此,告警处理设备102可以从生成的各个告警初始数据中,确定出需要处理的告警初始数据,本技术实施例中,以需要处理的初始告警数据为sql注入告警初始数据为例进行介绍。告警处理设备102确定出sql注入告警初始数据之后,获得各个sql注入告警初始数据。请参考图3,为告警处理设备102获得各个sql注入告警初始数据的一种流程示意图。
129.s301,告警处理设备102获得各个告警初始数据。
130.告警处理设备102可以生成各种攻击类型对应的告警初始数据,或者,告警处理设备102可以接收多个设备或数据源发送的告警初始数据,从而,告警处理设备102获得各个告警初始数据。告警初始数据可以包括针至少一个数据库的告警初始数据。至少一个数据库可以是设备或数据源关联的本地数据库、第三方数据库或云数据库等。
131.s302,告警处理设备102确定各个告警初始数据中的sql注入告警初始数据。
132.为了更有针对性的处理告警初始数据,告警处理设备102可以在各个告警初始数据中确定出sql注入告警初始数据。告警处理设备102获得各个告警初始数据之后,可以确定每个告警初始数据中是否包含sql注入标识。如果告警处理设备102确定告警初始数据包含sql注入标识,那么告警处理设备102将该告警初始数据确定为sql注入告警初始数据。如果告警处理设备102确定告警初始数据不包含sql注入标识,那么告警处理设备102确定该告警初始数据不是sql注入告警初始数据。
133.s303,告警处理设备102获得满足要求的各个sql注入告警初始数据。
134.为了减少需要处理的sql注入告警初始数据的数据量,提高处理sql注入告警初始数据的效率,告警处理设备102可以对获得的sql注入告警初始数据进行进一步过滤,确定出具备分析处理意义的sql注入告警初始数据。告警处理设备102确定出sql注入告警初始数据之后,确定sql注入告警初始数据中是否包含http请求数据和http返回数据。如果告警处理设备102确定sql注入告警初始数据中包含http请求数据和http返回数据,那么告警处理设备102确定该sql注入告警初始数据满足要求,获取该sql注入告警初始数据;如果告警处理设备102确定sql注入告警初始数据中不包含http请求数据或http返回数据,或者,所包含的http请求数据或http返回数据不完整,那么告警处理设备102确定该sql注入告警初始数据不满足要求,不对该sql注入告警初始数据进行处理。从而,告警处理设备102获得各个sql注入告警初始数据。
135.s23,告警处理设备102根据预设聚类条件,对各个sql注入告警初始数据进行聚类,获得至少一个告警聚类集合。
136.告警处理设备102获得各个sql注入告警初始数据之后,可以根据预设聚类条件对各个sql注入告警初始数据进行聚类。预设聚类条件可以包括前文论述的三个条件中的一个或多个。在预设聚类条件包括多个条件时,至少一个告警聚类集合的每个告警聚类集合中,各个sql注入告警初始数据均满足多个条件中的每个条件。
137.本技术实施例中,以预设聚类条件包括条件一、条件二和条件三为例进行介绍,请参考图4,为根据预设聚类条件进行聚类的一种流程示意图。
138.s401,根据同类地址聚类条件,对各个sql注入告警初始数据进行聚类,获得至少一个告警地址聚类集合。
139.s1.1,告警处理设备102获得各个sql注入告警初始数据对应的url。
140.sql注入告警初始数据中可以包括完整的url,或者,可以包括与url关联的数据,与url关联的数据可以合成完整的url。
141.针对各个sql注入告警初始数据中的每个sql注入告警初始数据,告警处理设备102可以先确定sql注入告警初始数据中是否包括url。如果告警处理设备102确定sql注入告警初始数据中包括url,那么告警处理设备102可以获取该url,并确定url中的地址标识。地址标识可以包括主机名称和路径,或主机名称、路径和端口号。
142.如果告警处理设备102确定sql注入告警初始数据中不包括url,那么告警处理设备102获取sql注入告警初始数据中与url关联的数据。告警处理设备102根据与url关联的数据,合成url的地址标识。从而,告警处理设备102获得每个sql注入告警初始数据对应的url的地址标识。
143.作为一种实施例,地址标识中数据的存放形式可以是主机名称和路径,或主机名称、路径和端口号的键值对的形式,例如,{host:xxx;path:yyy};或者,可以是“主机名称 路径”,或“主机名称 端口号 路径”的形式,例如,“xxx/yyy”,具体不做限制。
144.例如,如果sql注入告警初始数据中包括“url:http://abc/def”,那么告警处理设备102可以确定sql注入告警初始数据中包括完整的url,告警处理设备102可以根据url,确定url的地址标识为{host:abc;path:def}。如果sql注入告警初始数据中包括“protocol:http;host:abc;path:def”,那么告警处理设备102可以根据与url关联的数据,合成完整的url为http://abc/def,因此,告警处理设备102可以与url关联的数据,确定url的地址标识为{host:abc;path:def}。
145.作为一种实施例,地址标识还可以是ip,告警处理设备102可以获得各个sql注入告警初始数据中ip,将ip作为地址标识。
146.s1.2,告警处理设备102将url相同的sql注入告警初始数据汇聚为一类。
147.告警处理设备102获得每个sql注入告警初始数据对应的url的地址标识之后,告警处理设备102分别确定每两个sql注入告警初始数据对应的url的地址标识是否相同。如果告警处理设备102确定两个sql注入告警初始数据对应的url的地址标识相同,那么告警处理设备102将这两个sql注入告警初始数据划分为一类。如果告警处理设备102确定两个sql注入告警初始数据对应的url的地址标识不相同,那么告警处理设备102不对这两个sql注入告警初始数据进行处理。
148.s1.3,告警处理设备102获得至少一个告警地址聚类集合。
149.在告警处理设备102对每个sql注入告警初始数据进行划分之后,可以获得至少一个告警地址聚类集合。每个告警地址聚类集合种包括至少一个sql注入告警初始数据,至少一个sql注入告警初始数据中每个sql注入告警初始数据对应的url均相同。
150.作为一种实施例,告警处理设备102在获得至少一个告警地址聚类集合之后,可以在至少一个告警地址聚类集合的每个告警地址聚类集合中标注对应的url的地址标识。从
而,可以提高告警地址聚类集合的可读性和可解析性,例如,其他设备可以根据告警地址聚类集合的标注,直接确定出告警地址聚类集合中每个sql注入告警初始数据的地址标识。
151.s402,针对至少一个告警地址聚类集合的每个告警地址聚类集合,根据攻击指令的同类携带位置聚类条件,对各个sql注入告警初始数据进行聚类。
152.为了进一步从注入位置角度,提高sql注入告警初始数据的可读性和可解析性,告警处理设备102在获得至少一个告警地址聚类集合之后,针对至少一个告警地址聚类集合中每个告警地址聚类集合,告警处理设备102可以根据注入位置相同的预设聚类条件,对告警地址聚类集合中的各个sql注入告警初始数据进行聚类。
153.s2.1,告警处理设备102确定sql注入告警初始数据的注入位置。
154.告警处理设备102可以依次确定sql注入告警初始数据中的每个数据名称对应的数据中是否包含与sql指令关联的数据。如果告警处理设备102确定当前的数据名称对应的数据中不包含与sql指令关联的数据,那么告警处理设备102确定下一个数据名称对应的数据中是否包含与sql指令关联的数据,直到告警处理设备102确定出与sql指令关联的数据,告警处理设备102将与sql指令关联的数据对应的数据名称确定为注入位置。从而,告警处理设备102获得每个sql注入告警初始数据对应的注入位置。
155.例如,告警处理设备102确定出包含与sql指令关联的数据为“id=1 sql指令”,sql指令对应的数据名称为“id”,告警处理设备102确定注入位置为“id”。
156.作为一种实施例,由于http请求数据的请求方法不同,网络攻击设备101向告警处理设备102传递的信息,编写在http请求数据中的位置也不同,因此,为了缩小告警处理设备102确定与sql指令关联的数据时的处理范围,告警处理设备102可以先根据sql注入告警初始数据,确定http请求数据中的请求方法,再根据请求方法,在http请求数据中确定出待处理数据。告警处理设备102在待处理数据中,确定每个数据名称对应的数据中是否包含与sql指令关联的数据,从而提高告警处理设备102的处理效率。
157.例如,请求方法为“get”时,网络攻击设备101向告警处理设备102传递的信息,编写在url的查询数据中;请求方法为“post”时,网络攻击设备101向告警处理设备102传递的信息,编写在请求正文中。
158.作为一种实施例,告警处理设备102可以先确定sql注入告警初始数据中是否包括用于指示sql注入告警初始数据的注入位置的数据,例如,sql注入告警初始数据中包括注入位置字段{position:xx},以指示sql注入告警初始数据对应的注入位置为xx。如果告警处理设备102确定sql注入告警初始数据中包括用于指示sql注入告警初始数据的注入位置的数据,那么告警处理设备102获得sql注入告警初始数据对应的注入位置,不需要再根据步骤s2.1,对sql注入告警初始数据对应的注入位置进行确定。如果告警处理设备102确定sql注入告警初始数据中不包括用于指示sql注入告警初始数据的注入位置的数据,那么告警处理设备102再根据步骤s2.1,,确定sql注入告警初始数据对应的注入位置。
159.s2.2,告警处理设备102将注入位置相同的sql注入告警初始数据汇聚为一类。
160.告警处理设备102获得每个sql注入告警初始数据对应的注入位置之后,告警处理设备102分别确定每两个sql注入告警初始数据对应的注入位置是否相同。如果告警处理设备102确定两个sql注入告警初始数据对应的注入位置相同,那么告警处理设备102将这两个sql注入告警初始数据划分为一类。如果告警处理设备102确定两个sql注入告警初始数
据对应的注入位置不相同,那么告警处理设备102不对这两个sql注入告警初始数据进行处理,直到对所有sql注入告警初始数据划分完成。
161.例如,sql注入告警初始数据a中,与sql指令关联的数据为“id=sql指令&user=1”,sql注入告警初始数据b中,与sql指令关联的数据为“id=sql指令&user=2”,sql注入告警初始数据c中,与sql指令关联的数据为“id=1&user=sql指令”,那么,sql注入告警初始数据a的注入位置为“id”,sql注入告警初始数据b的注入位置为“id”,sql注入告警初始数据c的注入位置为“user”。因此,sql注入告警初始数据a和sql注入告警初始数据b的注入位置相同,告警处理设备102将sql注入告警初始数据a和sql注入告警初始数据b汇聚为一类,sql注入告警初始数据c汇聚为一类。
162.s2.3,告警处理设备102获得至少一个告警位置聚类集合。
163.在告警处理设备102对每个sql注入告警初始数据进行划分之后,可以获得至少一个告警位置聚类集合。每个告警位置聚类集合种包括至少一个sql注入告警初始数据,至少一个sql注入告警初始数据中每个sql注入告警初始数据对应的url均相同,以及,对应的注入位置也均相同。
164.作为一种实施例,告警处理设备102在获得至少一个告警位置聚类集合之后,可以在至少一个告警位置聚类集合的每个告警位置聚类集合中标注对应的注入位置。从而,可以提高告警位置聚类集合的可读性和可解析性,例如,其他设备可以根据告警位置聚类集合的标注,直接确定出告警位置聚类集合中每个sql注入告警初始数据的注入位置。
165.s403,针对至少一个告警位置聚类集合的每个告警位置聚类集合,根据攻击指令的同类攻击方法聚类条件,对各个sql注入告警初始数据进行聚类。
166.为了进一步从注入方法角度,提高sql注入告警初始数据的可读性和可解析性,告警处理设备102在获得至少一个告警位置聚类集合之后,针对至少一个告警位置聚类集合中每个告警位置聚类集合,告警处理设备102可以根据注入方法相同的预设聚类条件,对告警位置聚类集合中的各个sql注入告警初始数据进行聚类。
167.s3.1,告警处理设备102确定sql注入告警初始数据的注入方法。
168.告警处理设备102确定sql注入告警初始数据中与sql指令关联的数据。告警处理设备102根据与sql指令关联的数据,确定与sql指令关联的数据包含的语法特征,即sql指令的语法特征。告警处理设备102根据sql注入告警初始数据中sql指令的语法特征,以及语法特征与注入方法之间的对应关系,确定该语法特征所属的注入方法。从而,告警处理设备102获得每个sql注入告警初始数据对应的注入方法。
169.语法特征包括布尔类型语法特征、时间类型语法特征、错误类型语法特征、联合类型语法特征和堆叠查询类型语法特征。布尔类型语法特征例如是“and”语法或“or”语法等。时间类型语法特征例如是“sleep函数”或“wait for”语法等。错误类型语法特征例如是“updatexml函数”等。联合类型语法特征例如是“union”语法。堆叠查询类型语法特征例如是“; sql指令”等。
170.注入方法包括布尔类型注入、时间类型注入、错误类型注入、联合类型注入和堆叠查询类型注入。如果告警处理设备102确定sql注入告警初始数据的与sql关联的数据中包括布尔类型语法特征,那么告警处理设备102确定该sql注入告警初始数据的注入方法为布尔类型注入。如果告警处理设备102确定sql注入告警初始数据的与sql关联的数据中包括
时间类型语法特征,那么告警处理设备102确定该sql注入告警初始数据的注入方法为时间类型注入。如果告警处理设备102确定sql注入告警初始数据的与sql关联的数据中包括错误类型语法特征,那么告警处理设备102确定该sql注入告警初始数据的注入方法为错误类型注入。如果告警处理设备102确定sql注入告警初始数据的与sql关联的数据中包括联合类型语法特征,那么告警处理设备102确定该sql注入告警初始数据的注入方法为联合类型注入。如果告警处理设备102确定sql注入告警初始数据的与sql关联的数据中包括堆叠查询类型语法特征,那么告警处理设备102确定该sql注入告警初始数据的注入方法为堆叠查询类型注入。例如,告警处理设备102确定出与sql指令关联的数据包括“wait for”,告警处理设备102确定注入方法为时间类型注入。
171.作为一种实施例,告警处理设备102可以先确定sql注入告警初始数据是否包括指示sql注入告警初始数据的注入方法的数据,例如,sql注入告警初始数据是否包括注入方法字段{method:xx},以指示sql注入告警初始数据的注入方法为xx。如果告警处理设备102确定sql注入告警初始数据包括指示sql注入告警初始数据的注入方法的数据,那么告警处理设备102获取sql注入告警初始数据的注入方法。如果告警处理设备102确定sql注入告警初始数据不包括指示sql注入告警初始数据的注入方法的数据,那么告警处理设备102再根据步骤s3.1,确定sql注入告警初始数据的注入方法。
172.作为一种实施例,对于不同的数据库来说,每种注入方法对应的语法特征可能不同,因此,告警处理设备102在确定sql注入告警初始数据的注入方法之前,可以先确定sql注入告警初始数据对应的数据库的类型,再针对该数据库类型中的语法特征与注入方法之间的对应关系,确定sql注入告警初始数据的注入方法。或者,由于数据库的类型是有限的,因此,可以不对数据库的类型进行区分,告警处理设备102可以直接确定sql注入告警初始数据中sql指令的语法特征对应的注入方法。
173.s3.2,告警处理设备102将注入方法相同的sql注入告警初始数据汇聚为一类。
174.告警处理设备102获得每个sql注入告警初始数据对应的注入方法之后,告警处理设备102分别确定每两个sql注入告警初始数据对应的注入方法是否相同。如果告警处理设备102确定两个sql注入告警初始数据对应的注入方法相同,那么告警处理设备102将这两个sql注入告警初始数据划分为一类。如果告警处理设备102确定两个sql注入告警初始数据对应的注入方法不相同,那么告警处理设备102不对这两个sql注入告警初始数据进行处理。
175.s3.3,告警处理设备102获得至少一个告警方法聚类集合。
176.在告警处理设备102对每个sql注入告警初始数据进行划分之后,可以获得至少一个告警方法聚类集合。每个告警方法聚类集合种包括至少一个sql注入告警初始数据,至少一个sql注入告警初始数据中每个sql注入告警初始数据对应的url均相同,以及,对应的注入位置均相同,以及,注入方法也均相同。告警方法聚类集合即为告警聚类集合,告警处理设备102获得至少一个告警聚类集合。
177.作为一种实施例,告警处理设备102在获得至少一个告警方法聚类集合之后,可以在至少一个告警方法聚类集合的每个告警方法聚类集合中标注对应的注入方法。从而,可以提高告警方法聚类集合的可读性和可解析性,例如,其他设备可以根据告警方法聚类集合的标注,直接确定出告警方法聚类集合中每个sql注入告警初始数据的注入方法。
178.作为一种实施例,s401~s403的顺序可以任意调换,不做具体限制。
179.作为一种实施例,告警处理设备102在获得至少一个告警聚类集合之后,可以针对至少一个告警聚类集合的每个告警聚类集合,获取告警聚类集合中每个sql注入告警初始数据包含的sql指令。告警处理设备102可以在告警聚类集合中标注每个sql注入告警初始数据对应的sql指令;或者,告警处理设备102可以在步骤s24,获得合并后的告警数据之后,再标注每个sql注入告警初始数据对应的sql指令,标注sql指令的先后顺序具体不做限制。
180.作为一种实施例,告警处理设备102在获得至少一个告警聚类集合之后,可以针对至少一个告警聚类集合的每个告警聚类集合,确定告警聚类集合中,每个sql注入告警初始数据中sql注入的注入结果,注入结果包括sql注入成功和sql注入失败。
181.具体的,如果sql注入告警初始数据满足预设注入条件,那么确定sql注入告警初始数据对应的注入结果为sql注入成功;如果sql注入告警初始数据不满足预设注入条件,那么确定sql注入告警初始数据对应的注入结果为sql注入失败。
182.预设注入条件可以有多种,下面以与注入方法对应的5中预设注入条件为例进行介绍。
183.条件a:与布尔类型注入的注入方法对应的预设注入条件。
184.具体的,针对至少一个告警聚类集合的每个告警聚类集合,告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文是否相同。如果告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文均相同,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为sql注入失败。如果告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文不同,且包括两种不同的返回正文,且两种不同的返回正文中,sql注入告警初始数据的数量比例为预设比例,如1/26,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为sql注入成功。
185.例如,如果告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文不同,有1个sql注入告警初始数据中的返回正文是第一种返回正文,有26个sql注入告警初始数据中的返回正文是第二种返回正文,两者之间的比例为1/26,达到了预设比例,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为sql注入成功。
186.条件b:与时间类型注入的注入方法对应的预设注入条件。
187.具体的,针对至少一个告警聚类集合的每个告警聚类集合,告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http请求数据中的请求时间,与http返回数据中的返回时间之间的时间差是否与各个sql注入告警初始数据对应的sql指令指示的预设时间一致,例如,时间差在与预设时间关联的预设时间范围内,或者,时间差与预设时间相同等。
188.如果告警处理设备102确定时间差与sql指令指示的预设时间一致,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为sql注入成功。如果告警处理设备102确定时间差与sql指令指示的预设时间不一致,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为sql注入失败。
189.条件c:与错误类型注入的注入方法对应的预设注入条件。
190.具体的,针对至少一个告警聚类集合的每个告警聚类集合,告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文,与各个sql注入告警初始数据对应的sql指令指示的返回正文一致,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为sql注入成功。例如,sql指令指示错误函数a,对应的返回正文应该为a,如果告警处理设备102确定http返回数据中的返回正文为a,那么告警处理设备102确定sql注入成功。
191.如果告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文,与各个sql注入告警初始数据对应的sql指令指示的返回正文不一致,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为sql注入失败。
192.条件d:与联合类型注入的注入方法对应的预设注入条件。
193.具体的,针对至少一个告警聚类集合的每个告警聚类集合,告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文,如果告警处理设备102确定各个sql注入告警初始数据的http返回数据中的返回正文中的增加的数据量与sql指令指示的数据量一致,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为注入成功。
194.如果告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文中的增加的数据量与sql指令指示的数据量不一致,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为注入失败。
195.条件f:与堆叠类型注入的注入方法对应的预设注入条件。
196.具体的,针对至少一个告警聚类集合的每个告警聚类集合,告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文,如果告警处理设备102确定各个sql注入告警初始数据的http返回数据中的返回正文中包括sql指令指示的数据,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为注入成功。
197.如果告警处理设备102确定告警聚类集合中的各个sql注入告警初始数据的http返回数据中的返回正文不包括sql指令指示的数据,那么告警处理设备102确定各个sql注入告警初始数据的注入结果为注入失败。
198.作为一种实施例,告警处理设备102在确定各个sql注入告警初始数据的注入结果之后,可以在告警聚类集合中,对各个sql注入告警初始数据的注入结果进行标注。
199.s24,告警处理设备102将告警聚类集合中的各个sql注入告警初始数据合并,获得合并后的告警数据。
200.告警处理设备102在获得至少一个告警聚类集合之后,针对至少一个告警聚类集合的每个告警聚类集合,将告警聚类集合中的各个sql注入告警初始数据合并,获得合并后的告警数据。合并后的告警数据可以包括各个sql注入告警初始数据的url、注入位置、注入方法、sql指令或sql注入的注入结果中的一种或多种。
201.作为一种实施例,合并后的告警数据还可以包括sql注入告警初始数据的数据量,便于后续的数据分析。
202.s25,告警处理设备102向告警分析设备103发送至少一个合并后的告警数据。
203.告警处理设备102获得至少一个合并后的告警数据之后,可以向告警分析设备103发送至少一个合并后的告警数据,告警分析设备103接收告警处理设备102发送的至少一个
合并后的告警数据。
204.s26,告警分析设备103对合并后的告警数据进行数据分析。
205.告警分析设备103接收至少一个合并后的告警数据之后,可以对至少一个合并后的告警数据的每个合并后的告警数据进行数据分析。
206.例如,告警分析设备103可以对合并后的告警数据进行统计分析,确定出较常被攻击的注入位置,或攻击者较常使用的注入方法,或攻击成功率较高的注入方法等,使得告警处理人员可以有针对性的对web应用程序进行维护等。
207.又例如,告警分析设备103可以针对注入结果为sql注入成功的合并后的告警数据,确定出有效的应对措施,从而告警处理人员可以采取相应的应对措施对web应用程序进行维护等。
208.作为一种实施例,s21、s25和s26为可选的。
209.基于同一发明构思,本技术实施例提供一种网络攻击告警处理装置,该装置相当于前文论述的告警处理设备102,能够实现前述网络攻击告警的处理方法对应的功能。请参考图5,该装置包括获取模块501和处理模块502,其中:
210.获取模块501:用于获得各个与网络攻击相关的告警初始数据,其中,与网络攻击相关的告警初始数据中包括业务请求数据,业务请求数据中携带了与攻击指令关联的数据;
211.处理模块502:用于根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合;其中,预设聚类条件至少包括如下一种:同类地址聚类条件、攻击指令的同类携带位置聚类条件或攻击指令的同类攻击方法聚类条件,告警聚类集合中包括至少一个与网络攻击相关的告警初始数据;以及,针对至少一个告警聚类集合中每个告警聚类集合,将告警聚类集合中的各个与网络攻击相关的告警初始数据合并,获得合并后的告警数据;以及,根据获得的各个合并后的告警数据,对网络攻击告警进行处理。
212.在一种可能的实施例中,网络攻击包括攻击数据库的结构化查询语言sql指令,业务请求数据包括http请求数据。
213.在一种可能的实施例中,预设聚类条件包括同类地址聚类条件时,同类地址聚类条件包括相同地址标识,地址标识用于表征统一资源定位符url访问的目的地址;
214.针对每个与网络攻击相关的告警初始数据,处理模块502还用于:
215.确定与网络攻击相关的告警初始数据的业务请求数据中是否包括url;
216.若业务请求数据中包括url,则获取url中的地址标识;
217.若业务请求数据中不包括url,则根据与网络攻击相关的告警初始数据中与url关联的数据合成url的地址标识。
218.在一种可能的实施例中,处理模块502具体用于:
219.分别确定每两个与网络攻击相关的告警初始数据的地址标识是否相同;
220.将地址标识相同的与网络攻击相关的告警初始数据汇聚为一类,获得至少一个告警地址聚类集合。
221.在一种可能的实施例中,预设聚类条件包括攻击指令的同类携带位置聚类条件时,攻击指令的同类携带位置聚类条件包括相同攻击指令携带位置,攻击指令携带位置表
征与攻击指令关联的数据在业务请求数据中的位置;
222.针对每个与网络攻击相关的告警初始数据,处理模块502还用于:
223.若确定与网络攻击相关的告警初始数据的业务请求数据中包括与攻击指令关联的数据,则将与攻击指令关联的数据对应的数据名称确定为攻击指令携带位置。
224.在一种可能的实施例中,处理模块502具体用于:
225.分别确定每两个与网络攻击相关的告警初始数据的攻击指令携带位置是否相同;
226.将攻击指令携带位置相同的与网络攻击相关的告警初始数据汇聚为一类,获得至少一个告警位置聚类集合。
227.在一种可能的实施例中,预设聚类条件包括攻击指令的同类攻击方法聚类条件时,攻击指令的同类攻击方法聚类条件包括相同攻击方法,攻击方法表征攻击指令所采用的语法;
228.针对每个与网络攻击相关的告警初始数据,处理模块502还用于:
229.若确定与网络攻击相关的告警初始数据的业务请求数据中包括与攻击指令关联的数据,则根据与攻击指令关联的数据,确定攻击指令的语法特征;
230.根据语法特征,确定攻击方法;其中,语法特征包括布尔类型语法特征、时间类型语法特征、错误类型语法特征、联合类型语法特征和堆叠查询类型语法特征,攻击方法包括布尔类型注入、时间类型注入、错误类型注入、联合类型注入或堆叠查询类型注入中的一种或多种。
231.在一种可能的实施例中,处理模块502具体用于:
232.分别确定每两个与网络攻击相关的告警初始数据的攻击方法是否相同;
233.将攻击方法相同的与网络攻击相关的告警初始数据汇聚为一类,获得至少一个告警方法聚类集合。
234.在一种可能的实施例中,当预设聚类条件包括至少两个时,告警聚类集合包括根据各个预设聚类条件获得的告警聚类集合的交集。
235.在一种可能的实施例中,针对每个告警聚类集合,处理模块502还用于:
236.在根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合之后,获取告警聚类集合中各个与网络攻击相关的告警初始数据中的攻击指令;
237.在将告警聚类集合中的各个与网络攻击相关的告警初始数据合并之后,标注每个与网络攻击相关的告警初始数据的攻击指令。
238.在一种可能的实施例中,针对每个告警聚类集合,处理模块502还用于:
239.在根据预设聚类条件,对各个与网络攻击相关的告警初始数据进行聚类,获得至少一个告警聚类集合之后,确定告警聚类集合中各个与网络攻击相关的告警初始数据是否满足预设注入条件;
240.若与网络攻击相关的告警初始数据满足预设注入条件,则确定与网络攻击相关的告警初始数据对应的攻击结果为攻击成功;否则,确定与网络攻击相关的告警初始数据对应的攻击结果为攻击失败;
241.在将告警聚类集合中的各个与网络攻击相关的告警初始数据合并之后,标注每个与网络攻击相关的告警初始数据的攻击结果。
242.基于同一发明构思,本技术实施例提供一种计算机设备,下面对该计算机设备600进行介绍。
243.请参照图6,上述网络攻击告警处理装置可以运行在计算机设备600上,网络攻击告警处理程序的当前版本和历史版本以及网络攻击告警处理程序对应的应用软件可以安装在计算机设备600上,该计算机设备600包括显示单元640、处理器680以及存储器620,其中,显示单元640包括显示面板641,用于显示由用户交互操作界面等。
244.在一种可能的实施例中,可以采用液晶显示器(liquid crystal display,lcd)或有机发光二极管oled(organic light-emitting diode)等形式来配置显示面板641。
245.处理器680用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器680读取网络攻击告警处理程序或文件等,从而在该计算机设备600上运行网络攻击告警处理程序,在显示单元640上显示对应的界面。处理器680可以包括一个或多个通用处理器,还可包括一个或多个dsp(digital signal processor,数字信号处理器),用于执行相关操作,以实现本技术实施例所提供的技术方案。
246.存储器620一般包括内存和外存,内存可以为随机存储器(ram),只读存储器(rom),以及高速缓存(cache)等。外存可以为硬盘、光盘、usb盘、软盘或磁带机等。存储器620用于存储计算机程序和其他数据,该计算机程序包括各客户端对应的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本技术实施例中程序指令存储在存储器620中,处理器680执行存储其中620中的程序指令,实现前文图论述的任意的一种网络攻击告警处理方法。
247.上述显示单元640用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与计算机设备600的用户设置以及功能控制有关的信号输入等。具体地,本技术实施例中,该显示单元640可以包括显示面板641。显示面板641例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板641上或在显示面板641的操作),并根据预先设定的程式驱动相应的连接装置。
248.在一种可能的实施例中,显示面板641可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。
249.其中,显示面板641可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元640,计算机设备600还可以包括输入单元630,输入单元630可以包括图形输入设备631和其他输入设备632,其中其他输入设备可以但不限于包括物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
250.除以上之外,计算机设备600还可以包括用于给其他模块供电的电源690、音频电路660、近场通信模块670和rf电路610。计算机设备600还可以包括一个或多个传感器650,例如加速度传感器、光传感器、压力传感器等。音频电路660具体包括扬声器661和麦克风662等,例如计算机设备600可以通过麦克风662采集用户的声音,进行相应的操作等。
251.作为一种实施例,处理器680的数量可以是一个或多个,处理器680和存储器620可以是耦合设置,也可以是相对独立设置。
252.作为一种实施例,图6中的处理器680可以用于实现如图5中的获取模块501和处理
模块502的功能。
253.作为一种实施例,图6中的处理器680可以用于实现前文论述的告警处理设备102对应的功能。
254.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
255.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
256.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献