论文部分内容阅读
如今,各种各样的手机应用正在丰富人们的生活。应用市场作为应用发布与分发的入口,已经在移动生态中扮演了至关重要的角色。Android秉承的“开放”的观念造就了Android生态圈的繁荣,但同时也使得应用市场变得碎片化。而在移动应用使得人们生活更简单更舒适的同时,很多具有恶意行为和病毒的应用也悄悄侵蚀着人们的手机。这些应用可能会导致用户的隐私数据泄露,财产遭到损失。频发的移动安全事件说明了目前应用市场的确存在审核不严的情况。目前威胁用户手机安全的应用可以大致分为以下三类:1.盗取用户隐私信息的恶意应用;2.克隆应用;3.使用了存在隐私泄露问题或安全漏洞的第三方库的应用。针对以上三个问题,本文设计了一个应用审核系统AppShield。AppShield整合了AppAudit,对单应用进行审查。同时我们基于AppAudit的检测结果,进一步分析,通过文件特征和包标识符识别问题组件,并在测试集中检测问题部件的不同版本,总结报告。另外,我们提出了一种相似度检测方法,能在应用被混淆的情况下,检测应用之间的相似度。通过对混淆技术的学习,我们总结出了一组稳定特性,即在混淆前后基本上不会改变的特性。基于稳定特性,我们能对应用进行指纹提取,并进行比对,从而对计算出应用之间的相似度。该方法被应用于AppShield系统中,对应用进行克隆应用以及第三方库的检测。为了测试AppShield的审核效果,我们经过两年时间,收集了将近14万个来自国内外不同应用市场的应用,并将这些应用当做AppShield的测试集。我们在近14万的应用上进行了隐私泄露检测,检测出了超过9000多例的隐私泄露应用,并总结出超过20个有隐私问题的问题部件。同时我们挑选了8个第三方库的67个SDK版本,对来自腾讯应用宝市场的一万多个应用进行了第三方库检测。检测结果表明,我们的检测方法检测出16.4%的应用至少使用了一个我们挑选的第三方库。其中Google处理JSON的工具库gson检测出占比最高,为10.26%。另外,我们随机挑选了1000个应用进行克隆应用检测,最终发现了一例开发者将应用以不同应用多次提交至应用市场的案例。测试与评估表明AppShield能够高效、准确的检测应用的隐私泄露问题,并找到存在问题的部件,同时有能力对应用进行相似度分析,从而找到存在问题的第三方库以及潜在的克隆应用。