Android's security model severely limits the capabilities of anti-malware software. Unlike commodity anti-malware solutions on desktop systems, their Android counterparts run as sandboxed applications without root privileges and are limited by Android's permission system. As such, PHAs on Android are usually willingly installed by victims, as they come disguised as useful applications with hidden malicious functionality, and are encountered on mobile app stores as suggestions based on the apps that a user previously installed. Users with similar interests and app installation history are likely to be exposed and to decide to install the same PHA. This observation gives us the opportunity to develop predictive approaches that can warn the user about which PHAs they will encounter and potentially be tempted to install in the near future. These approaches could then be used to complement commodity anti-malware solutions, which are focused on post-fact detection, closing the window of opportunity that existing solutions suffer from. In this paper we develop Andruspex, a system based on graph representation learning, allowing us to learn latent relationships between user devices and PHAs and leverage them for prediction. We test Andruspex on a real world dataset of PHA installations collected by a security company, and show that our approach achieves very high prediction results (up to 0.994 TPR at 0.0001 FPR), while at the same time outperforming alternative baseline methods. We also demonstrate that Andruspex is robust and its runtime performance is acceptable for a real world deployment.
翻译:Android的安全模型严重限制了反麦片软件的能力。 与桌面系统中的商品反麦片解决方案不同, 它们的Android对应方作为沙箱应用程序运行,没有根特权,并且受到Android的许可系统的限制。 因此,对Android的PHA通常由受害者自愿安装,因为它们伪装成有隐藏恶意功能的有用应用程序,在移动应用程序商店中作为基于用户先前安装的应用程序的建议而遇到。 具有类似兴趣和应用程序安装历史的用户可能会暴露,并决定安装同样的PHA。 这一观察使我们有机会制定预测方法,可以警告用户他们将会遇到哪些PHA,并有可能在不远的将来安装。 这些方法随后可以用来补充商品反麦片的PHA, 以事后检测为重点, 关闭现有解决方案所面临的机会之窗。 在本文中,我们开发了Andruspex, 一个基于图表描述学习的系统, 使我们能够学习用户装置和PHAHA之间的潜在关系, 并利用它们进行预测。 我们测试Andruppex, 在真实的PRA系统上, 在真实的运行中, 运行一个世界预测系统, 运行一个运行一个运行一个稳定的运行, 运行一个世界的运行中, 运行中, 运行一个系统, 运行一个运行一个运行中, 运行中, 运行一个运行一个运行一个运行一个运行一个运行中, 运行中, 运行中, 运行中运行一个运行中运行中, 运行中运行中运行一个运行中运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中, 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 运行中 。