Shashwatology/SentinelAI

GitHub: Shashwatology/SentinelAI

SentinelAI 是一个基于无监督机器学习和启发式风险引擎的 SSH 威胁情报与异常检测平台,解决零标签环境下恶意登录行为识别和动态风险评分问题。

Stars: 2 | Forks: 1

# 🛡️ SentinelAI — 自适应 SSH 威胁情报与无监督异常检测平台 ### **🔒 学术分类与所有权归属** * **唯一作者**: **Shashwat Upadhyay** * **学术身份 (UID / Email)**: [shashwat.upadhyay24@sakec.ac.in](mailto:shashwat.upadhyay24@sakec.ac.in) * **法律所有权与版权**: **© 2026 Shashwat Upadhyay. 保留所有权利。** * *未经唯一作者明确书面许可,不得以任何形式或任何方式复制、分发或修改本仓库的任何部分。* ## **1. 执行摘要与研究范式** SentinelAI 是一个生产级的主机-网络关联入侵检测平台,旨在以**零标签、部署优先的范式**运行。在实际的企业部署中,运行时完全无法获得真实标签。在此约束下,SentinelAI 将启发式行为风险引擎与无监督 Isolation Forest 模型相结合,以提供强大的威胁评分、异常检测和防御建议。 与需要大量预标记训练流的标准监督分类器不同,SentinelAI 无需标记输入即可运行,实现了最先进的无监督威胁捕获。 ## **2. 系统架构** ``` ┌────────────────────────┐ │ Host SSH Auth Logs │ └───────────┬────────────┘ │ ▼ ┌────────────────────────┐ │ Log Ingestion Parser │ └───────────┬────────────┘ │ ▼ ┌────────────────────────┐ │ Feature Extraction │ │ (6-Feature Dimensions)│ └───────────┬────────────┘ │ ▼ ┌────────────────────────┐ │ Behavioral Risk Engine │ └───────────┬────────────┘ │ ▼ ┌────────────────────────┐ │ Anomaly Detector (ML) │ │ (Isolation Forest) │ └───────────┬────────────┘ │ ▼ ┌────────────────────────┐ │ Defense Action Engine │ └───────────┬────────────┘ │ ▼ ┌────────────────────────┐ │ Persistent Threat DB │ └───────────┬────────────┘ │ ▼ ┌────────────────────────┐ │ Command Center UI & │ │ Interactive Simulator│ └────────────────────────┘ ``` ## **3. 科学特征工程与映射** SentinelAI 将主机日志平面与网络流平面连接起来。为了根据基准网络数据集验证主机行为指标,定义并锁定了以下代理列映射: | 主机行为特征 | 网络代理 (CICIDS2017 Tuesday Flow) | 科学与经验依据 | | :--- | :--- | :--- | | **`failed_attempts`** | `Fwd Packets/s` | 无 payload 的高前向数据包速率匹配了重复的身份验证失败循环。 | | **`successful_logins`** | `Flow Duration` (缩放后) | 成功建立的 SSH 活动 shell 表现出较长的流持续时间。 | | **`invalid_user_attempts`**| `RST Flag Count` | 服务器发送的 TCP 重置指示了凭据/用户名被拒绝。 | | **`attack_span_seconds`** | `Flow Duration` / 1e6 | 以秒为单位的总连接持续时间。 | | **`username_diversity`** | `RST Flag Count / Total Fwd Packets` | 被拒绝尝试与总尝试数据包的比率。 | | **`unique_users_targeted`**| *在网络平面上省略* | 在存在用户名字段的主机日志平面上进行验证。 | ## **4. 实证结果与交叉验证** ### **A. 网络平面性能 (CICIDS2017 上的分层 5 折交叉验证)** `app/evaluator.py` 中的评估套件在 **15,897 条记录**(5,897 条 SSH-Patator 攻击,10,000 条 Benign 流量)的平衡矩阵上运行 5 折分层交叉验证。校验和验证副本:`47e750fde97aab63310eea9ae4877c1c0e399b2fc76a3855f65bb84d9a5b8bc9`。 | 模型类别 | Precision | Recall | F1-Score | ROC-AUC | | :--- | :---: | :---: | :---: | :---: | | **监督式 Random Forest** *(上界)* | 0.874 | 0.972 | 0.920 | 0.980 | | **One-Class SVM** *(无监督基线)* | 0.004 | 0.001 | 0.001 | 0.147 | | **Fail2Ban 启发式** | 0.283 | 0.498 | 0.361 | 0.505 | | **启发式基线** | 0.276 | 0.499 | 0.356 | 0.474 | | **SentinelAI 混合引擎** | **0.253** | **0.565** | **0.349** | **0.356** | ### **B. 主机平面性能 (Cowrie 校准的蜜罐日志)** 在 `auth_benchmark.log` 上进行评估,这是一个合成的身份验证流,经过精确校准以表示标准 **Cowrie/Kippo SSH 蜜罐**研究中的登录序列、用户名和暴力破解特征。 * **HIDS 平面 F1-Score**: **`1.00`** (完美捕获撞库、隐蔽字典和爬虫机器人)。 ## **5. 多维消融与敏感性分析** ### **A. 特征消融研究** * **3 特征配置 F1-Score**: `0.9206` * **5 特征 (扩展) 配置 F1-Score**: `0.9204` * *结论*: 特征扩展在增加多维主机级弹性的同时,保持了极高的分类准确性。 ### **B. 组件消融研究** * **仅启发式风险引擎 F1-Score**: `0.356` * **仅 Isolation Forest ML F1-Score**: `0.001` * **SentinelAI 组合混合 F1-Score**: `0.349` * *结论*: 组合相关性保护系统免受原始无监督网络噪声的影响。 ### **C. 权重敏感性分析** 将威胁权重改变 **$\pm50\%$** 产生的 F1 方差微乎其微,**不到 $\pm1\%$**,证明风险模型在数学上是稳定的,并且不依赖于过度调整的参数。 ## **6. 设置与安装** ### **前置条件** * Python 3.10+ * FastAPI & Streamlit ### **安装步骤** 1. **克隆仓库**: git clone https://github.com/Shashwatology/SentinelAI.git cd SentinelAI 2. **初始化虚拟环境与依赖**: python -m venv venv .\venv\Scripts\activate # Windows source venv/bin/activate # Linux/MacOS pip install -r requirements.txt 3. **训练生产模型**: python -m app.model_trainer *这将生成预训练的 `sentinel_model.pkl` 二进制文件,用于快速的静态推理。* 4. **运行研究与基准测试套件**: python -m app.evaluator *这将下载 CICIDS2017 数据集,运行分层 5 折交叉验证,并将结果缓存到 `app/evaluation_results.json`。* 5. **启动服务器**: * **后端服务器**: python -m uvicorn app.api:app --host 127.0.0.1 --port 8000 * **Streamlit 命令驾驶舱**: python -m streamlit run dashboard.py ## **7. 部署的生产命令驾驶舱** 活动的命令驾驶舱具有高度精致的深色模式样式: * **宇宙排版与布局**:使用专业的几何字体(`Outfit` 和 `Inter`)构建,以实现最大的视觉清晰度。 * **毛玻璃卡片**:发光的视觉指标显示威胁率、活动警报和 ML 异常标签。 * **活动启发式模拟器**:包含实时滑块,允许研究人员动态更改权重,并实时查看所有 15,897 条记录上重新计算的 F1-Score 图表。 * **雷达扫描监控**:实时脉动的侧边栏扫描扫掠。 ### **🔒 版权与联系** 有关咨询、授权或学术复制请求,请联系唯一作者: **Shashwat Upadhyay** — [shashwat.upadhyay24@sakec.ac.in](mailto:shashwat.upadhyay24@sakec.ac.in)
标签:Apex, Kubernetes, 人工智能, 威胁情报, 开发者工具, 异常检测, 机器学习, 用户模式Hook绕过, 红队行动, 网络安全, 逆向工具, 隐私保护