Sid00011/Anti-Ransomware
GitHub: Sid00011/Anti-Ransomware
基于 Python 的 Windows 反勒索软件工具,整合机器学习与监控技术实现实时防护。
Stars: 0 | Forks: 0
# 反勒索软件
用于实时勒索软件检测与响应的Windows桌面应用程序。
通过Tkinter图形界面,整合了SVM机器学习分类器、文件系统监控、基于哈希的恶意软件检测和进程分析功能。
## 核心功能
- **基于机器学习的PE文件扫描** - 使用经过PE头特征(熵值、导入表、节区、资源)训练的SVM分类器,标记可执行文件为恶意或合法程序
- **实时文件系统监控** - watchdog观察器即时检测文件创建、修改、删除和移动操作
- **基于哈希的恶意软件检测** - 使用MD5、SHA1、SHA256哈希值与已知恶意软件数据库进行比对
- **勒索软件扩展名检测** - 扫描时自动标记500+已知勒索软件文件扩展名(.locky、.wcry、.cerber、.clop、.dharma...)
- **可疑进程检测** - 监控CPU使用率、内存、磁盘I/O、线程数和打开的文件句柄,识别异常进程
- **隔离与删除** - 右键点击任何标记文件即可进行隔离或移除操作
- **警报系统** - 检测到威胁时触发音频警报
## 界面说明
四个功能标签页:
| 标签页 | 功能 |
|---|---|
| 文件扫描 | 使用SVM分类器和扩展名字典扫描指定目录 |
| 实时监控 | 实时显示文件系统事件流及进程归属信息 |
| 恶意软件检测 | 基于哈希的检测与删除功能 |
| 可疑进程 | 进程监控器,检测CPU/内存/IO异常 |
## 机器学习分类器
SVM模型(`classifier/svm_classifier.pkl`)使用从PE头提取的55个特征对PE文件进行分类:
- 文件头:Machine、Characteristics、SizeOfOptionalHeader
- 可选头:ImageBase、SizeOfCode、EntryPoint、Subsystem、DllCharacteristics
- 节区:数量、平均/最小/最大熵值、平均/最小/最大原始大小、平均/最小/最大虚拟大小
- 导入表:DLL数量、总导入数、序号导入数
- 导出表:导出数量
- 资源:数量、平均/最小/最大熵值、平均/最小/最大大小
- 元数据:LoadConfigurationSize、VersionInformationSize
## 技术栈
| 组件 | 技术 |
|---|---|
| GUI | Python Tkinter + ttk |
| ML分类器 | scikit-learn SVM(joblib/pickle) |
| PE分析 | pefile |
| 文件系统监控 | watchdog |
| 进程监控 | psutil |
| 音频警报 | pygame |
| 打包构建 | PyInstaller(生成basic.exe) |
## 安装说明
```
pip install watchdog psutil pefile pygame joblib scikit-learn prettytable
python basic.py
Or run the pre-built executable:
dist/basic.exe
Project structure
Anti-Ransomware/
├── basic.py # Main application
├── classifier/
│ ├── svm_classifier.pkl # Trained SVM model
│ └── svm_features.pkl # Feature list used during training
├── database/
│ └── file_list.txt # Scanned file index
├── hashes.txt # Known malware hash database (MD5/SHA1/SHA256)
├── alarm.mp3 # Alert sound
└── dist/basic.exe # Pre-built Windows executable
```
标签:AMSI绕过, Apex, CCTV/网络接口发现, PE文件分析, Python开发, SVM分类器, Tkinter界面, Windows应用程序, 勒索软件扩展名, 反勒索软件, 后端开发, 哈希检测, 威胁检测, 异常行为检测, 报警系统, 文件系统监控, 机器学习, 漏洞挖掘, 网络安全, 逆向工具, 隐私保护, 隔离删除