Android恶意软件检测方法研究

2018-03-03 13:12张洋
数字技术与应用 2018年11期
关键词:安全机制

张洋

摘要:Android操作系统所秉承的开放性及其目前占有的庞大市场份额,使得其安全性备受关注,本文对Android的系统架构进行了介绍,分析了Android面临的三类安全威胁和四种受到的攻击方式,在分析Android三大安全机制的基础上,对恶意软件的分析检测技术和判定技术进行了研究。

关键词:Android;恶意软件;安全机制;分析监测

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2018)11-0166-01

1 Android系统架构

Android系统分为Linux内核层、系统库、应用框架和应用层四个层面。

Linux内核层主要包括进程管理、内存管理、网络堆栈、安全机制及一系列的驱动模块。在android系统中,每一个应用都是一个独立的进程,资源的分配是以进程为单位进行的,进程之间是不能直接进行相互访问的,为了实现进程间的通信,Android引入了进程间通信管理机制——Binder。该机制的引入解决了进程间通信的实际需求,同时也为共谋攻击提供了便利。

2 Android手机面临的安全问题

2.1 Android手机受到的安全威胁

Android的开放性使其得以迅速的发展及抢占市场,但是同时也带来了一些安全威胁。

2.2 Android受到的攻击方式

2.2.1 基于手机应用的攻击

在用户根据自身需求和喜好安装手机App的时候,绝大部分的手机App都会提示需要获取一些系统权限,一方面用户缺乏相关的权限知识和安全防范意识,另一方面App普遍存在过度获取大量系统权限的现象,使得手机App成为攻击发起者的首选目标。

2.2.2 基于核心进程的攻击

Android核心进程依赖于系统的本地库、java类库和java虚拟机。系统本地库中包含了很多利用JNI本地调用方式封装的C/C++类库,这些类库没有java的强制安全机制的限制,核心进程被攻击的风险大大提高,加上核心进程具有开源性所默认取得的较高级别权限,因此不少攻击者开始将目光转移到system核心进程。

2.2.3 基于Linux内核的攻击

每年都有近百的Linux安全漏洞被发现,大量漏洞的存在使得攻击者通过漏洞获取Android根权限的机会大大增加,一旦攻击者取得根权限,便可轻易发起各种攻击。另一方面,Android系统Linux内核具有高配置性,在手机硬件配置较低、资源较少的情况下,有些厂商可能会禁用一些安全配置,间接为攻击者提供了便利。

3 Android安全机制

Linux采用的内核是Linux,其保留了一些Linux的安全机制,同时安卓应用开发语言为java,其也受到java的强制安全性限制。另外,因为Android智能手机上具有很多用户隐私数据,因此安卓还设置了应用签名、权限审核和沙盒三种安全机制,以此实现开发者身份识别、限制软件行为和确保应用独立运行的功能。

3.1 签名机制

Android应用是以.apk文件进行发布的,其实际上是将所有开发文件打包发布成apk文件,所有安卓应用在发布时都必须进行签名,这种签名是用来标识开发者和应用程序之间的关系,它不需要权威的第三方数字证书签名机构进行认证,仅由开发者进行管理。应用签名在App发布时进行,在进行App安装时进行验证,以实现对App来源的鉴定。

3.2 权限机制

Android的权限机制可以将应用软件对关键系统功能和资源的使用情况告知用户,根据权限的功能将所有权限进行了分组,每个权限又由Protection Level来标示保护的级别,从申请便可用、需要用户确认、需要数字证书等共分四个级别。开发者在Manifest.xml文件中使用标签来声明所需的权限,如照相、定位、通话等权限,这些权限会在用户安装App时对用户进行提示,只有用户同意应用使用这些权限时,应用才能进行安装及在后期运行中使用这些权限。

3.3 沙盒机制

Android系统提供沙盒机制主要是为了保障每个应用在运行过程中不受其他应用的影响,Android会为每个运行的应用创建一个Dalvik虚拟机实例——沙盒,每个沙盒之间是相互独立不能进行互相访问的,每个沙盒具有自己独立的存储空间,所有请求的数据也都必须经过权限检测,当单个应用出现故障或者被确认攻击之后,沙盒会进行回滚操作——消除虚拟机实例,从而确保整个系统不受影响。

4 恶意软件分析及判定

恶意软件分析的目的是进行恶意软件的检测以及判定,其主要是收集分析攻击者和恶意软件的特征,识别网络恶意攻击的真正意图,从而为保护手机终端提供有用的信息。主要检测技术有三种:权限检测、动态检测、动态监测。

4.1 权限分析

安卓系统的权限机制可以实现对敏感API的保护,开发者根据应用功能自身的需要申请合理的权限,通过对应用的权限分析能够简单地判定该软件是否安全。

4.2 动态分析

动态分析的侧重点是软件的实际行为,它不受代码混淆技术的影响。其主要是监测网络访问、API调用、系统调用、文件及内存访问和修改情况、对信息的访问和处理模式,之后通过人工或者模拟触发的方式,使得恶意软件完全暴露出来。

4.3 静态分析

静态分析是在不运行软件代码的情况下,对APK及其解析文件进行各种分析的技术,这些分析主要包含对控制流、数据流和语义的分析。虽然静态分析具有快速高效的优点,但是其无法应对代码混淆技术和漏洞攻击。

4.4 恶意软件的判定

在进行动态和静态分析的基础上,对恶意软件的判定一般通过采用基于特征、基于启发式两种方式。基于特征的方式是目前杀毒软件普遍采用的方式,这种方式需要不断的进行新特征的分析和收集,通过已有的特征值能够快速准确的识别已知恶意软件,但是其具有一定的滞后性。动态启发需实时监控应用的行为,检出率较之静态启发更高,但是检测速度会随着资源占用而逐渐变得效率低下,静态启发效率更高,但是检出率较低。

5 结语

本文对Android的四层系统架构进行了介绍,分析了Android系统应用面臨的三类安全威胁和四种受到的攻击方式,在分析Android的签名、权限和沙盒三大安全机制的基础上,对恶意软件的权限分析、动态分析、静态分析三种分析方式以及恶意软件判定技术进行了研究。

参考文献

[1]卿斯汉.Android安全研究进展[J].软件学报,2016,27(01):45-71.

[2]杨欢,张玉清,胡予濮,刘奇旭.基于多类特征的Android应用恶意行为检测系统[J].计算机学报,2014,37(01):15-27.

Research on Android Malware Detection Method

ZHANG Yang

(Jiangsu Union Vocational and Technical College Xuzhou Economic and Trade Branch, Xuzhou Jiangsu 221004)

Abstract:The openness of the Android operating system and its huge market share have made its security much concerned. This paper introduces the system architecture of Android, analyzes the three types of security threats faced by Android and four kinds of Based on the analysis of Android's three major security mechanisms, the attack detection method and the judgment technology of malware are studied.

Key words:Android; malware; security mechanism; analysis and monitoring

猜你喜欢
安全机制
港口安全生产管理问题及对策研究
铁路信号设备维护与安全机制分析
论10kV配电线路接地故障分析及预防