jeffersoncesarantunes/LinX
GitHub: jeffersoncesarantunes/LinX
LinX 是一款 Linux 取证关联引擎,将 LinSpec 内核加固审计结果与 K-Scanner 内存分析结果进行交叉比对以识别复合安全风险。
Stars: 0 | Forks: 0
# LinX
轻量级取证关联引擎,将 LinSpec 审计结果与 K-Scanner 内存分析结果进行交叉比对 —— 将内核加固缺陷与活跃的内存威胁联系起来。
[](https://kernel.org)
[](https://gcc.gnu.org/)
[](LICENSE)
[](#-roadmap)
[](Dockerfile)
[](https://security.archlinux.org/)
[](./docs/architecture.md)
## 词源
**LinX** = **Linux** + **X** —— 加固审计与内存分析的交叉点。
它是姿态审计(LinSpec)与实时内存分析(K-Scanner)之间缺失的环节 —— 不仅要回答*“什么是易受攻击的?”*,还要回答*“组合风险是什么?”*
## 概述
LinSpec 会告诉你哪些内核加固参数配置不当。K-Scanner 会告诉你哪些进程拥有 RWX 内存区域。LinX 将这些信号联系起来 —— 识别危险的组合,例如*“kptr_restrict=0 且 ASLR=0”*(KASLR 绕过成功)或*“ptrace_scope=0,同时 K-Scanner 检测到 RWX 区域”*(存在注入路径)。
涵盖 3 个类别的**关联规则**:
| 类别 | 规则 | 来源 |
|----------|-------|--------|
| 单项检查 | kptr_restrict, ptrace_scope, ASLR, dmesg, BPF, kexec, perf_event, userns | LinSpec |
| 交叉检查 | KASLR 绕过链,内核地址泄露链 | LinSpec + LinSpec |
| 内存 | RWX 区域检测及严重性分类 | K-Scanner |
## 功能
- 自动交叉比对 LinSpec 和 K-Scanner 的输出
- 8 条具有 CVSS 对齐严重性的单项检查关联规则
- 2 条多项检查复合规则(KASLR 绕过、地址泄露)
- 按置信度分类的 K-Scanner RWX 发现
- 纯 C99 编写,除 POSIX 外零依赖
- 用于 pipeline 集成的 JSON 导出
- 启用了 PIE + RELRO + FORTIFY 加固的二进制文件
- 原生兼容 SYNTROPY 生态系统
## 快速开始
```
git clone https://github.com/jeffersoncesarantunes/LinX.git
cd LinX
# 构建项目
make
# 仅运行 LinSpec 报告
sudo ./linx --linspec /path/to/report.json
# 同时运行 LinSpec 和 K-Scanner
sudo ./linx -l report.json -k kscan_results.json -j
```
## 用法
```
LinX v1.0.0 - Forensic Correlation Engine
Usage: linx [options]
Options:
-l, --linspec FILE LinSpec report.json path
-k, --kscanner FILE K-Scanner results.json path
-j, --json Export JSON correlation report
-o, --output-dir DIR Output directory (default: reports/)
-V, --version Show version
-h, --help Show this help
```
### 示例
```
# 仅与 LinSpec 进行关联
./linx -l reports/report.json
# 使用两个工具进行全面关联
./linx -l reports/report.json -k /tmp/kscan_results.json
# 导出 JSON 以进行流水线处理
./linx -l report.json -k kscan.json -j -o /tmp/correlation
# 快速评估
./linx -l report.json
```
## 关联规则
| 规则 | 严重性 | 条件 | 复合 |
|------|----------|-----------|-----------|
| 内核指针限制 | HIGH | kptr_restrict < 2 | 否 |
| Ptrace 范围 | HIGH | ptrace_scope < 1 | 否 |
| ASLR 薄弱 | HIGH | ASLR < 2 | 否 |
| dmesg 受限 | MEDIUM | dmesg_restrict < 1 | 否 |
| 非特权 BPF | HIGH | unpriv_bpf != 1 | 否 |
| Kexec 已启用 | MEDIUM | kexec_disabled != 1 | 否 |
| Perf 不受限 | MEDIUM | perf_event_paranoid < 2 | 否 |
| 用户命名空间 | MEDIUM | userns_clone != 0 | 否 |
| KASLR 绕过链 | CRITICAL | kptr_restrict < 2 且 ASLR < 2 | 是 |
| 地址泄露链 | HIGH | dmesg_restrict < 1 且 kptr_restrict < 2 | 是 |
| 多项内核失败 | HIGH | 3 个以上的内核类别 VULN | 是 |
| 检测到 RWX 内存 | HIGH/CRITICAL | K-Scanner 置信度 >= MEDIUM | 否 |
## 报告
| 格式 | 文件 | 内容 |
|--------|------|---------|
| JSON | `correlation_report.json` | 机器可读,包含发现、严重性、来源、PID、建议 |
## 取证生态系统
LinX 是 SYNTROPY 取证 pipeline 中的关联层:
```
Phase 0: LinX (Correlate) --> correlation_report.json
Phase 1: LinSpec (Audit) --> report.json
Phase 2: S.I.R.E.N (Acquire) --> memory dump + SHA256
Phase 3: K-Scanner (Analyze) --> RWX detection + YARA
```
## 路线图
- [x] 高性能 C99 核心引擎
- [x] LinSpec JSON 报告解析器
- [x] K-Scanner JSON 结果解析器
- [x] 单项检查关联规则(8 条规则)
- [x] 复合交叉检查规则(2 条规则)
- [x] K-Scanner 内存告警集成
- [x] 带严重性分类的 JSON 导出
- [x] 极简 JSON 解析器(零依赖)
- [x] Docker 容器镜像
## 构建
```
make # production build (stripped, hardened)
make debug # debug build with symbols
make test # run test suite
make lint # static analysis (cppcheck + clang)
make docker # build Docker image
make install # install to /usr/local/bin
```
## 仓库结构
```
├── docs/
│ ├── architecture.md
│ ├── correlation_rules.md
│ └── threat_model.md
├── include/
│ └── correlate.h
├── man/
│ └── linx.1
├── scripts/
│ └── install.sh
├── src/
│ ├── main.c
│ ├── correlate.c
│ └── report.c
├── tests/
│ └── run_tests.sh
├── Dockerfile
├── LICENSE
├── Makefile
├── SECURITY.md
├── Images/
└── README.md
```
## 安全性
- 输入解析拒绝格式错误的 JSON
- 无 `system()` 或 `popen()` 调用
- 只读分析 —— 不修改系统状态
- 二进制文件采用 PIE, RELRO, NOW, 不可执行栈, `_FORTIFY_SOURCE=2` 以及栈保护机制构建
[](SECURITY.md)
## 文档
[](docs/architecture.md)
[](docs/correlation_rules.md)
[](docs/threat_model.md)
标签:Bing搜索, C99, Docker, JARM, 内存分析, 安全防御评估, 客户端加密, 数字取证, 自动化脚本, 请求拦截