SEAndroid實現機理

2021-08-03 09:13:52 字數 1192 閱讀 8101

seandroid是google在android 4.4上正式推出的一套以selinux為基礎於核心的系統安全機制。而selinux則是由美國nsa(國安局)和一些公司(redhat、tresys)設計的乙個針對linux的安全加強系統。

nsa最初設計的安全模型叫flask,全稱為flux advanced security kernel(由uta大學和美國國防部開發,後來由nsa將其開源),當時這套模型針對dtos系統。後來,nsa覺得linux更具發展和普及前景,所以就在linux系統上重新實現了flask,稱之為selinux。

linux kernel中,selinux通過linux security modules實現。在2.6之前,selinux通過patch方式發布。從2.6開始,selinux正式入駐核心,成為標配。

由於linux有多種發行版本,所以各家的selinux表現形式也略有區別。具體到android平台,google對其進行了一定得修改,從而得到seandroid。

selinux出現之前

selinux出現之前,linux上的安全模型叫dac,全稱是discretionary access control,翻譯為自主訪問控制。dac的核心思想很簡單,就是:

程序理論上所擁有的許可權與執行它的使用者的許可權相同。比如,以root使用者啟動browser,那麼browser就有root使用者的許可權,在linux系統上能幹任何事情。

顯然,dac太過寬鬆了,所以各路高手想方設法都要在android系統上搞到root許可權。那麼selinux如何解決這個問題呢?原來,它在dac之外,設計了乙個新的安全模型,叫mac(mandatory access control),翻譯為強制訪問控制。mac的處世哲學非常簡單:即任何程序想在selinux系統中乾任何事情,都必須先在安全策略配置檔案中賦予許可權。凡是沒有出現在安全策略配置檔案中的許可權,程序就沒有該許可權。

目前理解

查詢了一些網上的文件,很多都有翻譯的感覺,概念講解起來比較生澀。等後面有了新的理解之後再來填充。

相關資源

不過,由於selinux的實現內容很多,一時還難以掌握,暫時將查到的相關資源列在這裡。

深入理解selinux seandroid(第一部分)

深入理解selinux seandroid之二  

深入理解selinux seandroid(最後部分)  

seandroid策略介紹1

selinux策略語言--客體類別和許可  

KVO KVC 實現機理分析

請註明轉之 蘋果開發中文網 以上說明是本文不可分割的一部分。objective c裡面的key value observing kvo 機制,非常不錯,可以很好的減少澆水 關於kvo的學習,可以參考文章 key value observing快速入門 key value coding kvc 實現分...

iPhone程式開發 KVO KVC實現機理分析

iphone 程式開發kvo kvc實現機理分析是本文要介紹的內容,不多說,直接進入話題。我們來看詳細內容。objective c裡面的key value observing kvo 機制,非常不錯,可以很好的減少澆水 關於kvo的學習,可以參考文章 key value observing快速入門 ...

iPhone程式開發 KVO KVC實現機理分析

iphone程式開發 kvo kvc實現機理分析是本文要介紹的內容,不多說,直接進入話題。我們來看詳細內容。objective c裡面的key value observing kvo 機制,非常不錯,可以很好的減少澆水 關於kvo的學習,可以參考文章 key value observing快速入門 ...