?

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配電線路接地故障分析及預防
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合