机器学习&webshell检测
目前在实习中 平时也想整点花活 比如
当然不是 哈哈
这篇文章源于面试时 被问到的几个问题
平时有没有做过一些ai和web相结合的尝试 比如webshell检测
如果让你进行webshell检测 你会怎么做 从NLP方面
说一些简单的NLP算法
如何从特征工程上进行webshell的检测
ok 来次够
首先想要学习 肯定要整点资源
1 | https://cloud.tencent.com/developer/article/2145902 |
学习笔记
今天在路上 同事Jiang少送我回公寓 我简单咨询了一下waf方面的问题 突然想到之前看的一个腾讯的视频收益很深 这里重新看一遍 记记笔记
首先,谈到的是webshell的数量 根据腾讯云的统计
最多的还是php 73%,然后才是jsp 15% , 然后asp 4%
传统检测方案
- 规则特征 php脚本无需编译,容易不断修改绕过特征
- 机器学习 线上误报不可控,对抗难度低
- 情报云查 检测能力滞后,脚本变化容易
提出腾讯自己的tav模型
静态分析+虚拟执行+动态分析
- 静态污点分析 (代码词法语法解析,转化为IR,静态污点分析
- 虚拟执行 (实现php代码虚拟执行,还原混淆代码,脱壳解密
- 动态污点分析 (虚拟执行,动态污点技术,将类RASP带入污点扫描
这块可能涉及到编译原理 俺妹学过 寄
他说他能实现毫秒级的检测
总的
静态污点分析?
慢慢搞 别把自己累死了
基于opcode的php webshell检测
OPCode -> N-Gram -> TF-IDF -> XGBoost
提取opcode之前的小尝试
先拉个数据集来
ok 拉来了 随便看看
想现像检验流量攻击那样比较直接地检验试一试
https://github.com/b1ue0ceanRun/AI_Sec_test/blob/main/rec_0.ipynb
好像害行???
提取opcode之后的小尝试
提取opcode 跟着这篇文章走[初探机器学习检测 PHP Webshell (seebug.org)](https://paper.seebug.org/526/#:~:text=def load_php_opcode(phpfilename)%3A “”” 获取php opcode 信息 %3Aparam phpfilename%3A,” “.join(tokens) return t except%3A return “ “)
这里我们用一手 php5.6.9
https://windows.php.net/downloads/pecl/releases/vld/0.12.0/
一行内容
1 | extension=php_vld.dll |
跑得好慢 睡了