论文部分内容阅读
大数据时代的典型展现是海量移动应用的普遍使用。随着移动设备的普及,人们越来越多地开始利用各种各样的移动应用来丰富日常生活。例如人们利用移动应用进行网上购物、网上支付、在线聊天、在线阅读等。搭载安卓系统的智能设备的市场占有率超过85%,加之安卓系统的开源性特点,致使该系统运行的安卓应用(App)成为攻击者的重要攻击目标。攻击者将攻击目标由PC端转移到移动端的趋势十分明显。移动应用安全领域最为关注的研究方向是:(1)基于安卓应用的主动恶意行为攻击,即攻击者利用各种恶意代码进行安卓应用攻击,以达到攻击者的非法目的。例如获取安卓用户的个人信息,推送恶意广告等;(2)安卓应用自身代码存在安全质量问题,即安卓应用中存在可以被攻击者利用的应用代码漏洞。其中,安卓用户最为关注的是个人敏感数据泄漏相关的漏洞。同时,安卓应用漏洞也会催生相关安卓恶意软件的发展。因此,上述这两方面的问题严重影响到了安卓应用生态系统的安全性。针对显著影响安卓应用生态系统安全性的上述两方面问题,本文研究的主要目标是通过安卓恶意软件排查和安卓应用漏洞挖掘以切实降低安卓应用生态系统的安全风险。由于安卓恶意软件的危害性,催生了许多针对安卓恶意软件排查的工作。相比较于基于签名匹配、恶意行为定义、数据流分析的安卓恶意软件排查方法,基于机器学习分类器的方法在安卓恶意软件排查领域能够取得更好的效果,并且对于变种恶意软件具有识别能力。但是,基于机器学习的方法具有以下问题:(1)现有数据集合过小,过时,且恶意种类不平衡。(2)特征集合都是基于权限声明和系统调用,语义和代表性不足。(3)时间和资源消耗过大。(4)基于理想环境下的安卓恶意软件识别,未考虑对抗性环境下的攻击场景(隐藏攻击和投毒攻击致使分类器失效)。另一方面,对于安卓应用漏洞的挖掘研究同样存在以下问题:(1)缺乏特定安卓类别(例如银行应用)的漏洞基准;(2)缺乏自动化敏感数据标签技术,致使漏洞挖掘结果存在大量的假阳性;(3)缺乏企业界对已发现漏洞的有效验证和反馈。为此,本文针对安卓恶意软件排查和安卓应用漏洞挖掘两个密切相关的研究方向,在以下几个方面进行了深入的研究:·首次利用大数据统计分析和信息增益相结合的分类器特征选取方法。选取最具代表性的、具有区分度的行为和语义特征集合。本文研究的数据集合来源于企业合作伙伴盘古公司的一手数据。基于该方法提出的基于机器学习和流式处理框架的安卓恶意软件排查系统Storm Droid成为该研究领域的基准之一。·首次提出多维度相似度过滤的自适应方法和两阶段迭代机制。以应对安卓恶意软件分类器在对抗性攻击环境下存在的高漏报率问题,并提出了对抗性安卓恶意软件排查系统Kuafu Det,该系统对于针对机器学习分类器的隐藏攻击和投毒攻击都具有明显的效果。该研究相关数据集合已经开源,并已经在全球60多家科研机构中得到推广和使用。·首次利用自动化敏感数据标签技术进行安卓应用数据泄漏的识别。通过该技术能够确定用户数据类型是否属于用户敏感数据,并结合数据流分析技术,完成了安卓应用敏感数据泄漏相关漏洞的挖掘系统AUSERA的实现。原型工具AUSERA已经开始进行企业化包装和推广。AUSERA共计发现了2157个应用漏洞。我们向60家银行企业进行了漏洞上报,共计21家银行进行了回复,确认了126个上报漏洞,其中52个上报漏洞已经得到修复,并与多家银行企业展开实质性合作,例如英国的HSCB,新加坡的OCBC和DBS。实验证明,通过对安卓恶意软件排查和安卓应用代码漏洞的挖掘,本文提出的方法能够有效且高效的降低安卓应用生态系统的安全风险,从而提高安卓应用生态系统的整体安全性。