Pratyushi0/VectorPulse-Intelligence-

GitHub: Pratyushi0/VectorPulse-Intelligence-

VectorPulse 是一个基于 AI 的 Kubernetes 安全系统,用于实时威胁检测和自主事件响应,以应对工业物联网攻击和量子计算威胁。

Stars: 1 | Forks: 0

# VectorPulse 智能系统 **AI驱动的威胁检测与自主事件响应——专为 Kubernetes 构建,并采用后量子密码学加固。** VectorPulse 是一个运行在集群内部的安全网格。它基于真实的 IIoT 流量进行训练,通过 Flask 推理 API 实时分类威胁,并触发无需人工干预的自愈响应。加密层使用 ML-DSA (CRYSTALS-Dilithium) 对工作负载进行签名和密钥轮换,在量子硬件使该威胁成为现实之前,防御“先收集后解密”攻击。 ## 工作原理 该系统包含四个协同工作的层: **1. 训练层 (`3_train_sentinel.py`, `7_final_train_with_smote.py`)** 基于 WUSTL-IIoT-2021 数据集(包含标记攻击模式的工业网络流量)训练一个 XGBoost 分类器。使用 SMOTE 平衡训练集,防止模型仅记忆多数类。训练好的模型序列化保存为 `sentinel_brain.pkl`。 **2. 推理 API (`Security_brain.py`)** 一个 Flask 服务器,加载训练好的模型并通过 HTTPS 暴露 `/predict` 端点。每个请求被分类为 `NORMAL` 或 `MALICIOUS`,记录到 `traffic_logs.csv`,并返回带置信度的标签。运行在 8448 端口,使用 TLS。 **3. Kubernetes Operator (`k8s_operator.py`, `hardened_operator.py`, `4_self_healing_operator.py`)** 一个自定义 K8s Operator 监视推理日志并做出反应。恶意流量会触发自动工作负载隔离和密钥轮换,且无停机时间。准入 Webhook (`6_admission_webhook.py`) 拦截 Pod 创建,拒绝未使用 PQC 身份签名的工作负载。 **4. 后量子密码层 (`2_generate_pqc_identity.py`, `generate_keys.py`, `5_sign_image.sh`)** 通过 liboqs 生成 ML-DSA 密钥对,并在部署前对容器镜像进行签名。Kubernetes Operator 在准入时验证签名。如果需要轮换密钥,将自动执行——Operator 处理整个密钥生命周期。 ## 架构 ``` Traffic / Attacker Simulation │ ▼ Flask Inference API ──► traffic_logs.csv (Security_brain.py) │ │ ▼ │ Dashboard (9_final_dashboard.py) ▼ Self-Healing Operator (hardened_operator.py) │ ├──► Quarantine malicious workloads ├──► Rotate PQC secrets (ML-DSA) └──► Admission Webhook blocks unsigned pods ``` ## 文件参考 | 文件 | 功能描述 | |------|-------------| | `3_train_sentinel.py` | 在 WUSTL-IIoT-2021 上训练 XGBoost 模型 | | `7_final_train_with_smote.py` | 使用 SMOTE 重新训练以平衡类别 | | `Security_brain.py` | Flask HTTPS 推理 API | | `sentinel_brain.pkl` | 序列化的已训练模型 | | `k8s_operator.py` | 基础 Kubernetes Operator | | `hardened_operator.py` | 集成 PQC 的加固版 Operator | | `4_self_healing_operator.py` | 自动隔离 + 密钥轮换逻辑 | | `6_admission_webhook.py` | 拦截未签名工作负载的 Webhook | | `2_generate_pqc_identity.py` | 通过 liboqs 生成 ML-DSA 密钥对 | | `generate_keys.py` | 密钥生成工具 | | `5_sign_image.sh` | 使用 PQC 密钥对容器镜像签名 | | `consensus_engine.py` | 威胁决策的多节点共识引擎 | | `quorum_voter.py` | 法定人数投票逻辑 | | `audit_exporter.py` | 导出审计日志 | | `deffence_line.py` | 防御边界逻辑 | | `handshake.py` | 双向 TLS 握手工具 | | `9_final_dashboard.py` | 实时威胁仪表板 | | `attacker.py` | 用于测试的攻击流量模拟器 | | `sentinel-cluster.yaml` | Kubernetes 集群清单 | | `traffic_logs.csv` | 实时推理日志 | ## 安装设置 ### 前置条件 - Python 3.9+ - Kubernetes 集群(本地可用:`kind` 或 `minikube`) - 已安装 liboqs(见仓库根目录的 `liboqs`) - WUSTL-IIoT-2021 数据集([点此下载](https://www.cse.wustl.edu/~jain/iiot2/index.html)) ### 1. 安装依赖项 ``` pip install xgboost scikit-learn imbalanced-learn pandas joblib flask kubernetes ``` ### 2. 训练模型 ``` # 将 WUSTL_IIOT_2021.csv 放置于仓库根目录,随后: python 3_train_sentinel.py # 可选:使用 SMOTE 重新训练以改善类别平衡 python 7_final_train_with_smote.py ``` ### 3. 生成 PQC 身份 ``` python 2_generate_pqc_identity.py python generate_keys.py ``` ### 4. 签署您的容器镜像 ``` bash 5_sign_image.sh ``` ### 5. 部署到 Kubernetes ``` bash setup_cluster.sh kubectl apply -f sentinel-cluster.yaml ``` ### 6. 启动推理 API ``` python Security_brain.py # 正在监听 https://0.0.0.0:8448 ``` ### 7. 运行仪表板 ``` python 9_final_dashboard.py ``` ## 运行攻击者模拟 为了在没有真实恶意流量的情况下测试检测: ``` python attacker.py ``` 这会发送精心构造的包到推理 API,并验证它们是否被分类为 `MALICIOUS` 以及是否触发自愈循环。 ## 数据集 本项目使用 **WUSTL-IIoT-2021** 进行训练,这是一个来自圣路易斯华盛顿大学的标记工业物联网网络流量数据集。它涵盖了正常流量和 7 个攻击类别,包括 DoS、侦察和后门模式。 模型在训练前会丢弃标识性元数据(IP 地址、时间戳),从而学习行为模式而非端点标识符。 ## 技术栈 `Python` · `XGBoost` · `Flask` · `Kubernetes` · `liboqs (ML-DSA)` · `SMOTE` · `Pandas` · `scikit-learn` · `Docker` · `Bash` ## 状态 开发中。核心检测和自愈循环已可用。PQC 准入控制正处于加固阶段。 ## 作者 **Pratyush Sharma** — 网络安全研究员与机器学习工程师 [LinkedIn](https://linkedin.com) · [作品集 / GitHub](https://github.com/Pratyushi0)
标签:AMSI绕过, Apex, Chrome Headless, Flask API, IIoT安全, Kubernetes安全, Web截图, XGBoost分类器, 人工智能, 后量子加密, 后量子密码学, 威胁检测, 子域名突变, 安全网格, 容器安全, 工业网络安全, 应用安全, 机器学习, 用户模式Hook绕过, 秘密轮换, 签名验证, 结构化查询, 网络安全, 自动化安全, 自愈系统, 请求拦截, 逆向工具, 速率限制, 隐私保护