亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android與iOS終端安全機(jī)制比較分析

        2015-05-11 05:40:10何國(guó)鋒HeGuofengZengYing
        互聯(lián)網(wǎng)天地 2015年11期
        關(guān)鍵詞:應(yīng)用程序密鑰終端

        何國(guó)鋒,曾 瑩/He Guofeng,Zeng Ying

        (中國(guó)電信股份有限公司上海分公司 上海200085)

        1 引言

        移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,離不開(kāi)移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)和移動(dòng)智能終端的發(fā)展。移動(dòng)數(shù)據(jù)網(wǎng)絡(luò)從GPRS/cdma1x 2G時(shí)代開(kāi)始,經(jīng)歷了WCDMA/Ev-Do時(shí)代,一直到4G時(shí)代,網(wǎng)絡(luò)速度大大提升。移動(dòng)智能終端市場(chǎng)出現(xiàn)過(guò) Symbian、Windows Phone、Android 以及iOS等多個(gè)操作系統(tǒng),有些已經(jīng)退出市場(chǎng),有些卻成為市場(chǎng)主流,縱觀當(dāng)前各種活躍的移動(dòng)應(yīng)用,主要仍以iOS和Android兩大陣營(yíng)為主。

        到2014年年底,智能手機(jī)全球出貨量達(dá)12.86億部,中國(guó)市場(chǎng)智能手機(jī)出貨量也達(dá)4.5億部,而全球智能手機(jī)用戶數(shù)量更是達(dá)17.5億人。在全球大多數(shù)發(fā)達(dá)地區(qū),如北美、西歐等部分國(guó)家,智能手機(jī)的滲透率已超過(guò)六成;在全球智能手機(jī)整體出貨量中,Android智能手機(jī)出貨量達(dá)10.6億部,市場(chǎng)份額高達(dá)82.3%;蘋果智能手機(jī)出貨量為1.78億部,市場(chǎng)份額為14%;微軟 Windows Phone智能手機(jī)出貨量為3 500萬(wàn)部,市場(chǎng)占有率僅為2.7%[1]。

        智能手機(jī)的發(fā)展與普及也為移動(dòng)應(yīng)用的快速發(fā)展帶來(lái)了契機(jī),越來(lái)越多的工作應(yīng)用和生活應(yīng)用在移動(dòng)終端上被用戶使用。與傳統(tǒng)手機(jī)相比,移動(dòng)智能終端已經(jīng)成為信息獲取和傳播越來(lái)越重要的載體,并開(kāi)始影響和改變?nèi)藗兊墓ぷ骱蜕?,因此,移?dòng)終端的安全性也顯得愈加重要。

        不同陣營(yíng)的移動(dòng)智能終端由于設(shè)計(jì)理念的差異,其安全機(jī)制也不盡相同。只有深入了解其安全機(jī)制,才能充分利用其優(yōu)勢(shì),設(shè)法彌補(bǔ)其不足,提升其安全性。本文將圍繞移動(dòng)終端兩大陣營(yíng)剖析其安全機(jī)制,并通過(guò)對(duì)比分析,最終提出安全建議。

        2 移動(dòng)終端安全機(jī)制的總體架構(gòu)

        客戶對(duì)智能終端通常有以下幾個(gè)主要方面的安全需求。

        (1)數(shù)據(jù)存儲(chǔ)安全

        這是客戶最核心的安全需求,例如,存在閃存中的數(shù)據(jù)是否安全?是否會(huì)被其他人通過(guò)非法途徑獲???一些非法應(yīng)用是否會(huì)偷偷讀取用戶數(shù)據(jù)?或者他人拿到終端通過(guò)芯片分析是否能獲得原始數(shù)據(jù)?這需要在應(yīng)用級(jí)、系統(tǒng)級(jí)、設(shè)備級(jí)層面都進(jìn)行充分考慮。

        (2)應(yīng)用安全可信

        安裝的應(yīng)用來(lái)源是否可信?一個(gè)非法應(yīng)用一旦被安裝在設(shè)備上,并且給予了授權(quán),設(shè)備上的數(shù)據(jù)就變得不可控。同時(shí)考慮不同應(yīng)用運(yùn)行時(shí)是否有隔離,應(yīng)用中輸入的數(shù)據(jù)是否會(huì)被其他應(yīng)用截獲。

        (3)身份認(rèn)證和權(quán)限管理

        通俗地說(shuō),這就是合適的人使用合適的工具,訪問(wèn)合適的數(shù)據(jù)。設(shè)備是否有合適的手段進(jìn)行訪問(wèn)控制,設(shè)置只有授權(quán)人員才能訪問(wèn)終端;是否有合適的手段進(jìn)行權(quán)限控制,設(shè)置不同的應(yīng)用僅能訪問(wèn)的授權(quán)數(shù)據(jù)。

        (4)網(wǎng)絡(luò)安全

        在用戶對(duì)外傳輸數(shù)據(jù)時(shí),要確保其他應(yīng)用不能獲得傳輸?shù)臄?shù)據(jù)。

        為了便于分析,通常將移動(dòng)智能終端模型分為5個(gè)層次,如圖1所示。

        最底層是硬件,主要包括終端的CPU、內(nèi)存、存儲(chǔ)為主的設(shè)備單元,組成一個(gè)可計(jì)算的終端。

        固件則是在微代碼層面組織各硬件單元,為上層操作系統(tǒng)提供標(biāo)準(zhǔn)化接口。硬件和固件組成一個(gè)可安裝操作系統(tǒng)的智能終端。

        操作系統(tǒng)可以分為兩部分,一部分是操作系統(tǒng)核心,主要負(fù)責(zé)文件系統(tǒng)管理、進(jìn)程調(diào)度等;另一部分是運(yùn)行環(huán)境,主要包括沙箱、網(wǎng)絡(luò)隔離、內(nèi)存控制、接口獨(dú)占等。

        應(yīng)用則是客戶使用的功能軟件。

        各個(gè)層面安全需求考慮的安全因素也不盡相同。硬件層面需要考慮終端的CPU是否安全,內(nèi)存數(shù)據(jù)是否會(huì)被竊取,存儲(chǔ)中的數(shù)據(jù)是否安全被保護(hù);固件層面需要考慮固件是否會(huì)被替換,是否存在安全漏洞等;操作系統(tǒng)核心需要考慮文件系統(tǒng)是否安全,進(jìn)程間是否有漏洞;運(yùn)行環(huán)境需要考慮網(wǎng)絡(luò)數(shù)據(jù)是否隔離,內(nèi)存是否共享,接口是否獨(dú)占等;應(yīng)用層面需要考慮應(yīng)用是否合法,代碼是否被篡改,是否存在漏洞等。

        下面將分析當(dāng)前市場(chǎng)兩大移動(dòng)終端陣營(yíng)分別是如何保障安全的。

        3 Android安全機(jī)制

        3.1 軟件層次結(jié)構(gòu)

        Android是業(yè)界流行的開(kāi)源移動(dòng)平臺(tái),受到廣泛關(guān)注并被多個(gè)手機(jī)制造商作為手機(jī)的操作系統(tǒng)平臺(tái)。Android作為一個(gè)移動(dòng)設(shè)備的平臺(tái),其軟件層次結(jié)構(gòu)包括操作系統(tǒng)(OS)、中間件(MiddleWare)和應(yīng)用程序(Application)。根據(jù)Android的軟件框圖,其軟件層次結(jié)構(gòu)自下而上分為以下4個(gè)層次[2],如圖2所示。

        (1)操作系統(tǒng)層

        Android使用Linux 2.6作為操作系統(tǒng),Linux是一個(gè)開(kāi)放的操作系統(tǒng),Linux 2.6也是一種標(biāo)準(zhǔn)技術(shù)。Android對(duì)操作系統(tǒng)的使用包括核心和驅(qū)動(dòng)程序兩部分,Android的Linux核心為標(biāo)準(zhǔn)的Linux 2.6內(nèi)核;驅(qū)動(dòng)包括顯示、內(nèi)存、相機(jī)、音頻、Wi-Fi、鍵盤、藍(lán)牙、電源燈。

        (2)Android 運(yùn)行環(huán)境

        Android運(yùn)行環(huán)境包括各種底層庫(kù)和虛擬機(jī)。其中,庫(kù)主要包括C庫(kù)、多媒體框架、2D圖像引擎、SSL、OpenGL、界面管理工具、SqLite、WebKit、FreeType等。庫(kù)以系統(tǒng)中間件的形式提供,與移動(dòng)設(shè)備的平臺(tái)應(yīng)用密切相關(guān)。

        Android運(yùn)行環(huán)境中的虛擬機(jī)技術(shù)使用Dalvik。Dalvik虛擬機(jī)和一般Java虛擬機(jī)(Java VM)不同,它執(zhí)行的不是Java標(biāo)準(zhǔn)的字節(jié)碼(Bytecode),而是Dalvik可執(zhí)行格式(.dex)的執(zhí)行文件。在執(zhí)行過(guò)程中,每一個(gè)應(yīng)用程序即一個(gè)進(jìn)程 (Linux的一個(gè)Process)。二者最大的區(qū)別在于Java VM是基于棧的虛擬機(jī)(Stack-Based),而 Dalvik是基于寄存器的虛擬機(jī)(Register-Based)。后者最大的好處在于可以根據(jù)硬件實(shí)現(xiàn)更大的優(yōu)化,這更適合移動(dòng)設(shè)備的特點(diǎn)。

        (3)應(yīng)用程序框架

        Android的應(yīng)用程序框架為應(yīng)用程序?qū)拥拈_(kāi)發(fā)者提供APIs。主要提供UI程序中所需控件:Views(視圖組件),包括 Lists(列表)、Grids(柵格)、Text Boxes(文本框)、Buttons(按鈕)等以及嵌入式的Web瀏覽器。Android的應(yīng)用程序可以利用應(yīng)用程序框架中的API開(kāi)發(fā)以下幾個(gè)組件:Activity(活動(dòng))、Broadcast Intent Receiver(廣播意圖接收者)、Service(服務(wù))、Content Provider(內(nèi)容提供者)。

        (4)應(yīng)用程序

        Android的應(yīng)用程序主要是用戶界面(User Interface),通常以Java程序編寫,其中還可以包含各種資源文件(放置在res目錄中)。Java程序及相關(guān)資源經(jīng)過(guò)編譯后,將生成一個(gè)APK包。Android本身提供了主屏幕(Home)、聯(lián)系人(Contact)、電話(Phone)、瀏覽器(Browsers)等眾多的核心應(yīng)用。 同時(shí),應(yīng)用程序的開(kāi)發(fā)者還可以使用應(yīng)用程序框架層的API實(shí)現(xiàn)自己的程序。

        Android主要從系統(tǒng)安全、權(quán)限管理、數(shù)據(jù)保護(hù)、應(yīng)用安全4個(gè)方面進(jìn)行安全設(shè)計(jì)。

        3.2 系統(tǒng)安全

        Android采用開(kāi)源模式,OS和終端生產(chǎn)商沒(méi)有綁定關(guān)系。因此,在系統(tǒng)設(shè)計(jì)時(shí),硬件和軟件采用松耦合設(shè)計(jì)。

        由于Android是基于Linux 2.6的,因此大部分沿用了Linux的系統(tǒng)安全特性。Linux系統(tǒng)是開(kāi)源的,并且在業(yè)界廣泛使用,代碼經(jīng)過(guò)數(shù)萬(wàn)人檢查,其安全性值得信賴。

        在硬件設(shè)備啟動(dòng)時(shí),會(huì)啟動(dòng)設(shè)備自身的固件,固件再啟動(dòng)Android系統(tǒng)。在初次安裝Android系統(tǒng)時(shí),固件會(huì)檢查Android系統(tǒng)的完整性,然后才能進(jìn)行安裝,一般而言,終端廠商會(huì)驗(yàn)證是否為自己公司所簽發(fā)的系統(tǒng)。如果設(shè)備上安裝的是第三方的操作系統(tǒng),則首先修改引導(dǎo)固件。

        在Android系統(tǒng)中,不會(huì)對(duì)最終用戶開(kāi)放Root權(quán)限,這利用了Linux本身的管理機(jī)制。因此,一般用戶無(wú)法修改系統(tǒng)Kennel,甚至系統(tǒng)級(jí)應(yīng)用。一些用戶為了精簡(jiǎn)系統(tǒng),修改系統(tǒng)核心,則需要獲得Root權(quán)限,即所謂的Root,然而Root后會(huì)給系統(tǒng)帶來(lái)安全風(fēng)險(xiǎn)。

        3.3 權(quán)限管理

        Android系統(tǒng)是一個(gè)權(quán)限分離的系統(tǒng),利用Linux已有的權(quán)限管理機(jī)制,通過(guò)為每一個(gè)應(yīng)用程序分配不同的用戶標(biāo)識(shí)(UID)和GID,從而使得不同應(yīng)用程序之間的私有數(shù)據(jù)和訪問(wèn)(Native以及Java層通過(guò)這種Sandbox機(jī)制,都可以實(shí)現(xiàn))達(dá)到隔離的目的。系統(tǒng)中的UID分為3類,即普通用戶、根用戶和系統(tǒng)用戶。普通用戶是指所有使用系統(tǒng)的真實(shí)用戶,這類用戶可以使用用戶名及密碼登錄系統(tǒng);根用戶也就是Root用戶,它的ID是0,也被稱為超級(jí)用戶,Root賬戶擁有對(duì)系統(tǒng)的完全控制權(quán),可以修改、刪除任何文件,運(yùn)行任何命令;系統(tǒng)用戶是指系統(tǒng)運(yùn)行時(shí)必須有的用戶,但并不是指真實(shí)的使用者。在Android系統(tǒng)中,一個(gè)UID表示一個(gè)應(yīng)用程序。應(yīng)用程序在安裝時(shí)被分配UID,應(yīng)用程序在設(shè)備上的存續(xù)期間內(nèi),UID保持不變。對(duì)于普通的應(yīng)用程序,GID即UID。

        與此同時(shí),Android還在此基礎(chǔ)上進(jìn)行擴(kuò)展,提供了Permission機(jī)制,它主要是用來(lái)對(duì)應(yīng)用可以執(zhí)行的某些具體操作進(jìn)行權(quán)限細(xì)分和訪問(wèn)控制,同時(shí)提供了PER-URI權(quán)限機(jī)制,用來(lái)提供對(duì)某些特定的數(shù)據(jù)塊進(jìn)行點(diǎn)到點(diǎn)方式的訪問(wèn)。

        在系統(tǒng)底層上,Android限制了應(yīng)用對(duì)一些API的存取,如Android并不提供直接操縱SIM卡的API。當(dāng)?shù)谌紸PP存取相關(guān)地理位置、相機(jī)、藍(lán)牙、短信等受保護(hù)的API時(shí),需要得到使用者另外的許可。

        在Android系統(tǒng)中,對(duì)權(quán)限的管理是在應(yīng)用安裝時(shí)確定的,一般在Mainfest中描述,如果用戶不能接受應(yīng)用的權(quán)限需求,則不能安裝應(yīng)用。在Android 4.2后,也可以在安裝應(yīng)用后再更改權(quán)限。

        3.4 數(shù)據(jù)保護(hù)

        Android系統(tǒng)采用進(jìn)程沙箱隔離、權(quán)限聲明、訪問(wèn)控制、進(jìn)程通信、內(nèi)存管理等機(jī)制來(lái)確保系統(tǒng)及應(yīng)用的數(shù)據(jù)安全。

        (1)進(jìn)程沙箱隔離機(jī)制

        Android應(yīng)用程序在安裝時(shí)被賦予獨(dú)特的UID,并永久保持,應(yīng)用程序及其運(yùn)行的Dalvik虛擬機(jī)運(yùn)行于獨(dú)立的Linux進(jìn)程空間,與UID不同的應(yīng)用程序完全隔離。同一開(kāi)發(fā)者可指定不同的應(yīng)用程序共享UID,進(jìn)而運(yùn)行于同一進(jìn)程空間,共享資源。使用相同數(shù)字簽名的不同應(yīng)用程序可以相互授予權(quán)限來(lái)訪問(wèn)基于簽名的API。如果應(yīng)用程序共享UID,則可以運(yùn)行在同一進(jìn)程中,從而允許彼此訪問(wèn)對(duì)方的代碼和數(shù)據(jù)。

        (2)權(quán)限聲明機(jī)制

        應(yīng)用程序需要顯式聲明權(quán)限、名稱、權(quán)限組與保護(hù)級(jí)別。不同的級(jí)別要求應(yīng)用程序行使此權(quán)限時(shí)的認(rèn)證方式不同:普通級(jí)申請(qǐng)即可用;敏感級(jí)需在安裝時(shí)由用戶確認(rèn)才可用;系統(tǒng)級(jí)則必須是系統(tǒng)用戶才可用。

        (3)訪問(wèn)控制機(jī)制

        來(lái)自于阿美或自他承包商,有能力、經(jīng)驗(yàn)和資格識(shí)別腳手架安全風(fēng)險(xiǎn),驗(yàn)證腳手架是否符合阿美相關(guān)標(biāo)準(zhǔn)要求,同時(shí)記錄腳手架檢查及驗(yàn)收結(jié)果。腳手架檢查工程師也必須經(jīng)過(guò)阿美認(rèn)證,其證書有效期也是三年

        傳統(tǒng)的Linux訪問(wèn)控制機(jī)制能確保系統(tǒng)文件與用戶數(shù)據(jù)不受非法訪問(wèn)。APP只有通過(guò)Android系統(tǒng)許可權(quán)檢查后,才可以存取個(gè)人信息,進(jìn)行敏感性輸入設(shè)備。

        (4)進(jìn)程通信機(jī)制

        Android采用Binder進(jìn)程通信機(jī)制,提供基于共享內(nèi)存的高效進(jìn)程通信。Binder基于Client-Server模式,提供類似COM與CORBA的輕量級(jí)遠(yuǎn)程進(jìn)程調(diào)用(RPC),通過(guò)接口描述語(yǔ)言(AIDL)定義接口與交換數(shù)據(jù)的類型,確保進(jìn)程間通信的數(shù)據(jù)不會(huì)溢出越界、污染進(jìn)程空間。

        (5)內(nèi)存管理機(jī)制

        基于標(biāo)準(zhǔn)Linux的低內(nèi)存管理(OOM)機(jī)制,設(shè)計(jì)實(shí)現(xiàn)了獨(dú)特的低內(nèi)存清理(LMK)機(jī)制,將進(jìn)程按重要性分級(jí)、分組,當(dāng)內(nèi)存不足時(shí),自動(dòng)清理最低級(jí)別進(jìn)程所占用的內(nèi)存空間。同時(shí),引入不同于傳統(tǒng)Linux共享內(nèi)存機(jī)制的Android共享內(nèi)存機(jī)制Ashmem(Anonymous Shared Memory),具備清理不再使用共享內(nèi)存區(qū)域的能力。

        Android數(shù)據(jù)存儲(chǔ)基于Linux系統(tǒng),沒(méi)有使用硬件級(jí)加密和文件加密系統(tǒng)。

        3.5 應(yīng)用安全

        Android應(yīng)用程序包(.apk文件)必須被開(kāi)發(fā)者數(shù)字簽名。在Android系統(tǒng)中預(yù)置了眾多可信的數(shù)字證書簽發(fā)機(jī)構(gòu),所有這些簽發(fā)機(jī)構(gòu)簽發(fā)的企業(yè)證書都可以簽發(fā)應(yīng)用。同時(shí),為了開(kāi)發(fā)方便,還支持不檢查來(lái)源的應(yīng)用安裝方式。

        在應(yīng)用市場(chǎng)方面,Google會(huì)在Google Play上自動(dòng)掃描市場(chǎng)中已經(jīng)存在的所有APP,分析它們是否包含潛在的安全威脅。同時(shí)通過(guò)構(gòu)建在云端的模擬器模擬APP在設(shè)備上執(zhí)行的狀態(tài),進(jìn)而找出隱藏的惡意行為。此外,Google Play還會(huì)掃描開(kāi)發(fā)者賬戶,以防止惡意軟件開(kāi)發(fā)者再度向Google提交惡意APP,通過(guò)此舉保證Google Play Store上APP的安全性。但由于生態(tài)不同,Android支持第三方市場(chǎng)的Android APP,很難保證所有的市場(chǎng)都是按照Google Play的安全標(biāo)準(zhǔn)執(zhí)行。

        在系統(tǒng)層面,Android在4.2及以后的版本中增加了APP驗(yàn)證機(jī)制。當(dāng)使用者安裝第三方市場(chǎng)的APP時(shí),該驗(yàn)證機(jī)制便會(huì)向Google的服務(wù)器發(fā)送驗(yàn)證信息來(lái)確認(rèn)其安全性,如果返回的結(jié)果是否定的,那么系統(tǒng)便會(huì)阻止使用者繼續(xù)安裝。為了豐富自己的資料庫(kù),除了Google Play外,Google還掃描網(wǎng)絡(luò)上各類APK文件。后續(xù)Google還將升級(jí)APP驗(yàn)證機(jī)制,升級(jí)后,APP驗(yàn)證機(jī)制將可以在后臺(tái)運(yùn)行,以監(jiān)測(cè)已經(jīng)安裝的APP是否有不軌行為。此舉大大降低了安裝第三方市場(chǎng)的APP給用戶帶來(lái)的風(fēng)險(xiǎn)。

        4 iOS安全機(jī)制

        4.1 系統(tǒng)安全模型結(jié)構(gòu)

        iOS在系統(tǒng)設(shè)計(jì)時(shí)采用軟硬一體化的設(shè)計(jì)思路,操作系統(tǒng)采用閉源模式,其安全模型如圖3所示。

        其模型和上文中的Android模型基本一致,但增加了一些部件,如在硬件中增加了加密模塊;在固件中增加了加密引擎提供給操作系統(tǒng)使用;在操作系統(tǒng)層面采用加密文件系統(tǒng);在數(shù)據(jù)存儲(chǔ)、訪問(wèn)方面利用了軟硬一體的優(yōu)勢(shì)。它主要從系統(tǒng)安全、權(quán)限管理、數(shù)據(jù)保護(hù)和應(yīng)用安全4個(gè)方面進(jìn)行了安全設(shè)計(jì)[3]。

        4.2 系統(tǒng)安全

        iOS采用可信計(jì)算模型,確保在設(shè)備上運(yùn)行的每個(gè)軟件都是可信的、有效的。從設(shè)備啟動(dòng)到操作系統(tǒng)運(yùn)行,每個(gè)環(huán)節(jié)都需要驗(yàn)證,確保軟/硬件的正常、安全運(yùn)行。設(shè)備啟動(dòng)時(shí)從ROM讀取BootROM,這是在芯片生產(chǎn)時(shí)固化的,毫無(wú)疑問(wèn)是可信的。BootROM含有蘋果根證書,可以驗(yàn)證后續(xù)的底層啟動(dòng)裝載器(Low-Level Bootloader,LLB),當(dāng) LLB 啟動(dòng)完成后,再驗(yàn)證啟動(dòng)裝載器(iBoot),將驗(yàn)證iOS Kernel。這個(gè)啟動(dòng)鏈確保底層的軟件未被修改或植入木馬,確保iOS運(yùn)行在有效的蘋果設(shè)備上。帶有移動(dòng)通信或Wi-Fi設(shè)備的通信子系統(tǒng)同樣通過(guò)這樣的啟動(dòng)鏈驗(yàn)證,系統(tǒng)是完整有效的。在整個(gè)啟動(dòng)過(guò)程中,任何一個(gè)環(huán)節(jié)出現(xiàn)驗(yàn)證失敗,將使iOS設(shè)備界面出現(xiàn)“Connect to iTunes”進(jìn)入恢復(fù)模式。如果BootRom不能驗(yàn)證LLB,則將直接進(jìn)入設(shè)備固件升級(jí)模式(Device Firmware Upgrade,DFU)。

        在操作系統(tǒng)補(bǔ)丁發(fā)布或iOS升級(jí)時(shí),設(shè)備同樣會(huì)驗(yàn)證補(bǔ)丁或新版iOS是否由蘋果簽發(fā),只有驗(yàn)證合法才會(huì)進(jìn)行修補(bǔ)或升級(jí)。

        4.3 權(quán)限管理

        iOS系統(tǒng)對(duì)終端使用用戶不開(kāi)放管理權(quán)限,因此,用戶不能直接修改系統(tǒng)核心或更改系統(tǒng)應(yīng)用。如果用戶需要更改核心應(yīng)用或安裝非APP Store的應(yīng)用,則需要獲得系統(tǒng)管理權(quán)限,就是通常所說(shuō)的越獄,越獄是通過(guò)系統(tǒng)漏洞獲得系統(tǒng)管理權(quán)限的。

        iOS采用系統(tǒng)控制權(quán)限的方式限制應(yīng)用對(duì)敏感數(shù)據(jù)或敏感輸入設(shè)備的訪問(wèn)。由于iOS的所有應(yīng)用都進(jìn)行了安全檢查,終端使用者不必關(guān)心程序中的權(quán)限問(wèn)題,但也因此給軟件開(kāi)發(fā)者帶來(lái)了煩惱,他們可能因?yàn)闄?quán)限問(wèn)題而無(wú)法正常使用應(yīng)用。

        4.4 數(shù)據(jù)保護(hù)

        iOS采用多種機(jī)制保障數(shù)據(jù)的安全,包括進(jìn)程沙箱隔離、權(quán)限管理、內(nèi)存管理等機(jī)制保障系統(tǒng)及應(yīng)用的數(shù)據(jù)安全。同時(shí),利用軟硬一體的機(jī)制,在數(shù)據(jù)存儲(chǔ)安全方面獨(dú)樹(shù)一幟。

        每個(gè)應(yīng)用在獨(dú)立的沙箱中運(yùn)行,每個(gè)應(yīng)用都有獨(dú)立的根目錄,確保自己的數(shù)據(jù)不被其他應(yīng)用訪問(wèn)或修改,同時(shí)也不能訪問(wèn)其他應(yīng)用的數(shù)據(jù)。如果需要訪問(wèn)共享的資源,必須通過(guò)iOS提供的API。絕大多數(shù)應(yīng)用都以非特權(quán)用戶“mobile”身份運(yùn)行,不允許自我提權(quán)。iOS采用地址空間隨機(jī)化 (ASLR)技術(shù),使黑客攻擊更為困難,確保運(yùn)行時(shí)內(nèi)存安全,同時(shí)還采用全局權(quán)限管理機(jī)制,確保敏感數(shù)據(jù)或設(shè)備不被惡意程序訪問(wèn)。

        4.5 數(shù)據(jù)存儲(chǔ)安全

        iOS采用硬件和軟件加密機(jī)制保護(hù)數(shù)據(jù)存儲(chǔ)和訪問(wèn)安全。每一個(gè)iOS設(shè)備都有內(nèi)置的AES 256加密引擎,通過(guò)DMA通道連接閃存存儲(chǔ)和主系統(tǒng)內(nèi)存,使數(shù)據(jù)加/解密得以高效實(shí)現(xiàn)。每臺(tái)設(shè)備在制造過(guò)程中確定唯一識(shí)別碼 (UID)和一個(gè)設(shè)備組ID(GID),這些組合成AES 256位密鑰,此密鑰無(wú)法從外部讀取,只能通過(guò)AES引擎使用這個(gè)密鑰。UID是唯一的,蘋果不做任何記錄,GID代表設(shè)備類型。所有存儲(chǔ)在閃存中的數(shù)據(jù)都使用該密鑰加密,使加密數(shù)據(jù)被綁定到特定設(shè)備。例如,iOS文件系統(tǒng)加密就包括UID,如果存儲(chǔ)芯片在物理上從一個(gè)設(shè)備轉(zhuǎn)移到另一個(gè)設(shè)備,文件將無(wú)法讀取。

        蘋果還提供安全擦除功能。大批量擦除數(shù)據(jù)對(duì)閃存是一個(gè)極大的挑戰(zhàn),為了解決這個(gè)問(wèn)題,iOS設(shè)備引入了可擦除存儲(chǔ)(Effaceable Storage)設(shè)計(jì)。此功能設(shè)計(jì)只需訪問(wèn)底層存儲(chǔ)技術(shù)來(lái)直接尋址和擦除小塊數(shù)據(jù),就可以使全部數(shù)據(jù)失效。

        除了內(nèi)置于iOS設(shè)備的硬件加密功能外,蘋果還采用了層次化數(shù)據(jù)保護(hù)技術(shù),以進(jìn)一步保護(hù)存儲(chǔ)在閃存上的數(shù)據(jù)。數(shù)據(jù)保護(hù)使該設(shè)備既能滿足通用功能需求,如響應(yīng)電話呼叫,又能實(shí)現(xiàn)敏感數(shù)據(jù)高水平的加密。無(wú)論是蘋果自帶程序還是第三方應(yīng)用程序,都能使用層次化數(shù)據(jù)保護(hù)。

        數(shù)據(jù)保護(hù)是在內(nèi)置iOS設(shè)備的硬件加密技術(shù)的基礎(chǔ)上,通過(guò)構(gòu)建和管理密鑰的層次結(jié)構(gòu)得以實(shí)現(xiàn)的,如圖4所示。

        在文件系統(tǒng)中,所有文件的元數(shù)據(jù)都用文件系統(tǒng)密鑰進(jìn)行加密,文件系統(tǒng)密鑰是第一次安裝的iOS組合UID、GID等產(chǎn)生的。文件系統(tǒng)密鑰存儲(chǔ)在可擦除存儲(chǔ)區(qū)域。文件系統(tǒng)密鑰存儲(chǔ)在設(shè)備上,因此不使用此密鑰維護(hù)數(shù)據(jù)的保密性。它的目的是迅速擦除數(shù)據(jù),擦除此密鑰后,所有文件都無(wú)法訪問(wèn)。

        文件內(nèi)容由文件元數(shù)據(jù)中的文件密鑰進(jìn)行加密;文件密鑰由類密鑰加密,加密的文件內(nèi)容和文件元數(shù)據(jù)都由文件系統(tǒng)密鑰加密保存在存儲(chǔ)上。類密鑰由硬件的UID或用戶的密碼來(lái)保護(hù),這種層次結(jié)構(gòu)提供了靈活的性能。例如,更改文件的類密鑰只需要重新打包的每個(gè)文件的密鑰,密碼的改變只是再重新包裝類密鑰。類密鑰提供4種類型,分別對(duì)應(yīng)完整保護(hù)、關(guān)保護(hù) (文件打開(kāi)時(shí)可使用)、無(wú)認(rèn)證保護(hù)(認(rèn)證后可使用)、無(wú)保護(hù),適用于不同的場(chǎng)景。

        4.6 應(yīng)用安全

        蘋果通過(guò)兩種機(jī)制保證應(yīng)用的安全,包括代碼簽名和沙盒模式。

        應(yīng)用是客戶使用終端的直接界面,如果一個(gè)應(yīng)用本身是惡意的,則會(huì)導(dǎo)致客戶數(shù)據(jù)損失。前面在系統(tǒng)安全中描述,iOS保證其內(nèi)核是安全的。同樣在啟動(dòng)應(yīng)用時(shí),也會(huì)檢查應(yīng)用的數(shù)字簽名,通過(guò)信任鏈檢查,確保應(yīng)用來(lái)自可信的來(lái)源,并且是完整的、未被篡改的,iOS不允許運(yùn)行未經(jīng)數(shù)字簽名檢查的應(yīng)用程序。同時(shí),iOS應(yīng)用程序在沙箱里執(zhí)行,確保用戶數(shù)據(jù)只能自己使用,并且不能訪問(wèn)其他應(yīng)用的數(shù)據(jù)。

        應(yīng)用包括隨設(shè)備提供的應(yīng)用程序,如Mail和Safari瀏覽器,是由蘋果公司簽署的。同時(shí)支持第三方應(yīng)用程序,為了開(kāi)發(fā)iOS設(shè)備上的應(yīng)用程序,開(kāi)發(fā)人員必須注冊(cè)APP ID并加入iPhone開(kāi)發(fā)者計(jì)劃。每個(gè)開(kāi)發(fā)人員的真實(shí)身份,無(wú)論是個(gè)人還是企業(yè),由蘋果公司證實(shí)并給予其簽發(fā)數(shù)字證書,開(kāi)發(fā)程序提交APPStore必須采用此證書簽發(fā),以確保應(yīng)用程序來(lái)源可信。同時(shí)蘋果也會(huì)審查應(yīng)用,確保應(yīng)用功能和描述一致,并且不含有明顯的缺陷或其他問(wèn)題。

        當(dāng)然,企業(yè)也可以開(kāi)發(fā)自己的企業(yè)應(yīng)用,不需要發(fā)布到APP Store。企業(yè)需要憑借DUNS號(hào)碼申請(qǐng)企業(yè)證書,同時(shí)獲得設(shè)備配置文件,安裝企業(yè)應(yīng)用的設(shè)備必須同時(shí)安裝設(shè)備配置文件,證明其設(shè)備和應(yīng)用屬于同一個(gè)企業(yè),這樣確保應(yīng)用不會(huì)被惡意使用。

        5 Android和iOS安全機(jī)制比較

        根據(jù)前面對(duì)Android和iOS安全機(jī)制的詳細(xì)分析可以發(fā)現(xiàn),兩者都采用了很多安全機(jī)制來(lái)保證終端的安全,包括操作系統(tǒng)安全、應(yīng)用安全、數(shù)據(jù)保護(hù)及權(quán)限管理。

        可以按照糾錯(cuò)機(jī)制、操作系統(tǒng)安全、數(shù)據(jù)保護(hù)、內(nèi)存安全、應(yīng)用安全、權(quán)限管理等多個(gè)維度對(duì)兩大主流系統(tǒng)進(jìn)行比較,詳見(jiàn)表1。

        在操作系統(tǒng)方面,Android采用成熟的開(kāi)源Linux技術(shù),其安全基礎(chǔ)較好,可以發(fā)揮社區(qū)的綜合能力,促進(jìn)系統(tǒng)安全性的完善;iOS采用閉源模式,主要依賴自身的安全積累。

        在信任鏈處理上,兩者也不完全一致。iOS采用從硬件到應(yīng)用統(tǒng)一信任鏈的模式,而Android采用更開(kāi)放的信任模式,由用戶自主決定信任源。Android和iOS都采用了數(shù)字簽名技術(shù)來(lái)保證應(yīng)用的可靠性,但由于生態(tài)不同,對(duì)數(shù)字簽名證書的管理采用了不同的方式。在iOS中,數(shù)字簽名證書只有兩類,一類來(lái)自蘋果自身,另一類來(lái)自蘋果認(rèn)可的企業(yè)。iOS不僅在安裝時(shí)檢查數(shù)字簽名的有效性,同時(shí)還在每次運(yùn)營(yíng)時(shí)檢查數(shù)字簽名的有效性。Android上并沒(méi)有“中央權(quán)威”來(lái)控制所有APP的簽名,各運(yùn)營(yíng)商、OEM以及第三方市場(chǎng)都可以給APP簽名。

        表1 Android和iOS安全機(jī)制比較

        對(duì)權(quán)限管理的處理方式也不同。iOS采用全局控制的方式,使用戶不能單獨(dú)對(duì)某個(gè)應(yīng)用進(jìn)行限制;Android采用顯式權(quán)限管理模式,僅在安裝時(shí)檢查權(quán)限,由開(kāi)發(fā)者決定權(quán)限需求。

        總體來(lái)看,雖然Google和蘋果對(duì)各自系統(tǒng)的掌控能力不同,但雙方都在自己可控的范圍內(nèi)為Android和iOS做了很多安全考慮,包括系統(tǒng)、APP安裝及APP運(yùn)行方面,所以兩者各有優(yōu)勢(shì)。相對(duì)于iOS,Android把更多的選擇權(quán)交給了使用者,讓他們自行選擇。只要遵循安全機(jī)制,不隨意Root,安裝可信應(yīng)用,Android同樣可以安全、可靠。

        6 展望和安全建議

        通過(guò)對(duì)Android和iOS的安全機(jī)制比較,筆者認(rèn)為沒(méi)有哪個(gè)系統(tǒng)絕對(duì)安全。隨著應(yīng)用領(lǐng)域越來(lái)越廣,兩者被發(fā)現(xiàn)的安全漏洞也越來(lái)越多。相信在不斷的迭代開(kāi)發(fā)中,兩個(gè)系統(tǒng)會(huì)越來(lái)越安全,安全機(jī)制也會(huì)越來(lái)越完善,讓用戶可以更放心地享受移動(dòng)互聯(lián)網(wǎng)給生活帶來(lái)的改變。

        然而再安全的機(jī)制,如果沒(méi)有遵循設(shè)計(jì)者理念的使用,就如同再安全的汽車,酒后駕駛總是會(huì)出現(xiàn)事故,無(wú)論是開(kāi)發(fā)者還是用戶,都應(yīng)該遵照最小安全原則,安全使用手機(jī)。

        第一,不要越獄和Root。對(duì)蘋果用戶而言,盡管越獄能讓其享受各種插件帶來(lái)的樂(lè)趣,但也會(huì)讓蘋果精心設(shè)計(jì)的安全機(jī)制功虧一簣;對(duì)Android用戶而言,Root同樣會(huì)在給其帶來(lái)便利的同時(shí),也給惡意軟件帶來(lái)便利。

        第二,只從正規(guī)應(yīng)用商店獲取APP。對(duì)蘋果而言,就是只從 APP Store獲取APP。APP Store上的所有APP都在發(fā)布前經(jīng)過(guò)蘋果審查,確保其不存在任何惡意代碼。Android應(yīng)用商店相對(duì)較多,但用戶應(yīng)盡量選擇到其官方網(wǎng)站下載應(yīng)用,或到有人工審核的應(yīng)用商店下載應(yīng)用。

        第三,不要隨意信任計(jì)算機(jī)。在用戶將蘋果設(shè)備第一次連接至某臺(tái)電腦時(shí),iOS會(huì)彈出對(duì)話框詢問(wèn)你是否信任這臺(tái)計(jì)算機(jī)。一旦你選擇了信任,這臺(tái)電腦就有權(quán)訪問(wèn)你存儲(chǔ)在設(shè)備上的所有個(gè)人信息。盡管iOS可以阻止安裝在設(shè)備中的APP竊取你的隱私,但是像Wirelurker這樣的惡意軟件還是可以通過(guò)感染被設(shè)備信任的電腦來(lái)繞過(guò)沙盒機(jī)制并讀取你存儲(chǔ)在設(shè)備中的資料。對(duì)Android設(shè)備而言,用戶應(yīng)關(guān)閉USB調(diào)試模式,避免電腦中惡意軟件隨意在設(shè)備上安裝軟件。

        第四,謹(jǐn)慎賦予APP的隱私讀取權(quán)限。在某個(gè)APP第一次申請(qǐng)讀取你的某項(xiàng)隱私(如照片、通訊錄、使用麥克風(fēng)或相機(jī)等)前,iOS和Android系統(tǒng)都會(huì)詢問(wèn)你是否批準(zhǔn)。如果你認(rèn)為某個(gè)APP不需要讀取你的資料(如一款游戲APP要求讀取你的通訊錄和照片),那么請(qǐng)堅(jiān)定地選擇 “不允許”。對(duì)于Android應(yīng)用,則需要在安裝時(shí)仔細(xì)審查應(yīng)用需要的權(quán)限,如果應(yīng)用需要的權(quán)限過(guò)多且不必要,則不應(yīng)安裝此應(yīng)用。

        第五,不要隨意連接Wi-Fi。因?yàn)槟阌锌赡艿卿浀氖轻烎~(yú)Wi-Fi,從而導(dǎo)致你的終端和外部網(wǎng)絡(luò)的通信被全部截獲,可能包括你設(shè)備應(yīng)用登錄的賬號(hào)和密碼,導(dǎo)致意外損失。

        隨著越來(lái)越多移動(dòng)互聯(lián)網(wǎng)應(yīng)用的出現(xiàn),除了原生態(tài)的APP應(yīng)用,HTML 5的應(yīng)用和混合應(yīng)用也將給移動(dòng)終端的安全帶來(lái)更大的挑戰(zhàn),未來(lái)的移動(dòng)互聯(lián)網(wǎng)安全會(huì)越來(lái)越受到各方重視。

        [1] 賽迪智庫(kù).移動(dòng)智能終端產(chǎn)業(yè)發(fā)展白皮書(2015版)[R].2015.

        [2] 吳倩,趙晨嘯,郭瑩.Android安全機(jī)制解析與應(yīng)用實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2013.

        [3]iOS Security Guide[EB/OL].http://www.docin.com/p-1199599678.htm l,2014.

        猜你喜歡
        應(yīng)用程序密鑰終端
        探索企業(yè)創(chuàng)新密鑰
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
        通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
        刪除Win10中自帶的應(yīng)用程序
        一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        多功能北斗船載終端的開(kāi)發(fā)應(yīng)用
        電子制作(2016年15期)2017-01-15 13:39:14
        ABB Elastimold 10kV電纜終端及中間接頭
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        人妻系列少妇极品熟妇| 亚洲一区二区三区偷拍女厕| 囯产精品无码一区二区三区| 国产精品久久国产精品久久 | 人片在线观看无码| 亚洲成人一区二区三区不卡| 国产免费无遮挡吸奶头视频| 人妻被黑人粗大的猛烈进出 | 亚洲精品国产美女久久久| 国产熟女自拍视频网站| 国产一区二区三区啊啊| 人人妻人人狠人人爽天天综合网| 久久久国产精品ⅤA麻豆| 在线观看国产精品自拍| 国产成人亚洲一区二区| 鸭子tv国产在线永久播放| 免费在线视频一区| 日韩中文字幕乱码在线| 成年av动漫网站18禁| 人妻少妇精品视频一区二区三区| 欧美精品v欧洲高清| 国产内射一级一片高清内射视频| 免费不卡在线观看av| 亚洲国产成人精品无码区在线观看| 绿帽人妻被插出白浆免费观看| 久久一道精品一区三区| 一品二品三品中文字幕| 久久中国国产Av秘 入口| 熟女少妇av一区二区三区| 人妻在卧室被老板疯狂进入| 亚洲性无码av在线| av永远在线免费观看| 亚洲国产成人av二区| 国产熟妇高潮呻吟喷水| 久久久久亚洲AV片无码乐播| 日本不卡一区二区三区久久精品| 大地资源中文第3页| 99视频全部免费精品全部四虎| 国产精品区二区东京在线| 97久久国产亚洲精品超碰热| 亚洲首页一区任你躁xxxxx|