一種Android系統(tǒng)的非法root檢測(cè)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)終端安全領(lǐng)域,特別涉及一種Android系統(tǒng)的非法root檢測(cè)方法及系統(tǒng)。
【背景技術(shù)】
[0002]在Android系統(tǒng)中,超級(jí)用戶一般命名為root,其具有系統(tǒng)中的所有權(quán)限,如啟動(dòng)或停止一個(gè)進(jìn)程,增加或刪除用戶等,現(xiàn)有Android系統(tǒng)一般不為用戶提供root權(quán)限,以保證系統(tǒng)安全,但其限制了一些用戶功能,因此現(xiàn)有提供了大量的“一鍵root”工具,為用戶提供root功能,使用戶獲得更多的功能及權(quán)限,但現(xiàn)有的root方法,一般均是利用系統(tǒng)漏洞,通過(guò)非法手段繞過(guò)系統(tǒng)檢測(cè),非法獲取root權(quán)限,或通過(guò)第三方手段強(qiáng)制解除系統(tǒng)鎖,或改變系統(tǒng)原廠設(shè)置,以達(dá)到獲取root的目的等。綜上的幾種root方法,均是通過(guò)非法手段獲取Android系統(tǒng)的最高權(quán)限,破壞了系統(tǒng)的自我保護(hù)機(jī)制,且一旦root權(quán)限被惡意軟件取得,則會(huì)帶來(lái)隱私泄露等問(wèn)題。系統(tǒng)root后,一旦用戶誤操作,則可能導(dǎo)致惡意程序獲得到root權(quán)限。如果通過(guò)第三方軟件獲得root權(quán)限,一旦第三方安全軟件存在安全漏洞,也將導(dǎo)致root權(quán)限被惡意程序所利用。因此用戶應(yīng)當(dāng)及時(shí)了解所使用的Android系統(tǒng)是否已被非法root。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供了一種Android系統(tǒng)的非法root檢測(cè)方法及系統(tǒng),通過(guò)多方向檢測(cè),確定系統(tǒng)是否存在非法root風(fēng)險(xiǎn),并將風(fēng)險(xiǎn)提示用戶。
[0004]一種Android系統(tǒng)的非法root檢測(cè)方法,包括:
步驟a,利用常規(guī)方法對(duì)Android系統(tǒng)檢測(cè),初次判斷Android系統(tǒng)是否已被root,如果是,則判定系統(tǒng)危險(xiǎn),執(zhí)行步驟f ;否則執(zhí)行步驟b ;
步驟b,檢測(cè)Android系統(tǒng)是否已加鎖,如果是,執(zhí)彳了步驟c ;否則執(zhí)彳了步驟e ;
步驟C,檢測(cè)Android系統(tǒng)是否被非法解鎖,如果是,則執(zhí)行步驟e ;否則執(zhí)行步驟d ;步驟d,檢測(cè)Android系統(tǒng)是否存在提權(quán)漏洞,如果是,則執(zhí)行步驟f ;否則執(zhí)行步驟e ;步驟e,檢測(cè)Android系統(tǒng)是否被刷入第三方recovery模式,如果是,則執(zhí)行步驟f ;否則判定系統(tǒng)不存在非法root風(fēng)險(xiǎn);第三方recovery是指替換了系統(tǒng)自帶的recovery程序的第三方程序,雖然第三方recovery在功能上與系統(tǒng)自帶的recovery程序類似,但是由于其具有修改系統(tǒng)的權(quán)限,如果被惡意利用,則會(huì)對(duì)系統(tǒng)造成嚴(yán)重的危害;
步驟f,檢測(cè)Android系統(tǒng)中的所有應(yīng)用程序,判斷是否存在非法請(qǐng)求root權(quán)限的行為,如果存在,則提示用戶系統(tǒng)存在非法root風(fēng)險(xiǎn),并提示非法請(qǐng)求root權(quán)限行為的應(yīng)用程序;否則,提示用戶系統(tǒng)存在非法root風(fēng)險(xiǎn)。
[0005]所述的方法中,所述步驟b,檢測(cè)Android系統(tǒng)是否已加鎖具體為:獲取用戶設(shè)備的信息,識(shí)別當(dāng)前用戶設(shè)備Android系統(tǒng)加鎖狀態(tài);
所述的方法中,所述步驟c,檢測(cè)Android系統(tǒng)是否被非法解鎖具體為:根據(jù)獲取的用戶設(shè)備信息,獲取云端查找對(duì)應(yīng)用戶設(shè)備的出廠加鎖狀態(tài),并與當(dāng)前用戶設(shè)備Android系統(tǒng)加鎖狀態(tài)比對(duì),如果一致,則Android系統(tǒng)未被非法解鎖,否則,Android系統(tǒng)被非法解鎖。
[0006]所述的方法中,所述步驟d,檢測(cè)Android系統(tǒng)是否存在提權(quán)漏洞具體為:通過(guò)云端下載漏洞檢測(cè)腳本,對(duì)Android系統(tǒng)進(jìn)行提權(quán)漏洞檢測(cè)。
[0007]所述的方法中,所述步驟f,檢測(cè)Android系統(tǒng)中的所有應(yīng)用程序,判斷是否存在非法請(qǐng)求root權(quán)限的行為具體為:判斷應(yīng)用程序是否以root權(quán)限運(yùn)行,或包含root所需文件,如果是,則存在非法請(qǐng)求root權(quán)限的行為,否則不存在。
[0008]本發(fā)明還提供了一種Android系統(tǒng)的非法root檢測(cè)系統(tǒng),包括:
常規(guī)檢測(cè)模塊,用于利用常規(guī)方法對(duì)Android系統(tǒng)檢測(cè),初次判斷Android系統(tǒng)是否已被root,如果是,則判定系統(tǒng)危險(xiǎn),轉(zhuǎn)入root行為檢測(cè)模塊;否則進(jìn)入加鎖檢測(cè)模塊;
加鎖檢測(cè)模塊,用于檢測(cè)Android系統(tǒng)是否已加鎖,如果是,進(jìn)入非法解鎖檢測(cè)模塊;否則轉(zhuǎn)入工程模式檢測(cè)模塊;
非法解鎖檢測(cè)模塊,用于檢測(cè)Android系統(tǒng)是否被非法解鎖,如果是,則轉(zhuǎn)入工程模式檢測(cè)模塊;否則進(jìn)入漏洞檢測(cè)模塊;
漏洞檢測(cè)模塊,檢測(cè)Android系統(tǒng)是否存在提權(quán)漏洞,如果是,則轉(zhuǎn)入root行為檢測(cè)模塊;否則進(jìn)入工程模式檢測(cè)模塊;
工程模式檢測(cè)模塊,檢測(cè)Android系統(tǒng)是否被刷入第三方recovery模式,如果是,則進(jìn)入root行為檢測(cè)模塊;否則判定系統(tǒng)不存在非法root風(fēng)險(xiǎn);
root行為檢測(cè)模塊,檢測(cè)Android系統(tǒng)中的所有應(yīng)用程序,判斷是否存在非法請(qǐng)求root權(quán)限的行為,如果存在,則提示用戶系統(tǒng)存在非法root風(fēng)險(xiǎn),并提示非法請(qǐng)求root權(quán)限行為的應(yīng)用程序;否則,提示用戶系統(tǒng)存在非法root風(fēng)險(xiǎn)。
[0009]所述的系統(tǒng)中,所述加鎖檢測(cè)模塊,檢測(cè)Android系統(tǒng)是否已加鎖具體為:獲取用戶設(shè)備的信息,識(shí)別當(dāng)前用戶設(shè)備Android系統(tǒng)加鎖狀態(tài);
所述的系統(tǒng)中,所述非法解鎖檢測(cè)模塊,檢測(cè)Android系統(tǒng)是否被非法解鎖具體為:根據(jù)獲取的用戶設(shè)備信息,獲取云端查找對(duì)應(yīng)用戶設(shè)備的出廠加鎖狀態(tài),并與當(dāng)前用戶設(shè)備Android系統(tǒng)加鎖狀態(tài)比對(duì),如果一致,則Android系統(tǒng)未被非法解鎖,否則,Android系統(tǒng)被非法解鎖。
[0010]所述的系統(tǒng)中,所述漏洞檢測(cè)模塊,云端檢測(cè)引擎檢測(cè)Android系統(tǒng)是否存在提權(quán)漏洞具體為:通過(guò)云端下載漏洞檢測(cè)腳本,對(duì)Android系統(tǒng)進(jìn)行提權(quán)漏洞檢測(cè)。
[0011 ] 所述的系統(tǒng)中,所述10t行為檢測(cè)模塊,檢測(cè)Android系統(tǒng)中的所有應(yīng)用程序,判斷是否存在非法請(qǐng)求root權(quán)限的行為具體為:判斷應(yīng)用程序是否以root權(quán)限運(yùn)行,或包含root所需文件,如果是,則存在非法請(qǐng)求root權(quán)限的行為,否則不存在。
[0012]本發(fā)明的優(yōu)勢(shì)在于:通過(guò)多方向?qū)ο到y(tǒng)進(jìn)行檢測(cè),能夠確保準(zhǔn)確檢測(cè)出系統(tǒng)是否被root,檢測(cè)范圍更廣;通過(guò)主動(dòng)查看和被動(dòng)從系統(tǒng)中獲取信息兩種方式進(jìn)行驗(yàn)證,極大的提高了檢測(cè)的準(zhǔn)確率;通過(guò)本發(fā)明的方法,能夠?qū)ο到y(tǒng)中尚未被發(fā)現(xiàn)的風(fēng)險(xiǎn)進(jìn)行檢測(cè)并提示用戶,發(fā)現(xiàn)未知風(fēng)險(xiǎn);并且通過(guò)檢測(cè)系統(tǒng)內(nèi)核和底層api調(diào)用等多種技術(shù),對(duì)root風(fēng)險(xiǎn)進(jìn)行深入檢測(cè)。本發(fā)明保證了用戶在未造成損失之前,最快了解當(dāng)前Android系統(tǒng)是否存在重大安全隱患。
[0013]本發(fā)明提供了一種Android系統(tǒng)的非法root檢測(cè)方法及系統(tǒng),通過(guò)對(duì)系統(tǒng)進(jìn)行常規(guī)root檢測(cè)及利用云端信息檢測(cè)系統(tǒng)是否加鎖,是否被非法解鎖,以及是否存在提權(quán)漏洞、刷入第三方recovery模式,判斷系統(tǒng)是否被非法root,并檢測(cè)系統(tǒng)中存在非法root行為的應(yīng)用程序,提示用戶。本發(fā)明還給出了相應(yīng)系統(tǒng),通過(guò)本
【發(fā)明內(nèi)容】
,能夠多方面檢測(cè)系統(tǒng)是否被root,是否存在非法root風(fēng)險(xiǎn),并通過(guò)主動(dòng)查看和被動(dòng)從系統(tǒng)中獲取等多種方式進(jìn)行檢測(cè),提高了準(zhǔn)確率,能夠發(fā)現(xiàn)系統(tǒng)中隱藏的未知風(fēng)險(xiǎn)。
【附圖說(shuō)明】
[0014]為了更清楚地說(shuō)明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明一種Android系統(tǒng)的非法root檢測(cè)方法流程圖;
圖2為本發(fā)明一種Android系統(tǒng)的非法root檢測(cè)系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0016]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0017]本發(fā)明提供了一種Android系統(tǒng)的非法root檢測(cè)方法及系統(tǒng),通過(guò)多方向檢測(cè),確定系統(tǒng)是否存在非法root風(fēng)險(xiǎn),并將風(fēng)險(xiǎn)提示用戶。
[0018]一種Android系統(tǒng)的非法root檢測(cè)方法,如圖1所示,包括:
SlOI,利用常規(guī)方法對(duì)Android系統(tǒng)檢測(cè),初次判斷Android系統(tǒng)是否已被root,如果是,則判定系統(tǒng)危險(xiǎn),執(zhí)行S106 ;否則執(zhí)行S102 ;
常規(guī)檢測(cè)方法有:
(1)執(zhí)行Runtime.getRuntime 0.exec(〃su〃),查看返回結(jié)果,可以判定是否root ;
(2)檢測(cè)目錄system/bin/^, "/system/xbin/","/system/sbin/","/sbin/",7vendor/bin/"下是否存在su文件,且是否具有可執(zhí)行權(quán)限可以判斷是否root ;
(3)調(diào)用execRootCmdSilentO方法,根據(jù)返回值可以判斷是否root。
[0019]S102,檢測(cè)Android系統(tǒng)是否已加鎖,如果是,執(zhí)行S103 ;否則執(zhí)行S105 ;
S103,檢測(cè)Android系統(tǒng)是否被非法解鎖,如果是,則執(zhí)行S105 ;否則執(zhí)行S104 ;
S104,檢測(cè)Android系統(tǒng)是否存在提權(quán)漏洞,如果是,則執(zhí)行S106 ;否則執(zhí)行S105 ; S105,檢測(cè)Android系統(tǒng)是否被刷入第三方recovery模式,如果是,則執(zhí)行S106 ;否則判定系統(tǒng)不存在非法root風(fēng)險(xiǎn);第三方recovery是指替換了系統(tǒng)自帶的recovery程序的第三方程序,雖然第三方recovery在功能上與系統(tǒng)自帶的recovery程序類似,但是由于其具有修改系統(tǒng)的權(quán)限,如果被惡意利用,則會(huì)對(duì)系統(tǒng)造成嚴(yán)重的危害;
S106,檢測(cè)Android系統(tǒng)中的所有應(yīng)用程序,判斷是否存在非法請(qǐng)求root權(quán)限的行為,如果存在,則提示用戶系統(tǒng)存在非法root風(fēng)險(xiǎn),并提示非法請(qǐng)求root權(quán)限行為的應(yīng)用程序;否則,提示用戶系統(tǒng)存在非法root風(fēng)險(xiǎn)。
[0020]所述的方法中,所述S102,檢測(cè)Android系統(tǒng)是否已加鎖具體為:獲取用戶設(shè)備的信息,識(shí)別當(dāng)前用戶設(shè)備Android系統(tǒng)加鎖狀態(tài);如S-ON表示處于加鎖狀態(tài),S-OFF表