隐私泄漏研究的新问题
随着隐私泄漏研究的深入展开,近年来研究者们逐渐意识到传统的隐私泄漏定义并不准确。而该定义的不精确和不完整限制了隐私泄漏检测技术的效率和效果。为了在隐私泄漏检测和防护过程中获得更准确更全面的结果,相关研究在以下两个方面对隐私泄漏定义进行了修正。
1.隐私泄漏的用户感知问题
基于敏感数据传播的隐私泄漏检测技术认为:通过检测用户的隐私数据是否离开移动设备就可以判断应用是否存在隐私泄露。事实上,由于大量手机应用都采用云计算,许多非恶意应用均利用云服务器为终端用户提供定制化服务。这些应用通常需要收集一些敏感数据(比如位置、联系人信息等),并将其发送到自身服务器。而一些恶意应用在窃取用户敏感数据后也表现为类似的行为,也就是将隐私信息传送到自己的服务器。因此,仅仅依靠应用程序是否传输敏感数据不可以真正判别出应用软件是否存在隐私泄露。
意识到这一问题之后,安全研究人员通过不断改进隐私泄漏的判断标准,力图提高隐私泄漏检测的精度。美国杜克大学的Peter Gilbert等人提出的Vision系统[17]认为如果应用程序将自身敏感数据传输行为加入最终用户许可协议(EULA)并得到用户许可,或者应用程序在敏感数据传输行为发生时明确的通知告知用户,则该数据传输可以被认为并非隐私泄露。与之类似的是,佐治亚理工学院的Wenke Lee教授所在团队提出的BLADE系统[18]通过识别应用程序是否得到了用户许可,来检测从网络上动态下载的恶意软件。然而,手机应用一般不提供最终用户许可协议(EULA),同时,即使在数据传输符合用户意图的时候(如转发短信),应用程序也很少向用户弹出显式的用户提示。伯克利的Dawn Song教授所在团队提出的Pegasus系统[19]以应用程序使用API和权限的顺序为特点来检测软件恶意行为。与我们的研究类似的是,它也检测那些与图形界面操作不相符的恶意行为。然而,隐私泄露无法通过简单的权限或者API的使用顺序来概括。因此应用程序的隐私泄露行为无法通过这种方法被检测出来。此外,Pegasus需要分析人员根据应用程序的行为手动指定用户程序行为验证的属性特征。在不了解应用程序代码的情况下,分析人员很难制定这些属性特征。这些方法通过归纳隐私泄漏行为的外部表征试图区分隐私泄漏和应用软件的正常敏感数据传输行为,对隐私泄漏的精确检测进行了有效尝试,但是这些方法仍然不能准确判断隐私泄漏。
笔者所在团队于2013年发表在CCS会议上的论文[10]中提出了另一种判断隐私泄漏的方法,即一个更好的隐私泄露判别方法应该是敏感信息传输是否出于用户本身的意图。
(1)符合用户意图的敏感数据传输。为了使用应用软件的一些功能,用户经常需要容忍自己的隐私数据经过特定渠道被发送出手机。比如,当使用辅助管理短信的应用时,用户可以通过点击屏幕上的一些按钮将特定短信转发给其它用户;而在使用一些基于用户地理位置的服务时,用户为了得到一些其感兴趣的内容,往往要允许将自己的位置信息发送给应用服务器。由于这类功能在使用敏感数据时,用户已经知情,所以不应该将其归类为隐私泄露。
(2)不符合用户意图的敏感数据传输。恶意应用在用户不知情且与用户使用的功能无关的情况下非法传输敏感数据,我们称之为用户不知情的敏感数据传输,或者叫隐私泄露。在大部分情况下,恶意应用为了使得用户很难察觉到其恶意行为,通常都会秘密传输敏感数据。
综上所述,应用程序对敏感数据的传输是不是在泄露隐私,取决于它是否满足用户的意图。不幸的是,由于用户的意图非常繁杂而且不同的应用采用不同的实现方式,因此通过工具自动化检测用户意图基本不可能实现。相对而言,通过为人工分析人员提供敏感数据传输的上下文信息是一种较为可行的方法。通过分析数据传输对应的用户输入序列,分析人员可以更容易的判断数据传输是否出于用户意图。这促使我们设计并实现了AppIntent应用分析框架。
AppIntent从敏感数据的传播路径中进一步分析出导致这次数据传输的用户数据输入和交互输入。再利用这两部分用户输入控制应用程序的执行。在控制应用程序执行的过程中,AppIntent将对应敏感信息传输的图形界面操作的顺序呈现给软件分析人员。通过观察这些界面操作,软件分析人员可以快速做出判断。
表1中的第一部分是750个恶意软件样本的数据,第二部分是1000个GooglePlay上热门应用样本的测试结果。对每个样本集,第一行的内容是检测到的敏感数据类型。第二行的数据是AppIntent各个阶段发现的敏感数据传播应用数,第三行是通过AppIntent最终确定的符合用户意图和不符合用户意图的应用数。
如表1所示,静态污点分析从这两个数据组中检测出582(442+140)个可能包含敏感数据传输的实例。经过分析,我们发现其中有164个为误报,在我们的AppIntent系统中,我们通过符合化执行去除了这些误报。随后,利用符号化执行提取的应用程序输入,AppIntent成功的对358(288+70)个应用程序生成了演示案例。其中,245(219+26)个应用中发现含有不符合用户意图的数据传输行为。我们注意到,即使是在热门免费应用中,用户隐私泄露的现象依旧存在,这一现象主要发生在一些社交网络服务或者含有内嵌广告模块的应用中。其中,泄露用户的短信和联系人信息的行为都发生在社交网络服务中。此外,我们也发现,由于恶意的数据泄露行为可以隐藏在正常的数据传输背后去欺骗软件安全检查,因此恶意应用程序中可能既包含符合用户意图的数据传输,也包含不符合用户意图的数据传输。例如,我们发现了一个将自己伪装成短信应用的程序,但在背地里,它偷偷的在未得到用户允许的情况下将用户的联系人信息从手机上传送出去。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。