0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

智能终端安全:内核安全-SElinux整体架构

冬至子 来源:TrustZone 作者:Hkcoco 2023-10-18 15:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这里来看看操作系统之前先看看内核

操作系统和内核是包含关系,内核是操作系统最基本的部分,它提供了操作系统的最基本功能,是操作系统工作的基础。

操作系统内核负责操作系统的任务调度、用户管理、内存管理、多线程支持、多CPU支持等,并包含 必要的网络协议、驱动等

内核是所有软件的基础,相应的 内核安全是操作系统安全的基础

这里其实可以理解一下什么内核和操作系统:简言之,操作系统就是内核掌握了技能之后的样子。

当前主流操作系统的内核都属于UNIX(或类UNIX)系统。UNIX是一个强大的多用户、多任务操作系统,支持多种处理器架构,属于分时操作系统。

UNIX最早于1969年在AT&T的贝尔实验室开发,随着时间演进产生若干分支,并在移动智能终端操作系统中获得广泛使用,如 iOS系统基于UNIX BSD规范 ,而 Android则基于Linux,同属UNIX大类

简单地说,UNIX是现代操作系统的典型代表,也是各种主要OS的技术源泉;而Linux是类UNIX的一个开源版本,具有产品级的系统稳定性。

典型终端操作系统内核使用情况如表所示。

image.png

可以看到,除了iOS,其他多数移动智能终端操作系统均采用了Linux内核。但iOS系统是封闭的,整体来说,对Linux内核的安全研究有相当的实际价值。

在Linux基础之上,2000年12月22日美国国家安全局(NSA,National Security Agency)发布了Linux安全增强版本SELinux, 其全称为Security-Enhanced Linux ,之后被合并到主线Linux内核版本中。随着近几年安全需求的不断增强,SELinux开始在产品和系统中获得使用。

于是请欢迎咱们的主角SELinux登场!!!

1、SELinux整体架构

1.1 SELinux基本概念

SELinux由NSA发布,之后,Red Hat、Network Associates、Secure Computing Corporation、Tresys Technology以及Trusted Computer Solutions等公司及研究团队都为SELinux的发展做出了重要的贡献。

SELinux本质是一个Linux内核安全模块 ,可在Linux系统中配置其状态。SELinux的状态分为3种,即disabled、permissive和enforcing。

  • (1)disabled状态:指在Linux系统中不启用SELinux模块的功能。
  • (2)permissive状态:指在Linux系统中,SELinux模块处于Debug模式, 若操作违反策略系统将对违反内容进行记录 ,但不影响后续操作。
  • (3)enforcing状态:指在Linux系统中,SELinux模块有效, 若操作违反策略,SELinux模块将无法继续工作

SELinux涉及的重要概念如下。

(1)主体

主体是访问操作的发起者 ,是系统中信息流的启动者。主体通常指用户或代表用户意图的进程。

通常, 主体是访问的发起者,但有时也会成为访问或受控的对象

一个主体可以向另一个主体授权,一个进程可能会控制几个子进程,这时受控的主体或子进程就是一种客体。

(2)客体

客体相对主体而存在,通常客体 是指信息的载体或从其他主体或客体接收信息的实体 ,即访问对象。

(3)访问控制分类

管理方式的不同形成不同的访问控制方式。

通常,访问控制方式分为两类:自主访问控制(DAC, Discretionary Access Control)和强制访问控制(MAC, Mandatory Access Control)。

(4)域

域决定了系统中进程的访问,所有进程都在域中运行 。本质上 ,域是一个进程允许的操作列表,决定了一个进程可以对哪些类型进行操作 。SELinux中域的概念相当于标准Linux中uid的概念。

(5)类型

类型与域的概念基本相似,但是, 域是相对进程主体的概念,类型是相对目录、文件等客体的概念类型分配给一个客体,并决定哪个主体可以访问该客体。

(6)角色

角色决定了可以使用哪些域 。具体哪些角色可以使用哪些域,需要在策略配置文件中预先定义。如果在策略配置文件中定义了某个角色不可以使用某个域,在实际使用中将会被拒绝。

(7)身份

身份属于安全上下文的一部分,身份决定了本质上可以执行哪个域。

(8)安全上下文

安全上下文是对操作涉及的所有部分的属性描述,包括身份、角色、域、类型。

(9)策略

策略是规则的集合,是可以设置的规则。

策略决定一个角色的用户可以访问什么,哪个角色可以进入哪个域,哪个域可以访问哪个类型等。

1.2、SELinux内核架构

最早期的SELinux是Linux系统一个增强安全的补丁集,其后为解决每个系统对安全的细节控制不尽相同的问题,Linux安全框架(LSM, Linux Security Modules)被提出,使SELinux可作为可加载的安全模块运行。

LSM是一个底层的安全策略框架,Linux系统利用LSM管理所有的系统调用。SELinux通过LSM框架整合到Linux内核中。

当用户进程执行系统调用时,进程首先遍历Linux内核现有的逻辑寻找和分配资源,进行一些常规的错误检查,然后进行DAC自动访问控制。

自主访问控制(DAC, Discretionary Access Control)

进程仅在内核访问内部对象之前,由LSM的钩子询问LSM模块可否访问,LSM模块处理该策略问题并回答可以访问或拒绝访问。

LSM框架主要包括安全服务器、客体管理器和访问向量缓存。LSM模块架构如图所示。

image.png

安全服务器负责策略决定,安全服务器使用的策略通过策略管理接口载入。

客体管理器负责按照安全服务器的策略决定强制执行它管理的资源集。

对于内核, 客体管理器可以理解为一个内核子系统 ,负责创建并管理内核级的客体,包括文件系统、进程管理和System V进程间通信(IPC, Inter-Process Communication)。

访问向量缓存(AVC, Access Vector Cache)提升了访问确认的速度,并为LSM钩子和内核客体管理器提供了SELinux接口。

1.3、SELinux策略语言

SELinux架构中,对于内核资源,策略通过策略管理接口载入SELinux LSM模块安全服务器中,从而决定访问控制。

SELinux的优势是其策略规则不是静态的,用户必须按照安全目标的要求自行编写策略。使用和应用SELinux本质上就是编写和执行策略的过程。

策略在策略源文件中描述。策略源文件名称为policy.conf,其文件结构包括以下几点。

  • (1)类别许可, 指安全服务器的客体类别 ,对于内核而言, 类别直接关系内核源文件许可指针对每个客体类别的许可。 通常,SELinux策略编写者不会修改客体的类别和许可定义。
  • (2)类型强制声明,包括所有的类型声明和所有的TE(Type Enforcement,类型强制)规则,是SELinux策略中最重要的部分。
  • (3)约束,是TE规则许可范围之外的规则,为TE规则提供必要的限制。多级安全(MLS)是一种约束规则。
  • (4)资源标记说明,指对所有客体都必须添加的一个“安全上下文”标记,是SELinux实施访问控制的前提。SELinux根据资源标记说明处理文件系统标记以及标记运行时创建的临时客体规则。

SELinux策略大而复杂,由一个个小的策略模块构成。

策略模块的生成一般采用源模块法。源模块法支持单策略的开发,并通过一组shell脚本、m4宏和Makefile一起合并成为文本文件。

多个策略模块集合组成策略源文件,即policy.conf,策略源文件是文本文件,通过策略编译器checkpolicy编译为二进制文件policy.xx(xx为版本号),并通过策略装载函数security_load_policy载入内核且实施访问控制。

使用源模块构造和载入SELinux策略的全过程如图所示。

image.png

  • 首先,通过源模块法生成一个个策略模块,策略模块聚合形成一个大的策略源文件policy.conf;
  • 其次,策略源文件policy.conf通过策略编译器checkpolicy,生成可被内核读取的二进制文件policy.xx;
  • 最后,policy.xx通过策略装载函数security_load_policy载入内核空间并实施访问控制。

目前,在SELinux策略上常见的是单策略组合。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    809

    浏览量

    42799
  • Linux系统
    +关注

    关注

    4

    文章

    609

    浏览量

    29641
  • 状态机
    +关注

    关注

    2

    文章

    497

    浏览量

    28852
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    硬件加密引擎在保障数据安全方面有哪些优势呢?

    1Gbps 以上)完成实时加密,确保数据传输不延迟。 低功耗特性:专用硬件电路的运算逻辑更精简,相比软件在操作系统层的复杂调度,能耗降低 50% 以上。这对依赖电池供电的物联网终端(如智能门锁、穿戴设备
    发表于 11-17 06:47

    芯源半导体安全芯片技术原理

    物联网设备涵盖智能家居、工业控制、智能交通、医疗健康等多个领域,由于其数量庞大、分布广泛、接入方式多样等特点,面临的安全威胁复杂多样。​ 数据传输安全威胁:设备在与云端、其他设备进行数
    发表于 11-13 07:29

    华为HiSec Endpoint智能终端安全系统通过国际权威测试

    近日,德国权威第三方安全评测机构AV-TEST发布最新高级威胁防护(ATP)测试结果,华为HiSec Endpoint智能终端安全系统凭借全方位的防护能力,满分通过全部10项核心测试,
    的头像 发表于 11-06 11:09 710次阅读

    顶坚防爆PDA终端赋能石油化工:如何重构高危场景作业安全边界

    石油化工行业作为国民经济支柱产业,其生产过程涉及高温高压、易燃易爆、有毒有害等高危场景,作业安全始终是行业发展的核心命题。随着物联网、人工智能、边缘计算等技术的突破,智能终端正成为重构
    的头像 发表于 08-25 10:07 4100次阅读
    顶坚防爆PDA<b class='flag-5'>终端</b>赋能石油化工:如何重构高危场景作业<b class='flag-5'>安全</b>边界

    云翎智能低轨卫星物联网终端在核电安全监测与应急通信的融合应用

    云翎智能低轨卫星物联网终端通过空天地一体化技术架构,深度融合低轨卫星通信、AIoT及边缘计算,为核电安全监测与应急通信的融合应用提供了创新解决方案。以下从技术
    的头像 发表于 08-08 19:56 621次阅读
    云翎<b class='flag-5'>智能</b>低轨卫星物联网<b class='flag-5'>终端</b>在核电<b class='flag-5'>安全</b>监测与应急通信的融合应用

    芯盾时代助力企业终端安全防护迈入智能化时代

    终端安全是企业网络安全的基石,也是抵御电信网络诈骗的第一道防线。无论是构建零信任安全架构、保证核心数据安全,还是防范网络钓鱼、应对屏幕共享诈
    的头像 发表于 08-07 14:12 897次阅读

    华为荣获ITP.NET年度终端安全创新奖

    的ITP.NET安全领导力奖项活动上,华为HiSec Endpoint智能终端安全系统凭借出色的产品创新、安全能力和用户体验,荣获“年度
    的头像 发表于 05-09 17:06 810次阅读
    华为荣获ITP.NET年度<b class='flag-5'>终端</b><b class='flag-5'>安全</b>创新奖

    如何维护i.MX6ULL的安全内核

    使用的是 v.LF5.15.71_2.2.0,其中包括 Yocto Kirkstone。但是,内核 5.15.71 存在许多安全漏洞:根据 cvedetails.com 为 2077。修补所有这些几乎是不可行的,即使使用了
    发表于 04-01 08:28

    顶坚本安型防爆智能手持终端:高危行业安全革新的技术突破

    在石油、化工、煤矿、燃气等高危行业中,安全始终是生产作业的核心命题。传统防爆设备存在功能单一、操作繁琐、数据传输滞后等痛点,难以满足智能化转型需求。顶坚防爆推出的本安型防爆智能手持终端
    的头像 发表于 03-17 11:28 785次阅读
    顶坚本安型防爆<b class='flag-5'>智能</b>手持<b class='flag-5'>终端</b>:高危行业<b class='flag-5'>安全</b>革新的技术突破

    顶坚智能防爆手持终端:确保高危易燃易爆作业安全无忧

    顶坚智能防爆手持终端专为高危易燃易爆环境设计的专业设备,其卓越的防爆性能和可靠的安全保障,确保作业过程安全无忧,为危险环境下的工作者提供强有力的支持,其核心目的在于确保在这些极端条件下
    的头像 发表于 03-14 11:33 505次阅读
    顶坚<b class='flag-5'>智能</b>防爆手持<b class='flag-5'>终端</b>:确保高危易燃易爆作业<b class='flag-5'>安全</b>无忧

    直流充电安全测试负载方案解析

    响应异常工况,验证充电桩保护机制的时效性(如过流保护动作时间≤100ms)。 能量安全处理 传统电阻负载难以处理故障状态下的能量突变(如短路瞬间兆瓦级功率冲击)。 二、安全测试负载系统设计 硬件架构
    发表于 03-13 14:38

    铁路安全巡检进入智能时代:顶坚防爆巡检手持对讲终端的应用与成效

    铁路安全巡检已迈入智能时代,其中防爆巡检手持对讲终端的广泛应用成为这一变革的关键。这些终端设备以其强大的数据采集、远程通信及智能识别能力,显
    的头像 发表于 03-07 12:02 666次阅读
    铁路<b class='flag-5'>安全</b>巡检进入<b class='flag-5'>智能</b>时代:顶坚防爆巡检手持对讲<b class='flag-5'>终端</b>的应用与成效

    顶坚手持巡检终端助力铁路安全巡检智能

    在铁路运输系统中,安全始终是重中之重。随着技术的不断进步,传统的人工巡检和通讯方式已难以满足高效、精准的现代化铁路运维需求。顶坚手持巡检对讲终端凭借其多功能集成、高可靠性及智能化设计,正成为铁路
    的头像 发表于 03-06 11:36 767次阅读
    顶坚手持巡检<b class='flag-5'>终端</b>助力铁路<b class='flag-5'>安全</b>巡检<b class='flag-5'>智能</b>化

    车载终端安全检测有哪些内容和方法

    随着车联网技术的飞速发展,车载终端作为连接车辆与智能交通系统的关键设备,其安全性日益受到关注。为了确保车载终端在各种环境下都能稳定运行,且不会对车辆和乘客造成
    的头像 发表于 01-30 15:12 1677次阅读

    顶坚单北斗智能防爆手持终端:为工业安全赋能

    顶坚单北斗智能防爆手持终端是一种集成了现代科技与安全防护理念的高端工业设备,专为工业安全领域设计,旨在通过科技的力量提升生产作业的安全性与效
    的头像 发表于 12-25 16:42 669次阅读
    顶坚单北斗<b class='flag-5'>智能</b>防爆手持<b class='flag-5'>终端</b>:为工业<b class='flag-5'>安全</b>赋能