賈能
摘 要:隨著移動互聯網的發展,Android智能手機在市場上占據著很大的份額。文章首先分析了Android現有的安全機制沙箱模型和數字證書,然后提出Android系統存在的安全問題,最后從系統開發者和用戶2個角度設計安全策略來對現有的安全策略進行改進。
關鍵詞:Android;智能手機;信息安全;安全策略
1 Android概述
Android是基于Linux內核源代碼開放的軟件平臺和操作系統,主要應用于智能手機和其他移動設備。它由谷歌和開放手機聯盟開發和共同領導。谷歌在2007年11月5號宣布,經過2年的迅猛發展,終于把谷歌在網絡應用上的成功擴展到個人移動設施上。Android目前是市場上占有率最大的移動操作系統,三星、魅族、小米等著名手機品牌都使用它作為默認的操作系統。但是,這項技術也是一把雙刃劍,給人們帶來方便的同時也帶來了許多信息安全問題,造成了不少用戶的隱私泄露和財產損失。
2 Android主要安全機制
2.1 沙箱隔離模型
在Linux操作系統中,一個給定用戶由一個用戶ID來標識。在Android系統中,一個應用程序由一個用戶ID來標識。在應用市場下載完應用程序進行安裝時,應用程序會被系統指派一個用戶ID,只要應用程序一直安裝在該手機設備上,用戶ID就不會改變。權限是限制或者容許應用程序(不是用戶)訪問設備資源的資格。Android“沙箱”的實質是完成應用程序和進程之間的完全隔離,就是在默認情況下,應用程序對系統資源或其他應用程序資源是沒有訪問權限的。每個應用程序將通過系統獲得固定和唯一的uid,該uid還有一個與此相對應的內核層進程uid。同時,系統也會為應用程序的資源設置正確的權限,只有擁有相同uid的應用程序才能訪問它們。
由圖1可知,2個不同的APP具備不同的uid,各自運行在一個相對獨立的沙箱中,彼此相互隔離,互不干擾,訪問、使用自己沙箱內的資源。
2.2 數字證書
在Android系統中,一切已安裝的應用程序必須具有數字證書,這個數字證書是用來確認APP和APP的作者之間信賴關系的橋梁。裝有Android系統的手機設備是不會安裝沒有數字證書的APP的,因為這很不安全。數字證書有2種模式:發布模式和調試模式。密鑰工具在命令行模式可以被用來產生一個數字證書,而Jarsigner可以被用來為APK進行數字簽名。只有采用同一包的名稱,并且使用相同數字證書的應用程序才被認為是相同的應用程序。設置應用程序之間通訊的權限和升級應用是數字證書的最大用處,沒有數字證書或者數字證書損壞是無法升級應用的。
3 Android安全問題
雖然Android開發人員為系統提供了很多安全保護機制,但它仍存在很多安全問題,給手機用戶的隱私安全帶來極大的威脅。
3.1 數據存儲安全問題
外部存儲區域(SD卡)以及內部存儲區域(NAND閃存)共同組成Android軟件的存儲區域。對于存儲在外部的文件來講沒有讀取和寫入的權限管理,因此所有的應用程序都可以添加、刪除、查詢、修改保存在外部存儲上的任一文件。關于數據存儲可能會有以下一些問題:將隱私數據和系統數據直接明文保存在外部存儲上,那么攻擊者可以通過一些工具或者寫的程序將這些數據和信息讀取出來,然后傳送到特定的服務器上,隱私信息因此而泄露;將軟件運行依賴的數據和配置文件存儲在外部(SD卡)存儲區域里,這些配置文件或數據可能會被攻擊者修改,以實現他們想要控制該軟件操作的目的。例如,把登錄需要用的服務器列表保存在外部存儲區域,攻擊者作為第三方參與其中,將登錄連接發送給特定的服務器,這可能造成會話劫持或賬號泄露。
3.2 網絡通信安全問題
安卓智能手機使用用戶通常使用WIFI來進行網絡通信。WiFi并不總是可靠而沒有風險的,特別是弱加密網絡或公共網絡,虛假WiFi甚至會盜取支付賬戶、手機品牌模型信息、自拍照片、電子郵件賬戶密碼和其他各類隱私數據。在這種情況下,網絡流量可能會被攻擊者監控。另外,在Android系統中,攻擊者取得root賬戶后,可以獲得最高權限,擁有至高無上的地位,因而還能夠監聽網絡數據,進行會話劫持,把惡意數據插入到普通的數據包中去。攻擊者也可以向連有虛假WiFi的終端設備發送帶有病毒的頁面或者郵件。假如這個帶有病毒的文件被用戶打開了,那么該用戶的設備就可能會被植入木馬程序,感染木馬病毒,手機信息被攻擊者竊取。還有一種方法就是給應用程序或網站種植病毒程序, 當對程序進行下載后,可能就已經中了病毒。
3.3 不安全的密碼和認證策略
很多軟件是不會直接把密碼保存在數據庫中的,而是采用各種加密方法對密碼進行加密后存儲在本地,然而攻擊者通過各種工具和軟件,可以對安卓軟件進行反編譯和反匯編。攻擊者能夠用這種方法來了解加密方法和編碼參數。
另一個問題是使用IMEI(國際移動設備身份碼)或者是IMSI(國際移動用戶識別碼)作為唯一的認證憑據。這2個編碼被用來唯一認證移動設備和移動電話卡。假如使用國際移動設備身份碼或國際移動用戶識別碼作為唯一的用戶憑證,一些攻擊者可能假冒用戶來竊取用戶本來的信息。第一,應用程序獲取這2個編碼不需要有特殊的權限,用*#06#這個命令就可以調出。第二,得到移動設備身份碼和移動用戶識別碼后,黑客有多種辦法來創建服務器和用戶之間的偽通信。因而,如果利用國際移動設備身份碼和國際移動用戶識別碼作為唯一的身份驗證憑據,服務器中原用戶的各種數據和賬就很可能被黑客竊取,造成信息泄露。
4 安全策略改進
以上問題大多是由于Android目前主要的訪問控制類型——任意訪問控制(DAC)和用戶不當的使用習慣造成造成,因此從系統開發者和用戶2個角度設計了安全策略進行改進。
4.1 系統開發者:強制訪問控制(MAC)
強制訪問控制是一個基于規則的多層次的訪問控制策略,這個“強制”指的是主客體之間的訪問由系統來控制,而不是由主體或者客體來授權。這種控制策略由系統將系統中的數據和用戶按密級來劃分。在強制訪問控制下,主體和客體都由系統指定了固定的安全屬性和安全標簽。在實施訪問控制時,決定該主體能否訪問該客體的關鍵要素是客體的安全標簽和安全等級是否符合相關的訪問原則。MAC主要有2項訪問規則:
(1)保密性規則:主體s讀客體o,僅當。(下讀);主體s寫客體o,僅當。(上寫)。
(2)完整性規則:主體s讀客體o,僅當。(上讀);主體s寫客體o,僅當。(下寫)。
在以上公式中,s表示主體,o表示客體,l則表示主客體級別。
4.2 用戶使用習慣
(1)用戶應從正規、安全的渠道下載各類APP和升級包。(2)安裝一些正規的安全監管軟件對系統進行監測。(3)開機使用密碼或者指紋識別,而且密碼最好要有一定的強度。(4)不要輕易刷機,刷機需要提供ROOT賬戶,ROOT賬戶是安卓系統中的一個超級管理員用戶賬戶,它可以訪問系統中的所有客體和資源。然而為了維護系統的穩定性和安全性,一般情況下,ROOT權限是不開放的。因此刷機很可能造成手機信息泄露和權限的轉移。(5)及時更新系統和APP,防止BUG對系統安全造成不良影響。(6)不要隨便打開發信人不明的郵件和一些網站,注意網站的域名,防止釣魚。
5 結語
如今,智能手機在人們的日常生活的方方面面都發揮著重要的作用,Android手機又在智能手機中占據著重要一席。無論是手機內部的安全漏洞還是外部的攻擊都使各種手機信息泄露事件層出不窮。系統開發者應該設計出更加安全有效的策略來保障用戶安全,而用戶本身也應該時刻注意自己的隱私信息,讓移動互聯網更好地為人民服務。
[參考文獻]
[1]袁志堅,王春平,陳融,等.Android平臺安全威脅及其應對策略[J].計算機技術與發展,2013(9):110-113.
[2]張毓森,慎健.安全操作系統研究[J].解放軍理工大學學報:自然科學版,2004(3):1-4.
The Information Security Analysis and Strategy Improvement of AndroidMobile Phone
Jia Neng
(Zhongnan University of Economics and Law, Wuhan 430073, China)
Abstract: With the development of mobile Internet, mobile phones using Androidsystem occupy a large share in the market. First of all, this paper analyzes sandbox model and digital certificate which are the existing security mechanisms of Androidsystem. Secondly, security problems in the Androidsystem have been put forward. Finally, security strategies are designed from two angles of system developers and users to improve the existing security strategy.
Key words: Android; mobile phone; information security; security strategy