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 的密码学侧信道攻击检测与防御 ![Python](https://img.shields.io/badge/Python-3.10+-blue) ![Machine Learning](https://img.shields.io/badge/Machine%20Learning-Random%20Forest-green) ![Deep Learning](https://img.shields.io/badge/Deep%20Learning-CNN-orange) ![Cybersecurity](https://img.shields.io/badge/Cybersecurity-Side%20Channel%20Analysis-red) ![Research Project](https://img.shields.io/badge/Status-Research%20Project-success) ## 📌 概述 本项目提出了一种基于 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绕过, 网络安全, 逆向工具, 隐私保护