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, 多人体追踪