来自 IT技术新闻 2019-01-26 09:23 的文章

SEAndroid 介绍及其基本实现原理

1. 什么是SEAndroiAAAAAAAA >

SEAndroid(Security-Enhanced Android)是有美国AAAA局(NSA)开发的开源安全项目,是在谷歌Android 开源软件的基础上开发而来,主要是将原本运用在Linux操作系统上的MAC强制存取控管套件SELinux,移植到Android平台上。通过SELinux的MAC安全机制强化Android操作系统对App的存取控管,建立基于角色的安全管控机制,确保Android 内核及上层应用程序的安全运行。


SELinux 是 2.6 版本的 Linux内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。SELinux 是美国AAAA局「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)模型之间的抽象层,用于提供细粒度的访问控制,但是并不是针对简化管理。



\

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 seandroiAAAAAAAA >$. 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的系统界面。



http://www.bkjia.com/Androidjc/767846.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/767846.htmlTechArticle1. 什么是SEAndroid SEAndroid(Security-Enhanced Android)是有美国AAAA局(NSA)开发的开源安全项目,是在谷歌Android 开源软件的基础上开发而来...

本文源自: AG88平台