We present BPFroid -- a novel dynamic analysis framework for Android that uses the eBPF technology of the Linux kernel to continuously monitor events of user applications running on a real device. The monitored events are collected from different components of the Android software stack: internal kernel functions, system calls, native library functions, and the Java API framework. As BPFroid hooks these events in the kernel, a malware is unable to trivially bypass monitoring. Moreover, using eBPF doesn't require any change to the Android system or the monitored applications. We also present an analytical comparison of BPFroid to other malware detection methods and demonstrate its usage by developing novel signatures to detect suspicious behavior that are based on it. These signatures are then evaluated using real apps. We also demonstrate how BPFroid can be used to capture forensic artifacts for further investigation. Our results show that BPFroid successfully alerts in real time when a suspicious behavioral signature is detected, without incurring a significant runtime performance overhead.
翻译:我们为Android展示了BPidroid -- -- 一个新颖的动态分析框架,它使用Linux内核的eBPF技术来持续监测在实际装置上运行的用户应用事件。所监测的事件是从Android软件库的不同组成部分收集的:内部内核功能、系统呼叫、本地图书馆功能和爪哇API框架。作为BPFroid在内核中勾勾勒这些事件,恶意软件无法轻易绕过监测。此外,使用eBPFF不需要对Android系统或被监测的应用进行任何改变。我们还提供了BPFroid与其他恶意软件探测方法的分析比较,并通过开发用于检测基于它可疑行为的新型签名来证明其使用情况。这些签名随后使用真实应用程序进行评估。我们还展示了如何利用BPFidroid在发现可疑的行为特征时,实时发出可疑的警报,而没有产生重大的运行性操作性间接成本。