一种基于MLP的入侵检测方法技术

技术编号:20655256 阅读:145 留言:0更新日期:2019-03-23 06:54
本发明专利技术公开了一种基于MLP的入侵检测方法。该方法为:首先、扫描整个磁盘,收集可执行文件及日志文件,该过程包括主动模式和被动模式,在主动模式下,扫描磁盘并收集可执行文件,如果可执行文件为包含源代码的脚本,则将其编译成中间代码;在被动模式下,仅收集系统和服务器日志文件;然后、进行数据预处理,提取特征,并标注标签,提取的特征为词库中的每个单词在样本中的词频;接着、使用MLP对数据进行建模;最后、使用模型预测新的数据,得到标签的预测值。本发明专利技术将多层感知机模型与可执行文件或日志的统计特征相结合,提高了入侵检测的精确度。

【技术实现步骤摘要】
一种基于MLP的入侵检测方法
本专利技术涉及入侵检测
,特别是一种基于MLP的入侵检测方法。
技术介绍
随着Internet的高速发展和日益普及,网络入侵事件迅速增长,网络安全越来越受到人们的重视。入侵检测是对入侵行为的检测,它通过收集和分析网络行为、安全日志、审计数据、其它网络上可以获得的信息以及计算机系统中若干关键点的信息,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象。入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵,因此被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测。入侵检测的本质,就是将正常操作于异常操作区分开。目前,绝大多数入侵检测方法都是基于规则的,例如,阿里云的Web防火墙在遇到Select、Where、Union等SQL关键字时,就会认为这是SQL注入攻击。阿里云举办的智能安全大赛中,多数选手仍旧使用基于规则的关键字过滤。显然上述方法具有以下缺陷:首先,这种方法会产生一些误报,SQL关键字也可能是正常的参数内容,例如在搜索引擎的场景下,用户搜索的东西完全有可能带有这些关键字,就可能被错误地拦截。其次,当应用场景变化时,例如切换到了XSS漏洞的入侵检测,就要重新请专家总结一套规则,费时费力。可见,基于规则以及黑白名单的检测技术已经无法适应日益发展的入侵手段。
技术实现思路
本专利技术的目的在于提供一种基于MLP的入侵检测方法,能够实现高效率、高精确度的入侵检测。实现本专利技术目的的技术解决方案为:一种基于MLP的入侵检测方法,包括以下步骤:步骤1,扫描整个磁盘,收集指定的文件;步骤2,进行数据预处理,提取特征,并标注标签;步骤3,使用MLP对数据进行建模;步骤4,使用模型预测新的数据,得到标签的预测值。进一步地,步骤1中所述的扫描整个磁盘,收集指定的文件,该过程包括主动模式和被动模式,具体如下:在主动模式下,扫描磁盘并收集可执行文件,如果可执行文件为包含源代码的脚本,则将其编译成中间代码;在被动模式下,仅收集系统和服务器日志文件。进一步地,步骤2中所述的进行数据预处理,提取特征,并标注标签,具体如下:将不同类型的原始文件,分别进行以下预处理:(1)机器码或中间代码:提取指令名称和字符串内容,对字符串进行分词处理,得到单词,将一个文件视为一个样本;(2)系统日志:从用户目录中的.bash_history文件中读取Shell的历史记录,按照指定的时间间隔切分为不同会话,一个会话视为一个样本,命令名称视为单词;(3)服务器日志:将一个请求视为一个样本,对请求的载荷部分进行分词处理,得到单词;然后将样本集D的单词汇总,制作成词汇表V,根据词汇表V,将样本集D转换为词频矩阵X;Xi,j为X中第i行第j列的元素,表示第j个词汇Vj在第i个样本Di中的频率,其中i∈[0,|D|),j∈[0,|V|),词频矩阵即为特征;标签由人工标注为“正常”或“异常”,或者针对某类漏洞进行标注,标注为“存在某类漏洞”或“不存在某类漏洞”。进一步地,步骤3中所述的使用MLP对数据进行建模,具体如下:(1)整个神经网络分为五层,分别为输入层、三个隐层、全连接层,其中全连接层同时也作为输出层;神经网络的训练由多个迭代组成,每个迭代中都要进行正向传播和反向传播两个步骤;(2)在正向传播过程中,输入层仅提供输入数据,不进行任何运算;每个隐层将输入的数据做线性变换,之后应用非线性激活函数,输出给下一层;输出层的计算除了激活函数不同,其余与隐层相同;然后,根据模型输出和标签,计算模型损失;(3)在循环层的反向传播过程中,首先计算损失对模型输出的梯度,之后计算隐层或输出层中各个量的梯度;得到每个参数的梯度后,将每个参数减去其自身的梯度,然后再乘以学习率,完成反向传播;(4)隐层采用Dropout机制,在训练过程中让一部分神经元不工作,其中每个神经元不工作的概率为10%;(5)训练参数如下:Dropout比例:10%学习率:0.01第一隐层单元数:特征数÷2第二隐层单元数:特征数÷4第三隐层单元数:特征数÷8输出层单元数:1隐层激活函数:ELU输出层激活函数:Sigmoid。进一步地,步骤4中所述的使用模型预测新的数据,得到标签的预测值,具体如下:对于每个新的样本,首先按照步骤2提取特征,处理为MLP所需的格式;然后使用训练所得的MLP参数,将样本和MLP参数代入步骤3的正向传播过程公式中,即可得预测结果。进一步地,步骤(2)中所述每个隐层将输入的数据做线性变换,之后应用非线性激活函数,输出给下一层;输出层的计算除了激活函数不同,其余与隐层相同;然后,根据模型输出和标签,计算模型损失,其中:每个隐层的正向传播过程如下:Z=XW+BA=f(Z)其中,X是隐层的输入,W是当前层每个神经元相对于上一层每个神经元的权重,B是偏置,W和B统称为参数,f是激活函数,A是输出,Z为中间变量;W和B初始化为随机值;根据模型输出和标签,计算模型损失:其中,L为模型的损失,Y为标签,A为模型输出,为逐元素相乘,n为样本量。进一步地,步骤(3)所述在循环层的反向传播过程中,首先计算损失对模型输出的梯度:其中,/为逐元素除法;之后计算隐层或输出层中各个量的梯度,公式如下:本专利技术与现有技术相比,其显著优势为:(1)将多层感知机模型与可执行文件或日志的统计特征相结合,提高了入侵检测的精确度;(2)入侵检测效率高、可靠性好。附图说明图1是本专利技术基于MLP的入侵检测方法的流程示意图。图2是本专利技术中神经网络的整体结构示意图。具体实施方式下面结合附图及具体实施方式对本专利技术的内容做进一步的说明。结合图1,本专利技术基于MLP的入侵检测方法,包括以下步骤:步骤1,扫描整个磁盘,收集指定的文件;步骤2,进行数据预处理,提取特征,并标注标签;步骤3,使用MLP对数据进行建模;步骤4,使用模型预测新的数据,得到标签的预测值。进一步地,步骤1中所述的扫描整个磁盘,收集指定的文件,具体如下:该方法拥有两种模式,主动模式和被动模式:在主动模式下,扫描磁盘并收集可执行文件,如果可执行文件为包含源代码的脚本,则将其编译成中间代码;在被动模式下,仅仅收集系统和服务器日志。进一步地,步骤2中所述的进行数据预处理,提取特征,并标注标签,具体如下:将不同类型的原始文件,分别进行以下预处理:(1)机器码或中间代码:提取指令名称和字符串内容,对字符串进行分词处理,得到单词,将一个文件视为一个样本;(2)系统日志:从用户目录中的.bash_history文件中读取Shell的历史记录,按照指定的时间间隔切分为不同会话,一个会话视为一个样本,命令名称视为单词;(3)服务器日志:将一个请求视为一个样本,对请求的载荷部分进行分词处理,得到单词;然后将样本集D的单词汇总,制作成词汇表V,根据词汇表V,将样本集D转换为词频矩阵X;Xi,j为X中第i行第j列的元素,表示第j个词汇Vj在第i个样本Di中的频率,其中i∈[0,|D|),j∈[0,|V|),词频矩阵即为特征;标签由人工标注为“正常”或“异常”,或者针对某类漏洞进行标注,标注为“存在某类漏洞”或“不存在某类漏洞”,比如越权漏洞,标注为“存在越本文档来自技高网...

【技术保护点】
1.一种基于MLP的入侵检测方法,其特征在于,包括以下步骤:步骤1,扫描整个磁盘,收集指定的文件;步骤2,进行数据预处理,提取特征,并标注标签;步骤3,使用MLP对数据进行建模;步骤4,使用模型预测新的数据,得到标签的预测值。

【技术特征摘要】
1.一种基于MLP的入侵检测方法,其特征在于,包括以下步骤:步骤1,扫描整个磁盘,收集指定的文件;步骤2,进行数据预处理,提取特征,并标注标签;步骤3,使用MLP对数据进行建模;步骤4,使用模型预测新的数据,得到标签的预测值。2.根据权利要求1所述的基于MLP的入侵检测方法,其特征在于,步骤1中所述的扫描整个磁盘,收集指定的文件,该过程包括主动模式和被动模式,具体如下:在主动模式下,扫描磁盘并收集可执行文件,如果可执行文件为包含源代码的脚本,则将其编译成中间代码;在被动模式下,仅收集系统和服务器日志文件。3.根据权利要求1所述的基于MLP的入侵检测方法,其特征在于,步骤2中所述的进行数据预处理,提取特征,并标注标签,具体如下:将不同类型的原始文件,分别进行以下预处理:(1)机器码或中间代码:提取指令名称和字符串内容,对字符串进行分词处理,得到单词,将一个文件视为一个样本;(2)系统日志:从用户目录中的.bash_history文件中读取Shell的历史记录,按照指定的时间间隔切分为不同会话,一个会话视为一个样本,命令名称视为单词;(3)服务器日志:将一个请求视为一个样本,对请求的载荷部分进行分词处理,得到单词;然后将样本集D的单词汇总,制作成词汇表V,根据词汇表V,将样本集D转换为词频矩阵X;Xi,j为X中第i行第j列的元素,表示第j个词汇Vj在第i个样本Di中的频率,其中i∈[0,|D|),j∈[0,|V|),词频矩阵即为特征;标签由人工标注为“正常”或“异常”,或者针对某类漏洞进行标注,标注为“存在某类漏洞”或“不存在某类漏洞”。4.根据权利要求1所述的基于MLP的入侵检测方法,其特征在于,步骤3中所述的使用MLP对数据进行建模,具体如下:(1)整个神经网络分为五层,分别为输入层、三个隐层、全连接层,其中全连接层同时也作为输出层;神经网络的训练由多个迭代组成,每个迭代中都要进行正向传播和反向传播两个步骤;(2)在正向传播过程中,输入层仅提供输入数据,不进行任何运算;...

【专利技术属性】
技术研发人员:张子辰李千目
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1