rbenzing/MalwareDefenseFramework

GitHub: rbenzing/MalwareDefenseFramework

这是一个基于C#和WPF的Windows恶意软件防御框架,提供实时检测、行为分析和威胁响应功能,以解决高级恶意软件防护问题。

Stars: 0 | Forks: 0

# 恶意软件防御框架 恶意软件防御框架是一个以安全为重点构建的Windows应用程序和服务,采用**C#/.NET**技术栈,提供实时恶意软件检测、行为分析、内存检查和自动化威胁响应功能。其设计遵循高性能、可扩展性和安全内建原则。 ## ✨ 亮点 * 实时监控文件、内存、注册表和进程 * 基于行为和启发式规则的恶意软件检测 * 基于YARA的特征扫描(支持APT、rootkit、webshell、漏洞利用检测) * 安全的隔离区与告警管理 * Windows Service + WPF UI架构 * 注重性能、模块化且可扩展的设计 ## 🏗️ 架构 ### 解决方案结构 ``` MalwareDefenseFramework/ ├── MalwareDefense.Common/ # Shared utilities, logging, configuration, security, IPC ├── MalwareDefense.Core/ # Analysis engines and detection logic ├── MalwareDefense.Service/ # Windows Service for background protection (runs as SYSTEM) ├── MalwareDefense.UI/ # WPF desktop application (MVVM, runs as normal user) └── MalwareDefense.Tests/ # Unit and integration tests (NUnit 4) ``` ## 🔍 检测与分析能力 ### 分析引擎 * **PE分析** 头部解析、熵分析、节区检查、导入导出分析、加壳检测和签名验证。 * **内存分析** Shellcode检测、注入内存检查、可疑内存模式扫描。 * **行为分析** API使用追踪、文件系统活动、注册表持久化检测、进程生命周期监控。 * **守护服务** 实时文件系统和注册表监控。 ## 🧬 YARA签名检测 恶意软件防御框架集成了使用 [`dnYara`](https://github.com/airbus-cert/dnYara) 库的 **YARA** 扫描功能,并采用了来自 **Florian Roth (@Neo23x0)** 的策划规则集。 **检测范围**: * 高级持续性威胁(APT28, APT29, Lazarus, SolarWinds等) * Rootkit和内核级技术 * Webshell(PHP, ASPX, China Chopper, ReGeorg) * 已知漏洞和攻击性框架 **配置选项**: * 最大文件大小(默认:500 MB) * 扫描超时时间(默认:120秒) * 类别开关(APT / Rootkit / Webshell / Exploit) * 编译规则缓存以提升性能 * 自动回退到传统签名引擎 规则文档详见 `MalwareDefense.Core/Analysis/Signatures/Rules/README.md`。 ## 🖥️ 用户界面 (WPF) * 包含系统状态的实时仪表盘 * 手动和自动化扫描管理 * 威胁告警生命周期管理 * 安全的隔离区浏览器 * 重启后告警持续保留 * 支持暗色/亮色主题 UI遵循严格的 **MVVM** 架构,代码后台不含业务逻辑。 ## 🛡️ 威胁响应 * 安全文件隔离(静态加密) * 终止进程并阻止执行 * 注册表和持久化项缓解 * 带状态跟踪的实时告警: * 活跃 * 已解决 * 已隔离 * 已忽略 * 误报 ## ⚙️ 配置 配置通过 `appsettings.json` 文件管理: ``` { "Security": { "EnableRealTimeProtection": true, "EnableHeuristicAnalysis": true, "ScanSensitivity": "Medium", "AutoQuarantine": false }, "Performance": { "MaxConcurrentScans": 4, "ScanTimeoutSeconds": 30 }, "PEAnalysis": { "YaraConfiguration": { "UseYaraEngine": false } } } ``` 系统级排除项在 `SystemProcessWhitelist.cs` 中集中管理。 ## 📋 系统要求 ### 最低要求 * Windows 10 / 11 (64位) * .NET 9.0 * 4 GB 内存 * 管理员权限 ### 推荐配置 * Windows 11 * 8 GB 或更大内存 * 多核 CPU ## 🚀 快速开始 ### 开发环境设置 ``` git clone cd MalwareDefenseFramework dotnet restore dotnet build ``` **从 Visual Studio 运行**(推荐): 1. 在 Visual Studio 中打开 `MalwareDefenseFramework.sln` 2. 将 `MalwareDefense.UI` 设置为启动项目 3. 按 F5 运行(无需管理员权限) 4. 服务进程将在开发模式下自动启动 **从命令行运行**: ``` # UI 进程(开发模式下无需管理员权限) dotnet run --project MalwareDefense.UI # 服务进程(开发模式下由 UI 自动启动) # 仅调试服务时需要手动启动: dotnet run --project MalwareDefense.Service ``` ### 生产环境部署 ``` dotnet publish -c Release -r win-x64 --self-contained ``` 安装 Windows 服务: ``` sc create MalwareDefenseService binPath="\\MalwareDefense.Service.exe" sc start MalwareDefenseService ``` ## 📊 性能设计 * 自适应扫描节流 * 增量文件扫描 * 结果缓存 * 智能排除规则 * 优化的异步/线程使用 旨在持续保护过程中最小化系统影响。 ## 🧪 代码质量与安全 ### 生产就绪标准 * 模块化、事件驱动架构 * 所有公共API均有XML文档注释 * 结构化日志(Serilog) * 安全的密码学实现(OWASP 2023: 600,000 PBKDF2 迭代) * 防御性编码,防止注入和权限滥用 * 正确的异步处置和内存安全 * 全面的单元和集成测试套件 ### 测试基础设施 **单元测试**(11个通过,13个集成测试): * `MalwareDefense.Tests` - NUnit 4 框架 * 核心服务测试(AnomalyDetector, RealTimeProtectionOrchestrator) * 支持UI线程的ViewModel测试 * 使用 Moq 和 FluentAssertions 进行模拟 **集成测试**(可供手动执行): * 完整的隔离工作流(加密/解密验证) * 端到端的威胁检测测试 * 防火墙规则管理工作流 运行测试: ``` dotnet test ``` ## 📄 许可证 根据 **AGPLv3 许可证** 授权。详见 `LICENSE` 文件。 ## 🆘 支持 * 查看应用程序告警 * 检查日志文件,路径为: `%LocalAppData%\\MalwareDefenseFramework\\Logs` * 提交问题报告以反馈错误或功能请求 **恶意软件防御框架** —— 面向Windows的现代防御性恶意软件防护。
标签:WSL, 多人体追踪