rohanteja09/Android-Malware-Detection-using-Static-and-Dynamic-Analysis
GitHub: rohanteja09/Android-Malware-Detection-using-Static-and-Dynamic-Analysis
结合静态权限分析与动态网络流量分析,利用机器学习和深度学习模型对 Android 应用进行恶意软件分类与检测的研究型项目。
Stars: 0 | Forks: 0
本项目展示了一个 Android 恶意软件检测系统,该系统结合了静态分析(基于权限)和动态分析(基于网络流量),并使用了机器学习和深度学习技术。
该系统能够根据行为模式将 Android 应用程序分类为良性或恶意。
这项工作已发表在 ICICST 2026(NIT J 会议)上。
🚀 功能
🔍 基于权限特征的静态分析
🌐 基于网络流量数据的动态分析
🤖 多种机器学习模型:KNN、Gaussian Naive Bayes、Decision Tree、Random Forest
🧠 深度学习模型:一维卷积神经网络(1D-CNN)
📊 使用 Accuracy、Precision、Recall、F1-score 和 Cohen’s Kappa 进行模型评估
🏆 模型比较和排名,以选择性能最佳的算法
💻 使用 HTML 和 CSS 构建的前端 Web 界面,用于用户交互
🛠️ 技术栈
编程语言:Python
库:Pandas、NumPy、Scikit-learn、TensorFlow/Keras
前端:HTML、CSS
工具:Jupyter Notebook、Anaconda
📂 数据集
本项目使用了两个数据集:
静态数据集
从 Android 应用程序中提取的基于权限的特征
动态数据集
网络流量特征,例如:
TCP 数据包
UDP 数据包
DNS 查询
字节传输值
⚙️ 工作原理
从静态和动态数据集中收集数据
进行数据预处理:
缺失值处理
异常值剔除
Label encoding
特征缩放(RobustScaler)
训练并评估多种机器学习模型
在动态特征上训练 1D-CNN 模型
使用排名方法对模型进行比较
选择表现最佳的模型进行预测
🌐 Web 应用程序
使用 HTML 和 CSS 开发了一个简单的前端界面,其中:
用户可以输入特征值
训练好的模型处理输入
系统预测应用程序是否为:
✅ 良性
❌ 恶意
📊 结果
在静态和动态分析中均实现了高准确率
Decision Tree 和 Random Forest 在静态/动态模型中表现良好
1D-CNN 提高了对复杂行为模式的检测能力
📌 未来展望
与实时移动设备监控集成
部署为基于云的恶意软件检测服务
开发带有后端 API 的全栈 Web 应用程序
使用更新的恶意软件数据集进行持续学习
📜 发表
这项研究工作已发表在 ICICST 2026(NIT J 会议)上。
👨💻 作者
Rohan Teja Nallapaneni
标签:Android恶意软件检测, Apex, NoSQL, Python, TensorFlow, 云安全监控, 多模态安全, 无后门, 机器学习, 深度学习, 逆向工具, 静态分析