安占磊
(江蘇東大集成電路系統(tǒng)工程技術有限公司 江蘇 南京 211500)
Android操作系統(tǒng)相較于其他的操作系統(tǒng),更加開放,隨著功能的日益完善,致使人們的日常生活變得更加豐富多彩。教育Android操作系統(tǒng),可以在設備上實現(xiàn)智能化操作,并將設備的相關數(shù)據(jù)上傳到服務器,滿足用戶訪問互聯(lián)網(wǎng)的需求。所以,Android操作系統(tǒng)在穩(wěn)定運行前提下,如何保護數(shù)據(jù)信息安全和程序穩(wěn)定運行,則需要創(chuàng)造一個安全的運行環(huán)境,完善配套的安全機制,及時發(fā)現(xiàn)和排出安全隱患,最大程度上維護應用程序運行安全。因此,加強對其研究,可以為后續(xù)的程序開發(fā)提供一定參考,推動Android操作系統(tǒng)更加優(yōu)化完善。
完善Android操作系統(tǒng)安全機制,其目的在于保障移動設備正常使用,內部的軟件和硬件資源不受損,具體涵蓋了內存、CPU、文件系統(tǒng)、外部設備以及網(wǎng)絡等[1]。提升Android操作系統(tǒng)的安全性,需要具備較為嚴謹、細致的分層結構、安全進程通信和應用沙盒,同時又相應的授權和協(xié)議簽名等。由于Android操作系統(tǒng)開放性特點,可以直接把握設計細節(jié),對于Android操作系統(tǒng)安全設計提出了更高要求。而實現(xiàn)這一目標,一個首要前提則是分析平臺結構設計問題,推行多層結構,在保障用戶使用安全同時,最大程度上賦予平臺靈活性。
就Android操作系統(tǒng)的構成來看,主要包含應用層、應用框架層、運行時、類庫層與Linux內核等部分構成。應用層是系統(tǒng)上應用程序的構成,涵蓋系統(tǒng)預裝應用和第三方應用,而多數(shù)應用程序是基于Java計算機語言編寫,并在Dalvik虛擬機中運行,還有部分應用是基于C/C++語言編寫的應用。但無論選擇哪一種計算機編程語言,運行環(huán)境的安全要求是相同的,均是在沙箱中運行。應用框架層是系統(tǒng)組件設計思想的具體表現(xiàn),涵蓋諸多系統(tǒng)服務以及多個組件,各組件之間通信主要是基于框架層實現(xiàn),并非是組件之間通信[2]。類庫層是諸多二進制動態(tài)庫構成,少部分是來源于系統(tǒng)原生類庫,但多數(shù)來源于第三方類庫,依據(jù)實際情況選擇合適的計算機編程語言開發(fā)設計。Android操作系統(tǒng)運行時,基本構成是Java核心類庫、虛擬機Dalvik,對Java核心類庫進一步細化,包括應用層與框架層用到基本Java庫。就Dalvik虛擬機來看,屬于結合Android操作系統(tǒng)特點針對性打造的,主要特點在于基于寄存器設計的虛擬機,HVM卻是基于數(shù)據(jù)棧實現(xiàn),前者可以實現(xiàn)較大應用程序編譯需要,在有限內存中可以實現(xiàn)多個虛擬機同時運行,各個Dalvik可以基于獨立Linux進程執(zhí)行,避免虛擬機崩潰時,將所有應用程序全部關閉。Linux內核層,可以為Android操作系統(tǒng)服務提供安全保障,以及內存、網(wǎng)絡、進程和設備驅動等功能[3]。
操作系統(tǒng)層,可以充分發(fā)揮Linux內核安全機制,進一步優(yōu)化改進沙盒與安全IPC,控制本地代碼程序在沙盒中安全運行。Linux安全性較為突出,Linux系統(tǒng)多年實踐和優(yōu)化下,已經(jīng)成為備受信任的可靠平臺,也是移動平臺基礎所在?;贚inux內核,具有進程隔離、用戶授權模式、可擴展安全IPC等功能。其中,隔離功能,可以最大程度上保障用戶資源安全,避免其他用戶使用該用戶的內存和文件。
Android操作系統(tǒng)可以為不同用戶分配不同的ID,并始終在設備上維持這一數(shù)值,設備運行期間可以將UID用戶作為單獨進程運作。有別于其他操作系統(tǒng),其他操作系統(tǒng)中UID有多個進程,而Android操作系統(tǒng)選擇此種方式充當內核層應用沙盒?;诜峙銾ID給各個應用程序的方式,可以顯著增強系統(tǒng)運行安全性和穩(wěn)定性,依據(jù)系統(tǒng)標準各應用程序之間不允許相互操作控制,應用程序訪問系統(tǒng)功能也會受到不同程度的限制[4]。
在Android操作系統(tǒng)中,選擇Java和C/C++語言編寫應用程序安全性相同,始終在沙盒中運行,可以有效降低系統(tǒng)的錯誤幾率,提升系統(tǒng)整體安全性。但是,Android操作系統(tǒng)的應用程序運行產生的數(shù)據(jù)信息,均是在沙盒中存儲,如果內存錯誤,只會影響當前運行的應用程序,對其他應用程序并不會產生不良影響。
Linux運行環(huán)境中,基于文件系統(tǒng)許可賦予用戶相應權利,不允許修改其他用戶文件資料,系統(tǒng)分配給不同應用不同的ID,應用充當獨立用戶存在運行[5]。除非特殊情況下,開發(fā)者明確部分文件支持其他應用程序訪問,否則其他應用是不可讀取該應用的文件資料。文件系統(tǒng)加密功能,對系統(tǒng)的文件系統(tǒng)加密處理,避免外部攻擊,保障數(shù)據(jù)信息安全,維護Android操作系統(tǒng)穩(wěn)定運行。
綜上所述,Android操作系統(tǒng)的開放性特點,導致系統(tǒng)運行中存在一定安全隱患,應積極完善配套安全機制,選擇有效安全措施來維護系統(tǒng)數(shù)據(jù)信息安全,支持應用程序安全運行,提升系統(tǒng)整體運行效率。