[论文解读] Analysis, Detection, and Classification of Android Malware using System Calls
本文提出了一种基于受控模拟器环境中收集的应用程序执行期间系统调用轨迹的动态Android恶意软件检测与分类框架。通过模拟用户事件以触发恶意行为,并对记录的系统调用应用机器学习模型(特别是K-最近邻用于检测,决策树用于家族分类),该方法实现了高准确率,其中K-NN在检测性能上表现最佳,而决策树在恶意软件家族分类方面表现卓越。
With the increasing popularity of Android in the last decade, Android is popular among users as well as attackers. The vast number of android users grabs the attention of attackers on android. Due to the continuous evolution of the variety and attacking techniques of android malware, our detection methods should need an update too. Most of the researcher's works are based on static features, and very few focus on dynamic features. In this paper, we are filling the literature gap by detecting android malware using System calls. We are running the malicious app in a monitored and controlled environment using an emulator to detect malware. Malicious behavior is activated with some simulated events during its runtime to activate its hostile behavior. Logs collected during the app's runtime are analyzed and fed to different machine learning models for Detection and Family classification of Malware. The result indicates that K-Nearest Neighbor and the Decision Tree gave the highest accuracy in malware detection and Family Classification respectively.
研究动机与目标
- 通过从静态分析转向基于系统调用的动态行为分析,应对日益增长的Android恶意软件威胁。
- 填补研究空白:大多数研究依赖静态特征,而极少探索运行时动态特征(如系统调用)。
- 通过在受控执行过程中监控系统调用序列,构建稳健的恶意软件检测与分类流水线。
- 评估多种机器学习模型,以基于系统调用模式识别在恶意软件检测与家族分类方面最有效的模型。
提出的方法
- 在受监控的受控模拟器环境中执行Android应用程序,以捕获运行时的系统调用轨迹。
- 模拟用户交互(例如按钮点击、位置变化)以触发恶意样本中的潜在恶意行为。
- 从每个应用程序的受监控执行中提取系统调用序列作为行为特征。
- 将系统调用日志预处理为适合机器学习输入的结构化特征向量。
- 在基于系统调用的特征上训练并评估多种机器学习模型,包括K-最近邻、决策树、随机森林、支持向量机和朴素贝叶斯。
- 使用训练好的模型实现二元恶意软件检测(恶意与良性)以及多类恶意软件家族分类。
实验结果
研究问题
- RQ1系统调用序列能否有效捕捉Android应用程序在运行时的恶意行为?
- RQ2基于系统调用轨迹,哪种机器学习模型在检测Android恶意软件方面准确率最高?
- RQ3哪种机器学习模型在使用系统调用数据对恶意软件进行家族分类时表现最佳?
- RQ4与静态分析相比,基于系统调用的动态分析在检测现代Android恶意软件方面表现如何?
主要发现
- K-最近邻(K-NN)模型在检测Android恶意软件方面达到最高准确率,优于其他测试的模型。
- 决策树模型在将恶意软件分类到特定家族方面表现出最佳性能,表明其在家族级别区分上具有强大的判别能力。
- 基于系统调用的动态分析能有效捕捉恶意行为,即使恶意软件经过混淆或多态变形。
- 使用模拟的运行时事件成功触发了隐藏的恶意行为,从而实现了对隐蔽型恶意软件的检测。
- 整体框架由于高检测准确率和模型可解释性,显示出较强的现实部署潜力。
- 结果证实,动态系统调用分析是现代Android恶意软件检测的一种可行且有效的替代静态分析方法。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。