aleksejmutic/parallel-ids-using-mock-logs

GitHub: aleksejmutic/parallel-ids-using-mock-logs

一个基于 Python 的并行化入侵检测实验平台,通过模拟多种攻击场景并对比四种处理策略的性能表现,帮助研究者和工程师评估并行架构对检测效率的影响。

Stars: 0 | Forks: 0

# parallel-ids 一个使用 Python 构建的并行化入侵检测系统。它可模拟跨多种协议和日志源的真实网络攻击场景,使用六种检测规则来检测威胁,并对四种不同的处理策略进行基准测试:串行、按规则类型并行、并行批处理以及并行时间窗口,以比较大规模下的检测性能。 ## 功能说明 该系统包含两个主要部分。**模拟器** 生成涵盖 SSH 认证日志、HTTP 访问日志、Linux syscall 跟踪、Windows 事件日志和网络流量数据的真实日志流量。它包含七种攻击场景:暴力破解、分布式暴力破解、无效用户枚举、撞库、端口扫描、低速慢速规避以及正常背景流量。 **检测引擎** 读取这些事件,并同时通过四种处理策略应用六种规则,测量每种策略的吞吐量和警报准确性。Flask 仪表盘可实时将结果可视化,在运行时流式传输流水线输出,并显示展示并行处理相较于顺序处理优势的扩展图表。 ## 技术栈 Python · SQLite · Flask · Docker · Kafka ## 使用 Docker 运行 (Kafka + Zookeeper) 首先启动 Docker: ``` docker-compose up ``` 这将启动: - Zookeeper - Kafka broker Kafka 可通过以下地址访问: - `localhost:9092` (主机访问) - `kafka:9092` (Docker 网络内部) ## 运行模拟 (SSH 攻击生成器) SSH 模拟器是一个独立的脚本,用于将事件发布到 Kafka 中。 ### 1. 启动 Kafka 消费者 (首先运行) ``` python3 -m event_streaming.consumer ``` ### 2. 启动 SSH 模拟器 (第二步运行) ``` python3 -m simulator.ssh_simulator ``` ## 运行流程 - 模拟器生成 SSH 攻击 + 正常流量日志 - 生产者将事件发送至 Kafka 主题 `raw-events` - 消费者读取事件并实时将其打印 ## 运行应用程序 ``` pip3 install flask python3 app.py ``` 打开 `http://localhost:5000` 并点击 **Run full IDS pipeline**
标签:AMSI绕过, Docker, evade检测, Flask, Hpfeeds, HTTP访问日志, Kafka, PoC, Python, SonarQube插件, SQLite, SSH认证, Windows事件日志, Zookeeper, 仪表盘, 入侵检测系统, 分布式系统, 响应大小分析, 威胁检测, 子域名变形, 安全数据湖, 安全测试, 安全防御评估, 并行计算, 性能评估, 插件系统, 撞库, 攻击性安全, 攻击模拟, 数据统计, 无后门, 暴力破解, 流处理, 端口扫描, 系统调用, 网络安全, 网络流量分析, 请求拦截, 逆向工具, 隐私保护, 驱动签名利用