丁 浩
(河北諾亞人力資源開發有限公司,石家莊 050081)
與Linux系統相同,Android平臺也是一個權限相互分離的多進程系統,平臺的應用程序和運行進程之間是一一對應的。在Android操作系統中,應用程序的安全性主要依賴Linux系統,因為該系統可以強制隔離應用程序,從而起到保護作用。
為了確保系統的安全,Android系統在設計中嚴格遵守安全學中重要的設計理念,在開發者尚未設置和申請的狀態下,應用程序具有十分有限的應用權限,無論是對其它應用軟件還是對手機用戶都無法執行不利的操作,如讀寫其他應用程序的數據、讀取通信錄或者收發短信等。
在Android系統中,每個應用程序都對應著一個相應的安全沙盒,這確保了各個應用軟件之間不會互相影響,只有用戶申請了權限,才可以獲取沙盒之外的權限。用戶在安全應用程序時Android系統會對應用程序申請的各種權限進行安全檢測,同時提醒用戶對相應的權限做出修改,但是在應用程序運行時,程序本身申請的權限是不會被安全檢測的。實際上,在Android系統中,每個應用程序的文件包都是一個壓縮包,在解壓縮之后文件包里都會含有一個文件,開發者可以通過設置這個文件的字段來申請和更改訪問權限。
(1)數字簽名技術。這是一種十分常見的技術,首先需要發送者利用私鑰來加密信息,并與原文一起發送給接受者;其次,接受者要用公鑰來解密收到的信息,此外在處理原文過程中會出現一個信息,這就要用到哈希函數;最后,要將信息與解密的信息進行對比,如果一樣就證明信息在傳送過程中沒有被篡改,否則就證明已經被惡意修改。數字簽名不僅可以對發送者的身份進行驗證,還能夠確保傳輸信息的完整性。只有經過數字簽名的應用軟件才能在智能手機上進行安裝,但這并不能有效防止惡意應用軟件的傳播。為有效處理此問題,就需要在惡意應用軟件的源代碼上應用數字簽名技術,主要是分析和提取惡意代碼并進行特征簽名,建立特征簽名庫。根據特征簽名庫的對比,發現相同的特征碼則認為存在此種惡意行為。
(2)基于分析源代碼API調用的檢測技術。無需運行應用程序時靜態分析技術的一大優勢,基于分析源代碼API調用的檢測技術已經廣泛應用于很多安全公司的日常工作當中。此技術的基本原理是利用靜態分析技術獲取系統函數的調用情況,之后比對已知的惡意軟件,從而對應用軟件的安全性能進行檢測。
(3)基于正則表達式的關鍵字匹配檢測技術。該技術并不是一項單一的檢測方式,而是其他檢測技術的重要基礎,只有當和其他檢測技術結合使用時才能夠突顯其優點。正則表達式一般被用來檢索和替換符合特定模式的文本,在Android系統中用來檢測應用軟件中含有的敏感信息和隱私信息,如手機號碼、惡意網址、敏感詞匯等內容。
(1)TaintDroid。近年來,智能手機變得越來越流行,用戶對Android平臺的關注更多的是應用軟件功能的多樣性和新穎性,然而卻忽視了應用軟件的安全性,尤其是一些陌生的軟件,人們根本不知道其是怎樣獲取用戶信息的,而Android平臺也沒有能夠對其進行有效控制。而TaintDroid便是一個可以對用戶隱私信息進行跟蹤監控的系統,它可以以第三方應用軟件為切入點對用戶隱私信息的流動情況進行跟蹤,如果發現用戶的隱私信息通過第三方軟件離開系統,就會給手機用戶和運營商提供反饋信息,如此以來惡意軟件就能夠被有效識別。
(2)Monkey和MonkeyRunner。這兩個是Android SDK本身就具有的兩種測試工具,應用于不同的測試領域。Monkey主要用來測試壓力和可靠性,通過Monkey命令能夠向目標程序發送各種隨機事件流,測試者可以自由對發送次數進行定義和設置,對應用程序的穩定性、可靠性進行檢測。這種方式的優勢是應用簡便,但是也具有測試人員無法完全控制的缺陷。
隨著互聯網技術的發展和智能手機的普及,Android平臺的應用軟件數量快速增加,且形形色色的應用軟件不斷出現,這些應用軟件在給人們帶來便利的同時,也帶來了很多安全隱患,惡意應用軟件的不斷出現給手機用戶造成了極大的損失,為此我們必須不斷加強對Android平臺應用軟件安全性檢測系統的研究,提升Android平臺的安全性能。
[1] 張海艦,方舟.Android惡意軟件檢測技術分析和應用研究[J].網絡安全技術與應用,2017,(3):111,113.