shreyaaa26-codes/AI-based-Cryptographic-Side-Channel-Attack-Detection-and-Defense
GitHub: shreyaaa26-codes/AI-based-Cryptographic-Side-Channel-Attack-Detection-and-Defense
基于机器学习与深度学习的密码学侧信道泄漏检测框架,从功耗轨迹中识别漏洞并自动生成防御建议。
Stars: 0 | Forks: 0
# 🔐 基于 AI 的密码学侧信道攻击检测与防御





## 📌 概述
本项目提出了一种基于 AI 的框架,利用机器学习和深度学习技术来检测和分析密码学侧信道泄漏。
该系统利用 ASCAD (ANSSI Side-Channel Analysis Database) 数据集,从功耗轨迹中识别信息泄漏模式,并提供自动化的防御建议,以增强密码学安全性。
该框架结合了:
- 统计泄漏分析
- 特征工程
- 随机森林分类
- 基于 CNN 的泄漏检测
- 泄漏严重性评分
- 可解释 AI 技术
- 自动化防御建议引擎
## 🎯 目标
- 从功耗轨迹中检测密码学侧信道漏洞。
- 使用机器学习和深度学习模型对泄漏模式进行分类。
- 分析泄漏的严重程度。
- 生成自动化的防御建议。
- 提升密码学实现的安全评估水平。
## 🏗️ 系统架构
```
ASCAD Dataset
│
▼
Data Preprocessing
│
▼
Feature Extraction
│
├──► Random Forest Classifier
│
└──► CNN-Based Leakage Detection
│
▼
Leakage Severity Analysis
│
▼
Defense Recommendation Engine
```
## 🚀 核心功能
### 🤖 基于 AI 的泄漏检测
自动检测存在漏洞的密码学轨迹。
### 📍 泄漏定位
利用统计方差分析识别功耗轨迹中易发生泄漏的区域。
### 🧠 混合 ML + 深度学习流水线
结合了:
- 随机森林 (可解释的基线模型)
- CNN (深度学习检测)
### ⚠ 泄漏严重性评分
分配风险等级:
- 低
- 中
- 高
### 🔎 可解释 AI
使用 CNN 显著性图来突出显示:
- 敏感执行区域
- 重要时间样本
- 驱动泄漏的信号模式
### 🛡️ 防御建议引擎
将泄漏的严重程度映射到实用的密码学防御对策。
## 📊 数据集
### ASCAD (AES Side-Channel Analysis Database)
数据集特征:
- 50,000 条 AES 功耗轨迹
- 真实的硬件泄漏测量
- AES 加密操作
- 侧信道泄漏标签
- 用于安全研究的基准数据集
## 🔬 方法论
### 1. 泄漏定位
对齐后的轨迹进行基于方差的统计分析,以识别易发生泄漏的区域。
### 2. 特征提取
提取统计描述符,包括:
- 能量
- 方差
- 信号统计
- 泄漏指标
### 3. 随机森林分类器
提供:
- 快速检测
- 特征重要性分析
- 可解释的基线性能
### 4. 基于 CNN 的泄漏检测
一维卷积神经网络 (1D CNN) 学习:
- 泄漏特征
- 敏感执行模式
- 复杂的非线性泄漏行为
### 5. 泄漏严重性评分
| 严重性 | 建议操作 |
|----------|-------------------|
| 低 | 继续监控 |
| 中 | 噪声注入 / 隐藏 |
| 高 | 掩码 / 随机化 |
### 6. 可解释 AI
显著性图可视化:
- 重要的轨迹片段
- 易发生泄漏的区域
- 模型决策因素
## 📈 结果
| 模型 | 准确率 | 精确率 | 召回率 | F1 分数 |
|---------|----------|----------|--------|---------|
| 逻辑回归 | 84.2% | 83.7% | 84.0% | 83.8% |
| CNN (原始轨迹) | **96.6%** | **96.4%** | **96.7%** | **96.5%** |
## 📂 项目结构
```
AI-based-Cryptographic-Side-Channel-Attack-Detection-and-Defense/
│
├── scripts/
│ ├── preprocess_traces.py
│ ├── train_rf_baseline.py
│ ├── train_cnn_pytorch.py
│ ├── leakage_severity.py
│ ├── explain_cnn_leakage.py
│ └── defense_recommendation.py
│
├── data/
│
├── README.md
└── requirements.txt
```
## 🛠️ 使用技术
### 编程语言
- Python
### 机器学习
- Scikit-Learn
- 随机森林
- 逻辑回归
### 深度学习
- PyTorch
- 卷积神经网络 (CNN)
### 数据处理
- NumPy
- Pandas
- H5Py
### 可视化
- Matplotlib
## ⚙️ 安装说明
```
git clone https://github.com/shreyaaa26-codes/AI-based-Cryptographic-Side-Channel-Attack-Detection-and-Defense.git
cd AI-based-Cryptographic-Side-Channel-Attack-Detection-and-Defense
pip install -r requirements.txt
```
## ▶️ 用法
训练随机森林:
```
python scripts/train_rf_baseline.py
```
训练 CNN:
```
python scripts/train_cnn_pytorch.py
```
运行泄漏严重性分析:
```
python scripts/leakage_severity.py
```
生成防御建议:
```
python scripts/defense_recommendation.py
```
## 🔮 未来增强功能
- 实时泄漏监控
- 基于 Streamlit 的仪表板
- 实时风险可视化
- 支持 RSA/ECC 侧信道攻击
- 基于 Transformer 的泄漏检测
- 硬件安全验证集成
## 🏅 研究展示
展示于:
**ISCADS 2026 – Indian Symposium on Cybersecurity and Data Science**
Manipal Institute of Technology Bengaluru
Manipal Academy of Higher Education
## 👩💻 作者
- Shreya L
- Dhruti Aravind
- Nishanth Shet
- MK Koushik Iyer
## ⭐ 项目亮点
- 基于 AI 的侧信道攻击检测
- 密码学安全评估
- 集成可解释 AI
- 自动化防御建议系统
- 以研究为导向的网络安全项目
标签:Apex, 人工智能, 侧信道分析, 凭据扫描, 密码学, 手动系统调用, 机器学习, 深度学习, 用户模式Hook绕过, 网络安全, 逆向工具, 隐私保护