CN115022079A - 攻击数据处理方法、装置、电子设备和计算机存储设备 - Google Patents

攻击数据处理方法、装置、电子设备和计算机存储设备 Download PDF

Info

Publication number
CN115022079A
CN115022079A CN202210795166.1A CN202210795166A CN115022079A CN 115022079 A CN115022079 A CN 115022079A CN 202210795166 A CN202210795166 A CN 202210795166A CN 115022079 A CN115022079 A CN 115022079A
Authority
CN
China
Prior art keywords
alarm
field
alarm data
value
determining
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.)
Pending
Application number
CN202210795166.1A
Other languages
English (en)
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.)
Harbin Institute of Technology
Qianxin Technology Group Co Ltd
Original Assignee
Harbin Institute of Technology
Qianxin Technology Group Co Ltd
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 Harbin Institute of Technology, Qianxin Technology Group Co Ltd filed Critical Harbin Institute of Technology
Priority to CN202210795166.1A priority Critical patent/CN115022079A/zh
Publication of CN115022079A publication Critical patent/CN115022079A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种攻击数据处理方法、装置、电子设备和计算机存储设备,其中,该方法包括:根据获得的多条警报数据,确定出该多条警报数据中的各条警报数据之间的相关度;根据该各条警报数据之间的相关度,确定出警报关系网;根据该警报关系网,确定出攻击数据。可以实现对各类警报数据之间的关联,分析出攻击情况。

Description

攻击数据处理方法、装置、电子设备和计算机存储设备
技术领域
本申请涉及系统安全技术领域,具体而言,涉及一种攻击数据处理方法、装置、电子设备和计算机存储设备。
背景技术
随着互联网的快速发展,各类业务都能够通过网上实现,然而,现网络上可能存在各类攻击,从原来的系统权限,转变为通过多步、长时间、隐蔽的攻击,逐步获取目标系统信息,最终达成诸如窃取机密数据、破坏线上业务等目的。因此,网络安全直接影响到各类网上实现的业务的安全。当前针对网络上的各类攻击通常仅仅是在能够检测攻击存在时,给予对应的提醒。但并不能够给计算机系统的安全分析提供任何辅助。
发明内容
本申请的目的在于提供一种攻击数据处理方法、装置、电子设备和计算机存储设备,以改善现有的计算机中存在的攻击的分析中存在的不足。
第一方面,本申请实施例提供了一种攻击数据处理方法,包括:根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度;根据所述各条警报数据之间的相关度,确定出警报关系网;根据所述警报关系网,确定出攻击数据。
可选地,所述根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度,包括:针对所述多条警报数据中的第一警报数据和第二警报数据,根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度;其中,所述第一警报数据与所述第二警报数据为所述多条警报数据中的任意两条警报数据。
可选地,所述根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度,包括:若所述第一警报数据的警报类别为主机警报,判断所述第二警报数据的警报类别是否为所述主机警报;若第二警报数据的警报类别为所述主机警报,确定出所述第一警报数据与所述第二警报数据的相关度为第一值。
可选地,所述根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度,还包括:若第二警报数据的警报类别为网络警报,判断所述第一警报数据的发生源与所述第二警报数据的发生源是否为同一主机;若所述第一警报数据的发生源与所述第二警报数据的发生源为同一主机,确定出所述第一警报数据与所述第二警报数据的相关度为第一值。
可选地,所述根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度,包括:若所述第一警报数据和所述第二警报数据的警报类别均为网络警报,根据所述第一警报数据的第一字段和所述第二警报数据的第二字段,确定出所述第一警报数据与所述第二警报数据的相关度。
可选地,所述第一字段包括第一IP字段和第一端口字段,所述第二字段包括第二IP字段和第二端口字段;所述根据所述第一警报数据的第一字段和所述第二警报数据的第二字段,确定出所述第一警报数据与所述第二警报数据的相关度,包括:根据所述第一IP字段和所述第二IP字段,确定出IP关系值;根据所述第一端口字段和所述第二端口字段,确定出端口关系值;根据所述IP关系值和所述端口关系值,确定出所述第一警报数据与所述第二警报数据的相关度。
可选地,所述根据所述第一端口字段和所述第二端口字段,确定出端口关系值,包括:若所述第一端口字段与所述第二端口字段为相同端口,确定端口关系值为第一值;若所述第一端口字段与所述第二端口字段不为相同端口,确定所述第一端口字段与所述第二端口字段是否为同一服务的两个端口,若是,则确定端口关系值为第三值;若所述第一端口字段与所述第二端口字段不为相同端口,且所述第一端口字段与所述第二端口字段不为同一服务的两个端口,若是,则确定端口关系值为第二值。
可选地,所述根据所述第一IP字段和所述第二IP字段,确定出IP关系值,包括:若所述第一IP字段与所述第二IP字段均为内网IP,将所述第一IP字段和所述第二IP字段的公共字段与指定数值的比值,确定为所述第一IP字段与所述第二IP字段的IP关系值;若所述第一IP字段和所述第二IP字段中至少一条字段为公网IP,确定出IP关系值为第二值。
可选地,所述IP关系值包括第一IP关系值和第二IP关系值;所述第一IP字段包括第一源IP字段和第一目标IP字段,所述第二IP字段包括第二源IP字段和第二目标IP字段;所述根据所述第一IP字段和所述第二IP字段,确定出IP关系值,包括:根据所述第一源IP字段和所述第二源IP字段,确定出第一IP关系值;根据所述第一目标IP字段和所述第二目标IP字段,确定出第二IP关系值。
可选地,所述根据所述IP关系值和所述端口关系值,确定出所述第一警报数据与所述第二警报数据的相关度,包括:对所述第一IP关系值、所述第二IP关系值以及所述端口关系值进行加权计算,得到所述第一警报数据与所述第二警报数据的相关度;其中,所述第一IP关系值、所述第二IP关系值以及所述端口关系值的加权权重为预先设置的权重。
可选地,所述警报关系网中包括多个结点和至少一条关系边,任意一个结点与一条警报数据对应,任意一条关系边用于连接两个结点,且连接的两个结点对应的两条警报数据的相关度满足预设条件。
可选地,所述根据所述警报关系网,确定出攻击数据,包括:基于所述警报关系网中的各个结点所连的关系边,从所述警报关系网中提取多个相似警报集,以根据多个相似警报集确定出多个单步攻击,其中,每个相似警报集包括多条相似警报数据,每个单步攻击对应一个相似警报集。
可选地,所述方法还包括:获取任一单步攻击中的各条相似警报数据中的警报提示字段;从各条相似警报数据中的警报提示字段中,确定出单步攻击的目标警报提示字段,所述目标警报提示字段用于作为所述单步攻击发生时的提示消息。
可选地,所述单步攻击对应的相似警报集中记录有一个或多个入侵源,以及一个或多个入侵目标;所述方法还包括:根据各单步攻击对应的相似警报集,确定出各单步攻击对应的入侵源集和入侵目标集;根据各个单步攻击对应的所述入侵源集和所述入侵目标集,确定出各单步攻击之间的关联程度值;根据各单步攻击之间的关联程度值,构建攻击关系网。
可选地,所述多个单步攻击包括第一单步攻击和第二单步攻击,所述第一单步攻击包括第一入侵源集和第一入侵目标集,所述第二单步攻击包括第二入侵源集和第二入侵目标集;所述根据各个单步攻击对应的所述入侵源集和所述入侵目标集,确定出各单步攻击之间的关联程度值,包括:根据所述第一入侵源集与所述第二入侵源集,确定出第一关联值;根据所述第一入侵目标集与所述第二入侵目标集,确定出第二关联值;根据所述第一入侵源集与所述第二入侵目标集,确定出第三关联值;根据所述第一入侵目标集与所述第二入侵源集,确定出第四关联值;根据所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值,确定出所述第一单步攻击与所述第二单步攻击之间的关联程度值。
可选地,所述根据所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值,确定出所述第一单步攻击与所述第二单步攻击之间的关联程度值,包括:选取所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值中的最大值作为所述第一单步攻击与所述第二单步攻击之间的关联程度值;或者,对所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值进行加权求和,以得到所述第一单步攻击与所述第二单步攻击之间的关联程度值。
可选地,所述根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度,包括:针对每一条警报数据,提取所述警报数据中的指定字段,以确定出目标格式的目标警报数据;根据多条所述目标警报数据,确定出多条所述目标警报数据中的各条警报数据之间的相关度。
可选地,所述提取所述警报数据中的指定字段,以确定出目标格式的目标警报数据,包括:提取所述警报数据中的警报类型字段、源IP字段、源端口字段、目标IP字段以及目标端口字段;根据所述警报类型字段、所述源IP字段、所述源端口字段、所述目标IP字段以及目标端口字段,构建目标格式的目标警报数据。
第二方面,本申请实施例提供了一种攻击数据处理装置,包括:相关度确定模块,用于根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度;关系确定模块,根据所述各条警报数据之间的相关度,确定出警报关系网;攻击确定模块,用于根据所述警报关系网,确定出攻击数据。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述的攻击数据处理方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的攻击数据处理方法的步骤。
本申请实施例至少包括以下有益效果:通过对各条警报数据进行分析,确定出各条警报数据相关性,以此构建警报关系网;通过该警报关系网能够更清楚的表示各条警报关系,可以更全面地分析出攻击相关情况。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的攻击数据处理方法的运行环境示意图;
图2为本申请实施例提供的电子设备的方框示意图;
图3为本申请实施例提供的攻击数据处理方法的流程图;
图4为本申请实施例提供的一个警报关系网的示意图;
图5为本申请实施例提供的攻击数据处理方法的步骤210的部分可选流程图;
图6为本申请实施例提供的攻击数据处理方法的步骤216的可选流程图;
图7为本申请实施例提供的攻击数据处理方法的步骤210的另一部分可选流程图;
图8为本申请实施例提供的攻击数据处理方法装置的功能模块示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
现代网络环境下的攻击,已经不仅仅是获取系统权限,更多可能会存在通过多步、长时间、隐蔽的攻击,逐步获取系统信息,最终可能会造成诸如窃取机密数据、破坏线上业务等目的。如果不针对这类攻击进行分析获得防止可能会导致网络上的各项业务存在较大的安全隐患,用户的信息也可能不再是秘密。
经发明人研究了解到,网络上可能存在一些病毒,在网络中利用smb协议实现漏洞进行传播,感染Windows主机后加密文件并进行勒索,造成严重危害。高级持续性攻击是一种新兴的攻击行为,其时间跨度可达数月至数年,且隐蔽性强,渗透过程中常常使用0day漏洞,IDS(intrusion detection system,入侵检测系统)难以察觉。主要是由于IDS只关注单步攻击,不考虑攻击者对系统的完整渗透过程;其次,IDS产生的误警报的情况相对较多,容易误导分析;最后,当信息系统规模较大时,各种IDS产生的海量警报无法人工处理。
基于上述研究,本申请提供了一种攻击数据处理方法,能够实现从大量的警报数据中分析出发生的攻击行为。下面通过一些实施例来描述本申请提供的数据处理方法。
为便于对本实施例进行理解,首先对执行本申请实施例所公开的一种攻击数据处理方法的运行环境进行介绍。
该攻击数据处理方法的运行环境可以是一攻击数据分析系统,如图1所示,该攻击数据分析系统可以包括处理各类警报数据的电子设备110,以及采集各类警报数据的终端设备120。
该电子设备110与终端设备120可以是网络服务器、数据库服务器等,也可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digitalassistant,PDA)等。
其中,该终端设备120中可以运行了用于对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的IDS。
示例性地,该IDS可以是NIDS(Network intrusion detection system,网络入侵检测系统),也可以是HIDS(Host-based Intrusion Detection System,主机入侵检测系统)。当然,该终端设备120中也可以运行有NIDS和NIDS。
其中,NIDS用于获取内部子网中的所有网络警报数据。HIDS用于获取该HIDS作用的所有主机警报数据。
该电子设备110可以接收终端设备120采集的所有原始警报数据,并基于所有原始警报数据执行本申请的一些实施例的攻击数据处理方法。
如图2所示,是电子设备的方框示意图。电子设备110可以包括存储器111和处理器113。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对电子设备110的结构造成限定。例如,电子设备110还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
上述的存储器111与处理器113相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,该处理器113在接收到执行指令后,执行该程序,本申请实施例任一实施例揭示的过程定义的电子设备110所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中的电子设备110可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述攻击数据处理方法的实现过程。
请参阅图3,是本申请实施例提供的攻击数据处理方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤210,根据获得的多条警报数据,确定出该多条警报数据中的各条警报数据之间的相关度。
其中,该任意两条警报数据的相关度可以用来表示两条警报数据之间关系。例如,该相关度越大,可以表示两条警报数据之间的关系越紧密。
在一些实施方式中,各警报数据之间的相关度可以使用数值表示。该数值可以根据警报数据中所包含的信息计算得到的。
示例性地,该多条警报数据的来源可以是针对网络监测、针对主机的行为进行检测等场景下得到的报告数据。
步骤220,根据该各条警报数据之间的相关度,确定出警报关系网。
示例性地,可以根据各警报数据之间的相关度的大小,确定是否建立关联关系。例如,在相关度满足预设条件时,可以在两条警报数据之间建立关联关系。
该预设条件可以是相关度为指定值,或相关度大于设定的阈值等。具体可以根据实际情况设置此处的预设条件。
可选地,预设条件可以是相关度为第一值,该预设条件也可以是相关度确定的值大于关系阈值。因此,若任意两条警报数据的相关度确定为第一值,以两条警报数据为结点,为两个结点之间构建关系边;或者若任意两条警报数据的相关度确定的值大于关系阈值,以两条警报数据为警报关系网中的两个结点,并在两个结点之间构建关系边。
示例性地,该第一值可以为1。当然,也可以根据需求设置该第一值为其他值。
该警报关系网呈现的方式不同,该关联关系的呈现方式也不同。
示例性地,警报关系网以关系网图的方式呈现,则该关联关系可以是以关系网图中的各条边呈现。
示例性地,该警报关系网中包括多个结点和至少一条关系边,任意一个结点与一条警报数据对应,任意一条关系边用于连接两个结点,且连接的两个结点对应的两条警报数据的相关度满足预设条件。
以图4为例,图4中呈现出了包含Ad1、Ad2、Ad3、…、Ad8、Ad9、Ad10十条警报数据的关系网图。图4所示的示例中包括10条警报数据,每一条警报数据可以在关系网图形成一个结点,两个结点所形成的边可以表示两个结点的关联关系,边上的值可以为警报数据之间的相关度。例如,wij表示第i条警报数据与第j条警报数据之间的相关度。从图中可以看出,并非所有的结点之间都形成了连接的边。图4所示的示例中,警报数据Ad1与警报数据Ad4之间未形成连接的边,则可以表示警报数据Ad1与警报数据Ad4的相关度未满足预设条件。
可以知道的是图4仅仅是一个示例,实际情况中,警报关系网图中所包含的警报数据可以远多于图4所示的示例。例如,实际情况下,关系网图中可能包含100条、1000条警报数据,甚至更多的警报数据。
示例性地,警报关系网以表格的方式呈现,还可以通过其它任何能够表示警报数据关系的数据方式。
步骤230,根据该警报关系网,确定出攻击数据。
其中,一次单步攻击所导致的入侵目标可以是一个或多个,发起一次单步攻击的入侵源也可以是一个或者多个。基于此,可以根据该警报关系网中各个警报数据之间的关联关系,提取多个相似警报集,以根据多个相似警报集确定出多个单步攻击。该相似警报集中可以包括多条相似警报数据,一个相似警报集对应一个单步攻击。
其中,一个相似警报集可以确定为一个单步攻击。也可以理解为,一个单步攻击发生时可能会产生一个相似警报集中的警报数据。
其中,若两个警报数据互为相似警报数据,可以表示两条警报数据之间的相关度满足预设条件,或者,该两条警报数据在警报关系网中存在关联关系,形成了关系边等。
示例性地,可以基于该警报关系网中的各个结点所连的关系边,从该警报关系网中提取多个相似警报集。
其中,任意两个警报数据集之间的交集可以为空,任意两个警报数据集之间的交集也可以不为空。
在一种实施方式中,可以预先设置一个相似警报集中所需至少包含的警报数据的数量。例如,该所需包含的警报数据的数量可以是k。例如,可以先确定出连接有关系边最多的第一结点;然后从与该第一结点存在连接关系的结点中选出第二结点;然后从与第一结点和第二结点都有连接关系的结点,或,与第一结点或第二结点有连接关系的结点中选出第三结点,以此类推,可以选出至少k个结点,至少k个结点对应的警报数据可以形成一个相似警报集。然后,从警报关系网剔除已经构成相似警报集的结点,再筛选出其它相似警报集。
可选地,每次筛选结点时,可以筛选出与已选出的结点的关系边最多,且自身连接的关系边最多的结点。
在另一种实施方式中,可以使用社区发现算法,提取该警报关系网中的相似警报集。
可选地,社区发现算法可以是CPM(Clique Percolation Method,派系过滤算法)。使用该派系过滤算法,提取该警报关系网中的相似警报集。
在一个实例中,可以通过以下流程实现警报关系网中的单步攻击的发现:
输入:警报关系网图Galert
输出:相似警报集族C,其中相似警报集族中每个元素Ci是Galert内部结点的集合,可以表示一个相似警报集,也代表一个单步攻击C←{}
cliques←Galert中含有k个结点的完全子图之集合
Figure BDA0003735478700000081
{初始化无向无权图Gclique,结点为cliques}
for all Gclique中的点对u,v do
if u,v拥有至少k-1个相同的Galert中的结点then
向Gclique添加边(u,v)
end if
end for
res←Gclique中的联通块集合
for all r∈res do
alerts←r中的各个元素于Galert中包含的警报集合
将alerts集合加入相似警报集族C
end for
相似警报集族C也可以表示多个相似警报集。相似警报集族中每个元素Ci是Galert内部结点的集合,可以表示一个相似警报集,也代表一个单步攻击。该相似警报集族C可以用于代表单步攻击族C。
在上述步骤中,可以通过对各条警报数据进行分析,确定出各条警报数据相关性,以此构建警报关系网;通过该警报关系网能够更清楚的表示各条警报数据间的关系,可以更全面地分析出攻击相关情况。
每一条警报数据中可以包括警报类型字段、源IP字段、源端口字段、目标IP字段以及目标端口字段。
其中,警报类型字段用于表征警报数据所属类别,例如,若警报数据所属类别为网络警报,则alerttype字段为network;若警报数据所属类别为主机警报,则alerttype字段为host。
若警报数据所属类别为网络警报,则源IP字段srcip为入侵源IP;若警报数据所属类别为主机警报,则源IP字段srcip为异常发生的主机IP。
若警报数据所属类别为网络警报,源端口字段srcport为入侵源所使用的端口;若警报数据所属类别为主机警报,源端口字段srcport为0。
若警报数据所属类别为网络警报,目标IP字段dstip为入侵目标IP;若警报数据所属类别为主机警报,则目标IP字段dstip为异常发生的主机IP。
若警报数据所属类别为网络警报,目标端口字段dstport为入侵目标的端口;若警报数据所属类别为主机警报,目标端口字段dstport为0。
除了上述信息,一条警报数据还可以包括警报提示字段msg,该警报提示字段msg可以为IDS提供的告警消息。若IDS不提供该字段,则警报提示内容可以设为其它任意的默认值,或者该字段设为缺失。
由于不同类别的警报数据,所涉及的主机不同,因此,在确定两个警报数据之间的相关度时,可以从警报数据的类别出发。示例性地,可以基于各警报数据中所包含的信息,例如,根据警报数据的警报类别确定出各条警报数据之间的相关度。针对该多条警报数据中的第一警报数据和第二警报数据,步骤210可以被实施为:根据该第一警报数据的第一警报类别,和该第二警报数据的第二警报类别,确定出该第一警报数据与该第二警报数据的相关度。
其中,该第一警报数据与该第二警报数据为该多条警报数据中的任意两条警报数据。
通过上述方式可以确定出多条警报数据中任意两条警报数据中的相关度。
在一种实施方式中,如图5所示,步骤210可以包括以下步骤211至步骤216。
步骤211,判断第一警报数据的警报类别是否为主机警报。
若该第一警报数据的警报类别为主机警报;则执行步骤212;若该第一警报数据的警报类别为网络警报;则执行步骤212。
步骤212,判断第二警报数据的警报类别是否为该主机警报。
若第二警报数据的警报类别为主机警报,则执行步骤213;若第二警报数据的警报类别为网络警报,则执行步骤214。
步骤213,确定出该第一警报数据与该第二警报数据的相关度为第一值。
可选地,在第一警报数据与该第二警报数据的发生源为同一主机的情况下,再确定该第一警报数据与该第二警报数据的相关度为第一值。其中,若该第一警报数据的警报类别与该第二警报数据的警报类别均为主机警报,发生源也就是入侵源,也可以表示异常发生的主机。可以将第一警报数据的源IP字段与该第二警报数据的源IP字段进行对比,以确定第一警报数据与该第二警报数据的发生源是否为同一主机。
步骤214,判断该第一警报数据的发生源与该第二警报数据的发生源是否为同一主机。
其中,该第一警报数据为主机警报,该第一警报数据的发生源可以是入侵源,也就是异常发生的主机。该第二警报数据为网络警报,该第一警报数据的发生源可以是入侵源,也可以是入侵目标,也就是攻击发起的主机,或遭受异常攻击的主机。
因此,可以将该第一警报数据的源IP字段与第二警报数据的源IP字段和目标IP字段进行对比,以确定出第一警报数据与该第二警报数据的发生源是否为同一主机。
若该第一警报数据的发生源与该第二警报数据的发生源为同一主机,则执行步骤215。
步骤215,确定出该第一警报数据与该第二警报数据的相关度为第一值。
步骤216,若该第一警报数据和该第二警报数据的警报类别均为网络警报,根据该第一警报数据的第一字段和该第二警报数据的第二字段,确定出该第一警报数据与该第二警报数据的相关度。
示例性地,该第一字段包括第一IP字段和第一端口字段,该第二字段包括第二IP字段和第二端口字段。
如图6所示,步骤216可以包括步骤2161至步骤2163。
步骤2161,根据该第一IP字段和该第二IP字段,确定出IP关系值。
若该第一IP字段与该第二IP字段均为内网IP,将该第一IP字段和该第二IP字段的公共字段与指定数值的比值,确定为该第一IP字段与该第二IP字段的IP关系值。例如,可以先确定两个IP字段的在二进制表示下的最长公共前缀,将最长公共前缀长度与指定数值的比值作为两个IP的IP关系值。在一个实例中,该指定数值可以是32。
若该第一IP字段和该第二IP字段中至少一条字段为公网IP,确定出IP关系值为第二值。也就是任意一个IP字段为公网IP,则可以确定第一IP字段与该第二IP字段的IP关系值为第二值。该第二值可以是0。当然,也可以根据需求设置该第二值为其他值。示例性地,该第二值可以是比第一值小的一个值。
由于网络警报涉及的主机可能有多个,因此涉及多个主机的警报则不能仅采用主机是否相同确定两个警报数据的相关度。为了使确定出的各条警报数据之间的相关度更加准确,上述相关度确定的实现方式为从网络警报的本质出发,研究了解到网络警报中的相关性主要体现在传输数据的源头和目标,也就是体现在网络警报涉及的IP和端口,因此,从IP和端口两个维度的信息计算两条警报数据的相关度可以更好地表征两条警报数据的相关性质。
考虑网络警报中存在源IP与目标IP,以及源IP与目标IP可以分别表示网络警报所涉及的主机,因此,可以分别计算两条警报数据所拥有的各IP之间的关系值。
示例性地,IP关系值包括第一IP关系值和第二IP关系值;该第一IP字段包括第一源IP字段和第一目标IP字段,该第二IP字段包括第二源IP字段和第二目标IP字段。
步骤2161可以包括:根据该第一源IP字段和该第二源IP字段,确定出第一IP关系值;根据该第一目标IP字段和该第二目标IP字段,确定出第二IP关系值。
步骤2162,根据该第一端口字段和该第二端口字段,确定出端口关系值。
示例性地,若该第一端口字段与该第二端口字段为相同端口,确定端口关系值为第一值;若该第一端口字段与该第二端口字段不为相同端口,确定该第一端口字段与该第二端口字段是否为同一服务的两个端口,若是,则确定端口关系值为第三值;若该第一端口字段与该第二端口字段不为相同端口,且该第一端口字段与该第二端口字段不为同一服务的两个端口,若是,则确定端口关系值为第二值。
可选地,可以预先有预定义的服务与端口的映射表,例如,web服务对应20、663、6060等端口,ftp服务对应21和23端口。
若两个端口相同,则确定端口关系值为第一值,例如,该第一值可以是1。若两个端口不同,但在服务—端口映射表中属于同一个服务,则确定端口关系值为第三值,该第三值可以是0.5;其他情形确定端口关系值为第二值。当然,根据实际需求该第三值也可以被设置为其它值。其中,该第三值为介于第一值与第二值之间的一个值,也就是该第三值比第二值大且比第一值小的一个值。
其中,如果网络警报发生的端口为同一端口,则更大概率表示是两个警报数据存在较大的关联;其次,如果两个端口不同,但是却隶属于同一个服务,因此,两个警报数据可能存在关联;再次,如果两个端口既不相同,也不隶属于同一服务,两个警报数据存在关联的概率更小。因此,基于三个关联层级的分析,针对三个关联层级的端口关系值确定为三个不同的值,可以更好地通过值体现出两个警报数据的关联性的差异。
步骤2163,根据该IP关系值和该端口关系值,确定出该第一警报数据与该第二警报数据的相关度。
可选地,可以对该第一IP关系值、该第二IP关系值以及该端口关系值进行加权计算,得到该第一警报数据与该第二警报数据的相关度。
其中,该第一IP关系值、该第二IP关系值以及该端口关系值的加权权重为预先设置的权重。例如,第一IP关系值、第二IP关系值以及端口关系值的权重可以是相同的值,例如,都为1/3。再例如,第一IP关系值、第二IP关系值以及端口关系值的权重也可以是互不相同的值,具体可以按需设置第一IP关系值、第二IP关系值以及端口关系值的权重。
在一个实例中,可以通过以下流程实现对各条警报数据之间的相关度的计算:
输入:多条警报数据A
输出:警报关系网图Galert
Figure BDA0003735478700000121
{将A中所有警报数据作为G的点集,初始情况下图中无边}
for all Galert中的点对u,v do
if v为主机警报then
交换u,v
end if
if u,v均为主机警报then
if u.srcip=v.srcip then
向Galert添加关系边(u,v,1)
end if
else if u为主机警报,v为网络警报then
if u.srcip=v.srcip∨u.srcip=v.dstip then
向Galert添加关系边(u,v,1)
end if
else{u,v均为网络警报}
sim srcip←IPSIM(u.srcip,v.srcip){入侵源IP关系值}
sim dstip←IPSIM(u.dstip,v.dstip){入侵目标IP关系值}
sim dstport←PORTSIM(u.dstport,v.dstport){目标端口关系值}
score=w srcip·sim srcip+w dstip·sim dstip+w dstport·sim dstport
if score>τthen
向Galert添加关系边(u,v,score)
end if
end if
end for
其中,通过上述流程可以确定出警报关系网图Galert、各条警报数据之间相关度score、目标端口关系值dstport、入侵目标IP关系值dstip、入侵源IP关系值srcip。
上述u,v表示任意两条警报数据,w srcip、w dstip、w dstport分别表示目标端口关系值、入侵目标IP关系值以及入侵源IP关系值的权重,τ表示关系阈值。关系阈值τ的取值可以按需设置,例如,该关系阈值τ设置为1、0.9、0.7、1.2等值。
通过上述方式可以充分考虑警报数据中所可能包含的信息,基于各类信息去判断两条警报数据之间的相关度,可以使该相关度更好地表征该两条警报数据的关联。
在发现单步攻击的基础上,为了使警报的告警消息能够更好地表示计算机当前发生的异常,可以基于单步攻击中所存在的警报数据进行分析,确定出更准确的警报提示消息。因此,在步骤230之后,还可以包括:获取任一单步攻击中的各条相似警报数据中的警报提示字段;从各条相似警报数据中的警报提示字段中,确定出单步攻击的目标警报提示字段。
目标警报提示字段用于作为该单步攻击发生时的提示消息。
示例性地,可以获取单步攻击中所有的警报数据中的警报提示字段,确定出各种警报提示字段存在次数,若任意一种警报提示字段出现的次数超过指定比例,则将该警报提示字段作为单步攻击的目标警报提示字段。该指定比例可以是40%、50%、55%等。
通过上述方式可以确定出能够更准确地表征单步攻击所存在的异常,以此可以使用提示消息能够更准确地达到提示的目的。
在发现单步攻击的基础上,为了可以更充分了解各单步攻击之间的关系,还可以对各单步攻击进行分析,确定出各单步攻击之间的关系。在步骤230之后,攻击数据处理方法还可以包括以下步骤。
步骤240,根据各单步攻击对应的相似警报集,确定出各单步攻击对应的入侵源集和入侵目标集。
示例性地,单步攻击可以包括:一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)以及多对多(Many-to-Many)等几种类别。一对一表示单个入侵源,单个入侵目标,例如,SQL(Structured Query Language,结构化查询语言)注入等攻击。一对多表示单个入侵源,多个入侵目标,例如,子网扫描。多对一表示多个入侵源,单个入侵目标,例如,DDoS(Distributed denial of service attack,分布式拒绝服务攻击)。多对多表示多个入侵源,多个入侵目标,例如,蠕虫传播。
单步攻击为一对一时,入侵源集包括单一入侵源,入侵目标集包括单一入侵目标。单步攻击为一对多时,入侵源集包括单一入侵源,入侵目标集包括多个入侵目标。单步攻击为多对一时,入侵源集包括多个入侵源,入侵目标集包括单一入侵目标。单步攻击为多对多时,入侵源集包括多个入侵源,入侵目标集包括单多个侵目标。
其中,单步攻击所对应的入侵源和入侵目标可以通过该单步攻击对应的相似警报集中记录的信息呈现。示例性地,一单步攻击对应的相似警报集中的源IP字段可以用于表征入侵源,相似警报集中的目标IP字段可以用于表征入侵目标。
在一个实例中,可以通过以下流程实现:
输入:单步攻击族C
输出:单步攻击标签tags
tags←{}
for all Ci∈C do
A←Ci中入侵源IP数量
T←Ci中入侵目标IP数量
V←Ci涉及的所有互异IP的数量
Figure BDA0003735478700000141
Figure BDA0003735478700000142
Figure BDA0003735478700000143
Figure BDA0003735478700000144
t←δOtO,δOtM,δMtO,δMtM中的最大值对应的分类
tags[C i]←t
end for
在上述的流程中,δOtO,δOtM,δMtO,δMtM表示四个类别对应的可能值,OtO、OtM、MtO、MtM分别表示一对一、一对多、多对一以及多对多四个类别。
可以选出δOtO,δOtM,δMtO,δMtM中的最大值作为单步攻击标签tags,单步攻击标签tags表示单步攻击的所属类别。单步攻击族C中的每一个元素Ci代表一个单步攻击。
步骤250,根据各个单步攻击对应的该入侵源集和该入侵目标集,确定出各单步攻击之间的关联程度值。
可选地,针对任意两个单步攻击的关联程度值,可以根据单步攻击对应的入侵源集和入侵目标集的重复率确定。例如,可以计算两个单步攻击的入侵源集和该入侵目标集的交集,与两个单步攻击的入侵源集和该入侵目标集的入侵源集和该入侵目标集的并集的占比,确定出两个单步攻击之间的关联程度值。
以第一单步攻击与第二单步攻击为例,可以先计算第一单步攻击入侵源集和该入侵目标集的并集,得到第一入侵集;计算第二单步攻击入侵源集和入侵目标集的并集,得到第二入侵集;确定出第一入侵集与第二入侵集的交集,以及确定出第一入侵集与第二入侵集的并集;然后计算该交集与并集的比值,可以将该比值确定为第一单步攻击与第二单步攻击的关联程度值。
以第一单步攻击与第二单步攻击为例,可以先计算第一单步攻击的入侵源集与第二单步攻击的入侵源集的交集与并集的比值,得到第一比值;然后,计算第一单步攻击的入侵目标集与第二单步攻击的入侵目标集的交集与并集的比值,得到第二比值;可以根据该第一比值与第二比值,得到第一单步攻击与第二单步攻击的关联程度值。
当然在上述关联程度值确定的基础上,还可以结合第一单步攻击的入侵源集与第二单步攻击的入侵目标集的对比分析,以及第二单步攻击的入侵源集与第一单步攻击的入侵目标集的对比分析,确定出第一单步攻击与第二单步攻击的关联程度值。
示例性地,可以以源IP集合代表入侵源集,以目标IP集合代表入侵目标集。可以根据该源IP集和该目标IP集合,确定出各单步攻击之间的关联程度值。
针对多个单步攻击中的任意两个单步攻击,例如,两个单步攻击分别为:第一单步攻击和第二单步攻击。第一单步攻击包括第一入侵源集和第一入侵目标集,第二单步攻击包括第二入侵源集和第二入侵目标集。
示例性地,该第一单步攻击的第一入侵源集可以通过第一源IP集合表示,该第一单步攻击的第一入侵目标集可以通过第一目标IP集合表示,该第二单步攻击的第二入侵源集可以通过第二源IP集合表示,该第二单步攻击的第二入侵目标集可以通过第二目标IP集合表示。
步骤250可以包括:根据该第一入侵源集与该第二入侵源集,确定出第一关联值;根据该第一入侵目标集与该第二入侵目标集,确定出第二关联值;根据该第一入侵源集与该第二入侵目标集,确定出第三关联值;根据该第一入侵目标集与该第二入侵源集,确定出第四关联值;根据该第一关联值、该第二关联值、该第三关联值以及所述第四关联值,确定出该第一单步攻击与该第二单步攻击之间的关联程度值。
则可以根据第一源IP集合与第二源IP集合,确定第一关联值;可以根据第一目标IP集合与第二目标IP集合,确定第二关联值;可以根据第一源IP集合与第二目标IP集合,确定第三关联值;可以根据第一目标IP集合与第二源IP集合,确定第四关联值。
在一种实施方式中,可以选取该第一关联值、该第二关联值、该第三关联值以及该第四关联值中的最大值作为该第一单步攻击与该第二单步攻击之间的关联程度值。
在另一种实施方式中,对该第一关联值、该第二关联值、该第三关联值以及该第四关联值进行加权求和,以得到该第一单步攻击与该第二单步攻击之间的关联程度值。
考虑单步攻击的产生可能会导致进一步地单步攻击的发生,此时,前一个单步攻击的入侵目标可能是后一个单步攻击的入侵源;也可能一次发生了多个单步攻击,此时,多个单步攻击的入侵源存在相同;还可能存在一些攻击为了达到更好地攻击效果,因此,通过多次单步攻击,以达到攻击的目的,此时多个单步攻击的入侵目标存在相同。基于上述分析,第一关联值、第二关联值、第三关联值以及第四关联值可以不同程度地表示单步攻击之间的关联程度。因此,在确定第一单步攻击与第二单步攻击之间的关联程度值时,可以充分考虑第一关联值、第二关联值、第三关联值以及第四关联值的影响,使最终确定出的关联程度值能够更好地表征第一单步攻击与第二单步攻击之间的关联程度。
考虑不同场景第一关联值、第二关联值、第三关联值以及第四关联值对单步攻击之间的关联程度的影响可能不同,因此,基于第一关联值、第二关联值、第三关联值以及第四关联值计算单步攻击之间的关联程度值时,可以按需设置各个关联值的权重。
可选地,步骤250还可以包括:根据各个单步攻击对应的该入侵源集和该入侵目标集,以及各单步攻击的类别,确定出各单步攻击之间的关联程度值。
步骤260,根据各单步攻击之间的关联程度值,构建攻击关系网。
示例性地,在两个单步攻击之间的关联程度值大于关联阈值时,可以为两个单步攻击创建关联关系,在攻击关系网中,可以通过边表示两个单步攻击的关联关系。
示例性地,该攻击关系网中可以包括多个结点一条或多条边,每个结点表示一个单步攻击,一条边可以连接两个结点。
其中,两个结点是否需要连接边,可以根据两个结点所代表的两个单步攻击的关联程度值确定,例如,该两个单步攻击的关联程度值大于关联阈值时,则可以构建两个结点之间的边,如果两个单步攻击的关联程度值不大于阈值时,则可以不在两个结点之间构建边。
在一个实例中,可以通过以下流程,基于单步攻击的关联程度值,构建攻击关系网:
输入:单步攻击族C、单步攻击标签tags
输出:攻击关系网Gattack
Figure BDA0003735478700000171
{初始化攻击关系网,点集代表单步攻击族C中的元素}
for all Gattack中的点对u,v do
Sim AA←ATTACKIPSETSIM(u表示入侵源IP集合,v表示入侵源IP集合)
Sim TT←ATTACKIPSETSIM(u表示入侵目标IP集合,v表示入侵目标IP集合)
Sim AT←ATTACKIPSETSIM(u表示入侵源IP集合,v表示入侵目标IP集合)
Sim TA←ATTACKIPSETSIM(u表示入侵目标IP集合,v表示入侵源IP集合)
maxsim←max{Sim AA,Sim TT,Sim AT,Sim TA}
if maxsim>σthen
在Gattack中添加边(u,v,maxsim)
end if
end for
其中,SimAA用于表示两个入侵源集之间的关联值;SimTT用于表示两个入侵目标集之间的关联值;SimAT用于表示入侵源集与入侵目标集之间的关联值;SimTA用于表示入侵目标集与入侵源集之间的关联值;σ表示用于衡量两个IP集合的相似程度的关联阈值;maxsim表示两个单步攻击之间的关联程度值。关联阈值σ的取值可以按需设置,本申请实施例不以该阈值σ的取值为限。
ATTACKIPSETSIM用于衡量两个IP集合(X和Y)之间的相似程度,相似程度可以作为两个IP集合的关联值,具体过程如下:若X和Y在各自单步攻击中的角色均为一或均为多,则返回(X∩Y)/(X∪Y);否则,假设两个IP集合中的X的角色是一,两个IP集合中的Y的角色是多,返回(X∩Y)/X,反之,假设两个IP集合中的X的角色是多,两个IP集合中的Y的角色是一,返回(X∩Y)/Y。
其中,上述的角色是一或多表示单步攻击中的各类别中所提及的一或多。例如,其中一个单步攻击的类型为一对多,则该单步攻击中的源IP集的角色为一,该单步攻击的目标IP集的角色为多。
构建攻击关系网的流程执行完成后,得到的攻击关系网Gattack中的每个结点可以表示一个单步攻击,结点之间存在连边,则可以表示单步攻击有关,且该连边的权值为关联程度值,该关联程度值可以用于表示两个结点之间的关联程度。
通过上述的实现方式,可以实现基于单步攻击确定出各个单步攻击之间所存在的内在关联,可以更好地确定出各攻击的发生情况。
由于原始的警报数据可能会由于来源不同,其包含的字段也就完全不同,各字段的分布也完全不同。更有甚者,可能不同的警报数据能够包含完整的字段,有些警报数据仅包含部分字段。因此,如果直接针对原始的警报数据进行分析,可能会导致后续的单步攻击的确定带来一定的困难。因此,为了提高确定单步攻击的效率,也可以先提前对获得的原始的警报数据进行处理,以提高后续计算的效率。因此,如图7所示,步骤210可以包括步骤217和步骤218。
步骤217,针对每一条警报数据,提取该警报数据中的指定字段,以确定出目标格式的目标警报数据。
步骤218,根据多条该目标警报数据,确定出多条该目标警报数据中的各条警报数据之间的相关度。
其中,关于步骤218的实现过程可以参阅前面关于步骤210或步骤211至步骤216的描述,在此不再赘述。
本实施例中的步骤217和步骤218并不表示需要在步骤216之后执行,步骤217和步骤218与前面介绍的步骤210所包含的步骤可以相互独立。
当然步骤218也可以被实施为前面的步骤211至步骤216的步骤。此时,步骤217可以在步骤211之前执行。步骤211至步骤216所处理的警报数据可以是该步骤217得到的目标格式的目标警报数据。
警报数据中的信息可以包括:警报类型、源IP、源端口、目标IP以及目标端口等信息,上述的指定字段可以是能够表示警报类型、源IP、源端口、目标IP以及目标端口等信息的字段。
关于步骤217的实现方式可以如下所示:该警报数据中的警报类型字段、源IP字段、源端口字段、目标IP字段以及目标端口字段;根据该警报类型字段、该源IP字段、该源端口字段、该目标IP字段以及目标端口字段,构建目标格式的目标警报数据。
该警报数据可以来源于基于NIDS或HIDS得到的检测数据,或者基于蜜罐技术确定出的检测报告,再或者软件故障报告等。因此,可以将原始的警报数据进行标准化处理,以待后续分析使用。
可选地,针对存在指定字段的警报数据,可以提取警报数据中的指定字段。针对没有指定字段的警报数据可以丢弃,以降低无用数据对计算的干扰。
在一种实施方式中,若一条警报数据是属于纯文本格式警报数据,则根据从该纯文本格式的告警信息中提取指定字段,得到一条目标格式的警报数据。
在另一种实施方式中,若该警报数据属于结构化的警报数据,例如,如json、XML等格式,则表示该警报数据中已经标记有各个字段的内容,则可以从该结构化的警告数据中,筛选出指定字段得到目标格式的警报数据。
在一个实例中,一条原始的警报数据是从主机入侵检测系统检测到的主机警报,则目标格式的警报数据可以包括:警报类型字段、源IP字段、源端口字段、目标IP字段以及目标端口字段。其中,警报类型字段为host,用于表示该警报数据属于主机警报。在该实例中,源IP字段和该目标IP字段均用于携带发生异常的主机IP,该源端口号字段和该目标端口字段均用于携带预设值,该预设值可以是0。
在另一个实例中,一条原始的警报数据是从网络入侵检测系统检测到的主机警报,则目标格式的警报数据可以包括:警报类型字段、源IP字段、源端口字段、目标IP字段以及目标端口字段。其中,警报类型字段为network,用于表示该警报数据属于网络警报。在此实例中,则该源IP字段用于携带入侵源的IP,该源端口字段用于携带该入侵源所使用的端口,该目标IP字段用于携带入侵目标的IP且该目标端口字段用于携带该入侵目标的被攻击的端口。
在一个实例中,可以通过以下流程来描述警报数据转化的过程。
输入:原始的警报数据R,其中Ri为结构化的警报数据,或为纯文本警报数据
输出:归一化后的目标格式下的警报数据A,其中每条警报数据Ai具有相同且非空的字段
A←{}
for all Ri∈R do
if Ri为纯文本格式警报数据then
Ri←EXTRACTVALUE(Ri)
end if
Ri←FIELDFILTER(Ri)
if Ri中没有缺失的字段then
将Ri加入到A中
end if
end for
在上述流程中EXTRACTVALUE为可以从文本中提取指定字段的过程。针对不同格式的文本,例如ssh日志或者mysql日志,可以采用有针对性的处理。针对不同格式的文本的处理方式可以基于产生该纯文本类的警报数据的程序确定。不同程序确定出的警报数据所携带的信息不同,以及不同信息在文本中的位置也不同,因此,可以基于不同程序确定警报数据的逻辑,确定出提取指定字段的方式。例如,可以从nginx日志文件、snort、应用程序自带的日志中读取警报,针对每一种警报文本格式要用对应的方法提取。
上述流程中的FIELDFILTER过程是对结构化的警报数据进行处理,结构化的警报数据中可能包括比计算所需的字段更多的字段。因此,可以从结构化的警报数据筛选出感兴趣的字段。
在本申请实施例中,考虑主机上发生异常行为,常常表示攻击者已经获取主机中的部分权限、并尝试获取该主机所在系统中的更多权限的情形,基于此,本申请实施例中将主机自己发生的异常也作为主机对该主机本身的攻击,通过此种涉及可以将主机警报异常视为攻击行为的一种,基于此能够构建攻击关系网,最终实现各种类型的警告数据的分析。
基于同一申请构思,本申请实施例中还提供了与攻击数据处理方法对应的攻击数据处理装置,由于本申请实施例中的装置解决问题的原理与前述的攻击数据处理方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图8,是本申请实施例提供的攻击数据处理装置的功能模块示意图。本实施例中的攻击数据处理装置中的各个模块用于执行上述方法实施例中的各个步骤。攻击数据处理装置包括:相关度确定模块310、关系确定模块320和攻击确定模块330;其中各模块的内容如下所示:
相关度确定模块310,用于根据获得的多条警报数据,确定出该多条警报数据中的各条警报数据之间的相关度;
关系确定模块320,用于根据该各条警报数据之间的相关度,确定出警报关系网;
攻击确定模块330,用于根据该警报关系网,确定出攻击数据。
一种可能的实施方式中,相关度确定模块310,用于针对该多条警报数据中的第一警报数据和第二警报数据,根据该第一警报数据的第一警报类别,和该第二警报数据的第二警报类别,确定出该第一警报数据与该第二警报数据的相关度;其中,该第一警报数据与该第二警报数据为该多条警报数据中的任意两条警报数据。
一种可能的实施方式中,相关度确定模块310,包括:第一判断单元和数值确定单元:
第一判断单元,用于若该第一警报数据的警报类别为主机警报,判断该第二警报数据的警报类别是否为该主机警报;
第一数值确定单元,用于若第二警报数据的警报类别为该主机警报,确定出该第一警报数据与该第二警报数据的相关度为第一值。
一种可能的实施方式中,相关度确定模块310,包括:第二判断单元和第二数值确定单元:
第二判断单元,用于若第二警报数据的警报类别为网络警报,判断该第一警报数据的发生源与该第二警报数据的发生源是否为同一主机;
第二数值确定单元,用于若该第一警报数据的发生源与该第二警报数据的发生源为同一主机,确定出该第一警报数据与该第二警报数据的相关度为第一值。
一种可能的实施方式中,相关度确定模块310,包括:第三数值确定单元,用于若该第一警报数据和该第二警报数据的警报类别均为网络警报,根据该第一警报数据的第一字段和该第二警报数据的第二字段,确定出该第一警报数据与该第二警报数据的相关度。种可能的实施方式中,该第一字段包括第一IP字段和第一端口字段,该第二字段包括第二IP字段和第二端口字段;上述的第三数值确定单元,可以用于根据该第一IP字段和该第二IP字段,确定出IP关系值;根据该第一端口字段和该第二端口字段,确定出端口关系值;根据该IP关系值和该端口关系值,确定出该第一警报数据与该第二警报数据的相关度。
一种可能的实施方式中,上述的第三数值确定单元,还可以用于若该第一端口字段与该第二端口字段为相同端口,确定端口关系值为第一值;若该第一端口字段与该第二端口字段不为相同端口,确定该第一端口字段与该第二端口字段是否为同一服务的两个端口,若是,则确定端口关系值为第三值;若该第一端口字段与该第二端口字段不为相同端口,且该第一端口字段与该第二端口字段不为同一服务的两个端口,若是,则确定端口关系值为第二值。
一种可能的实施方式中,上述的第三数值确定单元,还可以用于:若该第一IP字段与该第二IP字段均为内网IP,将该第一IP字段和该第二IP字段的公共字段与指定数值的比值,确定为该第一IP字段与该第二IP字段的IP关系值;若该第一IP字段和该第二IP字段中至少一条字段为公网IP,确定出IP关系值为第二值。
一种可能的实施方式中,该IP关系值包括第一IP关系值和第二IP关系值;该第一IP字段包括第一源IP字段和第一目标IP字段,该第二IP字段包括第二源IP字段和第二目标IP字段;
上述的第三数值确定单元,还可以用于根据该第一源IP字段和该第二源IP字段,确定出第一IP关系值;根据该第一目标IP字段和该第二目标IP字段,确定出第二IP关系值。
一种可能的实施方式中,第三数值确定单元,还可以用于对该第一IP关系值、该第二IP关系值以及该端口关系值进行加权计算,得到该第一警报数据与该第二警报数据的相关度;其中,该第一IP关系值、该第二IP关系值以及该端口关系值的加权权重为预先设置的权重。
一种可能的实施方式中,该警报关系网中包括多个结点和至少一条关系边,任意一个结点与一条警报数据对应,任意一条关系边用于连接两个结点,且连接的两个结点对应的两条警报数据的相关度满足预设条件。
一种可能的实施方式中,攻击确定模块330,用于基于警报关系网中的各个结点所连的关系边,从该警报关系网中提取多个相似警报集,以根据多个相似警报集确定出多个单步攻击,其中,每个相似警报集包括多条相似警报数据,每个单步攻击对应一个相似警报集。
一种可能的实施方式中,本实施例提供的攻击数据处理装置还可以包括:提示模块,用于获取任一单步攻击中的各条相似警报数据中的警报提示字段;从各条相似警报数据中的警报提示字段中,确定出单步攻击的目标警报提示字段,该目标警报提示字段用于作为该单步攻击发生时的提示消息。
一种可能的实施方式中,该单步攻击对应的相似警报集中记录有一个或多个入侵源,以及一个或多个入侵目标;本实施例提供的攻击数据处理装置还可以包括关系网构建模块,用于根据各单步攻击对应的相似警报集,确定出各单步攻击对应的入侵源集和入侵目标集;根据各个单步攻击对应的该入侵源集和该入侵目标集,确定出各单步攻击之间的关联程度值;根据各单步攻击之间的关联程度值,构建攻击关系网。
一种可能的实施方式中,该多个单步攻击包括第一单步攻击和第二单步攻击,该第一单步攻击包括第一入侵源集和第一入侵目标集,该第二单步攻击包括第二入侵源集和第二入侵目标集;
关系网构建模块,用于根据该第一入侵源集与该第二入侵源集,确定出第一关联值;根据该第一入侵目标集与该第二入侵目标集,确定出第二关联值;根据该第一入侵源集与该第二入侵目标集,确定出第三关联值;根据该第一入侵目标集与该第二入侵源集,确定出第四关联值;根据该第一关联值、该第二关联值、该第三关联值以及该第四关联值,确定出该第一单步攻击与该第二单步攻击之间的关联程度值。
一种可能的实施方式中,关系网构建模块,还可以用于:选取该第一关联值、该第二关联值、该第三关联值以及该第四关联值中的最大值作为该第一单步攻击与该第二单步攻击之间的关联程度值;或者,对该第一关联值、该第二关联值、该第三关联值以及该第四关联值进行加权求和,以得到该第一单步攻击与该第二单步攻击之间的关联程度值。
一种可能的实施方式中,相关度确定模块310,用于针对每一条警报数据,提取该警报数据中的指定字段,以确定出目标格式的目标警报数据;根据多条该目标警报数据,确定出多条该目标警报数据中的各条警报数据之间的相关度。
一种可能的实施方式中,相关度确定模块310,用于提取该警报数据中的警报类型字段、源IP字段、源端口字段、目标IP字段以及目标端口字段;根据该警报类型字段、该源IP字段、该源端口字段、该目标IP字段以及目标端口字段,构建目标格式的目标警报数据。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的攻击数据处理方法的步骤。
本申请实施例所提供的攻击数据处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的攻击数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种攻击数据处理方法,其特征在于,包括:
根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度;
根据所述各条警报数据之间的相关度,确定出警报关系网;
根据所述警报关系网,确定出攻击数据。
2.根据权利要求1所述的方法,其特征在于,所述根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度,包括:
针对所述多条警报数据中的第一警报数据和第二警报数据,根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度;
其中,所述第一警报数据与所述第二警报数据为所述多条警报数据中的任意两条警报数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度,包括:
若所述第一警报数据的警报类别为主机警报,判断所述第二警报数据的警报类别是否为所述主机警报;
若第二警报数据的警报类别为所述主机警报,确定出所述第一警报数据与所述第二警报数据的相关度为第一值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度,还包括:
若第二警报数据的警报类别为网络警报,判断所述第一警报数据的发生源与所述第二警报数据的发生源是否为同一主机;
若所述第一警报数据的发生源与所述第二警报数据的发生源为同一主机,确定出所述第一警报数据与所述第二警报数据的相关度为第一值。
5.根据权利要求2所述的方法,其特征在于,所述根据所述第一警报数据的第一警报类别,和所述第二警报数据的第二警报类别,确定出所述第一警报数据与所述第二警报数据的相关度,包括:
若所述第一警报数据和所述第二警报数据的警报类别均为网络警报,根据所述第一警报数据的第一字段和所述第二警报数据的第二字段,确定出所述第一警报数据与所述第二警报数据的相关度。
6.根据权利要求5所述的方法,其特征在于,所述第一字段包括第一IP字段和第一端口字段,所述第二字段包括第二IP字段和第二端口字段;
所述根据所述第一警报数据的第一字段和所述第二警报数据的第二字段,确定出所述第一警报数据与所述第二警报数据的相关度,包括:
根据所述第一IP字段和所述第二IP字段,确定出IP关系值;
根据所述第一端口字段和所述第二端口字段,确定出端口关系值;
根据所述IP关系值和所述端口关系值,确定出所述第一警报数据与所述第二警报数据的相关度。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一端口字段和所述第二端口字段,确定出端口关系值,包括:
若所述第一端口字段与所述第二端口字段为相同端口,确定端口关系值为第一值;
若所述第一端口字段与所述第二端口字段不为相同端口,确定所述第一端口字段与所述第二端口字段是否为同一服务的两个端口,若是,则确定端口关系值为第三值;
若所述第一端口字段与所述第二端口字段不为相同端口,且所述第一端口字段与所述第二端口字段不为同一服务的两个端口,若是,则确定端口关系值为第二值。
8.根据权利要求6所述的方法,其特征在于,所述根据所述第一IP字段和所述第二IP字段,确定出IP关系值,包括:
若所述第一IP字段与所述第二IP字段均为内网IP,将所述第一IP字段和所述第二IP字段的公共字段与指定数值的比值,确定为所述第一IP字段与所述第二IP字段的IP关系值;
若所述第一IP字段和所述第二IP字段中至少一条字段为公网IP,确定出IP关系值为第二值。
9.根据权利要求8所述的方法,其特征在于,所述IP关系值包括第一IP关系值和第二IP关系值;所述第一IP字段包括第一源IP字段和第一目标IP字段,所述第二IP字段包括第二源IP字段和第二目标IP字段;
所述根据所述第一IP字段和所述第二IP字段,确定出IP关系值,包括:
根据所述第一源IP字段和所述第二源IP字段,确定出第一IP关系值;
根据所述第一目标IP字段和所述第二目标IP字段,确定出第二IP关系值。
10.根据权利要求9所述的方法,其特征在于,所述根据所述IP关系值和所述端口关系值,确定出所述第一警报数据与所述第二警报数据的相关度,包括:
对所述第一IP关系值、所述第二IP关系值以及所述端口关系值进行加权计算,得到所述第一警报数据与所述第二警报数据的相关度;
其中,所述第一IP关系值、所述第二IP关系值以及所述端口关系值的加权权重为预先设置的权重。
11.根据权利要求1所述的方法,其特征在于,所述警报关系网中包括多个结点和至少一条关系边,任意一个结点与一条警报数据对应,任意一条关系边用于连接两个结点,且连接的两个结点对应的两条警报数据的相关度满足预设条件。
12.根据权利要求11所述的方法,其特征在于,所述根据所述警报关系网,确定出攻击数据,包括:
基于所述警报关系网中的各个结点所连的关系边,从所述警报关系网中提取多个相似警报集,以根据多个相似警报集确定出多个单步攻击,其中,每个相似警报集包括多条相似警报数据,每个单步攻击对应一个相似警报集。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
获取任一单步攻击中的各条相似警报数据中的警报提示字段;
从各条相似警报数据中的警报提示字段中,确定出单步攻击的目标警报提示字段,所述目标警报提示字段用于作为所述单步攻击发生时的提示消息。
14.根据权利要求12所述的方法,其特征在于,所述单步攻击对应的相似警报集中记录有一个或多个入侵源,以及一个或多个入侵目标;所述方法还包括:
根据各单步攻击对应的相似警报集,确定出各单步攻击对应的入侵源集和入侵目标集;
根据各个单步攻击对应的所述入侵源集和所述入侵目标集,确定出各单步攻击之间的关联程度值;
根据各单步攻击之间的关联程度值,构建攻击关系网。
15.根据权利要求14所述的方法,其特征在于,所述多个单步攻击包括第一单步攻击和第二单步攻击,所述第一单步攻击包括第一入侵源集和第一入侵目标集,所述第二单步攻击包括第二入侵源集和第二入侵目标集;
所述根据各个单步攻击对应的所述入侵源集和所述入侵目标集,确定出各单步攻击之间的关联程度值,包括:
根据所述第一入侵源集与所述第二入侵源集,确定出第一关联值;
根据所述第一入侵目标集与所述第二入侵目标集,确定出第二关联值;
根据所述第一入侵源集与所述第二入侵目标集,确定出第三关联值;
根据所述第一入侵目标集与所述第二入侵源集,确定出第四关联值;
根据所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值,确定出所述第一单步攻击与所述第二单步攻击之间的关联程度值。
16.根据权利要求15所述的方法,其特征在于,所述根据所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值,确定出所述第一单步攻击与所述第二单步攻击之间的关联程度值,包括:
选取所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值中的最大值作为所述第一单步攻击与所述第二单步攻击之间的关联程度值;或者,
对所述第一关联值、所述第二关联值、所述第三关联值以及所述第四关联值进行加权求和,以得到所述第一单步攻击与所述第二单步攻击之间的关联程度值。
17.根据权利要求1所述的方法,其特征在于,所述根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度,包括:
针对每一条警报数据,提取所述警报数据中的指定字段,以确定出目标格式的目标警报数据;
根据多条所述目标警报数据,确定出多条所述目标警报数据中的各条警报数据之间的相关度。
18.根据权利要求17所述的方法,其特征在于,所述提取所述警报数据中的指定字段,以确定出目标格式的目标警报数据,包括:
提取所述警报数据中的警报类型字段、源IP字段、源端口字段、目标IP字段以及目标端口字段;
根据所述警报类型字段、所述源IP字段、所述源端口字段、所述目标IP字段以及目标端口字段,构建目标格式的目标警报数据。
19.一种攻击数据处理装置,其特征在于,包括:
相关度确定模块,用于根据获得的多条警报数据,确定出所述多条警报数据中的各条警报数据之间的相关度;
关系确定模块,根据所述各条警报数据之间的相关度,确定出警报关系网;
攻击确定模块,用于根据所述警报关系网,确定出攻击数据。
20.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至18任意一项所述的攻击数据处理方法的步骤。
21.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至18任意一项所述的攻击数据处理方法的步骤。
CN202210795166.1A 2022-07-07 2022-07-07 攻击数据处理方法、装置、电子设备和计算机存储设备 Pending CN115022079A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210795166.1A CN115022079A (zh) 2022-07-07 2022-07-07 攻击数据处理方法、装置、电子设备和计算机存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210795166.1A CN115022079A (zh) 2022-07-07 2022-07-07 攻击数据处理方法、装置、电子设备和计算机存储设备

Publications (1)

Publication Number Publication Date
CN115022079A true CN115022079A (zh) 2022-09-06

Family

ID=83078712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210795166.1A Pending CN115022079A (zh) 2022-07-07 2022-07-07 攻击数据处理方法、装置、电子设备和计算机存储设备

Country Status (1)

Country Link
CN (1) CN115022079A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024830A (zh) * 2021-11-05 2022-02-08 哈尔滨理工大学 一种基于Grubbs的警报关联方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024830A (zh) * 2021-11-05 2022-02-08 哈尔滨理工大学 一种基于Grubbs的警报关联方法

Similar Documents

Publication Publication Date Title
US10778705B1 (en) Deep-learning-based intrusion detection method, system and computer program for web applications
EP2953298B1 (en) Log analysis device, information processing method and program
Wang et al. DBod: Clustering and detecting DGA-based botnets using DNS traffic analysis
CN109992989B (zh) 使用抽象语法树的用于查询注入检测的系统
Oprea et al. Detection of early-stage enterprise infection by mining large-scale log data
JP5518872B2 (ja) ネットワーク異常流量分析装置及び方法
US8056115B2 (en) System, method and program product for identifying network-attack profiles and blocking network intrusions
CN111259204B (zh) 基于图算法的apt检测关联分析方法
Bisio et al. Real-time behavioral DGA detection through machine learning
CN108881271B (zh) 一种代理主机的反向追踪溯源方法及装置
Fallahi et al. Automated flow-based rule generation for network intrusion detection systems
CN115277490B (zh) 一种网络靶场评估方法、系统、设备及存储介质
Dymora et al. An innovative approach to anomaly detection in communication networks using multifractal analysis
CN116451215A (zh) 关联分析方法及相关设备
CN115022079A (zh) 攻击数据处理方法、装置、电子设备和计算机存储设备
Rasmi et al. Improving Analysis Phase in Network Forensics By Using Attack Intention Analysis
Maryposonia An efficient network intrusion detection system for distributed networks using machine learning technique
KR20070077517A (ko) 프로파일 기반 웹 애플리케이션 침입탐지시스템 및 그 방법
Bou-Harb et al. Passive inference of attacks on CPS communication protocols
Wang et al. Network security situation evaluation based on modified DS evidence theory
Shafee Botnets and their detection techniques
Ahmed et al. Enhancing intrusion detection using statistical functions
Ficke et al. Apin: Automatic attack path identification in computer networks
KR20180101868A (ko) 악성 행위 의심 정보 탐지 장치 및 방법
US20190149560A1 (en) Malicious relay and jump-system detection using behavioral indicators of actors

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