一種安卓系統(tǒng)的分區(qū)保護(hù)方法和裝置制造方法
【專利摘要】發(fā)明人提供了一種安卓系統(tǒng)的分區(qū)保護(hù)方法,包括步驟:設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid屬性;對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū);調(diào)用掛載命令,判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息,若有則不執(zhí)行所述掛載命令;否則執(zhí)行所述掛載命令。上述技術(shù)方案一方面完善了權(quán)限管理機(jī)制,另一方面還在權(quán)限管理防線出現(xiàn)漏洞的情況下進(jìn)一步設(shè)置了安全防御方案,如此一來(lái),不僅能有效控制用戶權(quán)限切換,從而保護(hù)被保護(hù)分區(qū)及其中文件不受惡意篡改;還能夠針對(duì)通過(guò)特殊方式獲取了超級(jí)用戶的權(quán)限的情況保護(hù)分區(qū)不受惡意篡改。
【專利說(shuō)明】—種安卓系統(tǒng)的分區(qū)保護(hù)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件系統(tǒng)安全【技術(shù)領(lǐng)域】,特別涉及一種安卓系統(tǒng)的分區(qū)保護(hù)方法和裝置。
【背景技術(shù)】
[0002]隨著移動(dòng)互聯(lián)網(wǎng)的興起,移動(dòng)智能設(shè)備已經(jīng)融入人們的日常生活。就2012年來(lái)說(shuō),依據(jù)IDC的統(tǒng)計(jì)數(shù)據(jù),Android智能設(shè)備的出貨量位居第一。將Android智能設(shè)備Root后,能獲得更好的玩機(jī)體驗(yàn),但同時(shí)也帶來(lái)了新的安全問(wèn)題,病毒木馬獲得Root權(quán)限后,可以肆意攻擊系統(tǒng)。
[0003]在過(guò)去幾年的研究里,Android系統(tǒng)的安全問(wèn)題一直是一個(gè)吸引人的主題。目前已經(jīng)提出的方法多數(shù)針對(duì)未Root的系統(tǒng),例如:在Android系統(tǒng)安裝殺毒軟件等,雖然也取得了很多成果,但是沒(méi)有一個(gè)方法能夠完全解決Android的安全問(wèn)題。此外,Root過(guò)的系統(tǒng)面臨一些新的安全問(wèn)題,其中非常重要的就是系統(tǒng)完整性問(wèn)題,這是先前的方法所沒(méi)有考慮到的。
[0004]Android系統(tǒng)的安全機(jī)制主要包括兩個(gè)方面,一個(gè)是Iinux原有的的權(quán)限管理機(jī)制,通過(guò)UID來(lái)控制文件的訪問(wèn);另一個(gè)是Android系統(tǒng)增加的Permiss1n機(jī)制。這種安全機(jī)制存在著缺陷=Linux存在超級(jí)用戶,該用戶擁有完全的系統(tǒng)訪問(wèn)控制權(quán)限,惡意軟件可以通過(guò)系統(tǒng)中應(yīng)用軟件的漏洞來(lái)獲取超級(jí)用戶權(quán)限,進(jìn)而控制整個(gè)系統(tǒng)。而Root就是Linux系統(tǒng)下的一個(gè)超級(jí)用戶,它擁有整個(gè)系統(tǒng)的最高權(quán)限。
[0005]因此,對(duì)安卓系統(tǒng)的安全防御面臨著兩個(gè)層次的問(wèn)題,其一是如何完善權(quán)限管理機(jī)制,另一是如何在權(quán)限管理防線出現(xiàn)漏洞的情況下進(jìn)一步設(shè)置安全防御方案。
【發(fā)明內(nèi)容】
[0006]為此,需要提供一種安卓系統(tǒng)的分區(qū)保護(hù)方法和裝置。
[0007]為實(shí)現(xiàn)上述目的,發(fā)明人提供了一種安卓系統(tǒng)的分區(qū)保護(hù)方法,包括步驟:
[0008]設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid屬性。
[0009]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,還包括步驟:
[0010]對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
[0011]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,在步驟“對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息”后還包括步驟:
[0012]調(diào)用掛載命令,判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息,若有則不執(zhí)行所述掛載命令;否則執(zhí)行所述掛載命令。
[0013]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,所述步驟“對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息”具體包括:
[0014]在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū);
[0015]在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),并在所述文件節(jié)點(diǎn)中寫入預(yù)設(shè)字符信息,所述預(yù)設(shè)字符信息用于表明所述目錄為受保護(hù)分區(qū);或
[0016]在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
[0017]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,所述預(yù)設(shè)目錄為/proc目錄。
[0018]發(fā)明人還提供了一種安卓系統(tǒng)的分區(qū)保護(hù)裝置,包括掛載命令設(shè)定單元,所述掛載命令設(shè)定單元用于設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid屬性。
[0019]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,還包括標(biāo)識(shí)信息添加單元,所述標(biāo)識(shí)信息添加單元用于對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
[0020]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,還包括掛載命令調(diào)用單元、標(biāo)識(shí)信息判斷單元和掛載命令執(zhí)行單元;
[0021]所述掛載命令調(diào)用單元用于調(diào)用掛載命令;
[0022]所述標(biāo)識(shí)信息判斷單元用于判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息;
[0023]當(dāng)標(biāo)識(shí)信息判斷單元判定掛載命令對(duì)象所在的目錄中有所述標(biāo)識(shí)信息時(shí)不執(zhí)行所述掛載命令;否則掛載命令執(zhí)行單元執(zhí)行所述掛載命令。
[0024]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,所述標(biāo)識(shí)信息添加單元對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息具體包括:
[0025]在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū);
[0026]在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),并在所述文件節(jié)點(diǎn)中寫入預(yù)設(shè)字符信息,所述預(yù)設(shè)字符信息用于表明所述目錄為受保護(hù)分區(qū);或
[0027]在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
[0028]進(jìn)一步地,所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,所述預(yù)設(shè)目錄為/proc目錄。
[0029]區(qū)別于現(xiàn)有技術(shù),上述技術(shù)方案一方面完善了權(quán)限管理機(jī)制,另一方面還在權(quán)限管理防線出現(xiàn)漏洞的情況下進(jìn)一步設(shè)置了安全防御方案,如此一來(lái),不僅能有效控制用戶權(quán)限切換,從而保護(hù)被保護(hù)分區(qū)及其中文件不受惡意篡改;還能夠針對(duì)通過(guò)特殊方式獲取了超級(jí)用戶的權(quán)限的情況保護(hù)分區(qū)不受惡意篡改。
【專利附圖】
【附圖說(shuō)明】
[0030]圖1為本發(fā)明一實(shí)施方式所述安卓系統(tǒng)的分區(qū)保護(hù)方法的流程圖;
[0031]圖2為本發(fā)明一實(shí)施方式所述安卓系統(tǒng)的分區(qū)保護(hù)裝置的結(jié)構(gòu)示意圖。
[0032]附圖標(biāo)記說(shuō)明:
[0033]1-掛載命令設(shè)定單元
[0034]2-標(biāo)識(shí)信息添加單元
[0035]3-掛載命令調(diào)用單元
[0036]4-標(biāo)識(shí)信息判斷單元
[0037]5-掛載命令執(zhí)行單元
【具體實(shí)施方式】
[0038]為詳細(xì)說(shuō)明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合具體實(shí)施例并配合附圖詳予說(shuō)明。
[0039]請(qǐng)參閱圖1,為本發(fā)明一實(shí)施方式所述安卓系統(tǒng)的分區(qū)保護(hù)方法的流程圖;所述方法包括如下步驟:
[0040]S1、設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid屬性;
[0041 ] S2、對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū);
[0042]S3、調(diào)用掛載命令,判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息;若是則進(jìn)入步驟S4,否則進(jìn)入步驟S5 ;
[0043]S4、不執(zhí)行所述掛載命令。
[0044]S5、執(zhí)行所述掛載命令。
[0045]本實(shí)施方式中,所述掛載指令即為mount命令,通過(guò)設(shè)定mount命令,使得所有mount調(diào)用函數(shù)均具有nosuid屬性,從而使得在所有分區(qū)中執(zhí)行帶有suid屬性的su程序時(shí),系統(tǒng)不會(huì)修改該進(jìn)程用戶權(quán)限為文件所有者,于是即使非root用戶運(yùn)行su程序時(shí),su仍然是非root身份。簡(jiǎn)言之,就是通過(guò)修改mount命令屬性,達(dá)到使su無(wú)效的目的。
[0046]本實(shí)施方式中,步驟“對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息”的方法是:在系統(tǒng)啟動(dòng)過(guò)程中,首先在系統(tǒng)的預(yù)設(shè)目錄下建立一文件節(jié)點(diǎn),執(zhí)行完掛載分區(qū)后,在此文件節(jié)點(diǎn)中寫入表明該預(yù)設(shè)目錄為受保護(hù)分區(qū)的特定字符信息,也就是說(shuō),所述文件節(jié)點(diǎn)中的該特定字符信息是一種標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。在其他實(shí)施方式中,對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息還可以是其他方案,如在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū);或在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。簡(jiǎn)言之,就是對(duì)需要保護(hù)的分區(qū)(目錄)做一定的標(biāo)識(shí)信息添加處理,從而使得該分區(qū)具有可被系統(tǒng)辨識(shí)的特征,從而在實(shí)際操作過(guò)程中能根據(jù)該特征對(duì)其進(jìn)行保護(hù)。
[0047]在本實(shí)施方式中,如果用戶通過(guò)某種特殊方式繞過(guò)了用戶權(quán)限保護(hù)防御,取得了root權(quán)限(即超級(jí)用戶權(quán)限),則通過(guò)步驟S2設(shè)置的標(biāo)識(shí)信息,在這種情況下,設(shè)定系統(tǒng)在調(diào)用mount函數(shù)時(shí),首先需要掃描并判斷是否有包括標(biāo)識(shí)信息的文件節(jié)點(diǎn),若是則認(rèn)為需要保護(hù)該分區(qū),系統(tǒng)不執(zhí)行任何該mount函數(shù)指向的操作而直接返回;若不是,則認(rèn)為該分區(qū)不受保護(hù),正常執(zhí)行該mount命令所規(guī)定的操作。
[0048]在其他對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息的方案中,如在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū),則設(shè)定系統(tǒng)在調(diào)用mount函數(shù)時(shí)首先判斷該掛載命令對(duì)象所存在的目錄中是否有用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū)的文件節(jié)點(diǎn),若有則認(rèn)為需要保護(hù)該分區(qū),系統(tǒng)不執(zhí)行任何該mount函數(shù)指向的操作而直接返回;若沒(méi)有,則認(rèn)為該分區(qū)不受保護(hù),正常執(zhí)行該mount命令所規(guī)定的操作。又如,當(dāng)對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息的方案為在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)時(shí),則設(shè)定系統(tǒng)在調(diào)用mount函數(shù)時(shí)首先判斷該掛載命令對(duì)象所存在的目錄中是否有用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū)的文件節(jié)點(diǎn),若有則認(rèn)為需要保護(hù)該分區(qū),系統(tǒng)不執(zhí)行任何該mount函數(shù)指向的操作而直接返回;若沒(méi)有,則認(rèn)為該分區(qū)不受保護(hù),正常執(zhí)行該mount命令所規(guī)定的操作。
[0049]本實(shí)施方式中,所述預(yù)設(shè)目錄為/proc目錄,在其他實(shí)施方式中,所述預(yù)設(shè)目錄還可以設(shè)為其他需要保護(hù)的目錄,對(duì)受保護(hù)目錄進(jìn)行預(yù)設(shè)保護(hù)標(biāo)識(shí)信息的操作,對(duì)不需保護(hù)的目錄則不設(shè)保護(hù)標(biāo)識(shí)信息,則在具體的系統(tǒng)調(diào)用掛載命令時(shí)可以通過(guò)判斷函數(shù)對(duì)象所在的目錄是否具有保護(hù)標(biāo)識(shí)信息而達(dá)到對(duì)其保護(hù)或不保護(hù)的目的。然后執(zhí)行正常的安卓系統(tǒng)啟動(dòng)流程。
[0050]Root的根本目的是為了可以隨意篡改系統(tǒng)廠家本打算保護(hù)起來(lái)的文件信息。在android系統(tǒng)中對(duì)于文件的訪問(wèn),有嚴(yán)格的用戶權(quán)限控制。對(duì)于被保護(hù)的內(nèi)容,一般只有root用戶才可以訪問(wèn)。然而普通使用的用戶狀態(tài)是普通用戶,是不具有對(duì)被保護(hù)起來(lái)的文件的篡改權(quán)限的。禁止了 su切換到超級(jí)用戶的特性,也就使普通用戶無(wú)法切換到超級(jí)用戶,從而也不具備篡改被保護(hù)文件的權(quán)利。當(dāng)用戶通過(guò)某種特殊方式切換到root用戶后,由于保護(hù)起來(lái)的分區(qū)出廠時(shí)默認(rèn)是掛載為只讀的方式,所以想要篡改保護(hù)分區(qū)里的內(nèi)容,必須掛載成可寫的方式。針對(duì)重新掛載,本方案提出利用建立文件節(jié)點(diǎn)來(lái)標(biāo)記需要加以保護(hù)特定分區(qū)的方式,使重新掛載保護(hù)分區(qū)成可寫方式不成功,最終使得篡改不成功。
[0051]上述實(shí)施方式一方面完善了權(quán)限管理機(jī)制,另一方面還在權(quán)限管理防線出現(xiàn)漏洞的情況下進(jìn)一步設(shè)置了安全防御方案,如此一來(lái),不僅能有效控制用戶權(quán)限切換,從而保護(hù)被保護(hù)分區(qū)及其中文件不受惡意篡改;還能夠針對(duì)通過(guò)特殊方式獲取了超級(jí)用戶的權(quán)限的情況保護(hù)分區(qū)不受惡意篡改。這樣就加強(qiáng)了安卓系統(tǒng)的防護(hù)能力,防止系統(tǒng)重要文件和信息被篡改,從而保證系統(tǒng)和重要文件的完整性和安全性。
[0052]請(qǐng)參閱圖2,為本發(fā)明一實(shí)施方式所述安卓系統(tǒng)的分區(qū)保護(hù)裝置的結(jié)構(gòu)示意圖。所述裝置包括掛載命令設(shè)定單元1、標(biāo)識(shí)信息添加單元2、掛載命令調(diào)用單元3、標(biāo)識(shí)信息判斷單元4以及掛載命令執(zhí)行單元5。
[0053]所述掛載命令設(shè)定單元I用于設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid 屬性。
[0054]所述標(biāo)識(shí)信息添加單元2用于對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。進(jìn)一步地,所述標(biāo)識(shí)信息添加單元2對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息具體包括:在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū);在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),并在所述文件節(jié)點(diǎn)中寫入預(yù)設(shè)字符信息,所述預(yù)設(shè)字符信息用于表明所述目錄為受保護(hù)分區(qū);或在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
[0055]所述掛載命令調(diào)用單元3用于調(diào)用掛載命令;所述標(biāo)識(shí)信息判斷單元4用于判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息;當(dāng)標(biāo)識(shí)信息判斷單元4判定掛載命令對(duì)象所在的目錄中有所述標(biāo)識(shí)信息時(shí)不執(zhí)行所述掛載命令;否則掛載命令執(zhí)行單元5執(zhí)行所述掛載命令。
[0056]具體地,所述安卓系統(tǒng)的分區(qū)保護(hù)裝置執(zhí)行安卓系統(tǒng)分區(qū)保護(hù)功能的方式步驟如下:
[0057]步驟S1、掛載命令設(shè)定單元I設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid 屬性;
[0058]步驟S2、標(biāo)識(shí)信息添加單元2對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū);
[0059]步驟S3、掛載命令調(diào)用單元3調(diào)用掛載命令,標(biāo)識(shí)信息判斷單元4判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息;若是則進(jìn)入步驟S4,否則進(jìn)入步驟S5 ;
[0060]步驟S4、不執(zhí)行所述掛載命令。
[0061]步驟S5、掛載命令執(zhí)行單元5執(zhí)行所述掛載命令。
[0062]本實(shí)施方式中,所述掛載指令即為mount命令,通過(guò)設(shè)定mount命令,使得所有mount調(diào)用函數(shù)均具有nosuid屬性,從而使得在所有分區(qū)中執(zhí)行帶有suid屬性的su程序時(shí),系統(tǒng)不會(huì)修改該進(jìn)程用戶權(quán)限為文件所有者,于是即使非root用戶運(yùn)行su程序時(shí),su仍然是非root身份。簡(jiǎn)言之,就是通過(guò)修改mount命令屬性,達(dá)到使su無(wú)效的目的。
[0063]本實(shí)施方式中,標(biāo)識(shí)信息添加單元2對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息的方法是:在系統(tǒng)啟動(dòng)過(guò)程中,首先標(biāo)識(shí)信息添加單元2在系統(tǒng)的預(yù)設(shè)目錄下建立一文件節(jié)點(diǎn),執(zhí)行完掛載分區(qū)后,標(biāo)識(shí)信息添加單元2在此文件節(jié)點(diǎn)中寫入表明該預(yù)設(shè)目錄為受保護(hù)分區(qū)的特定字符信息,也就是說(shuō),所述文件節(jié)點(diǎn)中的該特定字符信息是一種標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。在其他實(shí)施方式中,標(biāo)識(shí)信息添加單元2對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息還可以是其他方案,如在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū);或在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。簡(jiǎn)言之,就是對(duì)需要保護(hù)的分區(qū)(目錄)做一定的標(biāo)識(shí)信息添加處理,從而使得該分區(qū)具有可被系統(tǒng)辨識(shí)的特征,從而在實(shí)際操作過(guò)程中能根據(jù)該特征對(duì)其進(jìn)行保護(hù)。
[0064]在本實(shí)施方式中,如果用戶通過(guò)某種特殊方式繞過(guò)了用戶權(quán)限保護(hù)防御,取得了root權(quán)限(即超級(jí)用戶權(quán)限),則通過(guò)標(biāo)識(shí)信息添加單元2在步驟S2設(shè)置的標(biāo)識(shí)信息,在這種情況下,設(shè)定系統(tǒng)在掛載命令調(diào)用單元3調(diào)用mount函數(shù)時(shí),首先需要由標(biāo)識(shí)信息判斷單元4掃描并判斷是否有包括標(biāo)識(shí)信息的文件節(jié)點(diǎn),若是則認(rèn)為需要保護(hù)該分區(qū),系統(tǒng)不執(zhí)行任何該mount函數(shù)指向的操作而直接返回;若不是,則認(rèn)為該分區(qū)不受保護(hù),掛載命令執(zhí)行單元5正常執(zhí)行該mount命令所規(guī)定的操作。
[0065]在其他對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息的方案中,如標(biāo)識(shí)信息添加單元2在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū),則設(shè)定系統(tǒng)在掛載命令調(diào)用單元3調(diào)用mount函數(shù)時(shí)首先由標(biāo)識(shí)信息判斷單元4判斷該掛載命令對(duì)象所存在的目錄中是否有用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū)的文件節(jié)點(diǎn),若有則認(rèn)為需要保護(hù)該分區(qū),系統(tǒng)不執(zhí)行任何該mount函數(shù)指向的操作而直接返回;若沒(méi)有,則認(rèn)為該分區(qū)不受保護(hù),掛載命令執(zhí)行單元5正常執(zhí)行該mount命令所規(guī)定的操作。又如,當(dāng)對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息的方案為標(biāo)識(shí)信息添加單元2在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)時(shí),則設(shè)定系統(tǒng)在掛載命令調(diào)用單元3調(diào)用mount函數(shù)時(shí)首先由標(biāo)識(shí)信息判斷單元4判斷該掛載命令對(duì)象所存在的目錄中是否有用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū)的文件節(jié)點(diǎn),若有則認(rèn)為需要保護(hù)該分區(qū),系統(tǒng)不執(zhí)行任何該mount函數(shù)指向的操作而直接返回;若沒(méi)有,則認(rèn)為該分區(qū)不受保護(hù),掛載命令執(zhí)行單元5正常執(zhí)行該mount命令所規(guī)定的操作。
[0066]本實(shí)施方式中,所述預(yù)設(shè)目錄為/proc目錄,在其他實(shí)施方式中,所述預(yù)設(shè)目錄還可以設(shè)為其他需要保護(hù)的目錄,對(duì)受保護(hù)目錄進(jìn)行預(yù)設(shè)保護(hù)標(biāo)識(shí)信息的操作,對(duì)不需保護(hù)的目錄則不設(shè)保護(hù)標(biāo)識(shí)信息,則在具體的系統(tǒng)調(diào)用掛載命令時(shí)可以通過(guò)判斷函數(shù)對(duì)象所在的目錄是否具有保護(hù)標(biāo)識(shí)信息而達(dá)到對(duì)其保護(hù)或不保護(hù)的目的。然后執(zhí)行正常的安卓系統(tǒng)啟動(dòng)流程。
[0067]實(shí)際上,Root的根本目的是為了可以隨意篡改系統(tǒng)廠家本打算保護(hù)起來(lái)的文件信息。在android系統(tǒng)中對(duì)于文件的訪問(wèn),有嚴(yán)格的用戶權(quán)限控制。對(duì)于被保護(hù)的內(nèi)容,一般只有root用戶才可以訪問(wèn)。然而普通使用的用戶狀態(tài)是普通用戶,是不具有對(duì)被保護(hù)起來(lái)的文件的篡改權(quán)限的。禁止了 su切換到超級(jí)用戶的特性,也就使普通用戶無(wú)法切換到超級(jí)用戶,從而也不具備篡改被保護(hù)文件的權(quán)利。當(dāng)用戶通過(guò)某種特殊方式切換到root用戶后,由于保護(hù)起來(lái)的分區(qū)出廠時(shí)默認(rèn)是掛載為只讀的方式,所以想要篡改保護(hù)分區(qū)里的內(nèi)容,必須掛載成可寫的方式。針對(duì)重新掛載,本方案提出利用建立文件節(jié)點(diǎn)來(lái)標(biāo)記需要加以保護(hù)特定分區(qū)的方式,使重新掛載保護(hù)分區(qū)成可寫方式不成功,最終使得篡改不成功。
[0068]上述實(shí)施方式一方面完善了權(quán)限管理機(jī)制,另一方面還在權(quán)限管理防線出現(xiàn)漏洞的情況下進(jìn)一步設(shè)置了安全防御方案,如此一來(lái),不僅能有效控制用戶權(quán)限切換,從而保護(hù)被保護(hù)分區(qū)及其中文件不受惡意篡改;還能夠針對(duì)通過(guò)特殊方式獲取了超級(jí)用戶的權(quán)限的情況保護(hù)分區(qū)不受惡意篡改。這樣就加強(qiáng)了安卓系統(tǒng)的防護(hù)能力,防止系統(tǒng)重要文件和信息被篡改,從而保證系統(tǒng)和重要文件的完整性和安全性。
[0069]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者終端設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者終端設(shè)備中還存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超過(guò)”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
[0070]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,上述各實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。這些實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。上述各實(shí)施例涉及的方法中的全部或部分步驟可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)設(shè)備可讀取的存儲(chǔ)介質(zhì)中,用于執(zhí)行上述各實(shí)施例方法所述的全部或部分步驟。所述計(jì)算機(jī)設(shè)備,包括但不限于:個(gè)人計(jì)算機(jī)、服務(wù)器、通用計(jì)算機(jī)、專用計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、嵌入式設(shè)備、可編程設(shè)備、智能移動(dòng)終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲(chǔ)介質(zhì),包括但不限于:RAM、ROM、磁碟、磁帶、光盤、閃存、U盤、移動(dòng)硬盤、存儲(chǔ)卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲(chǔ)、網(wǎng)絡(luò)云存儲(chǔ)等。
[0071]上述各實(shí)施例是參照根據(jù)實(shí)施例所述的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到計(jì)算機(jī)設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0072]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)設(shè)備以特定方式工作的計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0073]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)設(shè)備上,使得在計(jì)算機(jī)設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0074]盡管已經(jīng)對(duì)上述各實(shí)施例進(jìn)行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利保護(hù)范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種安卓系統(tǒng)的分區(qū)保護(hù)方法,包括步驟: 設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid屬性。
2.如權(quán)利要求1所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,還包括步驟: 對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
3.如權(quán)利要求2所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,在步驟“對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息”后還包括步驟: 調(diào)用掛載命令,判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息,若有則不執(zhí)行所述掛載命令;否則執(zhí)行所述掛載命令。
4.如權(quán)利要求2或3所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,所述步驟“對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息”具體包括: 在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū); 在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),并在所述文件節(jié)點(diǎn)中寫入預(yù)設(shè)字符信息,所述預(yù)設(shè)字符信息用于表明所述目錄為受保護(hù)分區(qū);或 在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
5.如權(quán)利要求2或3所述的安卓系統(tǒng)的分區(qū)保護(hù)方法中,所述預(yù)設(shè)目錄為/p1c目錄。
6.一種安卓系統(tǒng)的分區(qū)保護(hù)裝置,包括掛載命令設(shè)定單元,所述掛載命令設(shè)定單元用于設(shè)定系統(tǒng)內(nèi)核中的掛載命令,使所有掛載命令帶有nosuid屬性。
7.如權(quán)利要求6所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,還包括標(biāo)識(shí)信息添加單元,所述標(biāo)識(shí)信息添加單元用于對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
8.如權(quán)利要求7所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,還包括掛載命令調(diào)用單元、標(biāo)識(shí)信息判斷單元和掛載命令執(zhí)行單元; 所述掛載命令調(diào)用單元用于調(diào)用掛載命令; 所述標(biāo)識(shí)信息判斷單元用于判斷掛載命令對(duì)象所在的目錄中是否有所述標(biāo)識(shí)信息;當(dāng)標(biāo)識(shí)信息判斷單元判定掛載命令對(duì)象所在的目錄中有所述標(biāo)識(shí)信息時(shí)不執(zhí)行所述掛載命令;否則掛載命令執(zhí)行單元執(zhí)行所述掛載命令。
9.如權(quán)利要求7或8所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,所述標(biāo)識(shí)信息添加單元對(duì)預(yù)設(shè)目錄添加標(biāo)識(shí)信息具體包括: 在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),所述文件節(jié)點(diǎn)用于標(biāo)識(shí)所述目錄為受保護(hù)分區(qū); 在預(yù)設(shè)目錄下建立文件節(jié)點(diǎn),并在所述文件節(jié)點(diǎn)中寫入預(yù)設(shè)字符信息,所述預(yù)設(shè)字符信息用于表明所述目錄為受保護(hù)分區(qū);或 在預(yù)設(shè)目錄的名稱中添加標(biāo)識(shí)信息,所述標(biāo)識(shí)信息用于表明所述目錄為受保護(hù)分區(qū)。
10.如權(quán)利要求7或8所述的安卓系統(tǒng)的分區(qū)保護(hù)裝置中,所述預(yù)設(shè)目錄為/p1c目錄。
【文檔編號(hào)】G06F21/50GK104268462SQ201410495632
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2014年9月25日 優(yōu)先權(quán)日:2014年9月25日
【發(fā)明者】黃有焱, 葉國(guó)華, 吳璇, 沈敏亮, 吳慶棋 申請(qǐng)人:福建聯(lián)迪商用設(shè)備有限公司