SELinux 介绍

背景

在工作中经常需要在 android 中增加一些东西, 而android有自己的安全限制,如果不懂SELinux,就不好添加。

Control Access Model

SELinux 介绍_第1张图片

https://zh.wikipedia.org/wiki/Chmod

https://linux.die.net/man/1/chcon

DAC

SELinux 介绍_第2张图片

DAC and Trojan Horses

SELinux 介绍_第3张图片

DAC and Trojan Horse

SELinux 介绍_第4张图片

被某个用户执行的程序拥有与该用户相同的权限。这意味着系统安全依靠运行的程序,因此,当一个程序中发生安全裂缝,会影响到该用户能访问的所有对象。这使得DAC在特洛伊木马前特别脆弱。例如,假设Alice对文件file1.doc拥有读写权限。Charlie,一个恶意攻击者,写了一个程序,这个程序在执行时生成文件file2.doc.这个程序授予Alice写权限和Charlike读权限。Charlie把这个程序伪装成合法的程序发给Alice。当Alice运行这个程序是,它就具有了和Alice相同的权限。它可以拷贝file1.doc到file2.doc,这样charlie就窃取了file1.doc的内容。如果一个管理员执行这个程序,攻击者会获取最大的特权,危害整个系统的安全。

SELinux

SELinux 介绍_第5张图片

Example

SELinux 介绍_第6张图片

链接:Your visual how-to guide for SELinux policy enforcement | Opensource.com

Type enforcement

SELinux 介绍_第7张图片

Fail Example

SELinux 介绍_第8张图片

Android Security Context format

SELINUX 中,每个对象(进程和文件)被赋予安全属性。

SEAndroid策略-CSDN博客

SELinux 介绍_第9张图片

The Access Vector Rule

SELinux 介绍_第10张图片

AVCRules - SELinux Wiki

Rules

SELinux 介绍_第11张图片

AVCRules - SELinux Wiki

attribute/type

SELinux 介绍_第12张图片

Android SELinux code

SELinux 介绍_第13张图片

Example:DualCameraCal(1/4)

SELinux 介绍_第14张图片

SELinux 介绍_第15张图片

SELinux 介绍_第16张图片

SELinux 介绍_第17张图片

https://selinuxproject.org/page/TypeRules

https://blog.csdn.net/xbalien29/article/details/19505575

https://fedoraproject.org/wiki/SELinux/Understanding

Generalized Security Context Labeling

SELinux 介绍_第18张图片

neverallow policy by google

SELinux 介绍_第19张图片

SELinux 语法结构

SELinux 介绍_第20张图片

Building Selinux policy

SELinux 介绍_第21张图片



TypeStatements - SELinux Wiki

暂时关闭/开启 SELinux

SELinux 介绍_第22张图片

https://blog.csdn.net/u012824529/article/details/102938284 https://wertherzhang.com/seandroid%E8%A7%84%E5%88%99%E4%BB%8B%E7%BB%8D/

你可能感兴趣的:(#,camera软件,SELinux,介绍)