Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> SEAndroid 介紹及其基本實現原理

SEAndroid 介紹及其基本實現原理

編輯:關於Android編程

1. 什麼是SEAndroid


SEAndroid(Security-Enhanced Android)是有美國國家安全局(NSA)開發的開源安全項目,是在谷歌Android 開源軟件的基礎上開發而來,主要是將原本運用在Linux操作系統上的MAC強制存取控管套件SELinux,移植到Android平台上。通過SELinux的MAC安全機制強化Android操作系統對App的存取控管,建立基於角色的安全管控機制,確保Android 內核及上層應用程序的安全運行。


SELinux 是 2.6 版本的 Linux內核中提供的強制訪問控制(MAC)系統。對於目前可用的 Linux安全模塊來說,SELinux 是功能最全面,而且測試最充分的,它是在 20 年的 MAC 研究基礎上建立的。SELinux 在類型強制服務器中合並了多級安全性或一種可選的多類策略,並采用了基於角色的訪問控制概念。SELinux 是美國國家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)開發的 Linux的一個擴張強制訪問控制安全模塊,2000年以 GNU GPL 發布。


2. SEAndroid 的核心理念及工作原理

SEAndroid的核心理念是基於角色的訪問控制(Role-based access control,RBAC)是通用的安全模型,可以通過把角色分配給用戶然後把權限分配給這些角色來簡化管理。RBAC 在 Security-Enhanced Linux (SELinux) 中用作用戶與底層類型增強(Type Enforcement,TE)模型之間的抽象層,用於提供細粒度的訪問控制,但是並不是針對簡化管理。

SELinux 運作的各元件之相關性



\

3. SEAndroid 源代碼下載及編譯

3.1 源代碼下載

    git clone https://bitbucket.org/seandroid/manifests.git
    mkdir seandroid
    cd seandroid
    repo init -u https://android.googlesource.com/platform/manifest
    repo sync
    cp ../manifests/local_manifest.xml .repo
    repo sync
3.2 源代碼編譯

為了可以在Nexus 5機器上運行,我們將編一個可以在Nexus 5上可以運行的調試版本。

編譯之前請根據http://source.android.com/source/initializing.html 的要求對本地環境進行配置。

默認為Host 為Ubuntu x64位版本。

配置完成後執行下面命令,完成對seandriod的編譯。

$cd seandroid

$. build/envsetup.sh

$lunch

選擇hammerhead_userdebug 選項,

$make [-j8]

4. SEAndriod 在Nexus 5上的燒寫及功能驗證

完成編譯後,將在seandroid/out/target/product/hammerhead/下生產可以燒寫到Nexus 5上的鏡像文件。

此時,連接Nexus 5手機,如果手機未解鎖,需先解鎖手機。

解鎖過程如下:

1. 關閉nexus 5手機,同時按下開機+Volume up+Volume Down,手機進入燒寫模式。

2. 連接手機到Ubuntu

3. 執行

$fastboot unlock

完成對手機的解鎖。


燒寫編譯好的seandroid 鏡像。

$fastboot -w flashall

燒寫完成後,nexus 5會自動重啟,進入seandroid的系統界面。



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved