CN116389123A - 一种基于多元数据收集的混合入侵检测方法 - Google Patents
一种基于多元数据收集的混合入侵检测方法 Download PDFInfo
- Publication number
- CN116389123A CN116389123A CN202310371954.2A CN202310371954A CN116389123A CN 116389123 A CN116389123 A CN 116389123A CN 202310371954 A CN202310371954 A CN 202310371954A CN 116389123 A CN116389123 A CN 116389123A
- Authority
- CN
- China
- Prior art keywords
- data
- network
- intrusion detection
- feature
- log
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 74
- 238000013480 data collection Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000005516 engineering process Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000004927 fusion Effects 0.000 claims abstract description 5
- 238000003745 diagnosis Methods 0.000 claims description 16
- 238000000513 principal component analysis Methods 0.000 claims description 15
- 238000007405 data analysis Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 12
- 238000005192 partition Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 9
- 230000005856 abnormality Effects 0.000 claims description 7
- 230000014509 gene expression Effects 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008439 repair process Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000005065 mining Methods 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 claims description 3
- 238000007500 overflow downdraw method Methods 0.000 claims description 3
- 239000000523 sample Substances 0.000 claims 1
- 230000006399 behavior Effects 0.000 abstract description 13
- 230000000875 corresponding effect Effects 0.000 description 24
- 239000013598 vector Substances 0.000 description 22
- 238000012549 training Methods 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 2
- 238000005422 blasting Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008450 motivation Effects 0.000 description 2
- 238000000491 multivariate analysis Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000012466 permeate Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
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/1425—Traffic logging, e.g. anomaly 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/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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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)
- Computer And Data Communications (AREA)
Abstract
本发明涉及网络攻击入侵检测领域,具体涉及一种基于多元数据收集的混合入侵检测方法,随着攻击手段的复杂化和服务数据的多样化,面对新型攻击行为的不断涌现,传统基于单一的数据源的入侵检测方法已经不能适应新形势下网络空间安全问题。为此,本发明提出一种利用多元数据的混合入侵检测技术,综合考虑进程语义数据的特征、时间序列数据的特性及多元数据的融合数据特征,综合利用多元数据实现混合入侵检测。
Description
技术领域
本发明属于网络攻击入侵检测领域,尤其涉及一种基于多元数据收集的混合入侵检测方法。
背景技术
随着攻击手段的复杂化和服务数据的多样化,面对新型攻击行为的不断涌现,传统的入侵检测方法已经不能适应新形势下网络空间安全问题。具体而言,基于签名检测的入侵检测是基于已知特征的,无法识别新的攻击;而基于异常的检测技术利用特定用户已建立的模式的偏差来识别入侵,检测具有高假阳性率。另一方面,目前已有的入侵检测数据集已经不能满足日益更新的网络入侵手段,需要有新的数据集对检测模型进行训练,以提升模型的有效性及鲁棒性。此外,传统的机器学习算法已经无法满足现有的检测需要,并且不同的检测数据需要使用更佳匹配的算法。使用单一的数据源进行入侵检测会导致关键信息的缺失,因此,新形势下的入侵检测系统必须实现全流程下的入侵检测,针对每一个攻击步骤的关键点设置检测手段,监控多元数据并进行混合检测。
为此,本发明提出一种利用多元数据的混合入侵检测技术,综合考虑进程语义数据的特征、时间序列数据的特性及多元数据的融合数据特征,综合利用多元数据实现混合入侵检测技术。
发明内容
本发明的目的是克服现有技术中的不足,提供一种基于多元数据收集的混合入侵检测技术。
这种混合入侵检测技术,包括以下步骤:
S1、基于数据包捕获函数库与日志分区技术,设计系统调用模块与Shell行为收集模块,采集用于网络入侵检测的多元数据;
S102、基于数据包捕获函数库,抓取网络数据包、过滤数据并构建网络数据词汇表;
S104、基于日志分区技术,完成对系统日志数据的采集;
S106、针对攻击行为伴随系统调用进程的特性,实现系统调用数据采集;
S108、利用跟踪点内核设施,采集Shell行为数据;
S110、根据多元数据与入侵检测模式,设计数据筛选算法与分布式存储方法;
S2、基于数据解析工具与序列检测技术,实现多元数据的定量特征提取;
S202、基于数据解析软件包与特征计数,解析多元时间序列数据的定量特征;
S204、设计序列检测技术,完成进程语义数据的特征提取;
S3、基于特征压缩与特征融合,将多元特征压缩、融合为单个高维数据特征;
S4、基于主成分分析技术,设计入侵检测模式,识别数据中的异常,生成检测信息;
S5、利用单变量平方法,确定与入侵异常相关的特征,生成诊断前信息;
S6、基于数据解析工具,利用检测和诊断前信息,识别与异常相关的原始数据记录;
进一步的,S102中所述的网络数据词汇表方法,包括:
将网卡设置为Mix模式,采用捕获网络流量的应用程序接口对网络数据包进行抓包。具体而言,利用捕获引擎通过物理接口捕获ICMP、TCP和UDP数据包。在获取到网络数据包后,构建词汇表利用过滤器进行预处理得到网络数据包。数据包由数据包头和数据包有效载荷组成,本专利将数据包头的特征域中的值视为单词,词汇表是所有可能的特征值的集合,从数据包头中选择了16个特征字段,主要表示拒绝服务、网络侦查、欺诈、身份越权与权限爆破等特征。
进一步的,S104中所述的系统日志数据采集方法,包括:
考虑到现代软件系统通常采用微服务架构,并包含大量在多线程环境中运行的模块,不同的微服务或模块通常将它们的执行日志聚合到一个日志文件中,基于日志分区技术,本专利将交错的日志分成不同的组,每个组代表单个系统任务的执行。分区日志组是构建日志挖掘模型之前提取特征的基本单元,使用时间戳和日志标识符作为日志分割器。
进一步的,S106中所述的系统调用数据采集方法,包括:
利用系统调用收集器跟踪在特定目标内执行的系统调用,同时跟踪由该目标产生的程序的系统调用。系统调用收集器的输出信息包含适用于特定决策引擎的任何用户定义的可执行特征,产生特定系统调用序列自适应调整参数来决定生成质量,以及用于决策引擎比较的文本序列和减小的文件集大小。
进一步的,S108中所述的Shell行为数据采集方法,包括:
设计跟踪点内核设施,安装一个由内核中的特定函数调用的处理程序,为进入和退出系统调用以及进程调度事件注册跟踪点,利用探测程序将这些事件的细节复制到共享缓冲区中,并对其进行编码以供以后使用。
将网络入侵行为视为序列数据,攻击者执行的操作由某些系统上的初始状态到目标状态,其中状态是系统状态的快照,表示所有易失性、半永久性和永久性存储位置。系统上的初始状态对应于系统在被入侵之前的状态,受损状态对应于由完成渗透传入的流事件被分割成重叠的固定长度序列。序列数据长度L的选择取决于配置文件的用户,每个序列被视为L维空间中的一个实例,与已知的配置文件相比。配置文件T,是一组先前存储的实例,所有y∈{T}和测试序列之间通过相似性进行比较。相似性由Sim(x,y)度量定义,对两个序列x和y进行逐点比较,计算匹配项并分配更大的权重。
进一步的,S110所述的数据筛选算法与分布式存储方法,包括:
为了使数据集贴合实际情况并真实有效,本专利需要对数据筛选算法进行有效设计,方案如下:输入是一个序列,通过某种神经网络算法进行端到端训练,最后输出相应的分类概率。序列分类的深度学习算法分为生成和区分两种方法。生成公式包括自动编码器和回声状态网络之类的算法,判别公式包括序列特征工程和各种监督算法以及端到端深度学习方法。端到端深度学习方法包括通用算法,例如前馈神经网络,卷积神经网络和混合模型。模型的评估指数使用平均每类错误,它是指多类场景中每个类(类)的平均错误率。有D={dk}1≤k≤K,其中D代表数据集,dk代表数据集中的元素,K代表每个数据集。C={ck}1≤k≤K,其中C代表一组类别,ck代表每种类别类型。所有数据集中单个类的预期错误率的公式如下,:
作为深度神经网络,可以通过具有动量的随机梯度下降进行训练。为了提高效率,本专利选择将交叉熵作为模型的损失函数。
进一步的,S202中所述的多元时间序列数据的定量特征解析方法,包括:
从网络中捕获的信息通常以系统日志或网络跟踪的形式呈现,不能直接用于提供典型的异常检测工具。因此,需要进行某种特征工程和解析,以产生可用于数据建模的定量特征。
基于主成分分析技术,本专利考虑针对多元时间序列数据(网络数据包与系统日志),提出了特征即网络流计数器的方法:将数据计数与多变量分析相结合。每个特征都包含一个特定事件在一个给定的时间窗口中发生的次数,
本专利通过FCParser软件包对结构化与非结构化的数据进行解析,对于感兴趣的特征,在配置文件中定义相应的正则表达式。为了获得特定采样区间内的特征具体数值,针对该区间的原始数据运行相应的正则表达式,并由解析器记录匹配的数量,在这个步骤中,数据领域的专家知识指导具体特征的选择。
进一步的,S204中所述的进程语义数据的特征提取方法,包括:
本专利将程序执行过程中生成的系统调用跟踪视为语言句子,该语言句子供流程与操作系统进行通信。本系统将RNN语言模型用作系统调用生成器,以确保它生成语义上合理的序列。通过引入在自然语言处理中表现良好的序列到序列框架,将输入的系统调用序列作为上下文信息进行馈送,以生成与输入序列相关的正确预测输出。
本专利系统根据调用顺序将系统调用跟踪分为两段,将第一部分(源序列)视为问答系统中的问题陈述,将第二部分(目标)视为答案陈述。基于此思想,本专利系统构建了序列到序列模型的训练数据集,将数据集的80%用于培训,将20%用于评估。
当使用序列到序列的预测模型时,需要构造相应的系统调用词词汇。设主机中的系统调用总数为m,操作系统中提供的所有系统调用的集合为S=1,2,...,m。源系统调用序列表示为s=(x1,x2,...,xn),目标表示为t=(y1,y2,...,ym)。给定系统调用序列(x1,x2,...,xn),编码器将完成前向传播计算,以生成隐藏状态并在每个时间点输出。计算公式如下:
ht=sigm(ωHXxt+ωHXht-1)
yt=ωYHht
最后时刻的隐藏状态ht是令牌,作为输入系统调用序列的编码信息矢量c。本专利称其为上下文向量,用作解码器的初始隐藏状态,并将影响解码器输出的每个时刻。
解码器根据上下文向量c生成目标序列t,解码器本身本质上是上述的标准循环神经网络语言模型,解码器的初始隐藏状态为上下文向量c。生成每个系统调用的过程需要隐藏状态Ht的参与,隐藏状态Ht也是前一时刻解码的系统调用yt的参与。解码器的条件概率如下:
同时,本专利系统认为为某些特定的系统调用会更好地反映该计划的意图。因此,为了强调这些系统调用对特定系统调用解码的影响,本专利将注意机制引入了系统调用序列预测模型。引入注意机制的模型在编码阶段没有变化。在解码阶段,它将不再依赖于上下文向量c,而是考虑在解码每个系统调用时贡献最大的输入信息。然后,解码器的条件概率公式发生变化:
p(yi|y1,...,yi-1,X)=g(yi-1,si,ci)
其中ci表示当前上下文信息向量,该向量是通过训练中学习的注意力算法计算得出的,其计算方式如下:
其中aij是归一化系数,权重时间步长j的每个隐藏状态hj有助于当前上下文向量ci,而aij计算为:
其中eij代表输入元素xi与当前输出元素yi之间的关联关系,应在训练阶段学习该关联关系。通过引入注意机制,本系统使模型能够强调特定系统调用对序列性质的影响,因此可以更好地预测最有可能在调用序列的下一阶段发生的动作。
进一步的,S3中所述的特征压缩与特征融合方法,包括:
在步骤S2中,本专利为每个不同的数据源定义了一组特征。由于数据源的动态不同,为不同数据源得出特征计数的采样率也可能不同。因此,为了结合不同数据源的特征,需要将它们压缩到一个共同的采样率。然后,基于数据解析工具,通过附加不同数据源的特征,将多元特征融合成一个高维度的特征数据流。
进一步的,S4中所述的数据异常识别与检测方法,包括:
本专利为检测网络交互行为中的异常情况,定义一对统计量:从分数中计算得来的D-统计量以及压缩残差结构的Q-统计量。因此,利用主成分分析技术和这些统计数据,本专利将监测高维多变量数据流X的问题转化为监测一对统计数据的简易问题。
在一个新的采样时间间隔后,计算出一个新的观察特征xn。计算相应的分数向量的公式如下:
tn=xn·PA
其中tn是一个1×A的分数向量,同时,计算相应的残差向量的公式如下:
因此,观测点n的D-统计量和Q-统计量可以通过以下公式计算:
其中∑T代表校准数据中分数的协方差矩阵,Dn和Qn的值与校准数据的统计数据进行对比,以确定数据中的异常情况(即网络与系统调用等多元数据中的入侵异常)。
利用多数据流进行网络入侵检测,需要分析不同形式的数据与入侵事件的潜在关系,这就需要对入侵异常检测设计一个有效地分流方法,而不是简单地将事件二分为异常情况与非异常情况。为了将D-统计量和Q-统计量合并为一个单一的分流分数,本专利在此根据以下公式定义观察点n的Tscore。
本专利针对网络入侵检测建立了两个应用模式:探索模式与学习模式。在探索模式中,主成分分析被应用于一个数据块,以发现该数据块中的异常情况。在学习模式中,主成分分析从一个数据块进行校准,以建立一个常态模型,然后应用于新传入的数据,以找到异常事件。探索模式致力于网络优化、故障排除和情况了解:检测、了解和解决任何与安全有关的问题和错误配置,这些问题在系统刚部署时已经影响到网络。这个阶段是通过检测和诊断数据中的异常值来进行的。例如,如果本专利在网关防火墙中发现了过多的受阻流量,这可能是网络攻击企图被周边安全措施正确阻挡的结果,因此不需要采取进一步行动。或者,这可能是防火墙错误配置的结果,需要加以修复。按照探索模式的迭代程序,异常值被隔离和诊断,相应的问题也被识别和解决。当只剩下非相关的异常值,从而可以认为网络处于正常运行条件或统计控制之下时,系统就进入到学习模式。在这个阶段,异常检测器被用来实时地识别传入数据的异常情况。
进一步的,S5中所述的异常信息特征提取方法,包括:
一旦出现异常信号,就会进行预诊断步骤,以确定与之相关的特征。这些信息对于初步猜测异常现象的根源非常有用。特征对特定异常的贡献可以用贡献图或类似工具进行调查。其中,最直接但有效的方法被命名为单变量平方,定义如下:
d2=(xn)T|xn|
因此,根据步骤S4,系统在D-统计量和Q-统计量的图表中检测到网络入侵异常情况,然后用单变量平方法进行预诊断分析。单变量平方的输出是一个1×M的向量,其中每个元素都包含相应特征对网络入侵异常的贡献,将贡献值大的确定为与异常相关的特征。
进一步的,S6中所述的识别异常的原始数据记录方法,包括:
本发明专利设计的入侵检测方法的最后一步是提取与异常相关联的原始信息中的特定日志,以便系统恢复与网络修复。为了实现这一点,本专利同时使用了来自检测模块和预诊断模块的信息。前者为异常提供了时间戳,它可以是一个或一组连续的采样间隔。后者提供了与异常相关的主要特征。解析工作主要是有选择地恢复解析程序,从而获得与异常情况有关的原始日志。为此,选定的时间戳中的原始日志与诊断前的特征相匹配,并按其匹配的特征数量进行排序。根据数据集和检测到的异常情况,在解析步骤中提取的信息量可能太大,无法进行视觉检查。出于这个原因,本专利考虑设置了一个用户定义的阈值来限制检索的数据量。
在本步骤中,本专利再次采用数据解析工具,其配置文件与解析步骤中使用的相同,定义与异常特征相关的正则表达式。解析的算法过程主要包括:(1)算法通过所有对应于不同数据源的输入文件,寻找发生在给定时间戳T内的数据记录,并获得相应的大量系统日志L;(2)算法通过L中的所有日志行,一对一分配相应的fscore分数。一个日志行的fscore是指出现在该行中的预诊断特征(F)的数量,这个指标使算法能够以一种有效的方式按相关性对日志行进行排序。(3)在每次迭代中,该算法提取所有fscore等于N的日志行,其中N被初始化为F中的特征数量。若日志行的数量没有超过阈值,那么特征的数量N就减少一个,然后重复这个过程。对每个数据源都是如此,直到日志行的数量达到阈值或特征数量N减至0。
本步骤中解析算法的动机是,在预诊断步骤S5中确定的特征很可能是相关的,但不一定需要出现在所有对应于网络入侵的原始日志中。网络入侵可以是由出现在同一时间段的几种类型的日志共同描述的,这些日志可能不会包含解析中确定的所有特征,而只是它的子集。
本发明利用多元数据分析技术提出一种基于多元数据收集的混合入侵检测方法:本发明根据云计算环境的特点,利用网络数据包、日志数据、系统调用及Shell行为数据,提出了一种基于多元数据混合检测的入侵检测方法,多元数据的应用使得入侵检测模型可以习得更多维度的检测数据,从而更好的检测入侵行为。在多元数据的基础上,设计了各项数据的收集方法、预处理方法以及存储方法。同时,针对不同数据源采用主成分分析等数据分析手段,实现了较为准确的检测效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明实施例中的基于多元数据收集的混合入侵检测系统的流程图;
图2为本发明实施例中的采集多元数据的流程图;
图3为本发明实施例中的定量提取多元数据特征的流程图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种预测恶意攻击的网络安全事件推荐方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本专利所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种基于多元数据收集的混合入侵检测方法的具体方案。
本实施例中的利用多元数据分析技术提出一种基于多元数据收集的混合入侵检测方法,本发明根据云计算环境的特点,利用网络数据包、日志数据、系统调用及Shell行为数据,提出了一种基于多元数据混合检测的入侵检测方法,多元数据的应用使得入侵检测模型可以习得更多维度的检测数据,从而更好的检测入侵行为。在多元数据的基础上,设计了各项数据的收集方法、预处理方法以及存储方法。同时,针对不同数据源采用主成分分析等数据分析手段,实现了较为准确的检测效果。
请参阅图1,其示出了本发明一个实施例提供的一种基于多元数据收集的混合入侵检测方法的步骤流程图,该方法包括以下步骤:
步骤S1,基于数据包捕获函数库与日志分区技术,设计系统调用模块与Shell行为收集模块,采集用于网络入侵检测的多元数据。
S102、将网卡设置为Mix模式,采用捕获网络流量的应用程序接口对网络数据包进行抓包。具体而言,利用捕获引擎通过物理接口捕获ICMP、TCP和UDP数据包。在获取到网络数据包后,构建词汇表利用过滤器进行预处理得到网络数据包。数据包由数据包头和数据包有效载荷组成,本专利将数据包头的特征域中的值视为单词,词汇表是所有可能的特征值的集合,从数据包头中选择了16个特征字段,主要表示拒绝服务、网络侦查、欺诈、身份越权与权限爆破等特征。
S104、考虑到现代软件系统通常采用微服务架构,并包含大量在多线程环境中运行的模块,不同的微服务或模块通常将它们的执行日志聚合到一个日志文件中,基于日志分区技术,本专利将交错的日志分成不同的组,每个组代表单个系统任务的执行。分区日志组是构建日志挖掘模型之前提取特征的基本单元,使用时间戳和日志标识符作为日志分割器。
S106、利用系统调用收集器跟踪在特定目标内执行的系统调用,同时跟踪由该目标产生的程序的系统调用。系统调用收集器的输出信息包含适用于特定决策引擎的任何用户定义的可执行特征,产生特定系统调用序列自适应调整参数来决定生成质量,以及用于决策引擎比较的文本序列和减小的文件集大小。
S108、设计跟踪点内核设施,安装一个由内核中的特定函数调用的处理程序,为进入和退出系统调用以及进程调度事件注册跟踪点,利用探测程序将这些事件的细节复制到共享缓冲区中,并对其进行编码以供以后使用。
将网络入侵行为视为序列数据,攻击者执行的操作由某些系统上的初始状态到目标状态,其中状态是系统状态的快照,表示所有易失性、半永久性和永久性存储位置。系统上的初始状态对应于系统在被入侵之前的状态,受损状态对应于由完成渗透传入的流事件被分割成重叠的固定长度序列。序列数据长度L的选择取决于配置文件的用户,每个序列被视为L维空间中的一个实例,与已知的配置文件相比。配置文件T,是一组先前存储的实例,所有y∈{T}和测试序列之间通过相似性进行比较。相似性由Sim(x,y)度量定义,对两个序列x和y进行逐点比较,计算匹配项并分配更大的权重。
S110、为了使数据集贴合实际情况并真实有效,本专利需要对数据筛选算法进行有效设计,基本方案如下:输入是一个序列,通过某种神经网络算法进行端到端训练,最后输出相应的分类概率。序列分类的深度学习算法分为生成和区分两种方法。生成公式包括自动编码器和回声状态网络之类的算法,判别公式包括序列特征工程和各种监督算法以及端到端深度学习方法。端到端深度学习方法包括通用算法,例如前馈神经网络,卷积神经网络和混合模型。模型的评估指数使用平均每类错误,它是指多类场景中每个类(类)的平均错误率。有D={dk}1≤k≤K,其中D代表数据集,dk代表数据集中的元素,K代表每个数据集。C={ck}1≤k≤K,其中C代表一组类别,ck代表每种类别类型。所有数据集中单个类的预期错误率的公式如下,:
作为深度神经网络,可以通过具有动量的随机梯度下降进行训练。为了提高效率,本专利选择将交叉熵作为模型的损失函数。
步骤S2,基于数据解析工具与序列检测技术,实现多元数据的定量特征提取。
S202、从网络中捕获的信息通常以系统日志或网络跟踪的形式呈现,不能直接用于提供典型的异常检测工具。因此,需要进行某种特征工程和解析,以产生可用于数据建模的定量特征。
基于主成分分析技术,本专利考虑针对多元时间序列数据(网络数据包与系统日志),提出了特征即网络流计数器的方法:将数据计数与多变量分析相结合。每个特征都包含一个特定事件在一个给定的时间窗口中发生的次数,例如,系统日志数据中一个给定的词的计数或网络数据包中具有给定目的端口的流量的数量。
本专利通过FCParser软件包对结构化与非结构化的数据进行解析,对于感兴趣的特征,在配置文件中定义相应的正则表达式。为了获得特定采样区间内的特征具体数值,针对该区间的原始数据运行相应的正则表达式,并由解析器记录匹配的数量,在这个步骤中,数据领域的专家知识指导具体特征的选择。
S204、本专利将程序执行过程中生成的系统调用跟踪视为语言句子,该语言句子供流程与操作系统进行通信。本系统将RNN语言模型用作系统调用生成器,以确保它生成语义上合理的序列。通过引入在自然语言处理中表现良好的序列到序列框架,将输入的系统调用序列作为上下文信息进行馈送,以生成与输入序列相关的正确预测输出。
本专利系统根据调用顺序将系统调用跟踪分为两段,将第一部分(源序列)视为问答系统中的问题陈述,将第二部分(目标)视为答案陈述。基于此思想,本专利系统构建了序列到序列模型的训练数据集,将数据集的80%用于培训,将20%用于评估。
当使用序列到序列的预测模型时,需要构造相应的系统调用词词汇。设主机中的系统调用总数为m,操作系统中提供的所有系统调用的集合为S=1,2,...,m。源系统调用序列表示为s=(x1,x2,...,xn),目标表示为t=(y1,y2,...,ym)。给定系统调用序列(x1,x2,...,xn),编码器将完成前向传播计算,以生成隐藏状态并在每个时间点输出。计算公式如下:
ht=sigm(ωHXxt+ωHXht-1)
yt=ωYHht
最后时刻的隐藏状态ht是令牌,作为输入系统调用序列的编码信息矢量c。本专利称其为上下文向量,用作解码器的初始隐藏状态,并将影响解码器输出的每个时刻。
解码器根据上下文向量c生成目标序列t,解码器本身本质上是上述的标准循环神经网络语言模型,解码器的初始隐藏状态为上下文向量c。生成每个系统调用的过程需要隐藏状态Ht的参与,隐藏状态Ht也是前一时刻解码的系统调用yt的参与。解码器的条件概率如下:
同时,本专利系统认为为某些特定的系统调用会更好地反映该计划的意图。因此,为了强调这些系统调用对特定系统调用解码的影响,本专利将注意机制引入了系统调用序列预测模型。引入注意机制的模型在编码阶段没有变化。在解码阶段,它将不再依赖于上下文向量c,而是考虑在解码每个系统调用时贡献最大的输入信息。然后,解码器的条件概率公式发生变化:
p(yi|y1,...,yi-1,X)=g(yi-1,si,ci)
其中ci表示当前上下文信息向量,该向量是通过训练中学习的注意力算法计算得出的,其计算方式如下:
其中aij是归一化系数,权重时间步长j的每个隐藏状态hj有助于当前上下文向量ci,而aij计算为:
其中eij代表输入元素xi与当前输出元素yi之间的关联关系,应在训练阶段学习该关联关系。通过引入注意机制,本系统使模型能够强调特定系统调用对序列性质的影响,因此可以更好地预测最有可能在调用序列的下一阶段发生的动作。
步骤S3、基于特征压缩与特征融合,将多元特征压缩、融合为单个高维数据特征。
在步骤S2中,本专利为每个不同的数据源定义了一组特征。由于数据源的动态不同,为不同数据源得出特征计数的采样率也可能不同。因此,为了结合不同数据源的特征,需要将它们压缩到一个共同的采样率。然后,基于数据解析工具,通过附加不同数据源的特征,将多元特征融合成一个高维度的特征数据流。
步骤S4、基于主成分分析技术,设计入侵检测模式,识别数据中的异常,生成检测信息。
为了检测网络交互行为中的异常情况,本专利定义了一对统计量:从分数中计算得来的D-统计量以及压缩残差结构的Q-统计量。因此,利用主成分分析技术和这些统计数据,本专利将监测高维多变量数据流X的问题转化为监测一对统计数据的简易问题。
在一个新的采样时间间隔后,计算出一个新的观察特征xn。计算相应的分数向量的公式如下:
tn=xn·PA
其中tn是一个1×A的分数向量,同时,计算相应的残差向量的公式如下:
因此,观测点n的D-统计量和Q-统计量可以通过以下公式计算:
其中∑T代表校准数据中分数的协方差矩阵,Dn和Qn的值与校准数据的统计数据进行对比,以确定数据中的异常情况(即网络与系统调用等多元数据中的入侵异常)。
利用多数据流进行网络入侵检测,需要分析不同形式的数据与入侵事件的潜在关系,这就需要对入侵异常检测设计一个有效地分流方法,而不是简单地将事件二分为异常情况与非异常情况。为了将D-统计量和Q-统计量合并为一个单一的分流分数,本专利在此根据以下公式定义观察点n的Tscore。
本专利针对网络入侵检测建立了两个应用模式:探索模式与学习模式。在探索模式中,主成分分析被应用于一个数据块,以发现该数据块中的异常情况。在学习模式中,主成分分析从一个数据块进行校准,以建立一个常态模型,然后应用于新传入的数据,以找到异常事件。探索模式致力于网络优化、故障排除和情况了解:检测、了解和解决任何与安全有关的问题和错误配置,这些问题在系统刚部署时已经影响到网络。这个阶段是通过检测和诊断数据中的异常值来进行的。例如,如果本专利在网关防火墙中发现了过多的受阻流量,这可能是网络攻击企图被周边安全措施正确阻挡的结果,因此不需要采取进一步行动。或者,这可能是防火墙错误配置的结果,需要加以修复。按照探索模式的迭代程序,异常值被隔离和诊断,相应的问题也被识别和解决。当只剩下非相关的异常值,从而可以认为网络处于正常运行条件或统计控制之下时,系统就进入到学习模式。在这个阶段,异常检测器被用来实时地识别传入数据的异常情况。
步骤S5、利用单变量平方法,确定与入侵异常相关的特征,生成诊断前信息。
一旦出现异常信号,就会进行预诊断步骤,以确定与之相关的特征。这些信息对于初步猜测异常现象的根源非常有用。特征对特定异常的贡献可以用贡献图或类似工具进行调查。其中,最直接但有效的方法被命名为单变量平方,定义如下:
d2=(xn)T|xn|
因此,根据步骤S4,系统在D-统计量和Q-统计量的图表中检测到网络入侵异常情况,然后用单变量平方法进行预诊断分析。单变量平方的输出是一个1×M的向量,其中每个元素都包含相应特征对网络入侵异常的贡献,将贡献值大的确定为与异常相关的特征。
S6、基于数据解析工具,利用检测和诊断前信息,识别与异常相关的原始数据记录。
本发明专利设计的入侵检测方法的最后一步是提取与异常相关联的原始信息中的特定日志,以便系统恢复与网络修复。为了实现这一点,本专利同时使用了来自检测模块和预诊断模块的信息。前者为异常提供了时间戳,它可以是一个或一组连续的采样间隔。后者提供了与异常相关的主要特征。解析工作主要是有选择地恢复解析程序,从而获得与异常情况有关的原始日志。为此,选定的时间戳中的原始日志与诊断前的特征相匹配,并按其匹配的特征数量进行排序。根据数据集和检测到的异常情况,在解析步骤中提取的信息量可能太大,无法进行视觉检查。出于这个原因,本专利考虑设置了一个用户定义的阈值来限制检索的数据量。
在本步骤中,本专利再次采用数据解析工具,其配置文件与解析步骤中使用的相同,定义与异常特征相关的正则表达式。解析的算法过程主要包括:(1)算法通过所有对应于不同数据源的输入文件,寻找发生在给定时间戳T内的数据记录,并获得相应的大量系统日志L;(2)算法通过L中的所有日志行,一对一分配相应的fscore分数。一个日志行的fscore是指出现在该行中的预诊断特征(F)的数量,这个指标使算法能够以一种有效的方式按相关性对日志行进行排序。(3)在每次迭代中,该算法提取所有fscore等于N的日志行,其中N被初始化为F中的特征数量。若日志行的数量没有超过阈值,那么特征的数量N就减少一个,然后重复这个过程。对每个数据源都是如此,直到日志行的数量达到阈值或特征数量N减至0。
本步骤中解析算法的动机是,在预诊断步骤S5中确定的特征很可能是相关的,但不一定需要出现在所有对应于网络入侵的原始日志中。网络入侵可以是由出现在同一时间段的几种类型的日志共同描述的,这些日志可能不会包含解析中确定的所有特征,而只是它的子集。
Claims (7)
1.一种基于多元数据收集的混合入侵检测方法,其特征在于,该方法包括以下步骤:
S1、基于数据包捕获函数库与日志分区技术,设计系统调用模块与Shell行为收集模块,采集用于网络入侵检测的多元数据;
S102、基于数据包捕获函数库,抓取网络数据包、过滤数据并构建网络数据词汇表;
S104、基于日志分区技术,完成对系统日志数据的采集;
S106、针对攻击行为伴随系统调用进程的特性,实现系统调用数据采集;
S108、利用跟踪点内核设施,采集Shell行为数据;
S110、根据多元数据与入侵检测模式,设计数据筛选算法与分布式存储方法;
S2、基于数据解析工具与序列检测技术,实现多元数据的定量特征提取;
S202、基于数据解析软件包与特征计数,解析多元时间序列数据的定量特征;
S204、设计序列检测技术,完成进程语义数据的特征提取;
S3、基于特征压缩与特征融合,将多元特征压缩、融合为单个高维数据特征;
S4、基于主成分分析技术,设计入侵检测模式,识别数据中的异常,生成检测信息;
S5、利用单变量平方法,确定与入侵异常相关的特征,生成诊断前信息;
S6、基于数据解析工具,利用检测和诊断前信息,识别与异常相关的原始数据记录。
2.如权利要求1所述的一种基于多元数据收集的混合入侵检测方法,其特征在于,S1所述的多元数据采集方法,包括:
根据网卡设置模式,采用捕获网络流量的应用程序接口对网络数据包进行抓包。利用捕获引擎通过物理接口捕获ICMP、TCP和UDP数据包。在获取到网络数据包后,构建词汇表利用过滤器进行预处理得到网络数据包。
根据微服务架构模式,基于日志分区技术,将交错的日志分成不同的组,每个组代表单个系统任务的执行。分区日志组是构建日志挖掘模型之前提取特征的基本单元,使用时间戳和日志标识符作为日志分割器。
利用系统调用收集器跟踪在特定目标内执行的系统调用,同时跟踪由该目标产生的程序的系统调用。系统调用收集器的输出信息包含适用于特定决策引擎的任何用户定义的可执行特征,产生特定系统调用序列自适应调整参数来决定生成质量,以及用于决策引擎比较的文本序列和减小的文件集大小。
设计跟踪点内核设施,安装由内核中的特定函数调用的处理程序,为进入和退出系统调用以及进程调度事件注册跟踪点,利用探测程序将这些事件的细节复制到共享缓冲区中,并对其进行编码以供以后使用。
3.如权利要求1所述的一种基于多元数据收集的混合入侵检测方法,其特征在于,S2中所述的多元数据的定量特征提取方法,包括:
根据主成分分析技术,考虑针对多元时间序列数据(网络数据包与系统日志),基于特征即网络流计数器的方法,每个特征包含一个特定事件在一个给定的时间窗口中发生的次数。通过数据解析工具对结构化与非结构化的数据进行解析,对于感兴趣的特征,在配置文件中定义相应的正则表达式。
将程序执行过程中生成的系统调用跟踪视为语言句子,该语言句子供流程与操作系统进行通信。将RNN语言模型用作系统调用生成器,通过引入在自然语言处理中表现良好的序列到序列框架,将输入的系统调用序列作为上下文信息进行馈送,以生成与输入序列相关的正确预测输出。
4.如权利要求1所述的一种基于多元数据收集的混合入侵检测方法,其特征在于,S3所述的特征压缩与特征融合方法,包括:
基于步骤S2,本专利为每个不同的数据源定义了一组特征。由于数据源的动态不同,为不同数据源得出特征计数的采样率也可能不同。因此,为了结合不同数据源的特征,需要将它们压缩到一个共同的采样率。然后,基于数据解析工具,通过附加不同数据源的特征,将多元特征融合成一个高维度的特征数据流。
5.如权利要求1所述的一种基于多元数据收集的混合入侵检测方法,其特征在于,S4所述的特征压缩与特征融合方法,包括:
根据主成分分析技术,定义数据统计量:从分数中计算得来的D-统计量以及压缩残差结构的Q-统计量。利用主成分分析技术和这些统计数据,将监测高维多变量数据流X的问题转化为监测一对统计数据的简易问题。
6.如权利要求1所述的一种基于多元数据收集的混合入侵检测方法,其特征在于,S5所述的异常信息特征提取方法,包括:
根据步骤S4,系统在D-统计量和Q-统计量的图表中检测到网络入侵异常情况,然后用单变量平方法进行预诊断分析。
7.如权利要求1所述的一种基于多元数据收集的混合入侵检测方法,其特征在于,S6所述的识别异常的原始数据记录方法,包括:
根据检测模块S3和预诊断模块S4的信息,提取与异常相关联的原始信息中的特定日志,以便系统恢复与网络修复。前者为异常提供了时间戳,后者提供了与异常相关的主要特征。将选定的时间戳中的原始日志与诊断前的特征相匹配,并按其匹配的特征数量进行排序。根据数据集和检测到的异常情况,在解析步骤中提取的信息量可能太大,无法进行视觉检查。出于这个原因,本专利考虑设置了一个用户定义的阈值来限制检索的数据量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310371954.2A CN116389123A (zh) | 2023-04-10 | 2023-04-10 | 一种基于多元数据收集的混合入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310371954.2A CN116389123A (zh) | 2023-04-10 | 2023-04-10 | 一种基于多元数据收集的混合入侵检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116389123A true CN116389123A (zh) | 2023-07-04 |
Family
ID=86963070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310371954.2A Pending CN116389123A (zh) | 2023-04-10 | 2023-04-10 | 一种基于多元数据收集的混合入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116389123A (zh) |
-
2023
- 2023-04-10 CN CN202310371954.2A patent/CN116389123A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110166484A (zh) | 一种基于LSTM-Attention网络的工业控制系统入侵检测方法 | |
CN108965340B (zh) | 一种工业控制系统入侵检测方法及系统 | |
CN112688946B (zh) | 异常检测特征的构造方法、模块、存储介质、设备及系统 | |
Gu et al. | An improved sensor fault diagnosis scheme based on TA-LSSVM and ECOC-SVM | |
CN111695823A (zh) | 一种基于工控网络流量的异常评估方法与系统 | |
CN110808995B (zh) | 安全防护方法和装置 | |
CN111726351B (zh) | 基于Bagging改进的GRU并行网络流量异常检测方法 | |
CN117220920A (zh) | 基于人工智能的防火墙策略管理方法 | |
CN113660196A (zh) | 一种基于深度学习的网络流量入侵检测方法及装置 | |
CN114741369A (zh) | 一种基于自注意力机制的图网络的系统日志检测方法 | |
CN115865483A (zh) | 一种基于机器学习的异常行为分析方法和装置 | |
CN117336055A (zh) | 一种网络异常行为检测方法、装置、电子设备及存储介质 | |
Zugasti et al. | Null is not always empty: Monitoring the null space for field-level anomaly detection in industrial IoT environments | |
US11665185B2 (en) | Method and apparatus to detect scripted network traffic | |
Werner et al. | Near real-time intrusion alert aggregation using concept-based learning | |
CN112291213A (zh) | 一种基于智能终端的异常流量分析方法及装置 | |
CN112073396A (zh) | 一种内网横向移动攻击行为的检测方法及装置 | |
CN108761250B (zh) | 一种基于工控设备电压电流的入侵检测方法 | |
CN116389123A (zh) | 一种基于多元数据收集的混合入侵检测方法 | |
Murtaza et al. | On the comparison of user space and kernel space traces in identification of software anomalies | |
Gonzalez-Granadillo et al. | An improved live anomaly detection system (i-lads) based on deep learning algorithm | |
Yuwen et al. | Network covert channel detection with cluster based on hierarchy and density | |
CN112884069A (zh) | 一种对抗网络样本检测的方法 | |
CN115249059A (zh) | 模型训练及异常数据分析方法、装置及计算机存储介质 | |
Al-Saleh et al. | Towards an Autonomous Radiation Early Warning System. |
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 |