Andriod操作系統(tǒng)是一種基于Linux的自由及開放源代碼操作系統(tǒng),主要應(yīng)用于智能手機、平板電腦等移動設(shè)備上,目前已擴展到電視、數(shù)據(jù)相機、游戲機等設(shè)備和手表、眼鏡等穿戴設(shè)備上,Andriod系統(tǒng)和其他操作系統(tǒng)一樣,采用了分層的架構(gòu)模式,從高層到低層分別是應(yīng)用軟件層、應(yīng)用軟件框架層、系統(tǒng)運行庫層和Linux內(nèi)核層,目前最新版本為6.0版本。
Andriod手機安全包括硬件安全和軟件安全,軟件安全包括Andriod操作系統(tǒng)本身安全和數(shù)據(jù)安全兩個方面。Andriod操作系統(tǒng)本身安全是對操作系統(tǒng)的自身保護,確??梢苑乐刮词跈?quán)的訪問、對授權(quán)用戶正常提供服務(wù)和對未授權(quán)用戶拒絕服務(wù)等。數(shù)據(jù)安全指確保存儲數(shù)據(jù)的完整性、合法性兩個方面。Andriod操作系統(tǒng)源于Linux操作系統(tǒng),在繼承Linux操作系統(tǒng)安全機制的基礎(chǔ)上,又產(chǎn)生和發(fā)展了符合設(shè)備實際使用的安全機制。
因Andriod操作系統(tǒng)是基于Linux操作系統(tǒng)的開源操作系統(tǒng),采用和Linux系統(tǒng)一樣的安全機制,Linux操作系統(tǒng)是一個權(quán)限分離的系統(tǒng),采取系統(tǒng)進程和應(yīng)用軟件權(quán)限分離,即應(yīng)用軟件與應(yīng)用軟件、應(yīng)用軟件與系統(tǒng)進程隔離開,通過為每一個應(yīng)用軟件分配不同的uid和gid來標識這些不同的應(yīng)用軟件,從而在系統(tǒng)中惟一識別這些應(yīng)用軟件,從而達到不同應(yīng)用軟件之間的私有數(shù)據(jù)和訪問隔離目的,各系統(tǒng)進程也使用這種機制的識別方式,為方便區(qū)分和管理,定義uid數(shù)值10000以下的是系統(tǒng)進程,10000以上的是應(yīng)用軟件。Andriod操作系統(tǒng)的安全功能也是通過權(quán)限分離機制提供,權(quán)限可以限制某個特定進程的特定操作,也可以限制每個URI權(quán)限對特定數(shù)據(jù)段的訪問,這其中包括讀寫用戶隱私數(shù)據(jù),讀寫其他應(yīng)用文件,訪問網(wǎng)絡(luò)或阻止設(shè)備待機等,只有 uid是“system”或“root”用戶才擁有Andriod操作系統(tǒng)文件的訪問權(quán)限,而應(yīng)用軟件只有通過申請Andriod權(quán)限才能實現(xiàn)對相應(yīng)文件的訪問,該安全機制也被稱為“沙箱”安全機制,是Andriod操作系統(tǒng)的核心安全機制。
Andriod在采用“沙箱”安全機制的基礎(chǔ)上,在安全機制方面又進行了擴展,主要采用了permission機制,這種機制主要用來對每個應(yīng)用可以執(zhí)行的具體操作進行權(quán)限細分和訪問控制。對一個應(yīng)用軟件而言,一個權(quán)限主要有權(quán)限名稱、屬于的權(quán)限組和保護級別等3種屬性,每個權(quán)限組由1種以上的具體權(quán)限,每個權(quán)限的保護級別也有 normal、dangerous、signature、signatureOrSystem等4種,不同的保護級別也區(qū)分了應(yīng)用軟件在使用時的認證方式,normal表示權(quán)限是低風(fēng)險的,不會對系統(tǒng)、用戶或其他應(yīng)用軟件造成危害,只要申請了就可使用。dangerous表示權(quán)限是高風(fēng)險的,系統(tǒng)將可能要求用戶輸入相關(guān)信息,需用戶確認才會授予此權(quán)限。signature表示只有當應(yīng)用軟件所用數(shù)字簽名與聲明此權(quán)限的應(yīng)用軟件所有數(shù)字簽名相同時,才能將權(quán)限授給它。signatureOrSystem表 示將權(quán)限授給具有相同數(shù)字簽名的應(yīng)用軟件或Android包類。permission的初始化發(fā)生在應(yīng)用軟件安裝或升級時,permission向Andriod操作系統(tǒng)提出申請,Andriod操作系統(tǒng)進行檢測和授權(quán),為應(yīng)用軟件建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。permission的創(chuàng)建先是從安裝時創(chuàng)建的AndriodManifest.xml文件中提取 permission信息開始,從package獲取和驗證證書,并將簽名信息保存在package結(jié)構(gòu)中,如果是普通package,則清除package中的mAdoptPermissions字段信息,如果在AndriodManifest.xml中 指 定 了 shared user,先查看全局mSharedUsers中是否有該uid對應(yīng)的SharedUserSetting數(shù)據(jù)結(jié)構(gòu),若沒有則新分配一個uid,創(chuàng)建SharedUserSetting并保存到全局mSharedUsers中,然后開始創(chuàng)建packagesettings數(shù)據(jù)結(jié)構(gòu),為應(yīng)用軟件添加自定義權(quán)限,清除其中不一致的permission信息,最后是對每一個package進行檢查授權(quán),可以看出permission安全機制從初始化到建立完成每一步都對應(yīng)用軟件的相應(yīng)權(quán)限進行了修改和細化,在很大程度上實現(xiàn)了對應(yīng)用軟件的安全管理。在應(yīng)用軟件運行過程中,Andriod還采用了permission動態(tài)檢查機制,對應(yīng)用軟件所有操作和數(shù)據(jù)訪問進行動態(tài)檢查,主要對uid和其訪問權(quán)限進行檢查,同時提供了per-URI permission機制,用來提供對某些特定的數(shù)據(jù)塊進行ad-hoc(點對點)方式的訪問。在對應(yīng)用軟件的外來訪問和數(shù)據(jù)流出方面,Andriod操作系統(tǒng)也提供了相應(yīng)權(quán)限檢查接口,這些接口由Contextwrapper提供,當應(yīng)用軟件被網(wǎng)絡(luò)、藍牙、電話等訪問時,訪問程序須以XML格式的文件向Andriod操作系統(tǒng)提出申請,待批準后就會調(diào)動這些接口進行權(quán)限檢測,通過后才可訪問相應(yīng)的資源。
安裝Andriod應(yīng)用軟件時,只有在經(jīng)過用戶檢查程序簽名提及的權(quán)限和確認后,Andriod應(yīng)用軟件才可以安裝和使用,每一個Andriod操作系統(tǒng)中的系統(tǒng)進程和應(yīng)用軟件都是需要簽名的。Andriod的簽名機制分兩個階段,在包掃描階段,除非對應(yīng)用軟件的完整性和證書進行驗證,普通package的簽名和證書必須要經(jīng)過驗證才可以。在權(quán)限創(chuàng)建階段,如果該package來自系統(tǒng)程序,則信任它并使用新的簽名替換其原有簽名以提升權(quán)限,如果不是來自系統(tǒng)程序,對應(yīng)用軟件簽名和應(yīng)用軟件聲明權(quán)限簽名相同時,才可以授權(quán),否則授權(quán)失敗。
ART模式是Andriod 4.4版本后才增加的一種應(yīng)用軟件虛擬運行模式,原來老版本的Andriod操作系統(tǒng)運行的虛擬模式是Dalvilk模式,Dalvilk模式最初的設(shè)計目的是讓Andriod操作系統(tǒng)可以適應(yīng)不同配置硬件設(shè)備,不僅避免了因硬件無法滿足要求導(dǎo)致應(yīng)用軟件無法運行,也降低了應(yīng)用軟件運行過程中出錯導(dǎo)致Andriod操作系統(tǒng)出錯的機率,這種模式無形之中對應(yīng)用軟件的進程進行了隔離,一定程度上保護了應(yīng)用軟件及其數(shù)據(jù)文件的完整性和機密性。
Andriod操作系統(tǒng)雖有很好的安全機制,然而目前Andriod操作系統(tǒng)和Andriod手機的安全現(xiàn)狀卻不容樂觀。隨著Andriod操作系統(tǒng)和Andriod手機占有的市場份額越來越大,各類問題層出不窮,所謂“道高一尺,魔高一丈”,各類隱私竊取、盜取銀行賬戶信息、吸費、偷流量、病毒木馬、廣告惡意推廣、誘騙欺詐等問題不斷涌現(xiàn),其造成的危害也越來越大。
Andriod操作系統(tǒng)的開源性讓Andriod應(yīng)用軟件呈幾何式增長,但也給各種病毒木馬和惡意代碼提供了隱蔽條件,讓黑客等有了自由創(chuàng)造和發(fā)揮的空間,修改、反編譯正規(guī)應(yīng)用軟件源碼并植入木馬、病毒和惡意代碼變得相當容易,從而造成惡意應(yīng)用、惡意病毒和木馬應(yīng)用軟件呈井噴式增長,給Andriod操作系統(tǒng)帶來的威脅越來越大。
有安全機構(gòu)發(fā)現(xiàn)所有Andriod操作系統(tǒng)均存在安全漏洞,不需任何權(quán)限,只要使用任意號碼給Andriod手機發(fā)送一條任意內(nèi)容的短信或彩信,就可以引發(fā)釣魚攻擊。這個漏洞的攻擊原理是因為各類Andriod應(yīng)用軟件升級都需要重新安裝程序,所以為避免頻繁升級給用戶體驗和開發(fā)帶來不便,這些Andriod應(yīng)用軟件大都使用插件機制來做到無縫升級和功能擴展,插件機制的實現(xiàn)方式是把擴展的功能編寫成單獨apk或jar文件,然后在程序運行時使用DexClassLoader函數(shù)動態(tài)加載,進行反射調(diào)用。由于Andriod應(yīng)用的代碼緩存機制會優(yōu)先加載運行apk的緩存代碼odex,黑客等只需對odex文件進行修改,就可以造成對插件文件所做的各種保護失效。
相比個人電腦,無論是從病毒的數(shù)量,還是在病毒種類上,手機病毒遠沒有個人電腦平臺病毒多,因Andriod手機病毒查殺等防護件尚處于發(fā)展階段,其成熟度遠不及個人電腦病毒查殺軟件。因Andriod操作系統(tǒng)的市場占有率,病毒的種類和數(shù)量比其他移動操作系統(tǒng)要多得多,各類安全問題也相對難以解決,造成這種狀況的原因,一是Andriod殺毒軟件起步比較晚,防護原理和方式不同于個人電腦,在技術(shù)上還不夠完善,二是Andriod操作系統(tǒng)本身的安全機制造成防護方式困難,因Andriod采用了“沙箱”的權(quán)限隔離技術(shù),查殺病毒等防護軟件很大程度上也是被隔離的,所以在做防護的時候,如果賦予的權(quán)限不足,很難達到防護要求。三是針對Andriod的病毒木馬等層出不窮,防護軟件更新跟不上病毒木馬的發(fā)展速度,即使采用云方式防護有時也無濟于事。四是防護軟件大多良莠不齊,很多防護軟件界面不友好、占用內(nèi)存過多、在惡意攔截方面均有不足、不能及時彌補Andriod操作系統(tǒng)漏洞和查殺病毒木馬不徹底等。五是有的病毒木馬存在于Andriod操作系統(tǒng)目錄中,清除它就需要ROOT權(quán)限,而對大部分用戶而言,需要一定的技術(shù)含量和安全風(fēng)險,防護困難。六是相比Symbian、iOS、WindowsPhone系 統(tǒng),Andriod在應(yīng)用軟件管理機制還存在較大不足,塞班系統(tǒng)是一個比較復(fù)雜的系統(tǒng),里面安裝的所有應(yīng)用軟件都必須通過塞班官方安全認證或用戶給應(yīng)用軟件打數(shù)字簽名作認證才可以,染毒風(fēng)險要比Andriod操作系統(tǒng)小得多,而蘋果的應(yīng)用軟件只能蘋果官方軟件店查找,蘋果對軟件功能和安全性審查非常嚴格,安全有一定保障,而WindowsPhone系統(tǒng)因市場占有率低,病毒危害面較窄。
因為Andriod的開放性,也就造成了各類Andriod應(yīng)用軟件管理的無政府狀態(tài),目前各類Andriod應(yīng)用軟件市場和手機論壇已成為Andriod手機最大的威脅來源地,由于目前國內(nèi)眾多Andriod應(yīng)用市場和手機論壇缺乏應(yīng)用軟件上傳安全審核以及監(jiān)管等機制,缺少在應(yīng)用軟件安全方面的統(tǒng)一管理,導(dǎo)致部分應(yīng)用市場和手機論壇的應(yīng)用軟件上傳安全審核非常不嚴格,要求非常低,大量惡意應(yīng)用軟件可以很輕易進入應(yīng)用市場和手機論壇并對外提供下載,大部分Andriod手機用戶都是通過這些應(yīng)用市場和手機論壇尋找自己需要的應(yīng)用軟件。當前,有很多Andriod應(yīng)用市場和手機論壇已經(jīng)提高了準入應(yīng)用軟件的安全審核,一定程度上可以有效消除這方面的安全隱患。
雖然Andriod操作系統(tǒng)有著這樣或那樣的安全隱患,但是均可采取一定方式進行補救或最大程序地消除這些安全隱患。但是如果用戶不能使用正確的安全方式使用Andriod手機,那么所有的安全補救措施都將是無效的,用戶不安全的使用習(xí)慣是讓Andriod手機成為安全威脅的主要緣由。例如,不給Andriod手機設(shè)置開機密碼,不給Andriod手機安裝殺毒軟件,不從安全的應(yīng)用市場下載應(yīng)用軟件、喜歡經(jīng)常蹭公共Wifi網(wǎng)絡(luò)等。
Andriod手機雖然安全問題很多,培養(yǎng)一些好的使用習(xí)慣可最大程度地消除這些安全隱患,確保Andriod手機的軟件安全。
各類應(yīng)用軟件市場和手機論壇已成為Andriod手機最大的威脅源,國內(nèi)現(xiàn)在有很多Andriod應(yīng)用軟件下載市場和手機論壇,但良莠不齊。筆者這里推薦幾個準入安全審核嚴格Andriod應(yīng)用軟件市場:聯(lián)想公司的樂商店、豌豆莢、百度移動應(yīng)用中心、360手機助手、安卓市場、果凍應(yīng)用助手、騰訊應(yīng)用寶、淘應(yīng)用等。如果非要從其他應(yīng)用市場或手機論壇下載應(yīng)用軟件,一定要查看一下關(guān)于這款應(yīng)用軟件的用戶評論,查看其是否存在安全問題,如果沒有關(guān)于這款應(yīng)用軟件的用戶評論,建議不要下載。
為手機設(shè)置一個開機密碼和鎖屏密碼很有必要,對大部分用戶而言,開機密碼和鎖屏密碼可以預(yù)防大部分的安全隱患。設(shè)置密碼最好的方式還是采用字母加數(shù)字的方式比較好,盡量少用那些奇怪的密碼設(shè)置方式。同時給手機內(nèi)的各類應(yīng)用設(shè)置一個使用權(quán)限密碼也很有必要,包括使用、安裝、卸載等。
使用無線加密傳輸可以有效避免數(shù)據(jù)在傳輸過程被竊取后破解的隱患,特別是在網(wǎng)購需要提供銀行賬戶密碼時,使用網(wǎng)購網(wǎng)站的安全插件很有必須,但是很多用戶采用的卻是一次性靜態(tài)輸入密碼的方式進行網(wǎng)購,而沒有采用雙向握手認證和傳輸加密的方式,這是非常大的安全隱患。
手機安全上網(wǎng),要克服貪小便宜的毛病,因為很多用戶為了省點流量喜歡連接免費的公共Wifi網(wǎng)絡(luò),但這些網(wǎng)絡(luò)很多是不安全的,無論何時何地,盡量使用自己的網(wǎng)絡(luò)而不是公共Wifi熱點,畢竟電信運營商提供的無線網(wǎng)絡(luò)安全性是值得信賴的,有些手機的網(wǎng)絡(luò)設(shè)置中有Wifi自動連接的功能,只要有免費的Wifi,手機就自動連接,手機很容易在不知情的情況下被入侵。因此,用戶最好把Wifi連接功能設(shè)置為手動,即使在使用這些免費的公共Wifi網(wǎng)絡(luò)時,也不要使用網(wǎng)銀等功能。
要給手機安裝專業(yè)的手機安全應(yīng)用軟件很有必要,即使這些軟件目前還不是很完善。安全應(yīng)用軟件相當于為Andriod手機上了一把鎖,當然,很多比較好的安全應(yīng)用軟件是收費的,筆者推薦使用的手機殺毒軟件有:大蜘蛛、諾頓(Norton Security)、瑞星手機殺毒、360手機專家、騰訊手機管家、百度手機衛(wèi)士。用戶可以根據(jù)自己的手機應(yīng)用和特點選擇適合自己手機的殺毒軟件,不同的殺毒軟件有不同的安全側(cè)重點,例如,騰訊手機管家突出手機防盜、查殺病毒、低資源消耗和阻攔騷擾信息,百度手機衛(wèi)士突出安全支付保障、系統(tǒng)優(yōu)化和個人隱私防護,360手機專家突出免費解答、手機防盜和查殺病毒,瑞星手機殺毒突出查殺病毒。
因為很多病毒和木馬都在后臺運行,所以及時清理手機可以有效消除這些安全隱患,當然及時清理手機也可以提高手機的使用體驗。使用Andriod手機的朋友都有一個體會,手機剛買時還很順暢,可是用到后來會越來越卡,造成卡頓的原因主要有以下幾個方面:一是不良開發(fā)商為謀取暴利開發(fā)了很多植入廣告應(yīng)用軟件,而且很多還會捆綁下載其他應(yīng)用軟件,本來自己是下載應(yīng)用軟件A,結(jié)果一不小心就會安裝應(yīng)用軟件B、應(yīng)用軟件C等等,而這些應(yīng)用軟件和廣告一般都會后臺運行,即使不后臺運行也會占用內(nèi)存,病毒和木馬也是采取這種方法。二是手機垃圾過多,手機其實跟個人電腦類似,用久了就會產(chǎn)生各種緩存文件,占用內(nèi)存,此外,下載的各類應(yīng)用軟件、系統(tǒng)升級包、游戲軟件,為了手機炫酷下載一些動態(tài)壁紙、用戶自拍的照片、視頻,每天聊的微信、QQ,發(fā)送圖片和視頻等都是手機空間和內(nèi)存殺手。三是現(xiàn)在的應(yīng)用軟件越來越大,對系統(tǒng)的要求也越來越高,當然手機系統(tǒng)的升級也對硬件要求越來越高。所以可以卸載掉一些不用的應(yīng)用軟件,使用安全衛(wèi)士禁止一些應(yīng)用軟件的開機自動運行,經(jīng)常一鍵清理內(nèi)存等。
很多山寨手機的ROM中都被內(nèi)置了惡意代碼,在刷機的時候也很容易刷入含有木馬程序的系統(tǒng)ROM,而且很多山寨手機和問題應(yīng)用軟件構(gòu)成了利益聯(lián)盟,此外,山寨手機的Andriod操作系統(tǒng)無法升級,安全漏洞多,還有可能設(shè)有后門等。而正版品牌手機的安全認證非常嚴密,很少有這些安全隱患。
有一些手機開發(fā)公司會定期升級Andriod操作系統(tǒng)及發(fā)布一些安全補丁,以便提升用戶體驗和解決系統(tǒng)中存在的各種漏洞,這是最基礎(chǔ)的,及時升級和打補丁可以及時彌補系統(tǒng)漏洞,當然,不僅要及時升級Andriod操作系統(tǒng),還要及時地升級手機中的各類應(yīng)用軟件,因為如果升級不及時,就可能造成手機上的漏洞被利用。
現(xiàn)在很多使用Andriod操作系統(tǒng)的手機,無論是品牌手機還是山寨手機,都會自帶一些應(yīng)用軟件,而這些應(yīng)用很多用戶不是不喜歡,就是感覺不安全,所以很多用戶都會root手機。root來源于Linux,是系統(tǒng)管理員擁有操作系統(tǒng)的最高權(quán)限,若一臺手機root了的話就可以訪問、修改和獲取所有手機內(nèi)的文件,若有惡意應(yīng)用利用root權(quán)限,就可以造成很嚴重的后果,即便安裝了殺毒軟件,這些惡意程序也會將殺毒軟件關(guān)閉,而網(wǎng)上很多root手機的軟件和刷機包,都是不安全和被植入惡意軟件的。