天天看點

SEAndroid和普通android的差別

版權聲明:您好,轉載請留下本人部落格的位址,謝謝 https://blog.csdn.net/hongbochen1223/article/details/46929811

首先我們需要知道,在普通android中使用的是DAC通路方式,即 Discretionary Access Control,顧名思義,該通路方式是自由的通路控制,由此,他有一些本身自有的缺點。

在DAC 中,普通app隻能通過系統服務來通路系統資源。同時,DAC 通過使用者群組來分隔app。每一個app在安裝的時候都被配置設定一個獨一無二的使用者id群組id,這個id對被他的所有程序和私有資料檔案使用。隻有資料擁有者和app創造者才能通路這些資料。但是DAC有下面一些缺點:

  • 1:不能阻止攻擊。這個是顯而易見的,因為DAC僅僅控制的是對檔案和資料的通路,并沒有對攻擊做出任何防禦措施。
  • 2:會被惡意程式洩漏資料。當一個惡意程式通過系統服務去擷取系統資料的時候,就容易将資料洩漏出去。
  • 3:粗糙的特權管理。
  • 4:不能限制或控制系統守護程序。這個的意思是系統程序或者是特權程序具有至高無上的特權,他們具有通路其他資源的權利,但是萬一一個程序擷取到特權的話,DAC就不能阻止其通路其他資源了。
  • 5:不能阻止root權限的惡意行為。

而在SEAndroid 中,使用的是MAC,即Mandatory Access Control ,強制的通路控制。在MAC中,無論程序是普通程序還是root程序,在對資源進行通路的時候都要進行驗證,同時,它還能夠阻止特權更新。

SEAndroid 的中心思想就是即使root權限被篡奪了,惡意行為也會被阻止。通過SEAndroid的中心思想,我們就能看出SEAndroid和普通android的巨大不同。在SEAndroid中,特權已經失去了自己的作用,或者是特權也會被監控了,而真正的特權掌握在政策定義者那裡。舉個例子,如果一個裝置越獄了,也就是root了,即使su特權被擷取了,管理者也依然能夠設定有關于修改系統檔案的政策來限制通路。

SEAndroid提供了一系列安全控制機制,目前這些政策包括Install-MAC,Intent-MAC,Content Provider MAC,權限取消和權限标簽傳播。

  • 1:Install MAC:在安裝的時候,通過mac的permission.xml檔案來檢查app聲明的權限。他的行為包括允許,拒絕和允許所有權限。
  • 2:Intent MAC:他的角色就是決定一個Intent能否被分發到其他元件當中。他會阻止任何不被允許的分發。現在,他也支援對使用,讀取,讀取和寫權限的控制。
  • 3:Content Provider MAC。他的角色是來決定一個對Content Provider 的請求是否被允許。
  • 4:權限取消。他能夠取消app的一些權限。
  • 5:權限标簽分發。這個政策是污點跟蹤方法的一個應用。安卓的權限作為抽象标簽被映射到一個政策配置檔案中。

SEAndroid在安全性方面取得的效果:

  • 1:阻止root特權的攻擊

    SEAndroid能夠阻止root攻擊例如GinderBreak和Exploid。

  • 2:阻止app攻擊
相關文檔下載下傳

繼續閱讀