xdraceus/file-integrity-monitor

GitHub: xdraceus/file-integrity-monitor

基于 Python 和 SHA-256 的轻量级文件完整性监视器,通过建立基线哈希来检测文件的新增、修改和删除,适用于防御性安全监控与合规审计场景。

Stars: 0 | Forks: 0

# 🛡️ 文件完整性监视器 (FIM) ## 📌 概述 本项目使用 Python 和 SHA-256 哈希算法实现了一个轻量但高效的**文件完整性监视器 (FIM)**。 该监视器会建立文件的**已知良好基线**,并持续将当前文件状态与该基线进行比较,以识别: - ✅ 新增文件 - ⚠️ 修改的文件 - ❌ 删除的文件 - 🔒 未更改的文件 该项目旨在模拟以下领域所使用的概念: - 基于主机的入侵检测系统 (HIDS) - 安全运营中心 (SOC) - 数字取证与事件响应 (DFIR) - 合规性与治理监控 - 企业变更检测系统 # 🧠 展示的网络安全技能 | 技能领域 | 展示的能力 | |---|---| | Python 安全自动化 | 自动化完整性验证 | | 防御性安全工程 | 文件篡改检测 | | 安全监控 | 变更监控工作流 | | 密码学 | SHA-256 哈希 | | 事件检测 | 基线偏差分析 | | 安全编码 | 二进制安全的文件处理 | | 日志与报告 | CLI + JSON + 文本导出 | | 数字取证概念 | 痕迹完整性验证 | | 检测工程 | 监控逻辑与比较 | | SOC 运营 | 完整性事件报告 | # 🏗️ 项目架构 ``` file-integrity-monitor/ │ ├── monitored_files/ │ ├── logs/ │ ├── text/ │ └── images/ │ ├── src/ │ ├── hasher.py │ ├── baseline.py │ ├── monitor.py │ ├── reporter.py │ └── main.py │ ├── output/ │ └── .gitkeep │ ├── README.md ├── requirements.txt └── .gitignore ``` # ⚙️ 核心组件 ## 🔐 `hasher.py` 负责: - SHA-256 哈希 - 二进制安全的文件读取 - 基于数据块的内存高效处理 ### 安全相关性 使用密码学哈希来验证文件完整性并检测未经授权的修改。 ## 📦 `baseline.py` 负责: - 创建已知良好基线 - 存储基线元数据 - 加载基线数据 ### 安全相关性 建立受信任的文件状态,类似于企业完整性监控系统。 ## 🔍 `monitor.py` 负责: - 将当前文件与基线哈希进行比较 - 检测: - 新增文件 - 修改的文件 - 删除的文件 - 未更改的文件 ### 安全相关性 复现以下场景中使用的核心完整性验证工作流: - SOC 监控 - EDR/HIDS 工具 - DFIR 环境 ## 📊 `reporter.py` 负责: - CLI 报告 - JSON 报告导出 - 文本报告导出 ### 安全相关性 支持: - 事件文档记录 - 证据保存 - 告警生成 - 审计日志 ## 🚀 `main.py` 负责: - 运行应用程序 - 基线管理 - 完整性检查 - 用户交互 # 🔄 工作流 ``` 1. Create baseline ↓ 2. Monitor files ↓ 3. Detect changes ↓ 4. Generate reports ↓ 5. Investigate anomalies ``` # 🧪 检测场景示例 | 场景 | 检测结果 | |---|---| | 攻击者修改配置文件 | 已修改 | | 恶意软件释放 payload | 新增 | | 失陷后日志被删除 | 已删除 | | 合法文件未被触及 | 未更改 | # 📸 CLI 输出示例 ``` File Integrity Monitor Report ======================================== Generated At: 2026-05-07T14:22:51 New Files: 1 Modified Files: 2 Deleted Files: 1 Unchanged Files: 7 Total Checked: 11 MODIFIED FILES - text/server_config.txt NEW FILES - logs/suspicious.log ``` # 📁 报告输出 报告会自动导出至: ``` output/ ``` 格式: - JSON - TXT - CLI 示例: ``` fim_report_20260507_142251.json fim_report_20260507_142251.txt ``` # 🔒 密码学完整性验证 本项目使用: ``` SHA-256 ``` 为什么选择 SHA-256? - 业界标准的密码学哈希算法 - 抗碰撞 - 广泛应用于安全工具中 - 在 DFIR 工作流中很常见 # 🛡️ 安全框架映射 # 📘 NIST 网络安全框架 (CSF) | 功能 | 映射 | |---|---| | 识别 | 资产监控 | | 保护 | 完整性保障 | | 检测 | 未经授权的文件更改 | | 响应 | 事件调查支持 | | 恢复 | 基线恢复工作流 | # 📘 CIS 控制措施映射 | CIS 控制措施 | 相关性 | |---|---| | CIS 控制措施 3 | 数据保护 | | CIS 控制措施 8 | 审计日志管理 | | CIS 控制措施 13 | 网络监控与防御 | | CIS 控制措施 17 | 事件响应管理 | # 📘 NIST SP 800-53 映射 | 控制 | 描述 | |---|---| | SI-7 | 软件、固件和信息完整性 | | AU-6 | 审计审查与分析 | | IR-4 | 事件处理 | | CM-3 | 配置变更控制 | # 🎯 CompTIA Security+ 映射 ## 领域 1.0 — 通用安全概念 - 密码学哈希 - 完整性验证 ## 领域 2.0 — 威胁、漏洞与缓解措施 - 恶意软件检测概念 - 持久化检测 - 未经授权的修改检测 ## 领域 3.0 — 安全架构 - 防御性监控系统 - 完整性保障机制 ## 领域 4.0 — 安全运营 - 日志分析 - 事件检测 - 监控工作流 - 报告 ## 领域 5.0 — 安全项目管理 - 审计支持 - 合规性可见性 # 🎯 CompTIA CySA+ 映射 | CySA+ 技能领域 | 已展示 | |---|---| | 威胁检测 | ✅ | | 日志监控 | ✅ | | 安全自动化 | ✅ | | 事件响应 | ✅ | | 漏洞识别 | ✅ | | 安全工具 | ✅ | | 检测工程 | ✅ | | DFIR 概念 | ✅ | # 🧠 现实世界中的企业相关性 本项目展示了以下工具所使用的概念: - Tripwire - OSSEC - Wazuh - CrowdStrike - Microsoft Defender - Splunk 监控流水线 # 💻 使用的技术 | 技术 | 用途 | |---|---| | Python 3 | 核心语言 | | hashlib | SHA-256 哈希 | | pathlib | 文件处理 | | json | 报告导出 | | datetime | 时间戳 | # 🚀 运行项目 ## 1️⃣ 克隆仓库 ``` git clone https://github.com/yourusername/file-integrity-monitor.git cd file-integrity-monitor ``` ## 2️⃣ 运行应用程序 ``` python src/main.py ``` # 🧪 建议的测试 ## 测试修改检测 编辑: ``` server_config.txt ``` 然后重新运行完整性检查。 ## 测试新增文件检测 将: ``` malware.exe ``` 添加到被监控的文件中。 ## 测试删除检测 删除: ``` auth.log ``` 并重新运行监视器。 本项目作为一个专注于以下方向的网络安全作品集项目开发: - 防御性安全工程 - 安全监控 - 事件检测 - 安全自动化
标签:AI红队测试, HIDS, JSON导出, Python, SHA-256, 主机入侵检测系统, 企业变更检测, 合规性监控, 哈希校验, 基线管理, 安全编码, 安全运营中心, 安全防御工程, 密码学, 异常检测, 手动系统调用, 数字取证与应急响应, 无后门, 日志与报告, 篡改检测, 系统完整性, 网络映射