以谷歌公司的安卓和苹果公司的iOS为代表的移动操作系统正逐渐取代桌面操作系统,从智能手机拓展到平板电脑、智能家居、可穿戴设备、车载控制系统等多种衍生品中,成为公众接入互联网的主要入口。作为移动互联时代的突出标志,以智能手机为代表的移动应用聚集了大量高附加值的信息和资源,包括身份信息、地理位置信息,甚至诸多账号信息以及邮件、文件等信息。移动应用程序利用用户赋予的个人信息为其提供便捷、即时、精确的定制服务。正是在这一背景下,移动平台得以取代传统PC平台成为人们接入互联网的首选方式。
然而,移动平台的高度互联性也是一把双刃剑,它使用户信息轻易暴露在攻击者面前。受政治、军事和商业利益驱使,针对移动终端系统的攻击行为层出不穷,针对个人隐私的窃取行为是其中的重灾区。“棱镜门”事件以及多项外电资料披露,多个国家在资助移动操作系统安全防护方法的同时,也在研究利用移动操作系统的安全缺陷,通过恶意软件对我国重要人物以及公众实施高级持续性的大规模数据搜集。美国政府在过去三年中资助英国政府通信总部(GCHQ)1亿英镑,专门用于研究手机操作系统的攻击方法。
个人信息泄露事件在我国也频频发生。中国互联网协会2015年发布的《中国网民权益保护调查报告》称,2015年,中国网民因个人信息泄露、垃圾信息、诈骗信息等导致的损失达805亿元。其中,78.2%的网民身份信息被泄露过,63.4%的网民网上活动信息被泄露过。2015年11月披露的百度Wormhole漏洞,已覆盖上亿安卓手机用户。
面对移动互联网用户隐私保护的严峻形势,隐私泄露的检测和保护近年来颇受关注。隐私泄露已经不是一个新问题,在PC时代就有针对个人隐私的恶意攻击案例。但是,自2008年第一部安卓智能手机面世以来,智能移动终端逐渐取代PC成为汇集个人隐私的核心媒介。智能移动终端功能越来越强大的同时,也给个人隐私安全防护提出了严峻挑战:面对海量的移动应用、种类众多的隐私数据、复杂的数据流动渠道,如何确保个人隐私不被恶意利用?针对这一问题,早期的隐私泄露分析主要集中在敏感数据的传播上。

1. 隐私泄露检测
隐私泄露检测技术经历了静态分析、动态分析、动静态分析结合的发展路线。静态分析方法通常采用静态数据流分析的手段,来分析程序中的静态敏感数据流向,如加州大学戴维斯分校的Androidleaks系统、加州大学伯克利分校的ComDroid系统、乔治亚理工大学的Chex系统和德国达姆施塔特工业大学(Darmstadt University of Technology)的FlowDroid系统。静态分析方法具有运行速度快、代码覆盖率高等特点。但由于静态分析方法无法反映恶意软件运行时的动态行为,使得这类检测方法的实际效果大打折扣。在攻防持续对抗的过程中,攻击者如果采用代码混淆技术即可轻易规避此类方法的检测。
为弥补静态分析方法的缺陷,动态分析方法根据应用程序的敏感信息传输特征,动态监测安卓系统中的恶意泄露隐私的应用,其中最有代表性的是北卡罗来纳大学的威廉·恩科(William Enck)等人提出的TaintDroid系统。该系统通过修改安卓内核代码,利用动态指令插桩的方式实时监控程序中的数据传播过程,并在发生敏感数据传播时向用户提出警告。剑桥大学的徐鲁宾(Rubin Xu)等人提出的Aurasium系统通过对需要监控的应用程序重新打包,给应用程序插入监控程序。相比静态分析方法,动态数据流跟踪方法具有分析精度高的特点,但是动态监测技术有局限性,具有代码覆盖率不足、检测结果滞后于数据传输等问题。
2. 隐私泄露防护
在隐私泄露的防护方面,移动终端系统主动抑制恶意软件对敏感资源的不合理使用,是防范恶意软件的重要途径。微软雷蒙德研究院研究员Jaeyeon Jung提出的AppFence系统可在动态检测隐私泄露风险的基础上实时阻止软件对隐私信息的收集行为。威廉·恩科所在团队提出的Kirin和Saint系统可用于阻止一个应用软件同时申请多个可疑的敏感资源。美国雪城大学(Syracuse University)教授杜文亮(Wenliang Du)所在团队提出的AFrame系统、加州大学伯克利分校教授大卫·瓦格纳(David Wagner)所在团队提出的AdDroid系统和莱斯大学的沙希·谢卡尔(Shashi shekhar)等人提出的AdSplit系统均通过进程隔离的方式限制程序内部不可信组件对敏感资源的使用。此外,剑桥大学的罗丝·安德森(Ross Anderson)等人提出的Aurasium系统可使用户具有直接管理程序访问敏感资源行为的能力。