nvsaigokul-sudo/Cyber-Sentinel

GitHub: nvsaigokul-sudo/Cyber-Sentinel

一个隐私优先的阅后即焚匿名通信平台,内置基于机器学习的基础设施级行为威胁检测与 AI 辅助事件响应能力。

Stars: 0 | Forks: 0

# 🛡️ CyberSentinel ### 隐私优先的阅后即焚通信与实时网络威胁情报平台

## 📋 项目概述 **CyberSentinel** 是一个企业级、隐私优先的阅后即焚通信基础设施,采用 **Spring Boot 微服务架构** 构建。该平台允许两名用户通过临时的、匿名的、仅存于内存的基于房间的会话进行通信——实现 **零消息持久化、零账号、零传统数据库**。 一个 **行为网络威胁情报引擎** 在后台静默运行,持续监控所有基础设施级别的活动——WebSocket 模式、API 请求行为、房间访问异常、流量偏差——并使用机器学习算法来检测、分类和预测针对平台本身的网络攻击。 安全管理员可以访问一个 **企业级实时安全仪表盘**,并获得由 **Google Gemini AI** 提供支持的 AI 辅助威胁缓解功能。 ## 🌟 核心理念 ### 隐私优先架构 CyberSentinel 刻意避免: - ❌ 永久聊天数据库 - ❌ 消息历史或日志 - ❌ 持久化会话存储 - ❌ 用户账号或个人资料 - ❌ 任何形式的通信留存 所有通信会话均: - ✅ 临时且基于内存 - ✅ 自动过期(通过 Redis 实现 30 分钟 TTL) - ✅ 阅后即焚(断开连接后即销毁) - ✅ 匿名(无需身份认证) ### 基础设施安全焦点 监控引擎分析: - WebSocket 连接速率与模式 - 通过 Gateway 的 API 请求行为 - 房间访问模式与暴力破解尝试 - 流量异常与频率激增 - 序列攻击签名关联 它 **绝不** 分析消息内容——保证绝对的隐私。 ## 🏗️ 系统架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ CYBERSENTINEL ARCHITECTURE │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ React Frontend (Nginx) │ │ │ │ │ ▼ │ │ Spring Cloud Gateway ──────────► Rate Limiting (Redis) │ │ │ │ │ ┌────┴──────────────────────────────────┐ │ │ │ │ │ │ ▼ ▼ │ │ Room Service Chat Service │ │ (Redis TTL Keys) (WebSocket/STOMP) │ │ │ │ │ │ └──────────────────┬────────────────────┘ │ │ │ infrastructure-events (Redis PubSub) │ │ ▼ │ │ Monitoring Service ◄── Metrics Aggregator │ │ │ │ │ ▼ │ │ Threat Intelligence Service │ │ ┌─────────────────────────┐ │ │ │ Sliding Window │ │ │ │ K-Means Clustering │ │ │ │ Markov Chain │ │ │ │ Statistical Deviation │ │ │ │ Sequential Patterns │ │ │ └──────────┬──────────────┘ │ │ │ alerts-channel (Redis PubSub) │ │ ┌──────┴─────────┐ │ │ │ │ │ │ ▼ ▼ │ │ Alert Service Dashboard Service │ │ (SSE Stream) (Analytics API) │ │ │ │ │ └──────────► Gemini AI Service │ │ (Threat Explanation) │ │ │ └──────────────────────────────────────────────────────────────┘ ``` ## 🧩 微服务拆分 | 服务 | 端口 | 描述 | |---|---|---| | `gateway-service` | 8080 | Spring Cloud Gateway — 集中路由 + Redis 限流 | | `room-service` | 8081 | 使用 5 位密钥的临时房间创建,Redis TTL 为 30 分钟 | | `chat-service` | 8082 | WebSocket/STOMP 实时消息传递 — 零消息存储 | | `monitoring-service` | 8083 | 从 Redis pub/sub 聚合的基础设施遥测数据 | | `threat-intelligence-service` | 8084 | 基于 ML 的行为威胁检测引擎 | | `dashboard-service` | 8085 | 为安全仪表盘提供支持的 Analytics API | | `alert-service` | 8086 | Server-Sent Events (SSE) 实时警报广播器 | | `gemini-ai-service` | 8087 | Gemini AI 威胁解释与缓解命令 | | `frontend` | 80 | 通过 Nginx 提供的 React + Tailwind CSS SPA | | `redis` | 6379 | 临时内存层 — 所有数据均随 TTL 过期 | ## 🔬 威胁检测算法 `threat-intelligence-service` 实现了六种独特的行为分析方法: ### 1. 滑动窗口分析 - 监控 10 秒、30 秒、1 分钟、5 分钟滚动窗口内的事件频率 - 检测请求激增、流量爆发、快速的房间活动及基础设施异常 - 当超出阈值时触发 `API_FLOOD` 或 `SOCKET_FLOOD` 警报 ### 2. 频率模式分析 - 检测异常请求频率与重连泛洪 - 识别重复的无效房间密钥尝试,作为暴力破解指标 - 当 30 秒内出现 ≥5 次无效尝试时,触发 `INVALID_ROOM_BRUTE_FORCE` ### 3. 序列模式识别 - 追踪单个 IP 的事件序列(最后 4 个事件) - 检测协同攻击签名: INVALID_ROOM_ATTEMPT → API_FLOOD → SOCKET_CONNECT - 触发严重级别为 `CRITICAL` 的 `SEQUENTIAL_ATTACK` ### 4. 统计偏差检测 (Apache Commons Math) - 使用 `DescriptiveStatistics` 计算事件速率的滚动平均值和标准差 - 标记超出历史平均值 **3 个标准差** 的事件 - 触发严重级别为 `MEDIUM` 的 `ANOMALY_DETECTION` ### 5. K-Means 聚类 - 将基础设施流量配置文件分组为正常集群与异常集群 - 使用基于 IP 的特征:[event_rate_per_min, invalid_attempt_count] - 在滚动的 100 个样本历史窗口上动态重新训练 ### 6. Markov Chain 状态转移预测 - 对系统状态进行建模:`NORMAL → SUSPICIOUS → FLOODING → CRITICAL` - 使用 4×4 转移矩阵计算下一状态的转移概率 - 自学习:根据观察到的转移更新矩阵权重 - 在 Cyber AI Predictor 仪表盘视图中实时显示 ## 🖥️ 前端视图 ### 1. 聊天门户 (`/`) 面向公众的阅后即焚聊天界面: - 创建临时房间 → 接收 5 位访问密钥 - 与对端共享密钥 → 他们使用显示别名进行连接 - 实时 STOMP WebSocket 通信 - 消息仅存在于浏览器内存中 — 刷新即销毁 - 始终显示隐私横幅 ### 2. 安全仪表盘 (`nav → Sec Dashboard`) 面向管理员的分析界面: - 实时基础设施遥测图表(API 流量、Redis 延迟、Socket 负载) - 威胁载体活动雷达图(攻击热力图) - 微服务集群拓扑健康网格(UP/DEGRADED/DOWN) - 滚动系统稳定性得分(0–100%) ### 3. Cyber AI 预测器 (`nav → Cyber AI Predictor`) 实时威胁情报与 AI 助手: - Markov Chain 转移概率条(实时更新) - 实时通过 SSE 流式传输的威胁警报推送 - 点击任意警报 → Gemini AI 会分析威胁并返回: - 威胁分类与解释 - 缓解建议 - 可操作的 firewall/shell 命令(可复制) ## 🔒 安全特性 - **无持久化存储** — 所有数据均通过 Redis 随 TTL 过期 - **仅限基础设施监控** — 绝不检查私人消息 - **速率限制** — Gateway 通过 Redis 计数器对每个 IP 强制执行 60 req/min 的限制 - **会话隔离** — 房间以 5 位临时代码作为密钥 - **行为异常检测** — 基于 ML 的威胁情报 - **CORS 保护** — 通过 Gateway 配置允许的来源 - **自动过期房间** — 30 分钟不活动 TTL - **无用户账号** — 设计上首选匿名 ## 🛠️ 技术栈 ### 后端 | 类别 | 技术 | |---|---| | 框架 | Spring Boot 3.2.5 | | 微服务 | Spring Cloud Gateway 2023.0.1 | | WebSocket | Spring WebSocket + STOMP Protocol | | 缓存 / 内存 | Redis 7 | | 监控 | Spring Boot Actuator + Micrometer | | ML / 聚类 | Weka 3.8.6 (K-Means) | | 统计 | Apache Commons Math 3.6.1 | | AI | Google Gemini API (gemini-1.5-flash) | | 语言 | Java 17 | | 构建 | Apache Maven | ### 前端 | 类别 | 技术 | |---|---| | 框架 | React 18 + Vite 5 | | 样式 | Tailwind CSS 3 | | 图表 | Recharts 2 | | 图标 | Lucide React | | WebSocket 客户端 | @stomp/stompjs | | 警报流 | Server-Sent Events (SSE) | | 字体 | Outfit + JetBrains Mono (Google Fonts) | ### 基础设施 | 类别 | 技术 | |---|---| | 容器化 | Docker + Docker Compose | | 前端服务器 | Nginx 1.25 Alpine | | 基础 JRE | Eclipse Temurin 17 Alpine | ## 📊 Redis 架构 所有 Redis 密钥均使用 TTL 过期 — **不存在永久存储**。 | Redis 键模式 | 描述 | TTL | |---|---|---| | `room:key:{5-digit-key}` | 临时房间会话数据 | 30 分钟 | | `ratelimit:{ip}` | Gateway 速率限制桶 | 1 分钟 | | `monitoring:logs` | 滚动基础设施事件日志 | 1 小时 | | `monitoring:metrics:current` | 最新基础设施遥测数据 | 1 小时 | | `monitoring:metrics:history` | 滚动指标时间线(120 条记录) | 1 小时 | | `threats:alerts` | 滚动威胁警报列表(100 条记录) | 1 小时 | | `threats:escalation` | 当前系统稳定性与 Markov 状态 | 1 小时 | ### Redis Pub/Sub 频道 | 频道 | 发布者 | 订阅者 | |---|---|---| | `infrastructure-events` | Gateway, Room, Chat services | Monitoring Service, Threat Intelligence Service | | `alerts-channel` | Threat Intelligence Service | Alert Service (SSE 广播) | ## 🔮 未来增强功能 - 用于消息 payload 的端到端加密 (E2EE) - 结合 Helm charts 的 Kubernetes 编排 - 自适应学习系统 — 动态算法阈值调优 - 自动化防御动作(自动封禁、自动扩容、断路器) - 用于 SOC 培训的攻击重放模拟 - 跨联邦节点的分布式威胁情报 - AI 驱动的基础设施强化建议 - 点对点 (Peer-to-Peer) 通信层 ## 📄 许可证 该项目基于 **MIT License** 授权。

使用 ❤️ 基于 Spring Boot + React + Redis + Gemini AI 构建
隐私优先。阅后即焚。安全可靠。

标签:React, Spring Boot, Syscalls, 即时通讯, 域名枚举, 威胁情报, 开发者工具, 微服务架构, 版权保护, 红队行动