We use cookies to improve your experience with our site.

对Android应用隐私泄露轻量级的动态检测方法

A Lightweight Dynamic Enforcement of Privacy Protection for Android

  • 摘要: 进程间通信为应用程序间的信息交换提供了一种消息传递机制。长久以来,人们一直认为,IPC可能被恶意软件的开发者滥用,特别使用两个或更多的应用程序发起合谋泄露。在隐私保护方面,很多工作都集中在对单个应用程序造成的信息泄漏的检测上,而缺少有效的方法来防止这种由于进程间通信造成的的合谋泄漏。我们提出了一种基于信息流控制的混合方法来阻止这种合谋泄露。我们的方法结合了静态信息流分析技术和动态运行时检查技术。静态的信息流控制技术,可以防止单个进程导致的信息泄漏,运行检查可以阻止由于进程间通信导致的合谋泄露。这种组合的方法可以有效地减少纯动态检查带来的运行时开销,并且减少纯静态分析中的误报。我们基于一个抽象和简化的编程模型来说明这种方法,并且定义了一个新的无泄露性质作为我们的安全目标。我们使用基于Simulation的证明技术来证明本文方法的可靠性,即通过检查的程序一定满足无泄露性质。所有的证明都在Coq中进行了形式化,并生成了机器可检查证明。

     

    Abstract: Inter-process communication (IPC) provides a message passing mechanism for information exchange between applications. It has been long believed that IPCs can be abused by malware writers to launch collusive information leak using two or more applications. Much work on privacy protection focuses on the simple information leak caused by the individual applications and lacks effective approaches to preventing the collusive information leak caused by IPCs between multiple processes. In this paper, we propose a hybrid approach to prevent the collusive information leak based on information flow control. Our approach combines static information flow analysis and dynamic runtime checking together. Information leak caused by individual processes is prevented through static information flow control, and dynamic checking is done at runtime to prevent the collusive information leak. Such a combination may effectively reduce the runtime overhead of pure dynamic checking, and reduce false-alarms in pure static analysis. We develop this approach based on an abstract and simplified programming model, and formalize a novel definition of the leak-freedom property as our target security property. A simulation-based proof technique is used to prove that our approach is able to guarantee leak-freedom. All proofs are mechanized in Coq.

     

/

返回文章
返回