基于CNN的Android恶意软件检测
1 背景知识1.1 传统恶意软件检测方式基于签名的检测比对应用的二进制代码与本地已知恶意签名库中的特征码速度快、误报低、漏报高只能识别已知威胁无法检测零日攻击恶意软件通过混淆或者变形技术容易绕过检测基于行为的检测动态分析应用在运行时的行为能识别未知恶意软件适应性强。计算开销大、误报率高传统杀毒软件以签名检测为主现代产品已逐步融合行为检测与AI技术但签名仍是基础1.2 android虚拟机Android≤4.4采用 Dalvik 虚拟机5.0 以后采用 ARTDalvik应用每次启动时把 DEX 字节码编译成机器码边跑边译启动慢、运行时额外 CPU/耗电ART预先编译安装或首次充电闲置时就把 DEX 编译成本地机器码启动快、运行流畅2. 数据处理2.1 数据源1000恶意样本VirusShare1000善意样本Google Play Store APKPure2.2 转化为图像处理对象整个APK、APK中的DEX文件当作二进制文件逐个字节读取根据文件大小在预定义的 60–1440 像素之间选一个合适的图像宽度将字节序列按选定的宽度重排成二维矩阵每个字节直接作为灰度像素值将灰度矩阵存成 224×224 PNG像素值归一化为[0,1]有助于提高模型稳定性与收敛性2.3 数据划分20%测试集80%训练集3 模型3.1 custom CNNConv132 个滤波器 → ReLU → MaxPoolConv264 个滤波器 → ReLU → MaxPoolConv3128 个滤波器 → ReLU → MaxPoolFlatten → Dense(128) → ReLUDropout(p 0.5)Dense(1) Sigmoid → 二分类输出恶意 / 良性3.2 VGG19ResNet50微调冻结卷积层训练增加的全连接分类头4 训练损失函数binary cross-entropy优化器Adambatch size32epoch整个APK20DEX305 评估6 结论使用CNN进行Android malware检测时只提取DEX就足够了阅读原文A Deep Learning-Driven Image Transformation Approach for Android Malware Detection using CNN and Transfer Learning Techniques
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2501779.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!