Root權限
Root權限也是一種系統權限,類似于Windows系統中的管理員root是Linux系統中的超級管理員用戶帳戶,擁有整個系統的最高權限,可以輕松刪除或更改系統的組件。而系統權限可以理解為一個概念,但高于管理員權限,root是Linux和unix系統中的超級管理員用戶賬號,擁有整個系統的至高權力,可以操作所有對象。獲得根權限后,意味著你獲得了系統的最高權限此時,您可以訪問系統中的任何文件(包括系統文件)執行所有增、刪、改、查的操作。手機根權限是andriod的最高權限有了root權限,就可以在手機上輕松執行備份還原卸載系統文件等重要操作。為了避免Android平臺應用中的一些潛在風險,廠商普遍的做法是設置SecureLock安全鎖,限制Root權限。這種做法既保證了安全性,又在一定程度上限制了Android系統的潛力。

新版系統 編輯本段
新根系的工藝相對簡單,至少滿足特定要求。Nexus 5 running Android L and contact 7(2013)用戶需要先刷入定制的Recovery和Chainfire SuperSU,再刷入匹配自己裝備的鏡像。
然而,正如外界所料,即使獲得了root權限,應用程序也無法再像以前那樣在系統分區中寫入。但是,升級到新安全環境的應用程序仍然可以訪問系統分區。
考慮到并不是所有的應用都升級了,很多需要root權限的應用在Android L中無法正常工作,比如鈦金備份。不過隨著越來越多的應用升級,Android L的root權限會變得更加實用。
Root原理 編輯本段
目前獲取Android root權限常用方法是通過各種系統漏洞,替換或添加SU程序到設備,獲取Root權限,而在獲取root權限以后,會裝一個程序用以提醒用戶是否給予程序最高權限,可以一定程度上防止惡意軟件,通常會使用SuperSU,這種方法通常叫做“不完全Root”。而“完全ROOT”是指,替換設備原有的ROM,以實現取消secure設置。
通過ADB可以直接將SU程序放入到系統。首先分析Android自帶su源代碼,由于源碼較多,下面摘錄最重要幾行。
intmain(intargc,char**argv)
{
/*Untilwehavesomethingbetter,onlyrootandtheshellcanuse
su.*/
myuid=getuid();
if(myuid!=AID_ROOT&&myuid!=AID_SHELL){
fprintf(stderr,"su:uid%dnotallwedtosu\n",myuid);
return1;
}
if(exevp(argv[2],exec_args)<0){
}
/*Defaultexecshell.*/
execlp("/systm/bin/sh","sh",NULL);
}
可以看出只允許getuid()為AID_ROOT和AID_SHELL的進程可以繼續執行,否則直接返回,這就決定了只有當前用戶為root和shell才能運行su。接下來執行execvp(argvexec_args),su并沒有通過fork去創建一個新的進程,而是直接把自己啟動一個新的進程,此時原先執行的程序實際上由su來創建的。通常情況下,執行su并不會帶參數,于是它會執行execlp("/system/bin/sh","sh",NULL);通過命令行查看此程序權限ls–l/bin/su-rwsr-xr-x1rootroot368642010-01-2701:09/bin/su由上可以看到,su的所有者和所有組都是root,并且其設置了SUID和SGID。實際用戶ID和實際用戶組ID:標識我是誰。也就是登錄用戶的uid和gid。有效用戶ID和有效用戶組ID:進程用來決定我們對資源的訪問權限。一般情況下,有效用戶ID等于實際用戶ID,有效用戶組ID等于實際用戶組ID。當設置-用戶-ID(SUID)位設置,則有效用戶ID等于文件的所有者的uid,而不是實際用戶ID;同樣,如果設置了設置-用戶組-ID(SGID)位,則有效用戶組ID等于文件所有者的gid,而不是實際用戶組ID。由此可以得出,當一個其他用戶或者用戶組的進程來執行su的時候,正常情況下會因為用戶ID不是root而被拒絕。但是,如果它能夠跳過檢查UID這一步,即能夠使自己的進程獲得和su相同的root的權限。
這樣就可以看出Android系統的破解的根本原理就是替換掉系統中的su程序,因為系統中的默認su程序需要驗證實際用戶權限(只有root和shell用戶才有權運行系統默認的su程序,其他用戶運行都會返回錯誤)。而破解后的su將不檢查實際用戶權限,這樣普通的用戶也將可以運行su程序,也可以通過su程序將自己的權限提升。
在Unix系統(如AIX、BSD等)和類UNIX系統(如Debian、Redhat、Ubuntu等各個發行版的Linux)中,系統的超級用戶一般命名為root。root是系統中唯一的超級用戶,具有系統中所有的權限,如啟動或停止一個進程,刪除或增加用戶,增加或者禁用硬件等等。
root就是手機的神經中樞,它可以訪問和修改你手機幾乎所有的文件,這些東西可能是制作手機的公司不愿意你修改和觸碰的東西,因為他們有可能影響到手機的穩定,還容易被一些黑客入侵(Root是Linux等類UNIX系統中的超級管理員用戶帳戶。)
“root”是安卓系統中的最高管理員,獲取它也就代表你可以隨意控制該系統中任意一項功能。生產廠商是不會給手機配置root權限的。注意:獲取root權限是有風險的,不要隨便嘗試。
應用作用 編輯本段
1)可以備份手機系統和軟件應用等重要的私人資料(包括可以備份聯系方式、短信、手機系統等),這樣即使手機出現故障丟失了相關數據,也可以在備份中還原。
2)使用高級的程序,例如RE管理器、省電大師、甜椒刷機助手等等。
3)可以修改手機系統,也就是root后可以給安卓手機刷機,體驗不同安卓系統的樂趣。修改系統的內部程序和文件,如修改build.prop來DIY手機信息。
4)可以把一些程序應用安裝在SD卡上(Android2.2以下默認是不支持的),減輕手機負擔。
5)可以卸載系統程序(需謹慎使用),可以刪除原廠系統自帶的感覺沒什么用的軟件。
6)可以管理開機啟動項,禁用不需要后臺運行的程序,進行手機省電優化。
優勢特點 編輯本段
1)用戶可以按照自己的需求來刪除不需要的系統自帶應用程序,比如Youtube、Google Map、Talk等,從而節省設備內存,提高運行速度。
2)用戶可以使用一些需要root權限才能運行的應用程序,比如截屏、開機自啟動等。
3)用戶可以更改系統核心策略,例如CPU性能優先還是節電優先,從而延長設備的使用壽命、擴展設備的功能。
4)用戶可以更改替換系統原生的鈴聲、圖片、icon等。
注意事項 編輯本段
1)如果惡意軟件獲取root權限之后,將對系統造成不可修復的破壞,用戶存儲在手機上的所有隱私都將暴露在惡意軟件之下。
2)如果用戶購買的是正品行貨手機,一旦在保修期內進行ROOT,一般就失去了保修的權利。
3)設備系統獲取root權限之后,任何軟件都能對系統文件進行任意操作,對系統的穩定性產生極大的影響。
4)用戶可以隨意安裝來自第三方的應用程序,包括未經過簽名的惡意軟件。
權限提升 編輯本段
Android設備廠商發售的出廠設備沒有開放Android root權限,而是級別相對低的Android用戶權限,低權限使得用戶在操作設備的過程中遇到很多制問題,系統無法發揮出最大的功能,解決辦法就是進行權限提升。就是將Android系統的權限從低等級的Android用戶權限提升到高等級的Android root權限。
權限提升漏洞
漏洞,也叫脆弱性,是指系統在硬件、軟件、協議的具體實現和系統安全策略上存在的缺陷和不足,從廣義上講,漏洞是指一切威脅、破壞系統可靠性、可用性、保密性、完整性、可控性、不可抵賴性的因素。權限提升漏洞,也叫提權漏洞,是指那些可以被利用來實現權限提升技術的漏洞,通常發生于驅動程序、系統核心組件或擁有高權限的服務進程等程序中。由于這些程序在設計過程中的代碼瑕疵或邏輯錯誤,使得低權限的程序可以不通過合法審查而獲得高權限,從而獲取訪問更多系統資源的權利。提權漏洞和所有其它類型的漏洞一樣,也是程序開發中無法完全避免的,它的產生原因不是故意行為。
權限提升軟件
權限提升軟件,即“一鍵ROOT軟件”,原理是通過編寫代碼觸發Android提權漏洞,通過不同的方法繞過Android權限安全機制,獲取臨時root權限,改寫系統內部的一些文件,從而獲得root權限。目前已經公開在網絡上的可使用的提權軟件,比較知名的包括UniversalAndroot、Kingroot、SuperOneClick、z4root、GingerBreak、ZergRush等等。同時,已被捕獲的典型Android平臺病毒/木馬主要包括索馬里海盜、GingerMaster、DroidDream、RecordSpy、Droidkungfu等等。
附件列表
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。