一句话:用神经网络估计 Android 应用间通信链路的真实概率,以提升静态分析精度。
Android 应用间通信链路的发现对安全与隐私至关重要,但该场景复杂且需要可扩展性,静态分析往往产生大量误报而难以实用。为提升精度,论文提出将静态分析与训练好的神经网络模型结合,由模型估计某条通信链路真实存在的概率。其核心是类型导向编码器(type-directed encoders, TDE),一种通过递归组合组成类型的编码器来优雅构造复合数据类型编码器的通用框架,可对两个应用中通信对象的抽象进行编码。作者在大量 Android 应用语料上评估,表明方法达到很高准确率;还进行了可解释性研究,以理解所学神经网络的内部机制。
We address the problem of discovering communication links between applications in the popular Android mobile operating system, an important problem for security and privacy in Android. Any scalable static analysis in this complex setting is bound to produce an excessive amount of false-positives, rendering it impractical. To improve precision, we propose to augment static analysis with a trained neural-network model that estimates the probability that a communication link truly exists. We describe a neural-network architecture that encodes abstractions of communicating objects in two applications and estimates the probability with which a link indeed exists. At the heart of our architecture are type-directed encoders (TDE), a general framework for elegantly constructing encoders of a compound data type by recursively composing encoders for its constituent types. We evaluate our approach on a large corpus of Android applications, and demonstrate that it achieves very high accuracy. Further, we conduct thorough interpretability studies to understand the internals of the learned neural networks.