evilsocket/ebpf-process-anomaly-detection
GitHub: evilsocket/ebpf-process-anomaly-detection
基于 eBPF 系统调用追踪和无监督学习 Autoencoder 的进程行为异常检测工具。
Stars: 137 | Forks: 18
利用 eBPF 系统调用追踪和无监督学习 Autoencoder 进行进程行为异常检测。
[阅读此博客文章以获取项目的完整描述](https://www.evilsocket.net/2022/08/15/Process-behaviour-anomaly-detection-using-eBPF-and-unsupervised-learning-Autoencoders/)。
## 安装
```
sudo pip3 install -r requirements.txt
```
## 学习
在第一步中,我们需要从运行中的目标进程(此示例中为 pid 1234)尽可能多地采样数据:
```
sudo ./main.py --pid 1234 --data activity.csv --learn
```
在触发目标进程的正常行为时保持采样进行,这将生成用于训练的 `activity.csv` 文件。
## 训练模型
我们现在将训练一个模型来检测异常:
```
./main.py --data activity.csv --model model.h5 --train
```
保存到 `model.h5` 的 Autoencoder 现在可用于异常检测,误差阈值在训练结束时打印。
## 异常检测
模型训练完成后,可用于目标进程的异常检测,在本例中我们使用 10.0 的误差阈值:
```
sudo ./main.py --pid 1234 --model model.h5 --max-error 10.0 --run
```
当检测到异常时,将打印累积误差以及前 3 个异常系统调用:
```
error = 30.605255 - max = 10.000000 - top 3:
b'getpriority' = 0.994272
b'writev' = 0.987554
b'creat' = 0.969955
```
## 许可证
该项目由 [@evilsocket](https://twitter.com/evilsocket) 用 ♥ 制作,并在 GPL3 许可证下发布。
标签:AMSI绕过, Apex, CSV导出, Docker镜像, EDR, Hpfeeds, Python, rootkit检测, WSL, 内核追踪, 威胁检测, 子域名生成, 安全渗透, 异常检测, 数据采样, 无后门, 无监督学习, 机器学习, 模型训练, 系统调用, 网络安全, 脆弱性评估, 自编码器, 逆向工具, 隐私保护