基于系统调用的Android恶意软件检测分析

2018-01-19 20:08曹敏志
科技创新与应用 2018年2期
关键词:Android系统检测

曹敏志

摘 要:文章提出一种基于系统调用功能的Android恶意软件检测方法。通过构建Android系统应用程序数据文件保护机制,针对手机病毒、恶意软件损害及木马入侵等安全隐患,设计了一种专用的基于系统调用的Android恶意软件检测架构。结合系统调用频数特征,描述应用程序执行时的非法行为,并以kNN算法为基础,结合实例对某Android系统手机恶意软件进行检测分析。

关键词:系统调用;Android系统;恶意软件;检测

中图分类号:TP309.2 文献标志码:A 文章编号:2095-2945(2018)02-0193-02

Abstract: This paper presents an Android malware detection method based on system call function. Through the construction of Android system application data file protection mechanism, aiming at mobile phone virus, malicious software damage and Trojan invasion and other security risks. A special Android malware detection architecture based on system call is designed. According to the characteristics of system call frequency, this paper describes the illegal behavior when the application program is executed, and based on the kNN algorithm, analyzes the malware of a mobile phone in a Android system with examples.

Keywords: system call; Android system; malware; detection

Android系統自从2007年11月5日问世以来,其一直以开源移动操作系统,基于“software stac”架构及Linux内核、Dalvik虚拟机、数据库及各种应用程序为基础,为用户提供移动终端智能服务[1]。但随着Android系统快速发展,基于Android平台的应用程序也逐渐增多,其成为众多移动终端恶意软件开发者攻击的目标,使智能Android系统移动终端可能遭受的威胁与非法攻击安全隐患越来越多,导致用户信息资料失窃、隐私被泄漏及恶意扣费,甚至会使某些软件一度瘫痪。

1 问题的提出

通常在对手机恶意软件进行分析时,主要采用“静态”与“动态”分析两种方法,结合恶意攻击行为进行判断,结合系统安全检测记录分析恶意未知代码。无论静态还是动态检测分析,均需事先对恶意行为特征进行收集与分析。该方法难以识别特殊恶意行为特征。倘若软件开发者采用加壳、伪装等方法一旦改变软件特征,则很难对其中存在的恶意损害风险进行检测与识别。对此,为了弥补上述检测技术缺陷,本文基于系统调用的Android恶意软件检测方法,结合实例对其检测效果进行分析。

2 基于系统调用的Android恶意软件检测概述

通常情况下,Android系统为每位智能用户的每个应用程序均分配了唯一的LinuxID,且通过创建沙箱以保证用户应用程序免受外来干扰。在此安全机制下,用户Android系统文件访问控制系统中每个文件由9个访问权限位,分别与其它用户、文件拥有者所在用户组及文件拥有者三种用户权限所对应。在此过程中,Android系统中的MMU(内存管理单元)负责虚拟与物理地址间的映射,确保每个应用服务进程均有属于自己的独立地址空间,并通过设置内存访问权限,保护用户应用软件服务进程不受恶意软件损害。

3 基于系统调用的Android恶意软件检测架构

随着Android智能手机全面普及,其功能不断增多,无线上网、电子交易、邮件及社交、电商交易服务等,都需通过智能终端来完成。但其安全性不断降低,手机中的恶意软件也相继出现,如手机病毒、木马及拒绝服务供给等,都影响了智能手机用户正常使用。用户隐私被窃取,恶意软件开发者可轻易修改甚至解包用户Android应用商店下载的程序压缩包。这种非法行为不仅侵犯了原程序开发者,同时也对用户信息安全造成了很大影响。

针对以上现象,本研究设计了基于系统调用的恶意软件检测架构,将用户手机移动终端对未知应用程序的检测工作转移到系统服务器端,从而使系统服务器能够收集更多移动终端的处理数据,以实现全面对用户手机移动终端恶意软件程序进行检测、分析,减少对用户手机终端系统资源的占用,加快智能手机运行速度,减缓电量消耗。

本系统架构主要将监控Linux内核系统调用的应用程序安装于模拟器或用户Android手机中。该程序服务会自动于系统后台启动,并采用“Strace”工具,对用户手机端相关应用程序运行时产生的系统调用数据进行采集,然后将其在文件中存储,并基于Internet向系统远程服务器发送。在此架构下,系统需通过AM.RAPI类调用监控程序,对用户相关应用软件程序包名及进程号PID等正在运行的进程信息等进行获取。在此基础上,通过调取“Strace”相关命令,对系统调用的应用软件进程服务信息相关命令进行执行。当系统远端服务器收到发送的文件后,会自动进行信息分析与处理,由此生成系统调用向量。然后,采用“WEKA”数据挖据软件,基于系统调用频数及kNN分类算法,对系统正常与异常向量进行准确识别。一旦系统服务器检测到用户智能终端应用程序中含有恶意行为向量类中的向量时,就会向用户及时发送安全警告,并通知用户卸载该恶意软件程序,以保证用户系统安全。endprint

4 基于系统调用的Android恶意软件检测实例分析

4.1 调用系统执行应用软件程序频数

本研究从某网站下载Android手机恶意软件样本,选择指纹屏保对及其对应版本号相同且带有PJApps病毒的指纹屏保恶意软件安装并启动,后台联网,发现用户隐私信息被泄漏;啟动应用服务订购SP业务,将运营商订购回复短信屏蔽后,发现用户话费在毫不知情的情况下被恶意扣取;同时,发现用户上网流量被恶意程序消耗,计算器程序无法启动,用户手机存储读写服务持续重启,由此判断用户智能终端遭受恶意软件攻击。

于是,启动本研究设计的基于系统调用的Android恶意软件检测架构,基于系统调用程序的频数特征,判断程序行为是否确实存在异常。Linux系统内核空间与用户空间,在Linux系统中,当系统调用程序时,用户程序会由用户态切换到内核态,并执行相应的内核态函数。完成交互式操作后,系统会返回至用户态。在此空间内,系统通过接口调用,使用户所有应用程序资源均在内核控制下实现交换。

因Android系统内存管理、安全加密管理与进程管理等核心服务均需依赖于Linux内核,从而保证系统上层相关访问请求均需经过系统调用接口。在此环境下,系统调用时获取应用程序运行时的信息都会被系统调用接口所捕获。据此即可基于“trace工具”,收集每个应用程序执行时的行为数据。本研究从Linux2.6内核中萃取了如下10个具有代表性的系统调用,然后结合其启动调用频数特征,采用kNN分类算法分析特征向量属性。

4.2 引入kNN分类算法分析离待测向量最近向量的所属类别

本文采用欧式距离表示向量之间的相似度,kNN分类算法公式如下:

式中:dist(x,y)表示特征向量x,y间的欧式距离距离。

每个Android应用程序都会将数据分为“恶意”与“正常”两类。恶意程序下产生的所有向量归结为恶意行为向量量类。在weka下采用kNN分类算法将得到的系统调用特征向量进行分类,k=1,然后进行检测。

5 结束语

综上所言,在智能手机逐渐普及的社会环境下,恶意软件越来越多。对于Android系统而言,需采用有效的安全措施,阻止恶意软件对手机系统造成损害。本文采用系统调用的Android恶意软件检测方法进行异常检测,结果表明,该方法能够准确区分含有恶意程序的应用软件与正常软件,并通过检测结果趋势分析,自动向用户发出警告,以增强智能手机Android系统运行安全性。

参考文献:

[1]郑忠伟,欧毓毅.基于图模式与内存足迹的Android恶意应用与行为检测[J].计算机应用研究,2017,12:1-7.

[2]陈鹏,赵荣彩,韩金,等.基于动静结合的Android恶意代码行为相似性检测[J].计算机应用研究,2017,05:1-2.

[3]姜海涛,郭雅娟,陈昊,等.一种混合的Android恶意应用检测方法[J].计算机应用研究.

[4]刘魁.Android平台的一种数据安全隔离方案[J].科技创新与应用,2016(27):48-49.

[5]闫广华,吕晓晨,郝小辉,等.浅谈网络攻击与终端安全防护[J].科技创新与应用,2014(35):72.endprint

猜你喜欢
Android系统检测
“平移”检测题
必修二 Modules 1—6综合检测题
必修二 Modules 1—6综合检测题
Android系统上的移动互联网集成平台开发机制
Android系统核心管理工具设计与实现
Android下的机械式电表数字识别技术研究
“整式的加减”检测题
“整式”检测题
基于GPS和iBeacon的智能校园信息发布平台设计与实现
基于增强现实技术的导航系统研究