一种基于机器学习的制造技术

技术编号:39823393 阅读:5 留言:0更新日期:2023-12-22 19:43
本发明专利技术属于互联网安全技术领域,具体涉及一种基于机器学习的

【技术实现步骤摘要】
一种基于机器学习的WebShell检测方法及装置


[0001]本专利技术属于互联网安全
,具体涉及一种基于机器学习的
WebShell
检测方法及装置


技术介绍

[0002]WebShell
就是以
ASP、PHP、JSP
或者
CGI
等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门

黑客在入侵了一个网站后,通常会将
ASP

PHP
后门文件与网站服务器
WEB
目录下正常的网页文件混在一起,然后就可以使用浏览器来访问
ASP
或者
PHP
后门,得到一个命令执行环境,以达到控制网站服务器的目的

[0003]WebShell
后门具有极强的隐蔽性,还可以穿越服务器的防火墙,并且使用
WebShell
一般不会在系统日志中留下记录,只会在网站的
Web
日志中留下一些数据提交记录,没有经验的管理员是很难看出入侵痕迹的

[0004]目前针对
WebShell
的特征检测一般是通过特征比对及文件属性异常的静态检测和基于访问情况

行为模式特征的动态检测方式进行查杀

目前可检索到的
WebShell
检测方法多数是基于规则的检测方法,此种检测方法资源开销大,受制条件多,漏报较高,且容易绕过

比如可以往代码中加入一些混淆字符或者混淆符号,很容易绕过基于规则的检测方法


技术实现思路

[0005]有鉴于此,本专利技术的目的在于提供一种基于机器学习的
WebShell
检测方法及装置,有助于帮助解决基于规则的
WebShell
检测方法漏报率较高,且容易绕过的问题

[0006]根据本专利技术实施例的第一方面,提供一种基于机器学习的
WebShell
检测方法,包括:
[0007]获取待检测代码数据;
[0008]根据预设的特征提取规则,提取所述待检测代码数据的初始特征向量;
[0009]将所述初始特征向量的取值范围规范化处理,得到目标特征向量;
[0010]将所述目标特征向量,导入训练好的基于机器学习的检测模型进行检测,得到检测结果,所述检测结果用于表示所述待检测代码数据是否为
WebShell
恶意代码

[0011]优选地,所述初始特征向量包括文本特征向量和安全特征向量;以及,所述根据预设的特征提取规则,提取所述待检测代码数据的初始特征向量,包括:
[0012]使用预设文本特征提取规则,提取所述待检测代码数据的文本特征向量;
[0013]使用预设安全特征提取规则,提取所述待检测代码数据的安全特征向量;
[0014]将所述文本特征向量和所述安全特征向量合并,得到所述初始特征向量

[0015]优选地,所述使用预设文本特征提取规则,提取所述待检测代码数据的文本特征向量,包括:
[0016]使用正则表达式去除所述待检测代码数据中的无用信息,得到初始代码数据;所
述无用信息包括:注释信息和
HTML
代码片段;
[0017]使用正则表达式从所述初始代码数据提取
PHP
代码片段,得到有效代码数据;
[0018]将所述有效代码数据中自定义内容做语义抽象处理,得到统一格式的目标代码数据;
[0019]使用自然语言处理模型提取所述目标代码数据的特征,得到多个所述特征组成的所述文本特征向量

[0020]优选地,所述使用预设安全特征提取规则,提取所述待检测代码数据的安全特征向量,包括:
[0021]结合安全相关知识,从所述待检测代码数据提取多个安全相关特征;所述安全相关知识为网络

系统

数据相关的安全技术知识,所述安全相关特征包括:代码总体特征

代码包含的敏感关键字特征和混淆变形数据特征;
[0022]将多个所述安全相关特征组合,得到所述安全特征向量

[0023]优选地,在使用训练好的所述检测模型之前,训练所述检测模型;以及,所述训练所述检测模型,包括:
[0024]获取训练代码数据集,所述训练代码数据集包括:正常代码数据和
WebShell
恶意代码数据;
[0025]根据预设的特征提取规则,提取所述训练代码数据集的初始训练特征向量;
[0026]将所述初始训练特征向量的取值范围规范化处理,得到目标训练特征向量;
[0027]将所述目标训练特征向量,导入构建好的基于机器学习的待训练检测模型进行模型训练,得到训练好的所述检测模型

[0028]优选地,在将所述目标训练特征向量,导入构建好的基于机器学习的待训练检测模型进行模型训练,得到训练好的所述检测模型之后,还包括:
[0029]获取测试代码数据集,所述测试代码数据集包括:正常代码数据和
WebShell
恶意代码数据;
[0030]根据预设的特征提取规则,提取所述测试代码数据集的初始测试特征向量;
[0031]将所述测试训练特征向量的取值范围规范化处理,得到目标测试特征向量;
[0032]将所述目标测试特征向量,导入训练好的所述检测模型进行检测,得到测试数据检测结果;
[0033]根据所述测试数据检测结果对所述检测模型进行模型参数调优和改进

根据本专利技术实施例的第二方面,提供一种基于机器学习的
WebShell
检测装置,包括:
[0034]数据获取模块,用于获取待检测代码数据;
[0035]特征提取模块,用于根据预设的特征提取规则,提取所述待检测代码数据的初始特征向量;
[0036]特征处理模块,用于将所述初始特征向量的取值范围规范化处理,得到目标特征向量;
[0037]数据检测模块,用于将所述目标特征向量,导入训练好的基于机器学习的检测模型进行检测,得到检测结果,所述检测结果用于表示所述待检测代码数据是否存在
WebShell
恶意代码

[0038]优选地,所述基于机器学习的
WebShell
检测装置还包括:
[0039]模型训练模块,用于根据训练代码数据集中的代码数据,训练构建好的基于机器学习的待训练检测模型,得到训练好的所述检测模型

[0040]优选地,基于机器学习的
WebShell
检测装置还包括:
[0041]模型优化模块,用于根据测试代码数据集中的代码数据,对所述检测模型进行参数调优和改本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于机器学习的
WebShell
检测方法,其特征在于,包括:获取待检测代码数据;根据预设的特征提取规则,提取所述待检测代码数据的初始特征向量;将所述初始特征向量的取值范围规范化处理,得到目标特征向量;将所述目标特征向量,导入训练好的基于机器学习的检测模型进行检测,得到检测结果,所述检测结果用于表示所述待检测代码数据是否为
WebShell
恶意代码
。2.
根据权利要求1所述的基于机器学习的
WebShell
检测方法,其特征在于,所述初始特征向量包括文本特征向量和安全特征向量;以及,所述根据预设的特征提取规则,提取所述待检测代码数据的初始特征向量,包括:使用预设文本特征提取规则,提取所述待检测代码数据的文本特征向量;使用预设安全特征提取规则,提取所述待检测代码数据的安全特征向量;将所述文本特征向量和所述安全特征向量合并,得到所述初始特征向量
。3.
根据权利要求2所述的基于机器学习的
WebShell
检测方法,其特征在于,所述使用预设文本特征提取规则,提取所述待检测代码数据的文本特征向量,包括:使用正则表达式去除所述待检测代码数据中的无用信息,得到初始代码数据;所述无用信息包括:注释信息和
HTML
代码片段;使用正则表达式从所述初始代码数据提取
PHP
代码片段,得到有效代码数据;将所述有效代码数据中自定义内容做语义抽象处理,得到统一格式的目标代码数据;使用自然语言处理模型提取所述目标代码数据的特征,得到多个所述特征组成的所述文本特征向量
。4.
根据权利要求2所述的基于机器学习的
WebShell
检测方法,其特征在于,所述使用预设安全特征提取规则,提取所述待检测代码数据的安全特征向量,包括:结合安全相关知识,从所述待检测代码数据提取多个安全相关特征;所述安全相关知识为网络

系统

数据相关的安全技术知识,所述安全相关特征包括:代码总体特征

代码包含的敏感关键字特征和混淆变形数据特征;将多个所述安全相关特征组合,得到所述安全特征向量
。5.
根据权利要求1所述的基于机器学习的
WebShell
检测...

【专利技术属性】
技术研发人员:周鼎啸
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

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

1