tymyrddin/heimdallr

GitHub: tymyrddin/heimdallr

一款基于 OpenSearch 和 Sigma 的本地检测工程工具,用于加载 JSONL 数据集并验证安全检测规则的精度与噪音。

Stars: 0 | Forks: 0

# Heimdallr 一款基于 OpenSearch 和 Sigma 构建的检测工程工具。加载任意 JSONL 数据集, 编写或导入 Sigma 规则,运行它们,并准确查看哪些触发了,哪些没有: 按数据集划分范围,从而让你能判断规则是精准的还是嘈杂的。 四个视图驱动着整个工作流:Data(你加载了什么数据)、Detections(运行哪些规则)、Findings(按数据集划分,触发了什么)、Experiments(在你迭代规则时结果会发生怎样的变化)。 ## 依赖 带有 Docker 的 Linux。OpenSearch 节点需要内存。 | 依赖 | 备注 | |------------|--------------------------------------------------------| | Linux | kernel 5.x+(OpenSearch 需要 `vm.max_map_count=262144`) | | Docker | Engine 24+ 及 compose 插件 | | RAM | 剩余约 4 GB;单个 OpenSearch 节点的消耗毫不含糊 | 安全(auth/TLS)已被禁用:这是一个本地工具,而不是公开暴露的服务。 请勿在主机外暴露这些端口。 ## 快速开始 ``` ./ctl up # start OpenSearch + Dashboards + the UI ./ctl ui # print the UI URL ./ctl detect # compile Sigma rules and run detections (CLI shortcut) ./ctl dashboard # print the OpenSearch Dashboards URL ``` 打开 `http://localhost:5000`: 1. Data:将数据集目录放在 `ingest/` 下,然后点击 Load。 2. Detections:从 `rules/sigma/` 中选择规则或编写新规则。 3. Findings:按数据集查看触发了什么,以及代表性事件。 4. Experiments:在你迭代规则时对比运行结果。 位于 `http://localhost:5601` 的 OpenSearch Dashboards 是用于深度搜寻与调优的平台。 ## 数据集 数据集是位于 `ingest//` 下的一个目录,包含一个或多个 `.jsonl` 文件 (以换行符分隔的 JSON,每行一个事件)。该目录名将作为 UI 和 Findings 中的数据集 标签。 请参阅 `ingest/README.md` 以了解目录结构约定和 EVTX 转换的单行命令。 优秀的公开数据源: | 数据集 | 涵盖范围 | 源地址 | |---|---|---| | OTRF Security Datasets | Windows/Linux 攻击模拟,按 ATT&CK 技术分类,已转换为 JSONL 格式 | github.com/OTRF/Security-Datasets | | EVTX-ATTACK-SAMPLES | 按 ATT&CK 技术分类的 Windows 事件日志 `.evtx` 文件 | github.com/sbousseaden/EVTX-ATTACK-SAMPLES | | Atomic Red Team | 单个 ATT&CK 技术执行的测试结果 | github.com/redcanaryco/atomic-red-team | | Boss of the SOC (BOTS) v3 | 完整的 SOC 场景数据集 | github.com/splunk/botsv3 | OTRF Security Datasets 是最简单的起点:许多数据集已经以 `.jsonl` 格式提供,每一个都标有它所演练的 ATT&CK 技术。 ## 规则 Sigma 规则位于 `rules/sigma/` 下。那里的任何 `.yml` 文件都会被自动提取,供 检测器和 UI 的规则选择器使用。 [Sigma 规范](https://github.com/SigmaHQ/sigma-specification)涵盖了 规则格式。[SigmaHQ 社区仓库](https://github.com/SigmaHQ/sigma)包含 跨越 Windows、Linux、云和网络领域的 3000 多条规则,是适配或直接 针对匹配数据集运行的现成来源。 ## 布局 ``` compose/ docker-compose stack: opensearch, dashboards, ui, detector feeders/ load.py: generic JSONL bulk loader (used by the UI; also callable directly) rules/ sigma/ (rules), correlation/ (aggregations), pipeline/ (field mappings) ingest/ dataset dirs: one subdir per dataset, each holding .jsonl files sensors/ zeek and suricata stubs (parked, future pcap profile) ctl up / detect / down / status / clean / dashboard / ui docs/ authoring guides ```
标签:Docker, Sigma规则, 安全运营, 安全防御评估, 扫描框架, 版权保护, 目标导入, 请求拦截, 逆向工具