本發(fā)明涉及智能手機(jī)安全保護(hù)技術(shù)領(lǐng)域,具體為一種檢驗(yàn)android系統(tǒng)安全并加強(qiáng)手機(jī)使用安全的方法。
背景技術(shù):
隨著智能手機(jī)的普及以及社交網(wǎng)絡(luò)的迅猛發(fā)展,越來越多的人們都在使用手機(jī)。據(jù)2017年谷歌i/o大會統(tǒng)計(jì),全球使用android操作系統(tǒng)的激活設(shè)備超過了20億臺。android作為世界上使用最多的操作系統(tǒng),國內(nèi)有很多廠商例如華為、小米、魅族都很深受年輕人的喜愛。但是,android在其技術(shù)安全上仍舊存在很多的安全隱患。我們不僅要會用手機(jī),還要安全的使用手機(jī),保證自己的財(cái)產(chǎn)和隱私安全。
在android早期的系統(tǒng),不法分子往往利用一些用戶層程序的漏洞即可將手機(jī)root,現(xiàn)在則主要依賴內(nèi)核漏洞。android為linux內(nèi)核引入了新的內(nèi)核模塊,以及不同廠商的驅(qū)動方案。這就為系統(tǒng)內(nèi)核引入了新的安全隱患,無論是高通、mtk或者華為海思的芯片,多少都出現(xiàn)過一些內(nèi)核漏洞,這是android平臺內(nèi)核的一個(gè)主要攻擊點(diǎn)。隨著google將selinux引入android,攻擊面有所減小,但不能完全解決內(nèi)核漏洞利用的問題。從防御角度來說,同樣面臨著挑戰(zhàn):一些apt攻擊如果利用內(nèi)核漏洞,將能拿到系統(tǒng)的完全控制權(quán)。android平臺內(nèi)核漏洞長期以來一直都在持續(xù)曝光,漏洞利用與防范依然是持續(xù)的熱點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種檢驗(yàn)android系統(tǒng)安全并加強(qiáng)手機(jī)使用安全的方法,采用android技術(shù)分析,為用戶打造更安全的使用,以解決上述背景技術(shù)中提出的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種檢驗(yàn)android系統(tǒng)安全并加強(qiáng)手機(jī)使用安全的方法,包括以下步驟:
s1:啟用手機(jī)自帶的android系統(tǒng);
s2:在android系統(tǒng)內(nèi)引入了一套基于selinux的安全機(jī)制,并命名為seandroid;
s3:將主動防御獲取隱私的程序集成到基于seandroid機(jī)制的廠商的rom代碼或apihook中;
s4:系統(tǒng)管理員基于seandroid機(jī)制制定安全訪問策略,并規(guī)定進(jìn)程與訪問文件相對應(yīng);
s5:構(gòu)建android應(yīng)用程序,基于seandroid機(jī)制使用私有密鑰數(shù)字簽名與android系統(tǒng)相關(guān)的應(yīng)用程序。
優(yōu)選的,所述android系統(tǒng)內(nèi)存在一定的內(nèi)核漏洞。
優(yōu)選的,所述seandroid中的每一個(gè)進(jìn)程和文件均關(guān)聯(lián)有一個(gè)安全上下文,安全上下文由用戶、角色、類型、安全級別四個(gè)部分組成,每一部分通過一個(gè)冒號來分隔。
優(yōu)選的,所述兩個(gè)應(yīng)用程序被相同數(shù)字簽名簽署可以相互授予權(quán)限來訪問基于簽名的api。
優(yōu)選的,所述應(yīng)用程序簽名首先生成一個(gè)私有、公共密鑰對和一個(gè)相關(guān)公共密鑰證書,簡稱為公共密鑰證書。
優(yōu)選的,所述s5中構(gòu)建android應(yīng)用程序時(shí)可采用調(diào)試模式和發(fā)布模式,調(diào)試模式為采用一個(gè)調(diào)試私有密鑰自動簽名應(yīng)用程序,未簽名的或者使用調(diào)試私有密鑰簽名的應(yīng)用程序不能通過androidmarket發(fā)布。
優(yōu)選的,所述s5中采用私有密鑰數(shù)字對應(yīng)用程序簽名,方便識別代碼的作者檢測應(yīng)用程序的改變,并在應(yīng)用程序之間建立信任,使得應(yīng)用程序可以安全地共享代碼和數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本檢驗(yàn)android系統(tǒng)安全并加強(qiáng)手機(jī)使用安全的方法,通過了解linux內(nèi)核,研究漏洞方向,并基于seandroid安全機(jī)制,加強(qiáng)安全管理;采用應(yīng)用程序簽名,保護(hù)不被惡意篡改,同時(shí),了解android惡意軟件攻擊原理,哪些權(quán)限需要注意,從而提高android手機(jī)使用安全度,能夠更清晰更有效的去使用,使得用戶都能了解android技術(shù),識破現(xiàn)在市場上存在的androidapk騙術(shù),提高用戶的使用安全。
附圖說明
圖1為本發(fā)明的整體結(jié)構(gòu)流程圖;
圖2為本發(fā)明安全機(jī)制結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例二第一步界面圖;
圖4為本發(fā)明實(shí)施例二第二步界面圖;
圖5為本發(fā)明實(shí)施例二第三步界面圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一:
請參閱圖1-2,本發(fā)明實(shí)施例中:一種檢驗(yàn)android系統(tǒng)安全并加強(qiáng)手機(jī)使用安全的方法,包括以下步驟:
第一步:啟用手機(jī)自帶的android系統(tǒng),android系統(tǒng)內(nèi)存在一定的內(nèi)核漏洞;在android早期的系統(tǒng),不法分子往往利用一些用戶層程序的漏洞即可將手機(jī)root,現(xiàn)在則主要依賴內(nèi)核漏洞,android為linux內(nèi)核引入了新的內(nèi)核模塊,以及不同廠商的驅(qū)動方案,這就為系統(tǒng)內(nèi)核引入了新的安全隱患,無論是高通、mtk或者華為海思的芯片,多少都出現(xiàn)過一些內(nèi)核漏洞,這是android平臺內(nèi)核的一個(gè)主要攻擊點(diǎn);隨著google將selinux引入android,攻擊面有所減小,但不能完全解決內(nèi)核漏洞利用的問題;從防御角度來說,同樣面臨著挑戰(zhàn):一些apt攻擊如果利用內(nèi)核漏洞,將能拿到系統(tǒng)的完全控制權(quán),android平臺內(nèi)核漏洞長期以來一直都在持續(xù)曝光,漏洞利用與防范依然是持續(xù)的熱點(diǎn);從這個(gè)方向入手,首先需要了解linux內(nèi)核,然后不斷對目前已公開的cve漏洞進(jìn)行分析,理解漏洞的成因和各個(gè)類型,在漏洞利用方面,有開源項(xiàng)目run_root_shell可作為參考,該項(xiàng)目包含了多個(gè)經(jīng)典漏洞的利用實(shí)現(xiàn),是入門的好材料,除此之外,還可以關(guān)注國外的poc程序或?qū)σ绘Iroot類產(chǎn)品做分析;
第二步:在android系統(tǒng)內(nèi)引入了一套基于selinux的安全機(jī)制,并命名為seandroid;從android4.0開始,android不遺余力地改善其流暢性,特別是在發(fā)布的l版本中,用art替換了dalvik,會越來越流暢,至于安全性,android也沒有遺忘,從4.3開始,android引入了一套基于selinux的安全機(jī)制,稱為seandroid,來加強(qiáng)系統(tǒng)安全性;
第三步:將主動防御獲取隱私的程序集成到基于seandroid機(jī)制的廠商的rom代碼或apihook中;從近幾年的安全事件來看,隱私竊取和釣魚軟件是目前android平臺主要的惡意軟件類型,雖然android6.0加入了很嚴(yán)格的權(quán)限管理機(jī)制,使得用戶在使用app時(shí),都會提示該權(quán)限的授權(quán),但是目前來看,6.0的使用頻率并不廣泛,現(xiàn)在各大應(yīng)用市場還是6.0以下的用戶居多,如果用戶對于應(yīng)用申請的權(quán)限毫不知情,那么這款應(yīng)用就能輕松獲取用戶的短信、通訊錄、地理位置、錄音等私密信息;例如:先前支付寶被國內(nèi)某位高端技術(shù)人員曝光其安全問題,支付寶在后臺每隔一段時(shí)間就會對用戶進(jìn)行一次拍照和錄音,一旦用戶在安裝的時(shí)候毫不知情就賦予他權(quán)限,那么這些隱私問題就會在這里暴露,這無疑會使得我們對android系統(tǒng)的安全感到擔(dān)憂,所以android平臺需要有主動防御程序控制應(yīng)用獲取隱私的行為,現(xiàn)有的兩種方法中,一種是集成到廠商的rom代碼中,另一種則是利用apihook實(shí)現(xiàn),無論使用哪種方式,目前面臨的問題都是如何更智能地為用戶管理權(quán)限,以減少防御軟件頻繁彈窗帶來的打擾;
第四步:系統(tǒng)管理員基于seandroid機(jī)制制定安全訪問策略,并規(guī)定進(jìn)程與訪問文件相對應(yīng);在seandroid中,每一個(gè)進(jìn)程和文件都會關(guān)聯(lián)有一個(gè)安全上下文,這個(gè)安全上下文由用戶、角色、類型、安全級別四個(gè)部分組成,每一部分通過一個(gè)冒號來分隔;例如,u:r:t:so描述的就是一個(gè)seandroid安全上下文,當(dāng)每一個(gè)進(jìn)程和文件都關(guān)聯(lián)上一個(gè)安全上下文之后,系統(tǒng)管理員就可以基于這些安全上下文制定一個(gè)安全訪問策略,用來規(guī)定什么樣的進(jìn)程可以訪問什么樣的文件;
第五步:構(gòu)建android應(yīng)用程序,基于seandroid機(jī)制使用私有密鑰數(shù)字簽名與android系統(tǒng)相關(guān)的應(yīng)用程序;有android應(yīng)用程序都將被簽名,以便識別代碼的作者檢測應(yīng)用程序是否發(fā)生了改變,在應(yīng)用程序之間建立信任,基于這一信任關(guān)系,應(yīng)用程序可以安全地共享代碼和數(shù)據(jù),使用相同數(shù)字簽名簽署的兩個(gè)應(yīng)用程序可以相互授予權(quán)限來訪問基于簽名的api,如果它們共享用戶id,那么也可以運(yùn)行在同一進(jìn)程中,從而允許訪問對方的代碼和數(shù)據(jù);其中,應(yīng)用程序簽名首先是生成一個(gè)私有、公共密鑰對和一個(gè)相關(guān)公共密鑰證書,簡稱為公共密鑰證書,構(gòu)建android應(yīng)用程序時(shí)可以采用調(diào)試模式和發(fā)布模式:使用android構(gòu)建工具(命令行和eclipseadt)構(gòu)建的應(yīng)用程序是用一個(gè)調(diào)試私有密鑰自動簽名的;這些應(yīng)用程序被稱為調(diào)試模式應(yīng)用程序,調(diào)試模式應(yīng)用程序用于測試,不能夠發(fā)布,而且,未簽名的或者使用調(diào)試私有密鑰簽名的應(yīng)用程序不能夠通過androidmarket發(fā)布。
實(shí)施例二:
請參閱圖3-5,一種檢驗(yàn)android系統(tǒng)安全并加強(qiáng)手機(jī)使用安全的方法,檢驗(yàn)seandroid安全訪問例子:當(dāng)我們想從手機(jī)上下載一個(gè)文件到電腦上時(shí),我們使用adbpull命令來實(shí)現(xiàn),當(dāng)我們執(zhí)行adbpull命令的時(shí)候,實(shí)際上是由手機(jī)上的守護(hù)進(jìn)程adbd來讀出指定的文件,并且將讀出來的內(nèi)容發(fā)送給在電腦上運(yùn)行的adb進(jìn)程的,接下來,就按照以下步驟嘗試從啟用了seandroid的三星noteii上下載文件/system/bin/gpsd到電腦上來:
第一步:執(zhí)行l(wèi)s-1命令檢查手機(jī)上存在/system/bin/gpsd文件,以及它基于傳統(tǒng)的linuxuid/gid的權(quán)限位;從命令的輸出可以看到,如果只考慮傳統(tǒng)的linuxuid/gid安全機(jī)制,手機(jī)上的/system/bin/gpsd文件是所有用戶均可以讀取的;
第二步:執(zhí)行adbpull命令下載手機(jī)上的/system/bin/gpsd文件;從命令的輸出可以看到,沒有按照預(yù)期那樣將手機(jī)上的/system/bin/gpsd文件下載電腦上來,原因是“permissiondenied”,也就是權(quán)限不夠;
第三步:分別通過1s-z和ps-z命令檢查文件/system/bin/gpsd和進(jìn)程adbd的安全上下文;從命令的輸出可以看到,文件/system/bin/gpsd的安全上下文為u:object_r:gpsd_exec:s0,而進(jìn)程adbd的安全上下文為u:r;adbd:s0,因此可以斷定,在三星noteii運(yùn)行的系統(tǒng)上,一定存在一個(gè)訪問策略不允許安全上下文為u:r;adbd:s0的進(jìn)程訪問安全上下文為u:object_r:gpsd_exec:s0的文件。
綜上所述:本檢驗(yàn)android系統(tǒng)安全并加強(qiáng)手機(jī)使用安全的方法,通過了解linux內(nèi)核,研究漏洞方向,并基于seandroid安全機(jī)制,加強(qiáng)安全管理;采用應(yīng)用程序簽名,保護(hù)不被惡意篡改,同時(shí),了解android惡意軟件攻擊原理,哪些權(quán)限需要注意,從而提高android手機(jī)使用安全度,能夠更清晰更有效的去使用,使得用戶都能了解android技術(shù),識破現(xiàn)在市場上存在的androidapk騙術(shù),提高用戶的使用安全。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。