Skip to content

tyatca/immunex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImmuneX | 自免疫安全平台

带洞安全运行 —— 基于 eBPF + 深度学习的浏览器内核漏洞利用检测平台

项目简介

ImmuneX 是一个演示原型,展示如何通过 eBPF 内核探针采集浏览器行为特征,结合 PyTorch 深度神经网络与 IsolationForest 异常检测,实现对浏览器内核漏洞利用的实时检测、攻击类型识别、0-day 变种感知与一键响应处置。

核心理念:借鉴生物免疫思想,即使系统带洞(存在漏洞),也能通过自免疫机制保持安全运行。

架构

Mac Host
  └─ Lima (vz / Hypervisor.framework)
       ├─ soc VM (Ubuntu 24.04, 2C/2G/12G)
       │    ├─ uvicorn model_server:app :8080
       │    ├─ AttackDetectionNet (PyTorch DNN)
       │    ├─ IsolationForest (anomaly detection)
       │    ├─ Pattern matching engine (PoC learning)
       │    └─ Web Dashboard (http://127.0.0.1:8080)
       │
       └─ victim VM (Ubuntu 24.04, 4C/4G/20G)
            ├─ Playwright + Chromium (headless)
            ├─ bpftrace eBPF probe
            ├─ browser_agent (JS behavior injection)
            └─ telemetry_sender → http://192.168.5.2:8080/telemetry

  └─ demo_controller.py (127.0.0.1:8081)
       └─ 接收仪表盘按钮请求,转发到 Victim VM 执行演示/响应

核心能力

  • 攻击类型识别:堆喷射、JIT 喷射、沙箱逃逸、数据窃取
  • 0-day 变种感知:IsolationForest 异常检测 + PoC 模式学习匹配
  • PoC 模式学习:从漏洞 PoC/补丁提取特征模式,持续更新模式库
  • 一键响应处置:终止浏览器进程、阻断网络外联、隔离设备、恢复设备
  • 设备状态监控:实时显示被攻击 VM 的浏览器进程、eBPF 探针状态

快速开始

cd ~/browser_ebpf_soc_demo

# 一键启动两台 VM、SOC 服务、控制器,并跑正常 + 堆喷射演示
bash scripts/start_demo.sh

# 打开仪表盘
open http://127.0.0.1:8080

# 停止 VM(保留数据)
bash scripts/stop_demo.sh

# 彻底删除(VM + 项目 + 镜像缓存)
bash scripts/cleanup.sh

演示流程

  1. 正常状态:仪表盘显示绿色,风险分数在低位
  2. 触发攻击:点击攻击场景(如堆喷射),风险分数冲高,雷达图变形,AI 判定显示攻击类型
  3. PoC 学习:点击「学习 copyfail」,系统学习到 copyfail 漏洞模式
  4. 变种检测:点击「触发 dirtyfrag」,AI 判定显示「小模型:无法精确识别」+「模式匹配:相似度 86%」,弹窗提示「检测到漏洞利用」
  5. 响应处置:点击「隔离设备」,Victim VM 真实终止浏览器 + 阻断网络
  6. 恢复设备:点击「恢复设备」,清空规则,设备恢复正常

技术栈

  • 特征采集:eBPF (bpftrace)、Playwright、JS 行为注入
  • 分类模型:PyTorch AttackDetectionNet (12→64→128→64→32→5)
  • 异常检测:scikit-learn IsolationForest
  • 模式匹配:基于 PoC 特征签名的变种检测引擎
  • 后端:FastAPI、uvicorn
  • 前端:HTML5、Chart.js、毛玻璃 UI
  • 虚拟化:Lima (Apple Hypervisor.framework)
  • 浏览器:Chromium (headless)

模型信息

  • 架构:12→64→128→64→32→5 DNN
  • 参数量:20,165
  • 模型大小:78.8 KB
  • 推理延迟:0.697 ms
  • 平均置信度:99.99%

文件结构

browser_ebpf_soc_demo/
├── soc/                    # SOC 平台
│   ├── model_server.py     # FastAPI 推理服务
│   ├── train_model.py      # 模型训练脚本
│   ├── pattern_learner.py  # PoC 模式学习
│   ├── requirements.txt
│   └── static/index.html   # Web 仪表盘
├── victim/                 # 被攻击设备
│   ├── browser_agent.py    # 浏览器驱动与行为注入
│   ├── ebpf_probe.py       # eBPF 探针封装
│   ├── demo_*.py           # 各攻击类型演示脚本
│   └── test_page.html      # 本地测试页
├── shared/                 # 共享定义
│   ├── schema.py           # 数据模型与攻击类型
│   └── patterns.json       # 漏洞模式库
├── scripts/                # 编排脚本
│   ├── start_demo.sh       # 一键启动
│   ├── stop_demo.sh        # 停止 VM
│   ├── cleanup.sh          # 彻底清理
│   └── demo_controller.py  # 主机侧控制器
└── lima_configs/           # Lima VM 配置
    ├── soc.yaml
    └── victim.yaml

已知限制

  • 模型用合成数据训练,仅用于演示概念
  • eBPF 无法捕获所有 JIT 编译细节,部分攻击类型主要依赖浏览器级特征
  • 网络依赖 Lima vzNAT,两台 VM 通过宿主网关 192.168.5.2 通信
  • 所有数据存内存,重启 SOC VM 后清空

许可证

MIT

Auto-sync enabled

About

自免疫安全平台 | 带洞安全运行 - 基于 eBPF + 深度学习的浏览器内核漏洞利用检测

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors