IamGhost-ops/kernel-scope
GitHub: IamGhost-ops/kernel-scope
基于 Cilium Tetragon eBPF 和 Python 守护进程构建的自定义多线程 EDR 平台,实现 Linux 内核级实时安全监控与遥测导出。
Stars: 2 | Forks: 3
# 自定义多线程 EDR 平台 (Tetragon eBPF + Python Daemon)
一款先进的自研终端检测与响应(EDR)系统。该应用程序通过 eBPF 实时监控操作系统内核活动,使用原生 GNU 工具分析已执行的二进制文件,并将实时安全指标导出到 Prometheus。
## 严重警告:自防御机制与 PID 循环
该系统实现了直接内置于 Python 守护进程的**专有自防御技术**。其主要目的是保护 EDR 免遭恶意终止(例如,通过恶意软件规避技术)。
### “幽灵 PID”现象
* **问题所在:** 如果您尝试**在没有有效 `prometheus.yml` 文件的情况下**初始化守护进程,消费者线程将抛出严重的配置异常。我们的自定义监督程序会立即通过双 forking 触发一次亚毫秒级的崩溃循环重启过程。
* **后果:** 该进程通过极其快速地更改其 PID 来逃避终止,以至于传统的用户空间工具(如 `kill -9`)变得完全无效。通过终端拦截进程变得不可能,这最终可能迫使进行**硬硬件重置(拔掉电源插头)**。
### 如何安全地管理进程
* **前提条件:** 在任何执行尝试之前,务必确保 `prometheus.yml` 存在于项目的根目录中。
* **正确关闭:** 系统故意忽略来自终端的标准终止信号。要安全地停止 EDR 并卸载 eBPF 追踪策略,必须使用内置的控制标志:
sudo python3 genius_analysis.py
## 架构与核心技术
该系统专为最大吞吐量和零丢包而设计,利用了 Python 中的异步多线程架构。
```
graph TD
%% Style Definitions
classDef kernel fill:#FEE2E2,stroke:#DC2626,stroke-width:2px;
classDef python fill:#DBEAFE,stroke:#2563EB,stroke-width:2px;
classDef tools fill:#EOF2FE,stroke:#0284C7,stroke-width:1px;
classDef metrics fill:FEF3CF,stroke:#D97706,stroke-width:1px;
%% Architecture Flow
A[Cilium Tetragon v1.7.0
Proprietary Tracing Policies in Kernel] -->|eBPF Log Stream| B(PRODUCER THREAD
Read Log Stream) subgraph Custom Python EDR Daemon B -->|Fast FIFO Push| C[queue.Queue] C -->|orjson Parsing| D(CONSUMER THREAD
Decode & Route) end D -->|System Calls| E[GNU Utilities
ELF Hex & SHA Analysis] D -->|Telemetry Export| F[Prometheus Metrics
Port :8443/metrics] %% Applying Styles class A kernel; class B,C,D python; class E tools; class F metrics; ``` ### 1. 内核核心:Cilium Tetragon (v1.7.0+) EDR 通过使用 **eBPF**(extended Berkeley Filter)技术直接挂钩 Linux 内核,从而绕过了用户空间轮询。**TracingPolicies** 从源头过滤系统事件,提供干净且与安全相关的日志流(例如内存和权限提升)。 ### 2. 生产者-消费者模式 (`threading` + `queue`) 为了防止在系统活动剧烈激增(突发流量)期间发生日志丢弃事件: * **生产者线程:** 专门负责从 Tetragon 快速读取原始流,并将其推送到线程安全的 FIFO `queue.Queue` 中。 * **消费者线程:** 从队列中提取数据块,对其进行解码,并将其传递给繁重的分析模块,从而完全减轻监听器线程的负担。 ### 3. 超快解析:`orjson` 系统没有使用标准的 Python JSON 库,而是使用 `orjson`(一款速度极快的、基于 Rust 的 JSON 解析器)来处理数据。这使得应用程序能够以极低的 CPU 和 RAM 开销处理每秒数以万计的内核事件。 ### 4. GNU 工具与密码学:ELF 可执行文件 SHA 十六进制分析 在检测到新的文件执行事件(**ELF** 格式)时,系统会使用原生的 **GNU 二进制实用工具**提取其结构、十六进制(HEX)文件头和节详细信息。同时,通过优化的系统级实用工具生成加密的 **SHA** 校验和,以匹配特征数据库。依赖原生的 **GNU 工具链**可确保最大的稳定性、低资源占用以及跨 Linux 环境的兼容性,且无需外部 GPU 硬件依赖。 ### 5. 遥测:Prometheus 指标 所有分类的异常和内部 EDR 性能指标都会被聚合,并暴露在一个专用的服务器端口上,完全兼容 Prometheus 监控生态系统。Prometheus 使用加密的 **TLS(Transport Layer Security)** 进行通信,以确保传输数据的机密性和完整性。 ## 追踪策略 ### 第一阶段 — 网络策略 **我监控的内容:** - `tcp_v4_connect` 和 `tcp_v6_connect`(TCP 连接尝试) - `tcp_close` 及其 `matchAction: Post`(连接关闭) **我提取的内容:** - `saddr`, `sport`, `daddr`, `dport` - 进程上下文:`pid`, `binary` ### 第二阶段 — 进程策略 **我监控的内容:** - `do_open_execat` 和 `begin_new_exec` 执行路径 - 此外,监控带有 `matchAction: Post` 的 exec 事件,以可靠地观察“新进程镜像” **目标:** 可靠捕获程序执行的时间和内容,以便将其与网络活动相关联。 ### 第三阶段 — 文件完整性策略 **我监控的内容:** - `fd_install` 及其 `matchAction: Post` - 用于选定安装路径的 **Prefix** 过滤器 **目标:** 检测并记录出现在重要位置(例如,二进制文件、库、可执行文件)的工件。 ## 技术栈 - Linux Arch - Kernel 7.0+ - eBPF - Tetragon v1.7.0+ - 分析脚本 (Python 3.14.5)
Proprietary Tracing Policies in Kernel] -->|eBPF Log Stream| B(PRODUCER THREAD
Read Log Stream) subgraph Custom Python EDR Daemon B -->|Fast FIFO Push| C[queue.Queue] C -->|orjson Parsing| D(CONSUMER THREAD
Decode & Route) end D -->|System Calls| E[GNU Utilities
ELF Hex & SHA Analysis] D -->|Telemetry Export| F[Prometheus Metrics
Port :8443/metrics] %% Applying Styles class A kernel; class B,C,D python; class E tools; class F metrics; ``` ### 1. 内核核心:Cilium Tetragon (v1.7.0+) EDR 通过使用 **eBPF**(extended Berkeley Filter)技术直接挂钩 Linux 内核,从而绕过了用户空间轮询。**TracingPolicies** 从源头过滤系统事件,提供干净且与安全相关的日志流(例如内存和权限提升)。 ### 2. 生产者-消费者模式 (`threading` + `queue`) 为了防止在系统活动剧烈激增(突发流量)期间发生日志丢弃事件: * **生产者线程:** 专门负责从 Tetragon 快速读取原始流,并将其推送到线程安全的 FIFO `queue.Queue` 中。 * **消费者线程:** 从队列中提取数据块,对其进行解码,并将其传递给繁重的分析模块,从而完全减轻监听器线程的负担。 ### 3. 超快解析:`orjson` 系统没有使用标准的 Python JSON 库,而是使用 `orjson`(一款速度极快的、基于 Rust 的 JSON 解析器)来处理数据。这使得应用程序能够以极低的 CPU 和 RAM 开销处理每秒数以万计的内核事件。 ### 4. GNU 工具与密码学:ELF 可执行文件 SHA 十六进制分析 在检测到新的文件执行事件(**ELF** 格式)时,系统会使用原生的 **GNU 二进制实用工具**提取其结构、十六进制(HEX)文件头和节详细信息。同时,通过优化的系统级实用工具生成加密的 **SHA** 校验和,以匹配特征数据库。依赖原生的 **GNU 工具链**可确保最大的稳定性、低资源占用以及跨 Linux 环境的兼容性,且无需外部 GPU 硬件依赖。 ### 5. 遥测:Prometheus 指标 所有分类的异常和内部 EDR 性能指标都会被聚合,并暴露在一个专用的服务器端口上,完全兼容 Prometheus 监控生态系统。Prometheus 使用加密的 **TLS(Transport Layer Security)** 进行通信,以确保传输数据的机密性和完整性。 ## 追踪策略 ### 第一阶段 — 网络策略 **我监控的内容:** - `tcp_v4_connect` 和 `tcp_v6_connect`(TCP 连接尝试) - `tcp_close` 及其 `matchAction: Post`(连接关闭) **我提取的内容:** - `saddr`, `sport`, `daddr`, `dport` - 进程上下文:`pid`, `binary` ### 第二阶段 — 进程策略 **我监控的内容:** - `do_open_execat` 和 `begin_new_exec` 执行路径 - 此外,监控带有 `matchAction: Post` 的 exec 事件,以可靠地观察“新进程镜像” **目标:** 可靠捕获程序执行的时间和内容,以便将其与网络活动相关联。 ### 第三阶段 — 文件完整性策略 **我监控的内容:** - `fd_install` 及其 `matchAction: Post` - 用于选定安装路径的 **Prefix** 过滤器 **目标:** 检测并记录出现在重要位置(例如,二进制文件、库、可执行文件)的工件。 ## 技术栈 - Linux Arch - Kernel 7.0+ - eBPF - Tetragon v1.7.0+ - 分析脚本 (Python 3.14.5)
标签:Docker镜像, EDR, Python, SQLite数据库, URLScan, 元数据提取, 内核监控, 子域名枚举, 安全渗透, 无后门, 系统安全, 脆弱性评估, 自定义请求头, 进程保护, 逆向工具