Underscore0000/Firmware-Security-Inspector-FSI-
GitHub: Underscore0000/Firmware-Security-Inspector-FSI-
一款x86-64平台的只读固件与系统安全分析工具,通过原生接口深度审计CPU、UEFI、TPM及硬件安全缓解措施并输出量化评分。
Stars: 3 | Forks: 0
## 📌 概述
**Firmware Security Inspector (FSI)** 利用原生系统接口(如 **CPUID**、**MSR**、**ACPI** 和 **UEFI**),提供对 CPU 架构、固件配置、内存布局、虚拟化状态以及安全缓解措施的详细可见性。
该工具完全**只读**,不会对固件或硬件进行任何修改。
## 🎯 适用对象
| 受众 | 用例 |
|---|---|
| 🔬 安全研究员 | 深入分析固件与硬件 |
| 🧩 逆向工程师 | 底层系统检查 |
| 🖥️ 系统管理员 | 平台安全审计 |
| 🕵️ 渗透测试员 | 接入前侦察 |
| ⚙️ 底层开发者 | 硬件能力验证 |
## 🧠 核心功能
### 🔧 CPU 与硬件分析
- 处理器厂商、型号和架构检测
- 核心 / 线程枚举
- CPUID 特性标志
- 安全扩展:**NX/XD**、**SMEP**、**SMAP**、**CET**、**VT-x / AMD-V**、**SGX**
- 缓存层级分析 (L1 / L2 / L3)
### 🛡️ 固件与平台分析
- UEFI / BIOS 信息提取
- SMBIOS / DMI 解析
- ACPI 表枚举
- PCI / PCIe 设备发现
- 系统制造商识别
- 虚拟化检测层
### 🔐 安全审计引擎
- Secure Boot 验证 (PK / KEK / DB / DBX)
- TPM 1.2 / TPM 2.0 检测与状态
- MSR 寄存器检查
- 控制寄存器解码 (CR0–CR4)
- CPU 安全缓解措施检查
- 整体安全状况评分 (0–100)
### 📊 报告系统
| 格式 | 描述 |
|---|---|
| `JSON` | 用于自动化 pipeline 的机器可读导出 |
| `HTML` | 用于浏览器查看的可视化报告 |
| `TXT` | 纯文本日志 |
| `.fsi` | 系统快照捕获与差异对比 |
## 📈 安全评分模型
| 组件 | 最高分 | 描述 |
|---|:---:|---|
| 🔑 Secure Boot | 20 | 启动链完整性 |
| 🔒 TPM 2.0 | 20 | 可信平台模块 (Trusted Platform Module) |
| 🚫 NX / XD | 10 | 内存执行保护 |
| 🧱 SMEP | 10 | 内核执行保护 |
| 🛑 SMAP | 10 | 内核访问保护 |
| 🔏 UMIP | 5 | 用户态指令保护 |
| 🔀 CET | 5 | 控制流完整性 |
| 🌐 IOMMU / VT-d | 5 | DMA 保护 |
| 💾 Microcode | 5 | CPU 安全更新 |
| ⚡ SPEC_CTRL | 5 | Spectre 缓解状态 |
| 🖥️ 虚拟化 | 3 | 硬件虚拟化支持 |
| 🔐 AES-NI | 2 | 密码学加速 |
### 🏅 等级
| 等级 | 分数 | 状况 |
|:---:|---|---|
| 🟢 **A** | 90–100 | 极佳的安全状况 |
| 🔵 **B** | 75–89 | 良好 |
| 🟡 **C** | 60–74 | 中等 |
| 🟠 **D** | 40–59 | 较弱 |
| 🔴 **F** | 0–39 | 严重风险 |
## ⚙️ 系统要求
| | 最低配置 | 推荐配置 |
|---|---|---|
| **OS** | Windows 10/11 或 Ubuntu 20.04+ | Windows 11 / Ubuntu 22.04+ |
| **CPU** | 支持 CPUID 的 x86-64 | Intel i5 / AMD Ryzen 5 或更高 |
| **RAM** | 512 MB | 1–2 GB |
| **存储** | 100 MB | — |
| **UI** | — | Qt 6.6+ |
## 🚀 安装说明
### 🪟 Windows
```
git clone https://github.com/Underscore0000/firmware-security-inspector.git
cd firmware-security-inspector
mkdir build && cd build
cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
mingw32-make -j4
```
```
# 运行
fsi.exe
fsi-cli.exe audit
```
### 🐧 Linux
```
sudo apt update
sudo apt install build-essential cmake nasm pkg-config qt6-base-dev qt6-tools-dev
git clone https://github.com/Underscore0000/firmware-security-inspector.git
cd firmware-security-inspector
mkdir build && cd build
cmake ..
make -j$(nproc)
```
```
# 运行
./fsi
./fsi-cli audit
```
### 💾 UEFI (EDK2)
```
git clone https://github.com/tianocore/edk2.git
git clone https://github.com/Underscore0000/firmware-security-inspector.git
source edk2/edksetup.sh
build -p FsiUefi.dsc -t GCC5 -b RELEASE -a X64
```
## 🖥️ 使用说明
### GUI 模式
现代化的 Qt6 图形界面,具有以下功能:
- 📊 安全仪表板概览
- 🔧 CPU 和固件检查面板
- 🧠 内存和 PCIe 分析
- 🔒 Secure Boot 和 TPM 状态
- 📈 实时安全评分
**键盘快捷键:**
| 快捷键 | 操作 |
|---|---|
| `Ctrl + R` | 刷新系统数据 |
| `Ctrl + S` | 保存快照 |
| `Ctrl + E` | 导出报告 |
### CLI 模式
**检查命令:**
```
fsi-cli audit → Full security audit
fsi-cli cpu → CPU & hardware info
fsi-cli firmware → UEFI / BIOS details
fsi-cli secureboot → Secure Boot status
fsi-cli tpm → TPM detection
fsi-cli acpi → ACPI tables
fsi-cli smbios → SMBIOS / DMI data
fsi-cli pcie → PCIe device list
fsi-cli memory → Memory layout
fsi-cli msr → MSR register dump
fsi-cli all → Run all modules
```
**报告与快照:**
```
fsi-cli report html report.html
fsi-cli snapshot save system.fsi
fsi-cli snapshot diff a.fsi b.fsi
```
## 📁 项目结构
```
src/
├── asm/ Low-level x86-64 assembly
├── modules/ Core security engine
├── gui/ Qt6 interface
├── cli/ Command-line interface
├── report/ Reporting system
├── snapshot/ System state management
├── platform/ OS-specific implementations
└── uefi/ UEFI application layer
```
## ⚠️ 免责声明
专为安全专业人员打造 · 只读 · 不做任何修改 · x86-64
标签:Bash脚本, SQL, UEFI, x86-64, 反取证, 只读工具, 固件安全, 安全评估, 客户端加密, 硬件分析, 系统审计