iqraashraf207/File-Integrity-Monitor

GitHub: iqraashraf207/File-Integrity-Monitor

一个基于 SHA-256 的文件完整性监控 CLI 工具,检测目录变更并输出结构化日志与报告。

Stars: 0 | Forks: 0

# 文件完整性监控器 一个轻量级的、基于 CLI 的文件完整性监控工具,使用 **SHA-256 加密哈希** 检测目录的未授权变更。 ## 功能 FIM 对目录进行一次加密快照(基线)。在后续每次扫描(一次性或连续)中,它会重新计算哈希并与基线对比,以检测以下变更: | 事件 | 描述 | |---|---| | `ADDED` | 出现了基线中不存在的文件 | | `DELETED` | 基线中的文件已不存在 | | `MODIFIED` | 文件内容已更改(哈希不匹配) | 所有事件会记录到 `fim.log` 并保存为结构化的 JSON 报告。 ## 为何选择 SHA-256? 文件名和大小可能保持不变,但文件内容被静默修改。SHA-256 让这种篡改无法隐藏,哪怕仅有一个字节发生变化,也会产生完全不同的 256 位哈希。这就是为什么完整性校验是以下场景的核心技术: - 基于主机的入侵检测系统(HIDS) - 勒索软件检测流水线 - 合规性审计(PCI-DSS、HIPAA) ## 快速开始 ``` # 克隆仓库 git clone https://github.com/your-username/file-integrity-monitor.git cd file-integrity-monitor # (可选)创建虚拟环境 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt ``` ## 用法 ### 1 — 构建基线 对当前目录状态进行快照: ``` python fim.py --baseline --dir ./target ``` 这将创建 `baseline.json` —— 一个将每个文件路径映射到其 SHA-256 哈希的映射表。 ### 2 — 一次性检查 将当前状态与基线进行比较: ``` python fim.py --check --dir ./target ``` 示例输出: ``` [2024-11-15 14:32:01] [WARNING] ⚠ 2 anomaly(ies) detected! [2024-11-15 14:32:01] [WARNING] [MODIFIED] config/settings.cfg [2024-11-15 14:32:01] [WARNING] [ADDED] uploads/shell.php ``` ### 3 — 持续监控 每 N 秒轮询目录一次: ``` python fim.py --monitor --dir ./target --interval 30 ``` 按 `Ctrl+C` 停止。 ### 自定义基线路径 ``` python fim.py --baseline --dir ./target --db snapshots/prod_baseline.json python fim.py --check --dir ./target --db snapshots/prod_baseline.json ``` ## 输出文件 | 文件 | 内容 | |---|---| | `baseline.json` | 初始的文件到哈希快照 | | `fim.log` | 所有扫描事件的时间戳日志 | | `report.json` | 包含已检测变更的最新扫描报告 | ## 运行测试 ``` pytest tests/ -v ``` 测试覆盖哈希正确性、确定性、内容变更检测以及三种异常类型(新增、删除、修改)。 ## 项目结构 ``` file-integrity-monitor/ ├── fim.py # Core monitor (hashing, baselining, CLI) ├── requirements.txt ├── tests/ │ └── test_fim.py # Pytest test suite └── README.md ```
标签:ETW劫持, HIDS, HIPAA, Homebrew安装, JSON报告, PCI-DSS, Python, SHA-256, x64dbg, 主机入侵检测系统, 加密哈希, 勒索软件检测, 变更检测, 合规, 哈希计算, 审计, 异常检测, 持续监控, 提示词模板, 文件完整性监测, 文件监控, 文档结构分析, 无后门, 日志记录, 目录监控, 轮询, 逆向工具