nross12/Cross-Platform-Malware-Paradigms
GitHub: nross12/Cross-Platform-Malware-Paradigms
跨平台恶意软件行为研究框架,整合多平台数据集与 MITRE ATT&CK/MBC 行为分析,用于研究恶意软件跨操作系统的技术复用与演化规律。
Stars: 0 | Forks: 0
# 跨平台恶意软件范式
这项工作对跨平台恶意软件的行为演化进行了系统研究,结合了一个包含 **勒索软件**、**远程访问恶意软件**、**威胁活动**、**恶意软件框架** 和 **其他恶意软件** 的新型多平台数据集,以及基于 **MITRE ATT&CK** 和 **恶意软件行为目录 (MBC)** 的函数级行为分析。
## 概述
恶意软件日益针对多个平台(**Windows, Linux, macOS, Android**)。检测威胁行为者是否跨平台重用技术,需要一种平台无关的恶意软件行为表示方法。
这项工作做出了以下贡献:
1. 首个涵盖 **Windows, Linux, macOS** 和 **Android** 的跨平台恶意软件家族开源数据集,包括 **勒索软件**、**远程访问恶意软件**、**威胁活动**、**恶意软件框架** 和 **其他恶意软件**,包含哈希值和从 **VirusTotal** 预处理的 **威胁指标**。
2. 一个统一的行为分析框架,整合了 **MITRE ATT&CK** 和 **恶意软件行为目录 (MBC)**,用于系统比较跨操作系统的对抗行为。
3. 多层次行为相似性分析,涵盖恶意软件类别在不同操作系统变体间的跨平台一致性、类别间的结构差异,以及跨平台的全球普遍行为。
4. 对勒索软件行为的系统性跨平台分析,突出了勒索软件家族之间的共享模式和结构关系。
### Mitre ATT&CK (战术与技术)
MITRE ATT&CK 是一个广泛采用的框架,用于记录在现实世界网络事件中观察到的对抗战术和技术,作为威胁建模和分析的基础。
- 战术:定义特定阶段的“为什么”目标(例如,初始访问 (TA0001)、权限提升 (TA0004)、影响 (TA0040) 等)。
- 技术:定义实现该目标的“如何”目标(例如,网络钓鱼 (T1566)、账户操纵 (T1098)、数据操纵 (T1565) 等)。
### 恶意软件行为目录 (目标与行为)
恶意软件行为目录是一个结构化的目标和行为分类法,用于分类恶意软件在系统上运行后的行为,作为 MITRE ATT&CK 知识库的恶意软件扩展,专门用于恶意软件分析、行为检测和威胁情报报告。
- 目标:定义恶意软件的整体目的(例如,反静态分析 (OB0002)、发现 (OB0007)、持久化 (OB0012) 等)。
- 行为:定义恶意软件执行的具体操作(例如,混淆文件或信息 (E1027)、文件和目录发现 (E1083)、安装不安全或恶意配置 (B0047))。
更多信息,您可以在[此处]()找到我们的论文。
## 数据集
该数据集涵盖了来自 **约 80 个恶意软件家族** 的 **1,701 个独特恶意软件样本**,跨越 **四个主要操作系统** 的 **五个威胁类别**。
| Category | Windows | Linux | macOS | Android |
|:--------------|--------:|------:|------:|--------:|
| Ransomware | 403 | 86 | 7 | 0 |
| Remote Access | 84 | 113 | 40 | 27 |
| Campaign | 155 | 75 | 66 | 3 |
| Framework | 41 | 17 | 4 | 0 |
| Other | 476 | 40 | 61 | 46 |
数据集标签和哈希值位于 `data/family_mapping.json` 中,结构如下:
```
Category -> OS -> Family -> Samples
```
## 数据可用性
由于 VirusTotal 服务条款的限制,本仓库不再重新分发原始 VirusTotal 报告。
该数据集仅包含从 VirusTotal 分析中得出的哈希值和行为特征。这些特征是从报告中生成的,不包含原始报告内容。
需要原始 VirusTotal 报告的研究人员必须使用提供的哈希值及其自己的 VirusTotal API 访问权限独立检索。
## 引用
如果您在研究中使用此数据集或代码,请引用:
```
@article{
}
```
## 仓库布局
- `data/raw/reports/`: 原始报告 JSON 文件。
- `data/features.jsonl`: 用于构建 `data/family_mapping.json` 的源元数据。
- `data/family_mapping.json`: 哈希到家族/类别/平台的映射。
- `data/reports_summary*.json`: 从原始报告派生的标准化单样本摘要。
- `scripts/`: 预处理和数据准备实用程序。
- `src/experiments/`: 实验入口点。
- `src/visualization/`: 图/表生成脚本。
- `artifacts/`: 生成的实验输出、表格、图表和互连资产。
## 环境要求
```
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## 输入
管道在运行前需要存在以下文件:
- `data/raw/reports/*.json`: 要分析的原始报告。
- `data/features.jsonl`: 用于派生家族映射的 JSONL 元数据。
- `data/tactic_to_techniques.json`: MITRE 战术到技术的映射。
- `data/objective_to_behaviours_detailed.json`: MBC 目标到行为的映射。
原始行为数据报告可以从 VirusTotal 的公共 API 获取,但如前所述未包含在内。
## 预处理
### 1. 标准化报告哈希
此步骤:
- 将 `data/raw/reports/` 中类似哈希的文件名转换为小写
- 移除 `fail_*` 报告文件
- 将 `data/family_mapping.json` 内的哈希条目转换为小写
```
python scripts/normalize-reports.py
```
如果 `data/family_mapping.json` 尚不存在,请先构建它,然后重新运行标准化。
### 2. 构建家族映射
从 `data/features.jsonl` 生成 `data/family_mapping.json`。
```
python scripts/build_family_mapping.py
```
### 3. 构建报告摘要
仓库维护三种摘要变体:
- `data/reports_summary_intersection.json`: 共享优先表示,大多数实验使用。
- `data/reports_summary_concat.json`: 所有提取 token 的拼接表示。
- `data/reports_summary_max.json`: 每个样本提取的最长列表,用于 top-k 勒索软件排名。
使用以下命令构建所有摘要:
```
for f in scripts/build_reports_summary*.py; do python "$f"; done
```
## 实验
### RQ1 / 评估 4.1: 跨操作系统余弦相似度
使用 `data/reports_summary_intersection.json` 并将原始 CSV 输出写入 `artifacts/experiments/raw/`。
```
python -m src.experiments.cross_os_group_cosine
python -m src.experiments.cross_os_group_jaccard
python scripts/filter_missing_representations.py
python -m src.visualization.create_heatmap_cosine
python -m src.visualization.create_heatmap_jaccard
```
关键输出:
- `artifacts/experiments/raw/001_cosine_group_profiles__*.csv`
- `artifacts/experiments/raw/002_jaccard_group_profiles__*.csv`
- `artifacts/experiments/processed/processed_001_*.csv`
- `artifacts/experiments/processed/processed_002_*.csv`
- `artifacts/figures/*heatmap.png`
### RQ2 / 评估 4.2: 全球流行度
计算跨操作系统和恶意软件组的全球普遍 token。
```
python -m src.experiments.global_prevalence
python -m src.visualization.create_prevalence_table
```
关键输出:
- `artifacts/experiments/raw/003_exp_global_invariants__*.csv`
- `artifacts/tables/top10_mitre_tactic_technique_pairs.csv`
- `artifacts/tables/top10_mbc_objective_behaviour_pairs.csv`
### RQ3 / 评估 4.3: 组间连接
构建每个操作系统内恶意软件组的成对重叠指标。
```
python -m src.experiments.intergroup_cosine
python scripts/filter_missing_representations.py
python -m src.visualization.create_intergroup_heatmap
```
关键输出:
- `artifacts/experiments/raw/004_exp_intergroup_connections__*.csv`
- `artifacts/experiments/processed/processed_004_exp_intergroup_connections__*.csv`
- `artifacts/tables/table_004_all_intergroup_edges__*.csv`
- `artifacts/figures/fig_004_intergroup_*.png`
### RQ4 / 评估 4.4: 组内内聚性
计算来自同一恶意软件组和操作系统的样本之间的成对余弦相似度。
```
python -m src.experiments.intragroup_cosine
python scripts/filter_missing_representations.py
python -m src.visualization.create_intragroup_table
```
关键输出:
- `artifacts/experiments/raw/005_exp_within_group_cohesion__*.csv`
- `artifacts/experiments/processed/processed_005_exp_within_group_cohesion__*.csv`
- `artifacts/tables/table_005_within_group_cosine__*.csv`
### 评估 4.5: Top 勒索软件 Token
使用 `data/reports_summary_max.json` 对最流行的勒索软件 MITRE 技术和 MBC 行为进行排名。
```
python -m src.experiments.ransomware_top_tokens
```
关键输出:
- `artifacts/experiments/raw/topk_ransomware__techniques.csv`
- `artifacts/experiments/raw/topk_ransomware__behaviors.csv`
### 评估 4.6: 勒索软件组织互连
从摘要数据和家族映射构建勒索软件组织相似度图。
```
python -m src.experiments.ransomware_interconnection
python -m src.visualization.create_ransomware_interconnection_graph
```
关键输出:
- `artifacts/interconnection/ransomware_gang_interconnection_edges.csv`
- `artifacts/interconnection/ransomware_gang_interconnection_summary.json`
- `artifacts/interconnection/ransomware_gang_interconnection_graph.png`
- `artifacts/interconnection/ransomware_gang_shared_techniques_heatmap.png`
## 典型运行顺序
对于从原始输入进行的完全重新构建:
```
python scripts/build_family_mapping.py
python scripts/normalize-reports.py
for f in scripts/build_reports_summary*.py; do python "$f"; done
python -m src.experiments.cross_os_group_cosine
python -m src.experiments.cross_os_group_jaccard
python -m src.experiments.global_prevalence
python -m src.experiments.intergroup_cosine
python -m src.experiments.intragroup_cosine
python -m src.experiments.ransomware_top_tokens
python -m src.experiments.ransomware_interconnection
python scripts/filter_missing_representations.py
python -m src.visualization.create_heatmap_cosine
python -m src.visualization.create_heatmap_jaccard
python -m src.visualization.create_prevalence_table
python -m src.visualization.create_intergroup_heatmap
python -m src.visualization.create_intragroup_table
python -m src.visualization.create_ransomware_interconnection_graph
```
## 注意事项
- 大多数实验脚本默认从 `data/reports_summary_intersection.json` 读取。
- `scripts/filter_missing_representations.py` 将原始 CSV 输出转换为绘图脚本使用的 `artifacts/experiments/processed/` 文件。
- 可视化脚本具有选择性:某些仅为 MITRE 技术和 MBC 行为生成输出,而非原始实验产生的每种表示。标签:Android 恶意软件, Ask搜索, Cloudflare, Homebrew安装, IoC, Linux 恶意软件, macOS 恶意软件, Malware Behaviour Catalog, MBC, MITRE ATT&CK, RAT, VirusTotal, Windows 恶意软件, 函数级分析, 初期访问, 勒索软件, 协议分析, 失陷指标, 威胁情报, 威胁活动, 平台无关表示, 开发者工具, 影响, 恶意软件框架, 恶意软件行为分析, 时序数据库, 权限提升, 网络安全, 行为演化研究, 行为相似性, 跨平台恶意软件, 远程访问工具, 逆向工具, 隐私保护