Skip to content
This repository has been archived by the owner on Aug 17, 2021. It is now read-only.

Latest commit

 

History

History
104 lines (53 loc) · 2.84 KB

README.md

File metadata and controls

104 lines (53 loc) · 2.84 KB

基于机器学习的 Webshell 检测

Research of Webshell Detection Based on Machine Learning

本课题旨在研究机器学习在 Webshell 检测中的应用,以目前应用广泛的服务器端语言 PHP 为例,通过学习和研究 PHP Webshell 在检测中的对抗手段,收集充分的黑白样本用于机器学习模型训练,采用较为有效的方式进行特征化工程,清洗出可用于机器学习的带有标签的标准化特征向量,从而进行监督式机器学习。

同时尝试采用不同机器学习算法进行学习训练,如 Bagging 算法系列中较为著名的随机森林分类算法、Boosting 算法系列中较为著名的 XGBoost 提升算法、模式识别领域中较为常见的 K-近邻算法、分类问题中较为经典的有监督学习算法决策树分类算法等,对比训练结果遴选出最优算法模型。最后通过网格搜索和交叉验证对训练模型进行优化,用得到的训练模型来对新的 PHP 样本文件进行检测试验,观察其检测效果及对未知样本的检测能力,进行试验结果评估和总结。

Overview

image-20210613204622665

Webshell 检测策略:

image-20210613204414684

PHP Webshell 免杀:

image-20210613204505788

主要相关工作:

image-20210613204918391

检测框架:

image-20210613205618194

Related Work

数据收集:

image-20210613205757036

OPCode 提取:

image-20210613205851577

自然语言处理:

image-20210613205934024

image-20210613205958429

机器学习模型训练:

image-20210613210049669

System Design & Development

Machine Learning

image-20210613210324764

Web Application

image-20210613210516105

前端 UI 界面:

1

扫描报告模板:

muban

CLI Application

image-20210613210558050

运行结果演示:

image-20210613211105540

GUI Application

image-20210613210638356

运行结果演示:

image-20210613210921991

- 参考 -