基于字符串分析的安卓恶意应用检测方法
1. 背景与动机
智能手机如今极为普及,它能让我们随时随地查邮件、上网或和朋友玩游戏。为了充分利用其功能,我们需要在设备上安装各种应用。过去,应用安装是个难题,因为没有集中的下载平台,用户需在网上自行搜索。一些操作系统为防盗版和保护设备,采用认证协议,却给用户带来不便。
如今,随着移动设备广泛联网,新的应用分发和安装方式出现。苹果应用商店开创了线上应用商店模式,大获成功,随后RIM、微软和谷歌等也纷纷效仿。这吸引了大量开发者投身这些平台。
然而,应用市场也出现了恶意软件。安卓和iOS处理恶意软件的方式不同。苹果采用严格审核流程,而安卓依赖安全权限系统和用户判断,但用户往往缺乏安全意识,安装应用时不看权限要求。尽管应用商店条款禁止上传恶意软件,但仍有恶意软件流入。因此,现有的防护模式不足以确保安全,需要新方法提升设备安全性。
机器学习分类在恶意软件检测中应用广泛,已有多种方法用于对可执行文件分类,确定恶意软件类别或家族。在安卓领域,新的恶意软件样本数量呈指数级增长,也有不少检测方法被提出。
2. MADS方法概述
在此背景下,提出了MADS(Malicious Android applications Detection through String analysis)方法,通过提取安卓应用中的字符串,构建机器学习分类器来检测恶意软件。主要贡献如下:
- 提出基于反汇编应用中字符串的词袋模型来表示安卓应用的新技术。
- 适配知名机器学习分类器用于安卓恶意应用检测。
- 发现使用反汇编应用中的字符串作为特征,机器学习算法可实现安卓恶意应用检测。