nevinshine/sentinel-vmi

GitHub: nevinshine/sentinel-vmi

基于AMD-V硬件扩展的Ring -1级Hypervisor自省组件,通过嵌套页表保护系统调用表并检测内核级Rootkit,与XDP层联动实现跨层威胁响应。

Stars: 0 | Forks: 0

# Sentinel VMI Sentinel Stack 的 Ring -1 Hypervisor 自省组件。 利用 AMD-V 硬件扩展在 Linux 内核之下运行。 假设客户机 OS 已被入侵。完全在信任边界之外执行安全策略。 ## 在 Sentinel Stack 中的位置 ``` Ring -1 → Sentinel VMI ← THIS PROJECT Ring 0 → Sentinel-CC Ring 0 → Telos Runtime Wire → Hyperion XDP L7 → Pipelock ``` ## 核心能力 通过嵌套页表 在 Hypervisor 层级将 sys_call_table 标记为只读。 任何试图修改它的 Rootkit 都会触发被困在 Ring -1 的 #NPF 异常。 通过遍历 task_struct 识别恶意 PID,并信号通知 Hyperion XDP 以实现线速丢包。 ## 阶段 | 阶段 | 目标 | 状态 | |-------|------|--------| | 1 | 原始客户机内存自省 | 重构中 | | 2 | task_struct 解析与进程列表 | 重构中 | | 3 | NPT 保护 — sys_call_table 防护 | 重构中 | | 4 | 跨层桥接到 Hyperion/Telos | 重构中 | ## 需求 - 支持 AMD-V/SVM 的 AMD 处理器 - 带有 kvmi-v7 补丁的 Linux 内核 - 启用 CONFIG_KVM_INTROSPECTION=y 的 KVM - libkvmi, libbpf ## 关键规则 所有内核实验必须在嵌套 KVM 虚拟机内运行。 绝不在宿主机上运行。 ## 构建 ``` # 构建自定义内核 (仅在 VM 内部) ./scripts/build_kernel.sh # 构建 VMI daemon make # 运行测试 ./scripts/run_tests.sh ``` ## 跨层信号 将恶意 PID 写入 `vmi_alert_map`(Pinned BPF Map)。 Hyperion XDP 读取此 Map 以执行线速 XDP_DROP。 Telos Runtime 读取此 Map 以进行污点提升。
标签:AMD-V, Hypervisor, KVM, libkvmi, NPT, Ring -1, Rootkit 检测, SVM, VMI, Web归档检索, XDP, 内存完整性监控, 内核防护, 可信执行环境, 子域名枚举, 安全渗透, 客户端加密, 嵌套页表, 库, 应急响应, 恶意进程识别, 目录遍历, 系统安全, 系统调用表保护, 纵深防御, 虚拟化安全, 虚拟机自省