前言

无。


一种基于多视角特征融合的Webshell检测方法

挑战:

  • C&C交互可由非频繁交互伪装
  • 基于上下文内容综合检测的动态方法面临海量日志数据的存储问题以及检测判断时的内存开销问题
  • 基于签名的检测方法面临文件签名特征不断变动问题
  • 高级语言的句法无法全部用正则表达式体现

现有安全检测策略:

  • 事前漏洞扫描
  • 事中基于事件跟踪策略的异常检测
  • 事后蜜罐、webshell检测

提出:基于多视角特征融合的 Webshell 检测方法。

利用爬虫在GitHub收集Webshell脚本

略。

数据预处理

  • 去除超过3MB大小的脚本(因为大量分析认为超过此大小的脚本大多无法有效运行)
  • 通过unphp在线工具反混淆
  • 代码格式化
  • 家族聚类

特征提取

  • 词法特征,指各种输入全局变量的使用次数
  • 句法特征,指各种语句如条件、循环语句在所有语句中的占比
  • 抽象特征,指是否含有一些敏感函数。

特征排序与筛选

费舍尔评分,指一个好的特征与同一类所有对应的值的方差应该尽可能地小。

建模分类

支持向量机,处理非线性分类问题。

SmartDetect: A Smart Detection Schemefor Malicious Web Shell Codesvia Ensemble Learning

obtaine web shell samples from some publicly available data sets on the web

从网络上收集webshell数据集,但是结构不一无法直接使用。

Data Preprocessing

  • 根据标签筛选出PHP脚本
  • 去除脚本中的空白字符、注释
  • 又是用unphp反混淆

Feature Extraction

用vld扩展读取opcode放入Bi-Gram模型中。(意义不明)

Model Training

训练SVM、KNN、NB、DT、CNN等五个模型。

Ensemble Learning

五个模型得出结果后,用简单投票法决定最终答案。

后记

这篇论文怎么感觉怪怪的。


参考


Web 机器学习

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

论文研读(2)
SpringBoot框架下的JNDI利用法探索