Skip to main content
QUICK REVIEW

[论文解读] Android Malware Detection using Markov Chain Model of Application Behaviors in Requesting System Services

M. Seyed Salehi, Morteza Amini|arXiv (Cornell University)|Nov 15, 2017
Advanced Malware Detection Techniques参考文献 30被引用 12
一句话总结

该论文提出 ServiceMonitor,一种轻量级基于主机的 Android 恶意软件检测系统,通过系统服务请求的马尔可夫链建模应用程序行为。通过分析细粒度的服务访问模式并使用随机森林进行分类,该系统在移动设备上实现了 96% 的准确率,且性能开销极低。

ABSTRACT

Widespread growth in Android malwares stimulates security researchers to propose different methods for analyzing and detecting malicious behaviors in applications. Nevertheless, current solutions are ill-suited to extract the fine-grained behavior of Android applications accurately and efficiently. In this paper, we propose ServiceMonitor, a lightweight host-based detection system that dynamically detects malicious applications directly on mobile devices. ServiceMonitor reconstructs the fine-grained behavior of applications based on a novel systematic system service use analysis technique. Using proposed system service use perspective enables us to build a statistical Markov chain model to represent what and how system services are used to access system resources. Afterwards, we consider built Markov chain in the form of a feature vector and use it to classify the application behavior into either malicious or benign using Random Forests classification algorithm. ServiceMonitor outperforms current host-based solutions with evaluating it against 4034 malwares and 10024 benign applications and obtaining 96\% of accuracy rate and negligible overhead and performance penalty.

研究动机与目标

  • 解决现有基于主机的恶意软件检测系统依赖系统调用级别分析的局限性,此类方法因 Android 的 Binder IPC 机制而无法捕捉有意义的行为。
  • 克服静态分析的不足,例如易受混淆攻击以及无法分析原生代码或运行时加载组件。
  • 开发一种动态、轻量且准确的检测框架,直接在移动设备上运行,利用语义级别的系统服务使用模式。
  • 通过将行为序列建模为马尔可夫链以实现对根 Android 设备的有效恶意软件检测。
  • 通过系统分析系统服务交互,捕捉应用程序的高层行为语义,从而提高检测准确率。

提出的方法

  • 通过自定义内核模块扩展 Android 内核,动态监控并记录通过 Binder IPC 机制的所有系统服务请求。
  • 提取应用程序执行期间对系统服务(如 getService、getRunningAppProcesses)的函数调用序列。
  • 将系统服务请求序列建模为一阶马尔可夫链,其中每个状态代表一个特定的系统服务函数,转移代表访问顺序。
  • 将马尔可夫链转换为特征向量,编码转移概率和服务访问频率,以用于分类。
  • 使用标注数据集在特征向量上训练随机森林分类器,以区分恶意与良性应用程序。
  • 在根 Android 设备上部署系统,实现实时设备端行为分析,无需依赖外部云服务。

实验结果

研究问题

  • RQ1能否有效将系统服务使用模式建模为马尔可夫链,以表示 Android 中细粒度的应用程序行为?
  • RQ2在系统服务级别(超越底层系统调用)建模行为是否能提高设备端恶意软件检测的准确性?
  • RQ3轻量级、基于主机的检测系统是否能在移动设备上实现高准确率,同时保持可忽略的性能开销?
  • RQ4从频率、多样性及序列角度看,恶意应用程序的系统服务访问模式与良性应用程序有何不同?
  • RQ5所提出的方法在多大程度上能够检测出逃避传统基于系统调用分析的高级恶意软件家族?

主要发现

  • 在 4,034 个恶意软件样本和 10,024 个良性应用程序的数据集上评估时,ServiceMonitor 达到了 96% 的检测准确率。
  • 恶意应用程序在执行期间平均发起 38 次系统服务请求,而良性应用程序少于 12 次,表明恶意软件具有显著更高的服务使用率。
  • 17% 的恶意软件样本访问了电话服务,可能导致潜在的费用支出,而数据集中没有任何良性应用程序表现出此类行为。
  • 12% 的恶意软件样本访问了 GPS/位置服务,而良性应用中仅 7% 存在类似行为,凸显其与跟踪类恶意软件的强相关性。
  • 16% 的恶意应用程序调用了 getInstalledPackages() 以枚举已安装的应用包,而仅有 1% 的良性应用执行了此操作,表明存在侦察行为。
  • 5.7% 的恶意软件样本通过 getMemoryInfo() 访问内存信息,而良性应用中仅 0.7% 存在类似行为,暗示存在资源监控或反分析策略。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。