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, 无文件恶意软件检测, 机器学习, 端点检测与响应, 脱壳工具, 逆向工具