一种基于机器学习的未知攻击特征提取模型构建方法与流程

文档序号:19124336发布日期:2019-11-13 01:58阅读:817来源:国知局
一种基于机器学习的未知攻击特征提取模型构建方法与流程

本发明涉及机器学习技术领域,具体领域为一种基于机器学习的未知攻击特征提取模型构建方法。



背景技术:

随着网络规模的日益扩大,网络攻击数量也随之增多。如何保证网络系统的正常平稳运行,成为了网络安全的最主要课题。而基于攻击特征的攻击检测成为了最为常见的检测方式。攻击特征是对攻击行为的一种总结性的描述,通常情况下,攻击特征应为该攻击所产生的流量数据中的独有特性,通过特征可以直观地发现和确定一个攻击行为,并且不会对日常的生产生活造成较大影响。而对于一个未知的攻击行为,我们需要对其进行特征的分析和提取,以便之后对该类攻击的预警和防御。攻击特征提取的过程十分繁琐复杂,采用渗透专家进行攻击特征提取的方式速度慢,并且主观性高,无法确定所提取的特征的有效性。因此需要一种高效的攻击特征自动提取技术。

现有的攻击特征自动提取技术分为基于网络的攻击特征提取技术和基于主机的攻击特征提取技术。基于网络的攻击特征提取技术利用网络上的攻击信息,通过算法提取攻击信息中的攻击特征;而基于主机的攻击特征提取技术通过对系统环境做一定的改变,在被攻击的主机中获取相关攻击信息并分析得出特征。两类方法的准确性,特征提取速度,特征易用度和方法本身都有着不同程度的优缺点。



技术实现要素:

本发明的目的在于提供一种基于机器学习的未知攻击特征提取模型构建方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于机器学习的未知攻击特征提取模型构建方法,所述基于机器学习的未知攻击特征提取模型构建方法包括如下步骤:

步骤一:收集待检测未知攻击的相关数据和相关对比安全数据;

步骤二:对数据进行特征预提取,形成特征数据;

步骤三:将特征数据中可能存在的字符数据转换成为数字形式,以数字矩阵方式输出;

步骤四:对机器学习中的参数矩阵进行大小和内容的初始化;

步骤五:将攻击数据输入模型,与参数矩阵相乘得出预测值;

步骤六:计算预测值与实际值的偏差,得出误差值;

步骤七:判断误差值是否满足条件,若不满足,根据误差值对参数矩阵中的参数进行更新后,回到步骤五,若满足则进行下一步骤;

步骤八:完成训练输出矩阵参数,根据参数绝对值输出未知攻击特征。

优选的,对攻击数据中的相关特征进行预提取和数据类型转换,以便于机器学习模型的训练。

优选的,使用机器学习模型借助转换后的攻击数据对特征参数进行训练。

优选的,在完成训练后,根据特征参数来得到不同特征的权值,进而提取出未知攻击特征。

与现有技术相比,本发明的有益效果是:一种基于机器学习的未知攻击特征提取模型构建方法,该方法根据算法计算特征,具有较高的鲁棒性(计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性)和可解释性,经过试验,通过该方法得出的未知攻击特征用于检测该种特征的检测成功率高于人工检测法和常见的攻击特征自动提取技术,可以对绝大多数攻击行为进行检测;同时,特征提取速度,特征易用度和方法本身的可实施性都达到了一个较高的水平,有效的提高了方法的可行性。

附图说明

图1为本发明的未知攻击特征提取流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:一种基于机器学习的未知攻击特征提取模型构建方法,所述基于机器学习的未知攻击特征提取模型构建方法包括如下步骤:

步骤一:收集待检测未知攻击的相关数据和相关对比安全数据;

步骤二:对数据进行特征预提取,形成特征数据;

步骤三:将特征数据中可能存在的字符数据转换成为数字形式,以数字矩阵方式输出;

步骤四:对机器学习中的参数矩阵进行大小和内容的初始化;

步骤五:将攻击数据输入模型,与参数矩阵相乘得出预测值;

步骤六:计算预测值与实际值的偏差,得出误差值;

步骤七:判断误差值是否满足条件,若不满足,根据误差值对参数矩阵中的参数进行更新后,回到步骤五,若满足则进行下一步骤;

步骤八:完成训练输出矩阵参数,根据参数绝对值输出未知攻击特征。

攻击数据收集时,对于一个特征未知的攻击,首先我们应该对相关攻击数据进行收集,包括网络上可以抓取的攻击数据例如攻击流量包,以及攻击目标主机上的攻击数据,例如攻击留下的文件,相关的日志文件等,此外还应该收集相关的安全数据以便在后面的实验训练过程中形成对比。

数据特征预提取时,对于收集到的数据,我们对其中存在的相关特征进行提取,例如流量包中报文的长度,报文的时间,报文中相关的敏感字符,目标主机中日志的时间,日志中相关的敏感信息等,在这里提取的特征种类越多,最后得出攻击行为特征提取的准确度也会越高。

数据转换时,对于提取出来的特征数据中可能存在字符,这里我们对字符进行标号,将不同字符依次以数字进行标记,这样就可以用不同的数字代替不同的字符,以便于之后机器学习模型的训练。

初始化参数矩阵的过程中,假设之前数据特征提取时提取出的参数个数为m个(m表示若干个),总共提取出了n条攻击记录(n表示若干个),那么这里我们将参数矩阵大小初始化为m*1,矩阵中的每一个参数初始设置为1。

计算预测结果,应对于每条攻击记录矩阵1*m,我们将其与参数矩阵相乘得到一个数字,若该数字大于0.5,我们则认为该条记录确实为攻击行为;若该数字小于等于0.5,我们则认为该条记录为安全行为。这样n条攻击记录得出n个预测结果。

计算预测结果后进行计算误差,我们将n个预测结果与他们的实际结果(攻击行为记为1,安全行为记为0)进行对比,计算出他们之间的差值α,即为误差。

对误差进行判断,若误差a大于预设值,我们根据误差来更新参数:bi→bi-kαi,其中代表第i个参数,k代表学习速率,然后回到第五步再次计算预测结果,若误差α小于预设值或参数更新次数大于阈值,则结束训练。

最后记性参数分析,将训练完的参数取出进行分析,参数绝对值大说明该参数对应的特征起到较大作用,参数绝对值小说明该参数对应的特征作用较小,由此可以得出该未知攻击中相关特征权重,从而最终提取出未知攻击特征,通过以上的分析得到本发明的具体方法。

具体而言,对攻击数据中的相关特征进行预提取和数据类型转换,以便于机器学习模型的训练。

具体而言,使用机器学习模型借助转换后的攻击数据对特征参数进行训练。

具体而言,在完成训练后,根据特征参数来得到不同特征的权值,进而提取出未知攻击特征。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1