CN110474885B - 基于时间序列与ip地址的报警关联分析方法 - Google Patents
基于时间序列与ip地址的报警关联分析方法 Download PDFInfo
- Publication number
- CN110474885B CN110474885B CN201910670876.XA CN201910670876A CN110474885B CN 110474885 B CN110474885 B CN 110474885B CN 201910670876 A CN201910670876 A CN 201910670876A CN 110474885 B CN110474885 B CN 110474885B
- Authority
- CN
- China
- Prior art keywords
- attack
- scene
- address
- alarm
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及互联网网络安全技术领域,公开了基于时间序列与IP地址的报警关联分析方法,本发明针对多种不同类型入侵检测设备产生的报警数据存在多源、异构的特点以及现有的报警关联分析方法不能全面地分析出报警之间内在逻辑关系,以至于构建的攻击场景不完整等问题。以模糊C均值算法为基础,通过最大最小距离算法来选取初始聚类中心,并结合MapReduce编程模型对其进行并行化计算,然后采用启发式聚类的思想对报警数据进行场景划分,最后结合时间序列和IP地址来将报警数据与已知场景进行关联匹配,根据关联结果画出攻击图并去除孤立报警。
Description
技术领域
本发明涉及互联网网络安全技术领域,尤其涉及基于时间序列与IP地址的报警关联分析方法。
背景技术
随着互联网技术的飞速发展,网络环境也变得日益复杂,人们在享受互联网带来便利的同时,网络安全问题也逐渐成为了关注的热点。入侵检测系统是应对各种层出不穷的攻击手段的有效防御技术之一,它能够检测出当前的网络环境是否存在遭受攻击的痕迹,并根据入侵检测设备内部的协议产生相应的报警,进而便于网络管理员对网络实施防御措施。单一的入侵检测设备无法满足当前复杂多变的网络环境的需求,在实际的网络环境中,往往是多种不同类型入侵检测设备同时对网络环境进行检测。然而,网络管理员难以从单个数据源产生的报警数据中发现攻击者的真正意图,从而无法对复杂多变的入侵行为构建较为全面的攻击场景。
现有的有一种基于图的报警关联分析方法(Graph-basedAlertCorrelation,GAC),该方法对误报警有较强的鲁棒性,能够检测到分布式攻击。结合分布式攻击场景和多步攻击的特点,通过源IP地址、源端口、目的IP地址和目的端口这几个属性来划分四种不同的攻击场景。但是在构建攻击场景的时候没有考虑到报警的攻击类型对关联的影响。
假设如果报警和报警存在地址相关的,并且可以聚类在一起,那么无论是的源IP地址还是目标IP地址,总是与的一个IP地址相同。并基于此假设的前提下对报警进行IP地址的聚类关联,该类关联分析方法的关联性不强,不能全面还原真实的攻击场景。
发明内容
有鉴于此,本发明的目的是提供基于时间序列与IP地址的报警关联分析方法,以解决单一数据源产生的报警信息不全面,多种不同类型入侵检测设备产生的报警数据存在多源、异构的问题。
本发明通过以下技术手段解决上述技术问题:
基于时间序列与IP地址的报警关联分析方法,包括:
S1:基于OSSIM开源平台下搭建真实的报警数据采集环境,分别采集来源于网络的Snort报警数据和来源于主机的OSSEC报警数据;
S2:对采集到的不同格式的报警数据进行属性筛选,再以统一的格式输出;
S3:采用FCM算法结合MapReduce编程模型来实现多源报警数据并行融合计算;其中,所述FCM算法的初始聚类中心通过最大最小距离算法选取;
S4:接收融合后的报警数据,定义五元组并结合启发式聚类的思想,构建出七种攻击场景;
S5:对已知场景进行时间序列和IP地址的关联匹配,在原有的攻击场景的基础上,对攻击发生的时间先后、源IP地址和目标IP地址三者之间的因果关系进行分析,构建出更加全面的攻击场景;
S6:分别在真实环境采集的报警数据和蜜罐攻击数据进行实验,并根据关联分析结果画出对应的攻击图。
进一步,通过最大最小距离算法选取FCM算法的初始聚类中心,具体步骤包括:
初始化θ的值,θ∈(0,1),在所有数据样本点集合X={x1,x2,...,xn}中随机选取一个作为第一个聚类中心Z1,即Z1=x1;
通过计算除x1以外的所有数据样本到Z1的距离,距离最大的作为第一个聚类中心Z2;
计算剩下的以数据样本点到聚类中心Z1和Z2的距离,分别记为集合Di1和集合Di2,其中,Di1=||xi-Z1||,Di2=||xi-Z2||;
若Dl=max{min(Di1,Di2)},i=1,2,...,n,同时满足条件Dl>θ·D12,则取第三个聚类中心为Z3,Z3=xl,D12为聚类中心Z1到聚类中心Z2的距离;
若Z3存在,则计算Dj=max{min(Di1,Di2,Di3)},i=1,2,...,n,如果Dj>θ·D12,则把Zj=xj作为第四个聚类中心;依此类推,直到最大最小距离不大于θ·D12时或者聚类中心的个数等于预先设定的阈值,就结束聚类中心的寻找。
进一步,所述报警数据采集环境由防火墙、内外网交换机以及5个主机关键节点组成,分别以nssa-server作为服务器节点,nssa-sensor1、nssa-sensor2、nssa-sensor3和nssa-sensor4作为从节点;服务器节点负责整个系统的管理与调度,从节点负责存储攻击数据和攻防交互,攻击手使用Kail Linux从外部网络通过外网交换机和防火墙对内部局域网的多台主机不定时地发起不同的网络攻击。
进一步,所述七种攻击场景具体包括:
场景一:具有相同的攻击源IP地址、相同的目标IP地址和相同的攻击类别的攻击场景;
场景二:具有相同的攻击源IP地址和相同的目标IP地址的攻击场景;
场景三:具有相同的目标IP地址和相同的攻击类型的攻击场景;
场景四:具有相同的攻击源IP地址和相同的攻击类型的攻击场景;
场景五:具有相同的攻击源IP地址的攻击场景;
场景六:具有相同的目标IP地址的攻击场景;以及,
场景七:具有相同的攻击类型的攻击场景。
进一步,对已知场景进行时间序列和IP地址的关联匹配,在原有的攻击场景的基础上,对攻击发生的时间先后、源IP地址和目标IP地址之间的因果关系进行分析,构建出更加全面的攻击场景,具体步骤包括:
接收来自经过融合处理后的报警数据,并将其存放到文本文件,以便后续的数据读取;
根据启发式聚类划分场景的规则进行逐个场景匹配,当完成了场景一的构建时,把属于同一个攻击场景的报警数据放到一个新的文件,并记录下没有满足场景一规则的报警数据;
对没有满足场景一的报警数据进行场景二的规则匹配,把同属于场景二的报警数据放到一个新的文件中,并记录下没有满足场景二的报警数据,依此类推,直到完成七个场景的构建,并把没有满足场景规则的报警数据记录下来;
将所有攻击场景的报警数据按时间的先后顺序进行排序;
将未进行场景划分的报警数据和各个攻击场景进行时间与IP地址的匹配,若满足发生的时间先于已知场景且目标IP地址与已知攻击场景的源IP地址相同,则把该报警关联到场景之前,若报警发生的时间迟于已知场景的时间,且源IP地址与已知场景的目标IP地址相同,则把该报警关联到场景之后。
本发明的有益效果:
本发明提供的基于时间序列与IP地址的报警关联分析方法,其考虑到单一数据源产生的报警信息不全面,不同的数据源产生的报警信息存在海量、冗余和相似报警较多同时存在一定的误报警。若直接对单一数据源的报警数据进行分析,就会导致对当前网络环境的安全评估不准确。通过对来源于主机和网络的报警数据进行并行融合,从而有效地去除重复报警和提高系统检测率的同时,计算效率也得到提升。
本发明提出的方法解决了单一的数据源无法满足当前复杂多变的网络环境的需求;同时提高了多源报警数据的融合率、检测率以及降低了误报率。
本发明接收来自融合后的报警数据,并采用启发式聚类的思想对其进行场景的划分,通过定义五元组来划分出七种不同的攻击场景。最后对已构建好的攻击场景的基础上,结合时间序列与IP地址对报警数据和已异构的攻击场景进行关联分析,如果报警发生的时间在已知场景之前,同时该报警的目标IP地址和已知场景的源IP地址相同,则该报警与已知场景存在关联性,把该报警关联到已知场景前面,如果报警发生的时间在已知场景之后,同时该报警的源IP地址与已知场景的目标IP地址相同,则该报警与已知场景同样存在关联性,把该报警关联到已知场景后面。以此来构建出更加真实全面的攻击场景,更加能反应出攻击者的真正意图。
附图说明
图1是本发明基于时间序列与IP地址的报警关联分析方法的实验整体采集环境架构拓扑图;
图2是本发明提供的多源报警数据并行融合框架图;
图3是本发明提供的FCM算法流程图;
图4是本发明提供的Map函数的设计流程图;
图5是本发明提供的Reduce函数的设计流程图;
图6是本发明提供的基于时间序列与IP地址因果关系的报警关联分析方法流程图;
图7是本发明提供的攻击结构示意图一;
图8是本发明提供的攻击结构示意图二;
图9是本发明提供的攻击结构示意图三;
图10是本发明提供的攻击结构示意图四;
图11是本发明提供的攻击结构示意图五;
图12是本发明提供的攻击结构示意图六。
具体实施方式
以下将结合附图和具体实施例对本发明进行详细说明:
本发明的基于时间序列与IP地址的报警关联分析方法,包括:
S1:基于OSSIM开源平台下搭建真实的报警数据采集环境,分别采集来源于网络的Snort报警数据和来源于主机的OSSEC报警数据。
采用开源安全信息管理系统(Open Source Sevurity Informatiion System,OSSIM)来搭建入侵检测环境,整个环境由防火墙、内外网交换机以及5个主机关键节点组成,分别以nssa-server作为服务器节点,nssa-sensor1、nssa-sensor2、nssa-sensor3和nssa-sensor4作为从节点。服务器节点负责整个系统的管理与调度,从节点负责存储攻击数据和攻防交互,攻击手使用Kail Linux从外部网络通过外网交换机和防火墙对内部局域网的多台主机不定时地发起不同的网络攻击,包括常见的端口扫描、获取用户权限、拒绝服务和网络堵塞等。通过攻击行为来触发从节点的内部传感器产生基于网络的Snort报警数据和基于主机的OSSEC报警数据,而这些原始报警数据主要呈现出结构化或者半结构化的数据形式,并以Unified2格式的二进制文件将数据进行存储。实验整体采集环境架构拓扑图如图1所示。
S2:对采集到的不同格式的报警数据进行属性筛选,再以统一的格式输出。
为了能对网络安全状况有更加全面的了解,通常会使用不同的供应商提供的入侵检测系统协同工作。这样的检测系统有基于主机的入侵检测系统(HIDS)、基于网络的入侵检测系统(NIDS)、防火墙及病毒系统等。这些系统都有自己的一套检测规则,根据网络环境的异常情况来产生不同格式的报警数据。因此,把不同格式的报警数据进行属性筛选,再以统一的格式输出,对后期的数据融合与关联分析是非常有必要的。
数据预处理层的主要功能是先对采集到的二进制数据文件进行解码还原,并以文本格式将数据输出,这个过程也叫报警数据的重放。由于不同的入侵检测设备产生的报警数据存在很多无用属性,过多的无用属性会增加数据处理的难度,因此,从这些属性中提取出有用信息,进而简化数据显得尤为重要。
根据入侵检测信息交换格式IDMEF(Intrusion Detection Message ExchangeFormat)提取了11个报警属性,并将原始报警数据的格式进行统一。各个属性的含义如表1所示:
表1报警数据属性含义
将经过数据重放的报警数据进行属性筛选和格式统一化,然后保存到MySQL数据库中,为后续的报警数据融合做准备。
S3:采用FCM算法结合MapReduce编程模型来实现多源报警数据并行融合计算;其中,所述FCM算法的初始聚类中心通过最大最小距离算法选取。
虽然模糊聚类算法与传统的硬聚类算法相比有更好的聚类效果,但是同样存在不足。传统的FCM算法对初始聚类中心较为敏感,由于该算法采用的是逐步迭代的思想,并使目标函数不断减小。如果一开始在所有样本数据集中随机选取c个聚类中心,且相互之间的几何距离较小,会导致最终的聚类结果陷入局部最优解,不利于发现全局最优解。
因此,合理地选择初始聚类中心是寻找全局最优解的有效方法。最大最小距离在模式识别中是一种试探算法,其核心思想是寻找距离尽可能远的样本对象作为聚类中心。本发明借助最大最小距离算法来确定初始聚类中心,避免出现随机选取的聚类中心之间的几何距离较小或分布相对集中的情况。本发明采用动态的方式来确定FCM算法的初始聚类中心,并对聚类中心的个数进行了限制。最大最小距离算法的具体步骤如下:
(1)初始化θ的值,θ∈(0,1),在所有数据样本点集合X={x1,x2,...,xn}中随机选取一个作为第一个聚类中心Z1,即Z1=x1;
(2)通过计算除x1以外的所有数据样本到Z1的距离,距离最大的作为第一个聚类中心Z2;
(3)计算剩下的所以数据样本点到聚类中心Z1和Z2的距离,分别记为集合Di1和集合Di2。其中,Di1=||xi-Z1||,Di2=||xi-Z2||;
(4)若Dl=max{min(Di1,Di2)},i=1,2,...,n,同时满足条件Dl>θ·D12,则取第三个聚类中心为Z3,Z3=xl,D12为聚类中心Z1到聚类中心Z2的距离;
(5)若Z3存在,则计算Dj=max{min(Di1,Di2,Di3)},i=1,2,...,n,如果Dj>θ·D12,则把Zj=xj作为第四个聚类中心。依此类推,直到最大最小距离不大于θ·D12时或者聚类中心的个数等于预先设定的阈值,就结束聚类中心的寻找。
需要处理的数据量较大时,FCM算法的计算效率不高,算法的复杂度主要集中在计算每个数据样本点到各个聚类中心的隶属度,最终生成隶属度矩阵和根据隶属度矩阵更新聚类中心。如果数据样本点比较多,样本点到聚类中心的欧式距离计算也相对复杂,则通过多次迭代计算得出最终的输出结果需要花费较长的时间。
MapReduce编程模型适用于对大型数据集的并行化处理,该模型由Map和Reduce两个编程函数来共同实现分布式的并行计算任务。其中Map函数负责把输入的数据按照用户预先定义好的规则切分成相对应的(key,value)键值对的形式,然后把这些切分好的键值对输出给Reduce函数,Map的输出数据的(key,value)类型必须和Reduce的输入数据的(key,value)类型相同,Reduce函数把接收到的若干个(key,value)对进行规约处理,把相同的key对应的value进行合并,把最终的结果存放在HDFS文件系统上。
对海量的报警数据进行聚类分析时,传统的FCM算法在计算数据样本点到各个聚类中心的隶属度时,需要花费较长的时间,因此,借助MapReduce编程模型将FCM算法分布到大数据集群的各个节点进行并行计算,从而大幅度提高了算法的运算效率。
先接收来自网络的Snort报警数据和来自主机的OSSEC报警数据,对两种数据进行属性筛选和数据标准化,然后将FCM算法的思想结合MapReduce模型进行数据融合,其中Map阶段的主要功能是根据数据样本点到聚类中心的隶属度进行样本数据的归类,而Reduce阶段的主要功能是对属于同一个聚类中心的数据进行合并,来减少冗余报警,最后判断是否达到收敛或者超过预定义的迭代次数,如果不满足,则把Reduce的结果输入给Map,并进行下一轮迭代运算,知道满足收敛条件或者迭代次数超过阈值,就退出运算。多源报警数据并行融合的框架图如图2所示,FCM算法的流程图如图3所示。
Map过程的主要任务是计算数据样本点到聚类中心的几何距离,再通过隶属度计算公式将几何距离转化成隶属度,最后将该样本点数据、所属的聚类中心点以及对应的隶属度输出。首先从HDFS上读取数据,并以指定的(key,value)对输入格式作为Map函数的输入值,其中key代表数据样本点的id编号,value代表整条样本点数据;然后读取利于最大最小距离算法计算出来的初始聚类中心,并计算数据样本点到各个聚类中心的欧式距离,并结合欧式距离算出隶属度,比较该样本点到不同的聚类中心的隶属度的值,找出最大值,把该数据样本点归类到最大值对应的聚类中心所属的类别;最后以<center,(sample,membership)>的键值对的形式作为Map函数的输出。其中center表示聚类中心,sample表示的是该聚类中心所属类的其中一个数据样本点,membership表示该样本点到聚类中心的隶属度。Map函数的设计流程图如图4所示。
Reduce函数主要任务是接收来自Map函数输出的若干个(key,value)对,并对其进行规约处理,找出聚类的全局最优解。首先接收来自Map函数的键值对,其中,key代表聚类中心,value代表该聚类中心对应的数据样本点;然后将属于同一个聚类中心的样本点放在同一个集合里面,分别对每个属于不同聚类中心的集合的数据样本进行数据融合,并计算出新的聚类中心;最后判断新聚类中心与前一轮对应的聚类中心之间的几何距离是否足够小或者迭代次数是否超过预定义的阈值,如果满足了就退出迭代运算,把最终的聚类结果存放到HDFS上,否则就把新的聚类中心作为下一轮迭代运算的聚类中心,并把Reduce的输出结果作为Map的输入进行下一轮的迭代运算,直到满足收敛条件或者迭代次数大于阈值。Reduce函数的设计流程图如图5所示。
S4:接收融合后的报警数据,定义五元组并结合启发式聚类的思想,构建出七种攻击场景。
通过启发式聚类来划分攻击场景的方法属于基于知识库的方法,其思想是根据入侵者采用的不同的入侵方法定义了七种不同的攻击场景:场景一:具有相同的攻击源IP地址、相同的目标IP地址和相同的攻击类别。如同一个攻击者在一段时间内对同一个目标主机发起一系列Web攻击;场景二:具有相同的攻击源IP地址和相同的目标IP地址。如攻击者对同一目标的不同服务器发动不同类型的攻击;场景三:具有相同的目标IP地址和相同的攻击类型。如不同的攻击者在一段连续的时间内对同一目标主机进行协同攻击,使之拒绝服务;场景四:具有相同的攻击源IP地址和相同的攻击类型。如攻击者对不同的目标主机发起相同的攻击;场景五:具有相同的攻击源IP地址。如攻击者对不同的目标主机发动不同的攻击;场景六:具有相同的目标IP地址。如不同的攻击者集中式地对同一个目标主机的不同漏洞发动不同的攻击;场景七:具有相同的攻击类型。如不同的攻击者对不同的目标主机的不同漏洞发动一系列相同的攻击。该思想虽然能根据入侵的不同方法来划分场景,但不能划分未定义的攻击场景,同时也不能对与已知攻击场景有因果时序关系的攻击行为进行关联。因此,需要人为对场景的划分规则进行经常性地更新,从关联分析效率和准确性来讲,是非常不利于划分出较全面的攻击场景。
Haas等人提出了一种基于图的报警关联分析方法(Graph-based AlertCorrelation,GAC),该方法对误报警有较强的鲁棒性,能够检测到分布式攻击。Haas等人结合分布式攻击场景和多步攻击的特点,通过源IP地址、源端口、目的IP地址和目的端口这几个属性来划分四种不同的攻击场景。各个场景的构建如表2所示。
表2不同攻击场景的构建
One-to-One:一个攻击源对一个目标发动攻击,这是一种特殊的攻击场景。
One-to-Many:一个攻击源对多个目标发动攻击。例如,扫描子网触发的报警数据的攻击源IP都相同。
Many-to-One:多个攻击源对一个目标发动攻击。例如,在DDoS攻击中,多个攻击源针对特定的服务器定时发动攻击,触发的报警数据可能具有相同的目标IP地址和目标端口。
Many-to-Many:多个攻击源对多个目标发动攻击。例如,蠕虫蔓延,此类的蠕虫通过特定的应用程序进行传播,因此,在此类场景中触发的报警数据具有相同的目标端口。
显然,Haas等人在构建攻击场景的时候没有考虑到报警的攻击类型对关联的影响,本发明充分考虑报警攻击类型对关联结果的影响,通过定义五元组来划分七种不同的攻击场景。各个元组的含义和不同场景的划分如表3和表4所示。
表3各个元组的含义
表4七种不同场景的划分
S5:对已知场景进行时间序列和IP地址的关联匹配,在原有的攻击场景的基础上,对攻击发生的时间先后、源IP地址和目标IP地址三者之间的因果关系进行分析,构建出更加全面的攻击场景。
在多步攻击的过程中,通常上一步的攻击与下一步的攻击存在一定的因果关系,下一步的攻击需要获取上一步攻击的权限和信息,因此,多步攻击之间必定存在时间上的先后关联性,而且前后两次攻击发生的时间差也不能超过阈值,因此数据的时间属性也是报警关联时需要考虑的重要因素之一。
仅仅考虑时间属性对报警数据进行关联是远远不够的,首先不同的攻击者采取的攻击方式就不同,有可能同一个攻击者同时对多个目的主机发动分散攻击,或者多个攻击者集中式地对同一个目标主机发起攻击。如果仅仅依靠时间的先后顺序来对报警进行关联,最终的关联结果会是杂乱无章,毫无规律可寻。因此,在实际的报警关联中,还需考虑到报警的源IP地址、目的IP地址和攻击类型。
Feng等人提出了一种基于马尔科夫性质的因果知识自动挖掘方法,该方法先将原始报警聚类成多个报警集,然后对每个报警集进行挖掘,得到基于马尔科夫特征的一步转移概率矩阵,每个矩阵表示一条因果知识,最后将具有重叠步骤的知识进行融合,并建立攻击模式知识库。
Feng等人通过定义一个8元组并按照IDMEF标准格式来对其进行标准化,其中这8个元组包括:timestamp、pluginID、pluginSID、srcIP、srcPort、desIP、desPort、priority。timestamp表示报警发生的时间,pluginID和pluginSID分别表示触发报警的传感器和传感器对应的分类信息,srcIP和srcPort分别表示恶意攻击行为的源IP地址和源端口号,相应的desIP和desPort分别表示受害者或者目标主机的IP地址和目的端口号,priority表示报警的优先级。该方法提出了一个假设:如果报警ai和报警aj存在地址相关的,并且可以聚类在一起,那么无论是ai的源IP地址还是目标IP地址,总是与aj的一个IP地址相同。并基于此假设的前提下对报警进行IP地址的聚类关联。
显然,Feng等人仅仅考虑到IP地址的因果关系,没有从时间的先后顺序来分析报警之间的内在联系,显然这样构建出来的攻击场景也是不全面的,不利于安全管理员去发现攻击者的真正意图,增加了后期网络安全态势评估的难度。本发明在启发式聚类的基础上结合时间序列和IP地址对报警数据进行关联分析,具体的方法流程如图6所示。
通过在已构建的攻击场景的基础上,来关联分析报警的时间序列和IP地址的内在联系,即上一步的攻击发生的时间必须先于下一步的攻击,而上一步的攻击的目标IP地址和下一步的源IP地址必须是相同的。具体的方法步骤如下:
(1)接收来自经过报警融合处理后的报警数据,并将这些数据存放到文本文件,方便后面的数据读取;
(2)根据启发式聚类划分场景的规则进行逐个场景匹配,当完成了场景一的构建时,把属于同一个攻击场景的报警数据放到一个新的文件,并记录下没有满足场景一规则的报警数据;
(3)对没有满足场景一的报警数据进行场景二的规则匹配,同样的把同属于场景二的报警数据放到一个新的文件中,并记录下没有满足场景二的报警数据,依此类推,直到完成七个场景的构建,并把没有满足场景规则的报警数据记录下来;
(4)将所有攻击场景的报警数据按时间的先后顺序进行排序;
(5)将未进行场景划分的报警数据和各个攻击场景进行时间与IP地址的匹配,若满足发生的时间先于已知场景且目标IP地址与已知攻击场景的源IP地址相同,则把该报警关联到场景之前,若报警发生的时间迟于已知场景的时间,且源IP地址与已知场景的目标IP地址相同,则把该报警关联到场景之后。
S6:分别在真实环境采集的报警数据和蜜罐攻击数据进行实验,并根据关联分析结果画出对应的攻击图。
本发明通过实验室搭建真实的入侵检测环境采集的报警数据和公开数据集蜜罐攻击数据做报警关联分析,先通过报警融合去除冗余报警,防止在报警关联的时候对同一条报警数据重复关联,然后根据报警数据之间的内在逻辑联系还原攻击过程和剔除孤立报警,最后通过攻击图来展示攻击过程。两个数据集中参与关联的报警数和孤立报警数如表5所示。
表5参与关联的报警数与孤立报警数
通过对真实的入侵检测环境采集到的报警数据的不同的攻击类型分类描述如表6所示,以及关联分析得出的结果分别如图7、图8和图9所示,其中椭圆表示IP地址或者端口号,矩形表示攻击类型。
表6不同攻击类型分类描述
从图7可以看出,先是多个攻击源分布式地针对同一个目标主机发动相同类型的集中式攻击,然后在从这个目标主机出发,以同样的攻击类型对多个目标发动分散式攻击。图8表示入侵者根据不同的端口发起了不同类型的攻击,并且每个类型的攻击都是面向不同的目标主机。图9表示同一个攻击源对不同的目标主机发动不同类型的攻击。
通过对蜜罐攻击数据进行报警关联分析得出的结果分别如图10、图11和图12所示,其中椭圆表示IP地址或者端口号,矩形表示攻击类型。
由图10得知,先是多个攻击源对同一个目标主机发动分布式攻击,再从该目标主机出发,对多个不同的主机发动不同类型的攻击。图11表示一个攻击源同时对多个目标主机发动相同类型的攻击,而在这些目标机器中再进行两两组合对同一台机器发动集中式的攻击,之后再实施单步攻击。图12表示一个攻击源针对不同的目标主机的同一个端口发动分散式攻击,然后再对更多的目标主机的同一个端口发动攻击。
为了验证本发明所提的关联分析方法(简称方法一)的有效性,通过定义关联比例作为验证指标,并与文献(Feng X,Wang D,Huang M,et al.An Approach of DiscoveringCausal Knowledge for Alert Correlating Based on Data Mining[C]//Proceedingsof IEEE,International Conference on Dependable,Autonomic and SecureComputing.IEEE Computer Society,2014:57-62.)的方法(简称方法二)作对比,关联比例的计算公式如下所示:
方法一与方法二关联分析方法的关联比例对比情况如表7所示:
表7关联比例对比情况表
由表7可知,方法一比方法二关联比例要高7%左右,能找出更多报警之间的内部逻辑联系,减少孤立报警。能更好地还原真实的攻击场景,有利于对整个网络的安全态势作出正确的评估。
本发明先通过最大最小距离算法来确定FCM算法的初始聚类中心,防止随机选取的初始聚类中心导致聚类结果进入局部最优解,同时为了提高计算效率,结合MapReduce编程模型对多源报警数据进行并行融合,有效地去除冗余报警和误报警,为关联分析提供了更好的数据源。
然后接收来自融合后的报警数据,并采用启发式聚类的思想对其进行场景的划分,通过定义五元组来划分出七种不同的攻击场景。最后对已构建好的攻击场景的基础上,结合时间序列与IP地址对报警数据和已异构的攻击场景进行关联分析,如果报警发生的时间在已知场景之前,同时该报警的目标IP地址和已知场景的源IP地址相同,则该报警与已知场景存在关联性,把该报警关联到已知场景前面,如果报警发生的时间在已知场景之后,同时该报警的源IP地址与已知场景的目标IP地址相同,则该报警与已知场景同样存在关联性,把该报警关联到已知场景后面。以此来构建出更加真实全面的攻击场景,更加能反应出攻击者的真正意图。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。本发明未详细描述的技术、形状、构造部分均为公知技术。
Claims (5)
1.基于时间序列与IP地址的报警关联分析方法,其特征在于:包括:
基于OSSIM开源平台下搭建真实的报警数据采集环境,分别采集来源于网络的Snort报警数据和来源于主机的OSSEC报警数据;
对采集到的不同格式的报警数据进行属性筛选,再以统一的格式输出;
采用FCM算法结合MapReduce编程模型来实现多源报警数据并行融合计算;其中,所述FCM算法的初始聚类中心通过最大最小距离算法选取;
接收融合后的报警数据,定义五元组并结合启发式聚类的思想,构建出七种攻击场景;
对已知场景进行时间序列和IP地址的关联匹配,在原有的攻击场景的基础上,对攻击发生的时间先后、源IP地址和目标IP地址三者之间的因果关系进行分析,构建出更加全面的攻击场景;
分别在真实环境采集的报警数据和蜜罐攻击数据进行实验,并根据关联分析结果画出对应的攻击图。
2.根据权利要求1所述的基于时间序列与IP地址的报警关联分析方法,其特征在于:通过最大最小距离算法选取FCM算法的初始聚类中心,具体步骤包括:
初始化θ的值,θ∈(0,1),在所有数据样本点集合X={x1,x2,...,xn}中选取一个作为第一个聚类中心Z1,即Z1=x1;
通过计算除x1以外的所有数据样本点到Z1的距离,距离最大的作为第二个聚类中心Z2;
计算除聚类中心Z1以外的剩下的数据样本点到聚类中心Z1的距离,记为集合Di1,其中,Di1=||xi-Z1||,计算除聚类中心Z2以外的剩下的数据样本点到聚类中心Z2的距离,记为集合Di2,其中,Di2=||xi-Z2||;
若Dl=max{min(Di1,Di2)},i=1,2,...,n,同时满足条件Dl>θ·D12,则取第三个聚类中心为Z3,Z3=xl,D12为聚类中心Z1到聚类中心Z2的距离;
若Z3存在,则计算Dj=max{min(Di1,Di2,Di3)},i=1,2,...,n,如果Dj>θ·D12,则把Z4=xj作为第四个聚类中心;依此类推,直到最大最小距离不大于θ·D12时或者聚类中心的个数等于预先设定的阈值,就结束聚类中心的寻找。
3.根据权利要求1所述的基于时间序列与IP地址的报警关联分析方法,其特征在于:所述报警数据采集环境由防火墙、内外网交换机以及5个主机关键节点组成,分别以nssa-server作为服务器节点,nssa-sensor1、nssa-sensor2、nssa-sensor3和nssa-sensor4作为从节点;服务器节点负责整个系统的管理与调度,从节点负责存储攻击数据和攻防交互,攻击手使用KailLinux从外部网络通过外网交换机和防火墙对内部局域网的多台主机不定时地发起不同的网络攻击。
4.根据权利要求1所述的基于时间序列与IP地址的报警关联分析方法,其特征在于:所述七种攻击场景具体包括:
场景一:具有相同的攻击源IP地址、相同的目标IP地址和相同的攻击类别的攻击场景;
场景二:具有相同的攻击源IP地址和相同的目标IP地址的攻击场景;
场景三:具有相同的目标IP地址和相同的攻击类型的攻击场景;
场景四:具有相同的攻击源IP地址和相同的攻击类型的攻击场景;
场景五:具有相同的攻击源IP地址的攻击场景;
场景六:具有相同的目标IP地址的攻击场景;以及,
场景七:具有相同的攻击类型的攻击场景。
5.根据权利要求4所述的基于时间序列与IP地址的报警关联分析方法,其特征在于:对已知场景进行时间序列和IP地址的关联匹配,在原有的攻击场景的基础上,对攻击发生的时间先后、源IP地址和目标IP地址之间的因果关系进行分析,构建出更加全面的攻击场景,具体步骤包括:
接收来自经过融合处理后的报警数据,并将其存放到文本文件,以便后续的数据读取;
根据启发式聚类划分场景的规则进行逐个场景匹配,当完成了场景一的构建时,把属于同一个攻击场景的报警数据放到一个新的文件,并记录下没有满足场景一规则的报警数据;
对没有满足场景一的报警数据进行场景二的规则匹配,把同属于场景二的报警数据放到一个新的文件中,并记录下没有满足场景二的报警数据,依此类推,直到完成七个场景的构建,并把没有满足场景规则的报警数据记录下来;
将所有攻击场景的报警数据按时间的先后顺序进行排序;
将未进行场景划分的报警数据和各个攻击场景进行时间与IP地址的匹配,若满足发生的时间先于已知场景且目标IP地址与已知攻击场景的源IP地址相同,则把该报警关联到场景之前,若报警发生的时间迟于已知场景的时间,且源IP地址与已知场景的目标IP地址相同,则把该报警关联到场景之后。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910670876.XA CN110474885B (zh) | 2019-07-24 | 2019-07-24 | 基于时间序列与ip地址的报警关联分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910670876.XA CN110474885B (zh) | 2019-07-24 | 2019-07-24 | 基于时间序列与ip地址的报警关联分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474885A CN110474885A (zh) | 2019-11-19 |
CN110474885B true CN110474885B (zh) | 2021-10-22 |
Family
ID=68509857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910670876.XA Active CN110474885B (zh) | 2019-07-24 | 2019-07-24 | 基于时间序列与ip地址的报警关联分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474885B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258469B (zh) * | 2020-01-09 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 处理交互序列数据的方法及装置 |
CN111709022B (zh) * | 2020-06-16 | 2022-08-19 | 桂林电子科技大学 | 基于ap聚类与因果关系的混合报警关联方法 |
CN112351008B (zh) * | 2020-10-27 | 2022-07-22 | 杭州安恒信息技术股份有限公司 | 网络攻击分析方法、装置、可读存储介质及计算机设备 |
CN114630104B (zh) * | 2020-12-10 | 2024-06-11 | 北京市博汇科技股份有限公司 | 一种面向广播电视的人工智能多模型报警处理方法及装置 |
CN113259364B (zh) * | 2021-05-27 | 2021-10-22 | 长扬科技(北京)有限公司 | 一种网络事件关联分析方法及装置、计算机设备 |
CN113420802B (zh) * | 2021-06-04 | 2023-05-30 | 桂林电子科技大学 | 基于改进谱聚类的报警数据融合方法 |
CN113422763B (zh) * | 2021-06-04 | 2022-10-25 | 桂林电子科技大学 | 基于攻击场景构建的报警关联分析方法 |
CN114024830A (zh) * | 2021-11-05 | 2022-02-08 | 哈尔滨理工大学 | 一种基于Grubbs的警报关联方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104523263A (zh) * | 2014-12-23 | 2015-04-22 | 华南理工大学 | 基于移动互联网的孕产妇健康监护系统 |
CN107231258A (zh) * | 2017-06-01 | 2017-10-03 | 国网电子商务有限公司 | 一种网络告警数据处理方法及装置 |
CN108076040A (zh) * | 2017-10-11 | 2018-05-25 | 北京邮电大学 | 一种基于杀伤链和模糊聚类的apt攻击场景挖掘方法 |
CN108494810A (zh) * | 2018-06-11 | 2018-09-04 | 中国人民解放军战略支援部队信息工程大学 | 面向攻击的网络安全态势预测方法、装置及系统 |
CN108833139A (zh) * | 2018-05-22 | 2018-11-16 | 桂林电子科技大学 | 一种基于类别属性划分的ossec报警数据聚合方法 |
CN109729095A (zh) * | 2019-02-13 | 2019-05-07 | 北京奇安信科技有限公司 | 数据处理方法、装置和计算设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10536468B2 (en) * | 2016-07-21 | 2020-01-14 | Level 3 Communications, Llc | System and method for voice security in a telecommunications network |
-
2019
- 2019-07-24 CN CN201910670876.XA patent/CN110474885B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104523263A (zh) * | 2014-12-23 | 2015-04-22 | 华南理工大学 | 基于移动互联网的孕产妇健康监护系统 |
CN107231258A (zh) * | 2017-06-01 | 2017-10-03 | 国网电子商务有限公司 | 一种网络告警数据处理方法及装置 |
CN108076040A (zh) * | 2017-10-11 | 2018-05-25 | 北京邮电大学 | 一种基于杀伤链和模糊聚类的apt攻击场景挖掘方法 |
CN108833139A (zh) * | 2018-05-22 | 2018-11-16 | 桂林电子科技大学 | 一种基于类别属性划分的ossec报警数据聚合方法 |
CN108494810A (zh) * | 2018-06-11 | 2018-09-04 | 中国人民解放军战略支援部队信息工程大学 | 面向攻击的网络安全态势预测方法、装置及系统 |
CN109729095A (zh) * | 2019-02-13 | 2019-05-07 | 北京奇安信科技有限公司 | 数据处理方法、装置和计算设备及介质 |
Non-Patent Citations (2)
Title |
---|
Research for the arithmetic of cloud computing intrusion detection;Xueting Han等;《Third International Conference on Cyberspace Technology (CCT 2015)》;20160407;全文 * |
基于时空维度分析的网络安全态势预测方法;刘玉岭等;《计算机研究与发展》;20140815;第51卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110474885A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474885B (zh) | 基于时间序列与ip地址的报警关联分析方法 | |
Yang et al. | Tree-based intelligent intrusion detection system in internet of vehicles | |
Lu et al. | Clustering botnet communication traffic based on n-gram feature selection | |
CN108632269B (zh) | 基于c4.5决策树算法的分布式拒绝服务攻击检测方法 | |
Rahal et al. | A distributed architecture for DDoS prediction and bot detection | |
CN109150859B (zh) | 一种基于网络流量流向相似性的僵尸网络检测方法 | |
CN111709022B (zh) | 基于ap聚类与因果关系的混合报警关联方法 | |
CN113328985A (zh) | 一种被动物联网设备识别方法、系统、介质及设备 | |
Garasia et al. | HTTP botnet detection using frequent patternset mining | |
CN113904795A (zh) | 一种基于网络安全探针的流量快速精确检测方法 | |
CN114513325B (zh) | 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 | |
Brandao et al. | Log Files Analysis for Network Intrusion Detection | |
Al-kahtani et al. | Intrusion detection in the Internet of Things using fusion of GRU-LSTM deep learning model | |
Srilatha et al. | DDoSNet: A deep learning model for detecting network attacks in cloud computing | |
CN117118738B (zh) | 一种软件定义网络中的DDoS攻击风险量化防御方法及系统 | |
Bhuyan et al. | Towards an unsupervised method for network anomaly detection in large datasets | |
CN116938587A (zh) | 基于溯源图行为语义提取的威胁检测方法及系统 | |
Fatma et al. | A two-stage process based on data mining and optimization to identify false positives and false negatives generated by Intrusion Detection Systems | |
Kosamkar et al. | Data Mining Algorithms for Intrusion Detection System: An Overview | |
CN116527307A (zh) | 一种基于社区发现的僵尸网络检测算法 | |
Kamatchi et al. | An efficient security framework to detect intrusions at virtual network layer of cloud computing | |
Niranjan et al. | EKNIS: Ensemble of KNN, Naïve Bayes Kernel and ID3 for Efficient Botnet Classification Using Stacking | |
CN111901137A (zh) | 一种利用蜜罐告警日志挖掘多步攻击场景的方法 | |
CN113420791B (zh) | 边缘网络设备接入控制方法、装置及终端设备 | |
CN113709097B (zh) | 网络风险感知方法及防御方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20191119 Assignee: Guangxi Jun'an Network Security Technology Co.,Ltd. Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY Contract record no.: X2022450000459 Denomination of invention: Alarm Correlation Analysis Method Based on Time Series and IP Address Granted publication date: 20211022 License type: Common License Record date: 20221228 |