kunwu是新一代webshell检测引擎,使用了内置了模糊规则、污点分析模拟执行、机器学习三种高效的检测策略
昆吾进行了深度优化,内置了模糊规则、污点分析模拟执行、机器学习三种高效的检测策略。
github地址:
https://github.com/kunwu2023/kunwu
检测流程
首先,模糊规则对待检测文件进行快速初步筛查,迅速判断文件是否为恶意文件。如果确定为恶意文件,则直接将其标记为恶意。反之,模糊规则会评估是否需要对文件进行深度检测。如果需要,文件将交由机器学习和污点分析模拟执行进行深度检测,确保检测速度的同时提高准确性。
策略优势
1. 模糊规则
经过大量样本的积累和实验,模糊规则能够快速判断文件的可疑程度。根据可疑程度判断是否需要深度检测,既保证了检出率,又最大限度地节省了系统资源。
2. 污点分析模拟执行
以PHP为例,首先让我们了解一下PHP的解析过程:
PHP编译过程包括词法分析、语法分析,在语法分析阶段生成AST(抽象语法树)。从AST中,我们可以洞察到PHP代码的结构特点。
<?php
$func = new ReflectionFunction($_GET['m']);
echo $func->invokeArgs(array($_GET['c']));
污点分析模拟执行通过遍历AST中的节点属性,对每个节点进行模拟执行。这种方法在Webshell检测中实现了高检出率和低误报率。
3. 机器学习
机器学习策略从多个角度对文件进行特征提取,可以在面对新出现的未知样本时保持较高的准确率。通过与其他检测策略相结合,机器学习策略能够在Webshell检测中实现高检出率和低误报率
样本仓库
https://github.com/BlackArch/webshells
样本来自于网络搜集的一些常用CMS,内容如下
/ | 检出率 | 误报率 | Mac支持 | Linux支持 | windows支持 | Cli支持 |
D盾 | 87% | 0.0009% | ❌ | ❌ | ✅ | ❌ |
某 河马 | 85% | 0.002% | ❌ | ✅ | ✅ | ✅ |
安全狗 | 92% | 0% | ❌ | ❌ | ✅ | ❌ |
Kunwu | 90% | 0% | ✅ | ✅ | ✅ | ✅ |
1.增强加密webshell的检出效果,提高检出率2.进一步优化检测速度,更快的为大家提供服务