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规则, 安全运营, 安全防御评估, 扫描框架, 版权保护, 目标导入, 请求拦截, 逆向工具