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, 内核追踪, 威胁检测, 子域名生成, 安全渗透, 异常检测, 数据采样, 无后门, 无监督学习, 机器学习, 模型训练, 系统调用, 网络安全, 脆弱性评估, 自编码器, 逆向工具, 隐私保护