prajwalhchalawadi/Android-Malware-Detection-
GitHub: prajwalhchalawadi/Android-Malware-Detection-
利用1D/2D CNN和可解释AI技术对Android应用进行恶意软件静态分析与分类的机器学习项目。
Stars: 0 | Forks: 0
# Android-Malware-Detection-
使用 CNN 和特征分析进行恶意软件分类的机器学习项目
# 使用 CNN 进行 Android 恶意软件检测
# 使用 CNN 与 Explainable AI 进行 Android 恶意软件检测
## 📌 概述
本项目专注于使用深度学习技术将 Android 应用程序检测为**恶意软件**或**正常软件**。我们利用从应用程序中提取的静态特征来训练卷积神经网络 (CNN),并应用可解释性技术来解释模型的决策。
## 📊 数据集
- 总样本数:4464 个 Android 应用程序
- 特征:241 个静态特征
- 类别:恶意软件,正常软件
## ⚙️ 方法论
### 1D CNN (基于特征的模型)
- 使用结构化的 CSV 数据构建 1D CNN
- 捕获静态特征之间的关系
### 2D CNN (基于图像的模型)
- 将特征向量转换为灰度图像
- 应用 2D CNN 分析空间特征表示
### 模型评估
- 应用了 **5 折交叉验证 (5-Fold Cross Validation)**
- 与 **Random Forest 模型**的性能进行了比较
## 🔍 可解释 AI (Explainable AI)
- **Grad-CAM**:用于可视化 CNN 模型中的特征重要性
- **LIME**:用于提供预测的局部可解释性
- 有助于理解*为什么*某个预测会被分类为恶意软件
## 📈 结果
- 达到了 **95–97% 的准确率**
- 在交叉验证中表现稳定
- 识别出了影响恶意软件检测的关键特征
## 🛠️ 技术栈
- Python
- TensorFlow / Keras
- Scikit-learn
- Google Colab
- NumPy, Pandas, Matplotlib
## ▶️ 运行说明
1. 在 **Google Colab** 中打开 Notebook
2. 上传数据集 (CSV 文件)
3. 按顺序运行所有单元格
4. 查看:
- 模型准确率
- Grad-CAM 可视化
- 特征重要性输出
## 📸 输出示例
(在此处添加截图:准确率曲线图、Grad-CAM 结果等)
## 📌 核心亮点
- 混合方法:基于特征的 CNN + 基于图像的 CNN
- 高度关注 **可解释 AI (Explainable AI)**
- 结合真实数据集的实际应用
- 适用于网络安全和 ML 应用程序
## 👨💻 作者
**Prajwal H Chalawadi**
电子与通信工程师
标签:1D CNN, 2D CNN, AMSI绕过, Android恶意软件检测, Apex, CNN, Google Colab, Grad-CAM, Keras, LIME, Matplotlib, NumPy, Python, Scikit-learn, TensorFlow, XAI, 交叉验证, 人工智能安全, 卷积神经网络, 可解释人工智能, 合规性, 图像表示, 威胁检测, 密钥泄露防护, 数据科学, 无后门, 机器学习, 机器学习安全, 深度学习, 特征分析, 资源验证, 逆向工具, 随机森林, 静态特征提取