[发明专利]基于人工智能的webshell检测方法和装置有效
申请号: | 201910138269.9 | 申请日: | 2019-02-25 |
公开(公告)号: | CN111614599B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 曲武;邹荣珠 | 申请(专利权)人: | 北京金睛云华科技有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李红爽;龙洪 |
地址: | 100191 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 人工智能 webshell 检测 方法 装置 | ||
1.一种基于人工智能的webshell检测方法,其特征在于,包括:
步骤A,获取webshell后门文件的样本数据;
步骤B,对webshell后门文件样本进行特征提取,生成监督学习的特征向量,所述监督学习的特征向量包括文本特征、字节码特征和异常行为特征中的至少一种;
步骤 C,根据所述监督学习的特征向量,分别建立每种特征向量的学习模型;
步骤D,利用所述学习模型对网络流量进行检测;
在步骤B和步骤C中,依次执行如下操作:
步骤11、对webshell后门文件和白样本进行数据预处理、提取文本特征,生成样本文件词袋特征向量,构建静态检测模型;
步骤12、对webshell后门文件和白样本中PHP类型文件提取字节码特征,生成样本文件字节码特征向量,构建动态检测模型;
步骤13、利用webshell恶意会话流量和正常会话流量,提取单个会话上的异常行为特征、单个会话上的协议字段特征、多个会话窗口内的统计特征,生成流量异常检测特征向量,构建异常行为检测模型;
在步骤D中,对于网络实时HTTP流量,利用静态检测模型、动态检测模型、异常行为检测模型进行检测,分别输出是否为webshell的检测结果,并进行综合判定,实现对webshell的实时检测。
2.根据权利要求1所述的方法,其特征在于,所述步骤A中webshell后门文件的样本数据包括恶意代码文件和/或恶意会话流量。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤B中文本特征的特征向量是通过如下方式得到的,包括:
获取恶意代码文件的文本中包括的单词信息;
从获取的单词信息中选择符合预设的类别区分能力的目标单词,作为静态分类特征;
利用所述目标单词,生成文本特征的特征向量,作为静态特征向量。
4.根据权利要求3所述的方法,其特征在于,所述获取所述恶意代码文件的文本中包括的单词信息之前,所述方法还包括:
采用如下至少一个处理策略对所述恶意代码文件中的字符的信息进行处理,包括:
过滤文本中预设的特殊字符串、变量和代码的注释中的至少一个;
保留预设的关键全局变量;
对文本的字符信息进行分词;
去除文本中的预设的停用词。
5.根据权利要求1或2所述的方法,其特征在于,所述步骤B中字节码特征的特征向量是通过如下方式得到的,包括:
获取恶意代码文件的动态字节码;
统计所述动态字节码在所述恶意代码文件中的词频和文档频;
根据所述动态字节码中的词频和文档频,选择符合预设的区分能力的字节码为目标字节码,作为动态分类特征;
利用所述目标字节码,生成字节码特征的特征向量,作为动态特征向量。
6.根据权利要求1或2所述的方法,其特征在于,所述步骤B中异常行为的特征向量包括如下至少一个:
异常操作行为的特征信息;
单个会话的混淆代码特征;
单个会话的协议字段特征;
至少两个会话的预设的统计特征。
7.根据权利要求1所述的方法,其特征在于,所述步骤C包括:
为每种特征向量建立至少两种学习模型,所述学习模型包括机器学习的集成学习模型、深度学习的卷积神经网络和循环神经网络模型中的至少两个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金睛云华科技有限公司,未经北京金睛云华科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910138269.9/1.html,转载请声明来源钻瓜专利网。