[论文解读] R2-D2: ColoR-inspired Convolutional NeuRal Network (CNN)-based AndroiD Malware Detections
R2-D2 提出了一种基于颜色的卷积神经网络(CNN),通过将 Dalvik 字节码(classes.dex)转换为固定尺寸的 RGB 彩色图像,实现端到端的 Android 恶意软件检测,无需人工特征工程。该系统在 829,356 个 Android 样本上实现了 93% 的准确率和 96% 的检测率,单个应用的推理时间仅为 0.5 秒,并可扩展用于检测勒索软件和以太坊智能合约漏洞。
The influence of Deep Learning on image identification and natural language processing has attracted enormous attention globally. The convolution neural network that can learn without prior extraction of features fits well in response to the rapid iteration of Android malware. The traditional solution for detecting Android malware requires continuous learning through pre-extracted features to maintain high performance of identifying the malware. In order to reduce the manpower of feature engineering prior to the condition of not to extract pre-selected features, we have developed a coloR-inspired convolutional neuRal networks (CNN)-based AndroiD malware Detection (R2-D2) system. The system can convert the bytecode of classes.dex from Android archive file to rgb color code and store it as a color image with fixed size. The color image is input to the convolutional neural network for automatic feature extraction and training. The data was collected from Jan. 2017 to Aug 2017. During the period of time, we have collected approximately 2 million of benign and malicious Android apps for our experiments with the help from our research partner Leopard Mobile Inc. Our experiment results demonstrate that the proposed system has accurate security analysis on contracts. Furthermore, we keep our research results and experiment materials on http://R2D2.TWMAN.ORG.
研究动机与目标
- 为应对 Android 恶意软件日益增长的威胁,该类恶意软件占所有移动恶意软件的 99.87%,并从 2012 年的 100 万例激增至 2016 年的 1,700 万例。
- 克服传统恶意软件检测方法依赖人工特征提取、难以快速适应新型恶意软件的局限性。
- 开发一种端到端的深度学习系统,从原始字节码自动学习特征,降低对专家驱动特征工程的依赖。
- 实现实时检测已知和未知 Android 恶意软件,具备高效率和低延迟。
- 将该方法扩展至通过字节码的视觉模式分析,检测勒索软件家族和以太坊智能合约中的漏洞。
提出的方法
- 通过将字节值映射到颜色通道,将 Android APK 文件中的 Dalvik 字节码(特别是 classes.dex)转换为固定尺寸的 RGB 彩色图像。
- 使用预训练的卷积神经网络(CNN)从颜色编码的图像中自动提取特征,无需人工特征工程。
- 在 2017 年 1 月至 8 月期间收集的 200 万个 Android 应用数据集上训练 CNN,包含良性与恶意样本。
- 利用迁移学习和微调技术,使 CNN 具备高泛化能力,适用于恶意软件检测。
- 通过 TensorFlow Lite 将模型集成到移动设备中,实现在设备端的实时检测,如 R2-D2 的移动版本所示。
- 通过将 Solidity 字节码转换为彩色图像,并使用相同的 CNN 进行训练,将该方法扩展至以太坊智能合约,以检测安全漏洞。
实验结果
研究问题
- RQ1原始 Android 字节码能否被有效转换为保留语义模式的视觉表示,从而有助于恶意软件检测?
- RQ2基于颜色编码字节码的 CNN 模型能否在无需人工特征工程的情况下,实现对已知和未知 Android 恶意软件的高精度检测?
- RQ3R2-D2 系统在检测率、误报率和推理速度方面,与现有最先进恶意软件检测方法相比表现如何?
- RQ4颜色编码的恶意软件字节码中的视觉模式是否可通过人工检查识别勒索软件家族?模型能否检测出人类难以察觉的细微差异?
- RQ5基于颜色的深度学习方法是否可成功应用于检测以太坊智能合约中的漏洞?
主要发现
- 在 829,356 个 Android 样本上,R2-D2 实现了 96% 的检测率和 9% 的误报率,总体准确率达到 93%。
- 系统每个样本的处理时间仅为 0.5 秒,显著快于以往方法中高达 175.8 秒的分析时间。
- 在 2017 年 9 月收集的 20,035 个恶意样本独立测试集中,R2-D2 成功检测出 18,514 个(真阳性率为 91.72%)。
- 在 20,313 个良性样本中,有 1,799 个被错误标记(误报率为 8.85%),表明其具备出色的特异性。
- 对于 5,852 个勒索软件样本,模型实现了 96.88% 的真阳性检测率,表明其在这一高影响恶意软件家族中表现强劲。
- 研究表明,同一家族的勒索软件样本表现出视觉上相似的模式,可实现快速分类,但精细区分仍需依赖 R2-D2 模型。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。