基于API聚类和调用图优化的安卓恶意软件检测
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

TP311

基金项目:

国家自然科学基金(62201576, U1833107); 江苏省基础研究计划自然科学基金青年基金项目(BK20230558)


Android Malware Detection Based on API Clustering and Call Graph Optimization
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    安卓操作系统和恶意软件的持续进化导致现有检测方法的性能随时间大幅下降. 提出一种基于API聚类和调用图优化的安卓恶意软件检测方法DroidSA (droid slow aging). 首先, 在恶意软件检测之前进行API聚类, 生成代表API功能的聚类中心. 通过设计API句子概括API的名称、权限等重要特征并使用自然语言处理工具对API句子的语义信息进行挖掘, 获得更全面反映API语义相似性的嵌入向量, 使聚类结果更为准确. 然后, 为了确保提取到更能准确反映软件行为逻辑的API上下文信息, 采用调用图优化方法对从待检测软件中提取的函数调用图进行优化并得到优化后的调用图, 在删除图中难以识别的未知方法的同时保留API节点之间的连接性. 为了提高对安卓框架和恶意软件变化的适应性, DroidSA从优化后的调用图中提取函数调用对, 将调用对中的API抽象为API聚类时获得的聚类中心. 最后, 使用独热编码生成特征向量, 并从随机森林、支持向量机和K近邻算法中选择表现最好的分类器进行恶意软件检测. 实验结果表明, DroidSA的恶意软件检测平均F1值为96.7%; 在消除时间偏差的实验设置下, 经2012–2013年的软件样本集合训练后, DroidSA对2014–2018年的恶意软件样本的检测平均F1值达到82.6%. 与经典检测方法MaMaDroid和MalScan等相比, DroidSA始终能将各项检测指标稳定地维持在高水平且受到时间变化的影响较小, 能有效检测进化后的恶意软件.

    Abstract:

    As both Android frameworks and malware continue to evolve, the performance of existing malware classifiers degrades significantly over time. This study proposes droid slow aging (DroidSA), a method for Android malware detection based on API clustering and call graph optimization. Firstly, API clustering is performed before malware detection to generate cluster centers that reflect API functionality. To make clustering results more accurate, this study obtains embeddings fully reflecting the semantic similarity of APIs by designing API sentences to summarize vital features such as API names and permissions and using NLP tools to mine the semantic information of API sentences. Then, call graphs are extracted from apps and optimized by removing unknown methods while preserving the connectivity among API nodes. Call graph optimization enables detection methods to extract more robust contextual information of APIs which reflects the mode of app behavior. DroidSA extracts pairs of function calls from the optimized call graphs and abstracts the APIs in the pairs into cluster centers obtained in API clustering to better adjust to the changes in Android frameworks and malware. Finally, one-hot encoding is used to generate feature vectors, and the best-performing classifier is selected from random forests, support vector machines, and the k-nearest neighbors algorithm for malware detection. Experimental results demonstrate that DroidSA achieves an average F1-Measure of 96.7% for malware detection. Under the experimental setup where temporal bias is eliminated, DroidSA trained with apps from 2012 to 2013 achieves an average F1-Measure of 82.6% when detecting malware developed from 2014 to 2018. Compared with the state-of-the-art detection methods MaMaDroid and MalScan, DroidSA stably maintains high detection metrics with minimal impact from temporal changes and effectively detects evolved malware.

    参考文献
    相似文献
    引证文献
引用本文

杨宏宇,汪有为,张良,胡泽,姜来为,成翔.基于API聚类和调用图优化的安卓恶意软件检测.软件学报,,():1-17

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2023-07-15
  • 最后修改日期:2023-11-03
  • 录用日期:
  • 在线发布日期: 2024-08-21
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号