AyushNaik04/ShadowSensor
GitHub: AyushNaik04/ShadowSensor
一款基于行为遥测与机器学习的 Windows 无文件恶意软件检测 EDR 工具,通过 Sysmon 事件采集和三层检测架构替代传统签名机制。
Stars: 0 | Forks: 0
# ShadowSensor
**Windows 行为检测 EDR — 无文件威胁分析**
ShadowSensor 是一款独立、基于用户同意的 Windows 端点检测与响应(EDR)工具,它通过行为遥测而非文件哈希签名来检测无文件威胁。无文件恶意软件完全在内存中执行,不会在磁盘上留下任何文件,从而对传统杀毒软件不可见。ShadowSensor 通过 Sysmon 的内核模式 ETW 钩子观察操作系统级行为模式,并应用三层检测架构来弥补这一缺陷。
## 检测架构
| 层级 | 方法 | 状态 |
|-------|--------|--------|
| 1 | 基于规则的检测 — 49 个 YAML 定义的行为规则,映射至 MITRE ATT&CK | ✅ 完成 |
| 2 | 无监督 ML — 孤立森林异常评分 (0.0–1.0) | 🔜 第 6 阶段 |
| 3 | 有监督 ML — 随机森林分类,包含精确率/召回率/F1/ROC-AUC | 🔜 第 7 阶段 |
## 当前状态
**10 个阶段中的第 5 阶段已完成 — 特征工程 Pipeline**
| 指标 | 数值 |
|--------|-------|
| 通过测试 | 502 / 502 |
| 行为检测规则 | 49(分布在 5 个 YAML 文件中) |
| 覆盖的 MITRE ATT&CK 战术 | 9 |
| Dashboard 页面 | 9 + 杀伤链可视化 |
| 定义的 ML 特征 | 30(进程 · 关系 · 网络 · API/内存 · 规则命中) |
有关完整的阶段跟踪,请参阅 [`status.md`](status.md);有关设置和验证说明,请参阅 [`VM_RUN_GUIDE.md`](VM_RUN_GUIDE.md)。
## 技术栈
| 组件 | 技术 |
|-----------|-----------|
| 平台 | Windows 10/11(用于验证的隔离 VMware 沙箱) |
| 语言 | Python 3.11 |
| 遥测 | Sysmon 15.x — Event ID 1, 3, 7, 8, 10, 22 |
| 后端 | FastAPI + SQLAlchemy 2.0 + SQLite |
| 前端 | Jinja2 + HTMX 1.9.12 + ApexCharts |
| 查询引擎 | KQL 风格解析器 — lark LALR(1) 语法 |
| ML | scikit-learn — 孤立森林 + 随机森林 |
| 规则格式 | 带有 MITRE ATT&CK 元数据的 YAML |
## 仓库结构
```
collector/ Sysmon event polling and bookmark management
normalizer/ XML → typed Python dataclass parsing
rules/ YAML rule definitions + evaluation engine
definitions/ 49 behavioral rules across 5 YAML files
storage/ SQLite persistence (SQLAlchemy 2.0)
alerting/ Alert management
dashboard/ FastAPI backend, KQL engine, Jinja2 templates, static assets
kql/ KQL grammar + lark parser + SQLAlchemy transformer
routers/ API endpoints + page routes + Kill Chain routes
services/ Kill Chain tactic-aggregation service
templates/ Jinja2 HTML templates (9 pages + partials)
static/ CSS + JS (charts, theme, time range)
ml/features/ Feature engineering pipeline (30-feature specification)
service/ Windows Service wrapper (Phase 9 — stub)
evaluation/ Evaluation scripts (Phase 10 — stub)
tests/ 25 test files, 502 tests passing
scripts/ Pipeline entry points and VM validation scripts
docs/ Technical reference and phase documentation
```
## 六大目标事件类型(Sysmon)
| Event ID | 名称 | 无文件相关性 |
|----------|------|--------------------|
| 1 | ProcessCreate | PowerShell -EncodedCommand, LOLBin 调用,可疑的父子进程链 |
| 3 | NetworkConnect | C2 回调,下载载体,信标通信 |
| 7 | ImageLoad | 反射式 DLL 注入,未签名模块加载 |
| 8 | CreateRemoteThread | 进程注入指示器 |
| 10 | OpenProcess | 凭据转储(lsass 访问),进程镂空设置 |
| 22 | DnsQuery | C2 域检测,DNS 隧道 |
## 快速开始
有关完整的设置、依赖安装和验证步骤,请参阅 [`VM_RUN_GUIDE.md`](VM_RUN_GUIDE.md)。
**启动检测 Pipeline(管理员 Shell,仓库根目录):**
```
python_runtime\python.exe scripts\run_pipeline.py
```
**启动 Dashboard(单独的 Shell):**
```
python_runtime\python.exe scripts\run_dashboard.py
```
Dashboard:`http://localhost:8080`
## 研究背景
ShadowSensor 是一篇关于无文件威胁行为检测的学术论文的研究对象。该论文涵盖:遥测设计、映射至 MITRE ATT&CK 的基于规则的检测、无监督与有监督 ML 层的比较、工具设计以及评估结果。
*防御性安全研究工具。独立运行,由用户在明确同意下安装。不可用于隐蔽部署。*
标签:Apex, AV绕过, FastAPI, Sysmon, 无文件恶意软件检测, 机器学习, 端点检测与响应, 脱壳工具, 逆向工具