m18kart/cybersecurity_attacks_defence_dataset

GitHub: m18kart/cybersecurity_attacks_defence_dataset

基于真实威胁情报源的端到端机器学习管线,实现 IP 异常检测、CVE 勒索软件风险预测和 ATT&CK 技术多标签标注。

Stars: 0 | Forks: 0

# 网络防御情报引擎 基于四个真实世界威胁情报数据集的端到端 ML pipeline: AlienVault OTX pulses、CISA Known Exploited Vulnerabilities (KEV)、 恶意域名和恶意 IP。 `cyber_threat.py` 用于分析威胁态势(EDA + 可视化)。 该层将这种分析转化为三种经过训练、评估和 解释的模型,涵盖三种不同的 ML 范式。 ## 模型与结果 | # | 模型 | 范式 | 目标 | 主要指标 | 结果 | |---|-------|----------|--------|----------------|--------| | 1 | IP 异常检测器 | 无监督 | 恶意 IP 检测 | Top-14 Precision | **0.50(相比基准率提升 7 倍)** | | 2 | CVE 勒索软件风险预测器 | 有监督二分类 | `knownRansomwareCampaignUse` | PR-AUC | **0.40(ROC-AUC 0.72)** | | 3 | ATT&CK 技术标注器 | 多标签 NLP | Top-15 ATT&CK 技术 | Macro F1 | **0.32(Hamming loss 0.28)** | ## 关键发现 ### OTX Pulse 聚类 — K-Means 发现了攻击活动原型 K-Means(k=14,TF-IDF bigrams + LSA)在 2,365 个 OTX pulse 上**在没有任何标签监督的情况下恢复了有意义的攻击活动分类体系**。 聚类的有效性是通过事后检查与 `Malware_Families` 的对齐情况来 确认的 —— 这是一个在训练期间未使用的字段。 | Cluster | 大小 | 原型 | 主要恶意软件 | |---------|------|-----------|-----------------| | 0 | 160 | 多阶段 RAT 投递 | XWorm, AsyncRAT, Remcos RAT | | 1 | 135 | 2025 CVE 利用 | Cobalt Strike, VShell, XMRig | | 2 | 241 | 钓鱼基础设施 | Rhadamanthys, Tycoon2FA, ValleyRAT | | 3 | 158 | 社会工程学 / ClickFix | AsyncRAT, NetSupport RAT | | 4 | 123 | 2023–24 CVE 利用 | Cobalt Strike, Akira, Mirai | | 5 | 86 | **DPRK / 朝鲜行动** | BeaverTail, InvisibleFerret, OtterCookie | | 6 | 180 | 勒索软件 / RaaS | LockBit, SystemBC | | 7 | 67 | IoT 僵尸网络 / DDoS | Mirai, BADBOX, XMRig | | 8 | 104 | 供应链 (npm/PyPI) | Shai-Hulud, plain-crypto-js | | 9 | 111 | 安卓银行木马 | SparkCat, NGate, SpyNote | | 10 | 285 | APT 间谍活动 | PlugX, POISONPLUG.SHADOW | | 11 | 82 | 鱼叉式钓鱼 / APT | ROKRAT, XenoRAT, CozyCar | | 12 | 473 | 通用恶意软件 → *子聚类* | XMRig, Cobalt Strike, AsyncRAT | | 13 | 160 | 信息窃取器 / MaaS | Lumma Stealer, Vidar, StealC | **Cluster 12 子聚类(k=8,基于轮廓系数选择):** | 子聚类 | 大小 | 原型 | 主要恶意软件 | |-------------|------|-----------|-----------------| | 12.0 | 49 | Web 窃取 / Magecart | LummaC2, Latrodectus | | 12.1 | 22 | 恶意浏览器扩展 | VoidStealer, SpyMax | | 12.2 | 57 | RAT 基础设施 / 访问代理 | AsyncRAT, VenomRAT, Remcos | | 12.3 | 30 | 云端挖矿 (Docker/K8s) | XMRig, GSocket, Sliver | | 12.4 | 140 | 通用 C2 基础设施 *(残差)* | Cobalt Strike, Latrodectus | | 12.5 | 96 | Loader / 恶意软件中转 | Zloader, LummaC2 | | 12.6 | 45 | **Linux rootkits + 针对 AI 的恶意软件** | VoidLink, BCObserver | | 12.7 | 34 | SEO 投毒 | BadIIS, GotoHTTP | **总计:在无标签的情况下发现了 21 个有意义的攻击原型。** ** notable findings:** - **Cluster 5 (DPRK)** 是最紧密的聚类 —— 国家级行为者的攻击活动 具有足够独特的词汇,以至于 K-Means 可以在没有国家或行为者标签的情况下完全将它们隔离出来。 - **Clusters 1 和 4** 纯粹基于时间词汇(`cve 2024` 对比 `cve 2025`)区分了 2023–24 和 2025 年的 CVE 攻击活动,即使攻击 模式完全相同。这证明了威胁情报语料库中存在时间漂移。 - **Sub-cluster 12.6(Linux + AI + rootkits)** 反映了一种在旧数据集中不可见的 2025 年新兴威胁 模式 —— AI 基础设施正与传统的内核级 持久化机制一起成为攻击目标。 - **Sub-cluster 12.7(SEO 投毒)** 从仅有的 34 个 pulse 中干净地分离出来, 证实了 BadIIS 是主要的指标。 - 恶意软件家族**未被用作输入** —— 它们与发现的聚类的对齐情况验证了这种无监督方法。 SHAP 表明,**所有 top-15 预测特征都是 TF-IDF 文本 token**, 而不是结构化元数据(供应商、CWE 类别、修复窗口): | 排名 | Token | 平均 \|SHAP\| | 解释 | |------|-------|--------------|----------------| | 1 | `ios` | 0.254 | iOS CVE 极易被勒索软件武器化 | | 2 | `server` | 0.198 | 服务器端漏洞 —— 高价值目标 | | 3 | `crafted` | 0.164 | “特殊构造的输入” —— 经典漏洞利用模式 | | 4 | `unauthenticated` | 0.097 | 无需认证的 RCE = 立即被武器化的风险 | | 5 | `arbitrary` | 0.096 | “任意代码执行” —— 最强的 RCE 信号 | | 6 | `remote` | 0.077 | 可远程利用 —— 网络可访问的攻击面 | 模型学会了检测 **RCE 语言模式**: *“允许远程未认证的攻击者执行任意代码”* — 这是勒索软件攻击活动中风险最高的 CVE 原型。 **含义:** 结构化的 CVE 元数据(CWE 类别、供应商、修复 截止日期)相比仅使用描述文本只能带来边际效益。未来的工作 应侧重于更丰富的 NLP 特征(bigrams、BERT embeddings),而不是 添加额外的元数据列。 ### IP 异常检测器 — 特征工程洞察 将 VirusTotal 投票/信誉列添加到 Isolation Forest 中会**降低**性能(ROC-AUC:0.73 → 0.64)。根本原因:一些 被标记为干净的 IP 带有负面信誉分数和非零的 恶意投票 —— 分析师的标签与 VirusTotal 信誉在大约 15% 的数据集上存在分歧。 包含这些特征会让 Isolation Forest 认为高恶意投票“有时是正常的”,从而污染了干净的数据训练分布。 最终模型仅使用结构独立的网络元数据: ASN、TOR 状态、国家/地区风险、所有者出现频率。 ### ATT&CK 技术标注器 — 按标签划分的方差 技术检测质量因数据密度而异: | 技术 | F1 | 原因 | |-----------|-----|-----| | T1027 (混淆) | 0.60 | 高频,词汇独特 | | T1566 (网络钓鱼) | 0.52 | 强烈的词汇信号(“phishing”、“lure”) | | T1190 (利用公共应用) | 0.51 | CVE 引用、漏洞利用术语 | | T1059 (命令解释器) | 0.13 | 与许多其他技术重叠 | | T1071.001 (基于 HTTP 的 C2) | 0.18 | 通用 HTTP 词汇,区分度低 | 低 F1 的技术与相邻技术共享词汇 —— 这是词袋模型 TF-IDF 用于多标签 NLP 的已知 局限性。Bigrams 或基于 BERT 的 embedding 将有助于区分重叠的技术家族。 ## DS/ML 方法论 **XGBoost 之前的基线比较。** 每个监督模型都通过相同的分层 CV 与 Logistic Regression 和 Decision Tree 基线进行基准测试。提升幅度是 量化的,而不是假设的。 **分层 k 折交叉验证。** 报告为 5 折的 mean ± std —— 而不是单一的训练/测试集划分。 **超参数调优。** 通过 `RandomizedSearchCV`(40 次迭代)优化 `max_depth`、`learning_rate`、 `subsample`、`colsample_bytree`、`min_child_weight`、`n_estimators`。 对于不平衡的 CVE 问题,调优目标是 PR-AUC(而不是准确率)。 **类别不平衡处理。** CVE 数据集:20% 的正样本率。模型使用 `scale_pos_weight=4.0` 并 通过 PR-AUC 进行评估。准确率会显示为 80%+,而模型预测出的 有用的内容却寥寥无几 —— PR-AUC 揭露了这一点。 **SHAP 可解释性。** `models/ransomware_shap_ranking.csv` —— 根据平均 |SHAP| 值排序的特征,在每次训练运行时自动生成。 **数据驱动的模型选择。** 领域严重性分类(162 行,7 个高危 / 10 个中危)被 放弃用于监督学习,并替换为对 IP 数据集进行无监督异常 检测。在当前的样本数量下,域名数据集不足以进行可靠的 3 分类学习。 ## 项目布局 ``` cyber_threat.py EDA + threat landscape visualization src/ features/ cve_features.py CWE class encoding, vendor bucketing, NLP keyword counts ip_features.py ASN, TOR, country risk, owner frequency otx_features.py Title + Description concat, ATT&CK ID extraction models/ ransomware_risk.py XGBoost + TF-IDF hybrid, SHAP ranking, tune() ip_anomaly.py Isolation Forest, clean-only training, top-K precision attack_tagger.py Multi-label XGBoost, per-label F1 + hamming loss train.py Unified CLI + MLflow logging + SHAP CSV auto-save app/ dashboard.py Streamlit live-scoring UI (all 3 models) models/ ransomware_risk.joblib ip_anomaly.joblib attack_tagger.joblib ransomware_shap_ranking.csv ← auto-generated on every train run ``` ## 快速开始 ``` pip install -r requirements.txt # EDA — 在建模前理解数据 python cyber_threat.py # 训练所有模型(baseline) python -m src.train --model all # 调整 ransomware 模型(可选 — 覆盖步骤 2 结果) python -m src.train --model ransomware --tune # 生成结果可视化 → reports/figures/ python -m src.visualize # 实时评分仪表板 streamlit run app/dashboard.py ``` ## 路线图 - [ ] ATT&CK 标注器的 SHAP(基于技术的 token 重要性) - [ ] 用于 ATT&CK 标注器的 Bigram TF-IDF 或 BERT embeddings - [ ] 在 CVE 模型上使用 Optuno 进行贝叶斯超参数搜索 - [ ] 通过 ONNX 导出的 C++ 推理层(优先处理 CVE 模型)
标签:AES-256, Apex, Kubernetes, 威胁情报, 安全数据分析, 开发者工具, 异常检测, 机器学习, 漏洞评估, 逆向工具