Samboujunior/ransomware-heuristic-analyzer
GitHub: Samboujunior/ransomware-heuristic-analyzer
一个基于静态启发式评分的轻量级勒索软件检测系统,通过熵、API 与字符串特征在不执行文件的情况下识别可疑行为。
Stars: 0 | Forks: 0
# 勒索软件启发式分析器
## 概述
本项目实现了一个使用静态分析和启发式评分的轻量级勒索软件检测系统。目标是识别可疑的可执行文件,而不执行它们,而是基于可观察的特征,例如熵、API 使用情况和嵌入的字符串。
系统会分析二进制文件并分配一个分数,以反映该文件表现出类似勒索软件行为的可能性。
## 功能
- 熵分析(检测打包/加密文件)
- 导入地址表(IAT)检查(检测可疑 API)
- 字符串提取(检测诸如 “bitcoin”、“.onion” 等指示符)
- 行为工作流近似(文件枚举、修改、删除)
- 启发式评分系统
## 项目结构
Ransomware-Heuristic-Analyzer/
├── scorecard_detector.py
├── entropy_checker.py
├── string_checker.py
├── workflow_checker.py
├── README.md
└── screenshots/
## 如何运行
1. 在系统中创建以下文件夹:
C:\Sample\Ransomware sample
C:\Sample\benign\
2. 放置文件:
- 将勒索软件样本(.bin 或 .exe)放入:
`C:\Sample\Ransomware sample\`
- 将良性文件(例如 calc.exe、cmd.exe、notepad.exe)放入:
`C:\Sample\benign\`
3. 运行脚本:
python scorecard_detector.py
## 评分系统
检测系统根据提取的特征分配分数:
- 熵 > 7.0 → +3
- 加密 API → +2
- 枚举 API → +1
- 操作 API → +1
- 破坏 API → +1
- 可疑字符串 → +2 至 +5
### 决策规则
- 分数 ≥ 7 → 勒索软件 / 高度可疑
- 分数 < 7 → 可能良性
## 结果
- 大多数良性文件被正确分类为低分
- 一些良性文件由于正常的文件操作产生了中等分数(误报)
- 一些勒索软件样本由于混淆或缺乏可见特征而仅被部分检测到
这表明检测并非完美,且依赖于可观察的特征。
## 注意事项
- 由于安全原因,未包含恶意软件样本
- 可以使用公共数据集(如 TheZoo)来重现结果
- 可以将文件重命名为 `.bin` 以避免杀毒软件干扰
## 结论
本项目表明,可以使用静态启发式分析来近似检测勒索软件。虽然系统能够识别某些可疑行为,但也突出了误报和未检测到的恶意软件等局限性。
结果表明,结合多种特征可以提高检测能力,但没有任何单一方法是足够的。这种方法可以作为简单且可解释的第一层防御。
标签:API检测, IAT分析, Python安全工具, URL发现, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 关键词匹配, 加密文件识别, 勒索软件检测, 可执行文件分析, 可疑字符串, 启发式规则, 启发式评分, 字符串提取, 安全检测, 打包检测, 文件修改, 文件删除, 文件枚举, 文件行为分析, 熵分析, 行为工作流, 轻量级检测, 逆向工具, 逆向工程, 静态分析, 静态检测, 风险评分