Android users are now suffering severe threats from unwanted behaviors of various apps. The analysis of apps' audit logs is one of the essential methods for some device manufacturers to unveil the underlying malice within apps. We propose and implement AppAngio, a novel system that reveals contextual information in Android app behaviors by API-level audit logs. Our goal is to help analysts of device manufactures understand what has happened on users' devices and facilitate the identification of the malice within apps. The key module of AppAngio is identifying the path matched with the logs on the app's control-flow graph (CFG). The challenge, however, is that the limited-quantity logs may incur high computational complexity in the log matching, where there are a large number of candidates caused by the coupling relation of successive logs. To address the challenge, we propose a divide and conquer strategy that precisely positions the nodes matched with log records on the corresponding CFGs and connects the nodes with as few backtracks as possible. Our experiments show that AppAngio reveals the contextual information of behaviors in real-world apps. Moreover, the revealed results assist the analysts in identifying malice of app behaviors and complement existing analysis schemes. Meanwhile, AppAngio incurs negligible performance overhead on the Android device.
翻译:应用软件的审计日志分析是某些设备制造商在应用程序中揭开基本恶意的基本方法之一。 我们提议并实施AppAngio,这是一个创新系统,通过API级别审计日志披露安非他明应用程序行为中的背景信息。 我们的目标是帮助设备制造分析师了解用户设备上发生的情况,并便利在应用程序中识别恶意。 AppAngio的关键模块正在确定与应用程序控制流程图(CFG)上的记录匹配的路径。然而,挑战在于有限数量日志在日志匹配中可能会产生很高的计算复杂性,因为由于连续的日志的组合关系,导致大量候选人在安非他明应用程序行为中出现。为了应对这一挑战,我们提出了一个分裂和征服战略,使节点与相应的CFG设备上的日志记录相一致,并尽可能将节点与少数反向轨迹连接。我们的实验显示,AppAngio展示了现实空间系统的行为背景信息,以及现实世界顶级系统的分析结果。