Surja15/malware-analysis-quarantine
GitHub: Surja15/malware-analysis-quarantine
一款基于 Python 的恶意软件静态分析与安全隔离框架,帮助分析师提取 PE 文件入侵指标、查询威胁情报,并安全隔离恶意样本以供离线研究。
Stars: 0 | Forks: 0
# 恶意软件分析隔离
一个基于 Python 的恶意软件研究和控制框架,专为静态威胁分析、自动化情报集成以及安全、可逆的恶意文件隔离而设计。
## 概述
恶意软件分析隔离提供了一个模块化工具包,网络安全研究员和分析师可以借此:
- 分析可疑的 PE 文件,以寻找入侵指标。
- 整合来自 VirusTotal 等外部来源的威胁情报。
- 安全隔离潜在恶意文件以防止其被执行,同时保留将其恢复以供离线分析的能力。
...
该框架专为 **Linux 环境**设计,并强调**可重复性、可追溯性和分析师安全性**。
## 核心功能
### 1. 静态恶意软件分析
- 提取 PE 元数据,包括:
- Entry point
- Image base
- 编译时间戳
- 节区和导入库
- 识别二进制文件中的异常和潜在的恶意行为模式。
- 兼容 `.exe` 和 `.dll` 文件。
### 2. 自动化威胁情报
- 集成 **VirusTotal API** 进行基于哈希的扫描。
- 提供恶意、可疑、无害和未检测到结果的简明摘要。
- 便于在隔离前对文件进行快速分类。
### 3. 安全隔离模块
- 实现基于 **XOR 的对称加密**进行文件混淆,灵感来源于关于轻量级和可扩展加密技术的现代研究 [Priyadarshi, 2025; Samriddhi et al., 2025]。
- 将文件拆分为 **2–4 个带时间戳的片段**,存储在安全的 `/quarantine` 文件夹中。
- 维护一个**将原始文件名映射到加密片段的日志文件**,确保可追溯的恢复。
- 受密码保护的恢复功能确保只有经过授权的分析师才能恢复文件。
### 4. 模块化与可扩展性
- 恶意软件分析和隔离模块**完全解耦**。
- 可集成到更庞大的自动化恶意软件研究流水线中。
- CLI 接口同时支持 **quarantine**(隔离)和 **restore**(恢复)命令。
## 安装说明
1. 克隆仓库:
```
git clone https://github.com/yourusername/malware-analysis-quarantine.git
cd malware-analysis-quarantine
Install required Python packages:
pip install -r requirements.txt
Requirements:
Python 3.8+
pefile
requests
python-dotenv
Usage
Quarantine a File
python quarantine.py /path/to/suspicious/file.exe
Encrypts and splits the file.
Stores it securely in /quarantine.
Updates quarantine_log.txt with part mapping.
Restore a Quarantined File
python quarantine.py restore file.exe
Requires password: Ganesh
Fetches encrypted parts, combines and decrypts them.
Restores the original file in the current directory.
Integrate with Malware Scanner
In your malware analysis pipeline:
import quarantine
if malicious_detected:
quarantine.quarantine_file(file_path)
Keeps scanner and quarantine logic modular and decoupled.
```
安全说明:
```
XOR encryption is used for obfuscation and safe containment, not cryptographically strong encryption.
Do not use this tool for live malware deployment.
Always work in sandboxed or virtualized environments.
```
研究与参考
本项目基于现代加密研究和基于 XOR 的混淆技术:
Praveen Kumar Priyadarshi, Modernizing Data Security in .NET: In-House XOR, AES, and Base64 Encoding-Decoding for Scalable and Cost-Efficient Enterprise Solutions, International Research Journal of Engineering and Technology (IRJET), Volume 12, Issue 04, April 2025, IRJET.
Samriddhi V, Sanjana, Shalini C, Sinchana A, Suma V Shetty, XOR Cipher, International Journal on Science and Technology (IJSAT), 2025, IJSAT.
这些论文重点介绍了 XOR 密码的应用、轻量级加密以及 XOR 加密背后的基本原理,这些启发了隔离模块的安全混淆设计。
# 简单的 XOR 加密示例
```
# 要加密的 Data
data = b"Hello, Malware!"
# Key
key = b"Ganesh"
# XOR 加密/解密 function
def xor_encrypt(data, key):
return bytes([b ^ key[i % len(key)] for i, b in enumerate(data)])
# 加密 Data
encrypted = xor_encrypt(data, key)
print("Encrypted:", encrypted)
# 解密 Data
decrypted = xor_encrypt(encrypted, key)
print("Decrypted:", decrypted.decode())
```
输出示例:
```
Encrypted: b'\x07\x00\x1f\x03\x02S\x07\x1b\x0c\x0b\x02\x1f\x1d'
Decrypted: Hello, Malware!
```
# 局限性
仅支持 Windows PE 文件
# 测试输出:来自 MALWAREBAZAR 的真实恶意软件
VirusTotal 公共 API 受到速率限制
仅执行静态分析
无沙箱或动态执行
VirusTotal 公共 API 受到速率限制
仅执行静态分析
无沙箱或动态执行标签:DAST, PE文件分析, Python, 云安全监控, 威胁情报, 开发者工具, 恶意软件分析, 文件隔离, 无后门, 逆向工具, 静态分析