AG351.SELINUX

SElinux 是一个强制访问控制系统,它为每个进程与文件都打上一个安全上下文标签,而 selinux 通过这个标

签对系统访问控制进行管理。

2.针对车载产品对于启动安全、平台运行安全、通信安全三个主要领域有着

特 殊 很 高 的 要 求 , 为 此 Quectel 结 合 了 Qualcomm 给 出 的 secureboot 、QSEE/TrustZone安全机制以及Linux系统的DM-verity、SELinux和openSSL等组合方式,实现从启动到客户进程安全稳定运行,防止出现盗窃取、篡改客户信息和文件等重要信息。

实时更新各层安全漏洞

通信安全基于iptabel(针对客户特定的应用场景实现各种复杂安全路由策略),Openssl(定时完善安全漏洞、协助客户开发),实现安全可靠的网络通信。

平台安全基于QSEE/TZ,SELinux等机制,实现linux系统资源文件保护,程序安装和执行,网路安全。QUECTEL 提供动态灵活的分区和文件系统机制,从而增加文件的存储安全以及FLASH 寿命QSEE/TZ TrustZone 提供一个可信程序执行环境(TEE)(包括内存安全、外设访问安全等),保证你的代码运行时不能被别人窥探到。

固件保护:跟文件系统只读、备份还原机制、可定制化分区;

启动安全基于QC-Secboot(内核安全启动/镜像签名),DM-Verity(文件系统安全校验,实现启动文件验证标签、文件系统安全),硬件调试接口关闭,本地通信接口关闭等(关闭jtag、fastboot、adb、串口、usb口)。(启动流程校验、优化、规范化)

A7平台安全机制

A7安全启动

1.安全引导系统在启动过程的每个阶段添加加密检查。设备执行的软件镜像必须经过安全校验。这种额外的检测能够防止非法串改的软件在设备上运行。

安全引导,通过hardware fuses识别被标记的启动镜像;

签名工具,

2.每个阶段启动一个镜像,被之前一个镜像检测;

ROMCODE是最先信任启动的;

每个阶段授权下一个阶段:ROMCODE->bootloader->ARM TrustZone->每个镜像通过其功能,建立设备安全性;

3.使能安全启动ROMCODE 和bootloader

(1) 将默认的key改变成用户使用的key,在目录SOURCE_DIR/sbu/keys/使用命令:$ openssl genrsa –aes256 -out key.pem 2048

(2) When prompted about the pass-phase for RSA key, put pass-phase inpassphrase.txtinthe same directory.

(3)Get user public key HASH and HASH ZERO bits count by the command tool:

$ python3

SOURCE_DIR/sbu/src/secure_boot_utils/sbu_main/primary_key_hash_creat

or.py SOURCE_DIR/sbu/keys/rsakey.pem ../keys/passphase.txt L

SHA256_TRUNC

(4)Write public key HASH and zero bit count into OTP.

使能安全启动需要以下相关配置:

Secure boot configurations

0xB[7:0]Number of bit 0 in User Public Key HASH

0x10 – 0x13[31:0]User Public Key HASH

ROMCODEBootloader in signed formatCsrvisor、kernel

load and verifiesBootloader loads andverifies TrustEnvironment withSHA256 digest.

SHA and RSASHA and RSA | RSA

4.引导加载签名格式

RSA 密匙证书和镜像签名;

证书签名格式为:SHA256;

M3安全启动

1.对启动镜像进行安全校验。

安全性

一、安全特征

1.平台安全

启动校验:A7、M3、Kalimba Audio(音频处理器)

生命周期状态:通过控制对设备的产生和管理决定设备的安全能力

客户机密安全配置(密匙和证书)

安全调试

RMA mode :快速诊断由于缺陷而返回的设备

2.内容保护

cortexA7 TrustZone、SRAM、DRAM等

3.安全

对硬件单元的访问控制的配置寄存器的防火墙保护

分区的NOC映射

4.第三方应用的执行

A7提供资源(TEE),允许执行第三方应用程序,同时保留

平台的完整性、安全性、内容保护性、安全性等特点。

5.软件许可与版本控制

二、安全资源

1.Trusted Execution Environment(TEES)

TrustZone extensions、DRAM 、SPRAM、regitsters、crypto engines、OTP 、ROMcode.etc

2.微型控制子系统(MCS)

cortex M3,Network on chip,SHA-256 engine,ROM code.

3.常供电区域

TEES MCS

4.IPC

内部处理器通信机制带安全机制

5.安全DMA

大多数DMA通道可配置成安全模式和非安全模式

三、生命周期状态(LCS)

芯片制造、设备制造、安全、安全禁用。

四、认证启动

cortex M3、cortex A7

五、安全子系统

平台安全由安全子系统硬件支持

六、MCS 安全

MCS安全包括SH-256和AES-128加密硬件控制器。

七、配置TEE

1.内存防火墙

SPRAM、DRAM

防火墙用于设置针对特定发起方的内存缓冲区,并可以提供不同的访问。

对于不同的发起人和不同权限的读/写访问的缓冲区的权限。

2.寄存器防火墙

寄存器防火墙可以被配置为保护块(地址范围)免受特定CPU发起人,其他,非

在任何情况下,CPU发起人都无法访问寄存器。

3.KAS、ARM和cortex M3 安全通信传输

4.NoC安全边带信号

八、配置IPC安全

安全配置应该使用NFWW边带管理器根据安全要求划分这些。

九、DMA控制器

每个DMA控制器(除DMAC1由NOC目标防火墙(NTFW)保护)

根据相关联的安全状态,每个DMAC信道可以被配置为安全或非安全的。

十、安全性

安全性是通过在ARM CORTEX-A7(CA7)和ARM CORTEX-M3(CM3)之间划分单元来实现的。

十一、调试

ARM使用术语“安全调试”,这意味着CaleSee硬件可以生成安全事务。

调试与安全相关的项。安全调试还涉及安全设备的调试。

十二、供应

供应是引入OEM特定机密(例如DRM密钥)和完整性关键数据(例如证书)的行为再进入系统

十三、区域返回操作/RMA

车载安全机制

一、硬件安全

1.主板安全(主板上调试接口、测试点安全评估)

2.存储安全(敏感器件标识、存储器件安全评估)

3.总线安全(can总线安全协议)

4.无线模块安全

二、软件安全

1.代码逻辑安全

2.日志输出安全

3.运行数据安全

4.通信安全(4G、wifi、蓝牙等)

5.业务逻辑安全

6.启动安全

7.权限控制

8.更新安全

9.操作系统安全

10.应用安全(应用系统和应用程序的安全)

11.可修复安全

12.固件安全(存储安全、启动安全、升级安全)

13.系统安全加固和漏洞利用缓解

(1)开启随机数生成开关(CONFIG_ARCH_RANDOM)、选择对应随机数生成硬件平台(CONFIG_HW_RANDOM)

(2)开启审计支持(CONFIG_AUDIT)、支持对系统调用审计(CONFIG_AUDITSYSCALL)

(3)开启SYNcookie以应对拒绝服务攻击(CONFIG_SYN_COOKIES)

(4)开启栈溢出保护(CONFIG_CC_STACKPROTECTOR)

(5)开启内核只读数据不可写(CONFIG_DEBUG_RODATA)

(6)约束root权限对/dev/mem访问权限(CONFIG_STRICT_DEVMEM)

(7)关闭/proc/kcore内存映射(CONFIG_PROC_KCORE)

(8)开机系统内核日志访问控制(CONFIG_SECUITY_DMESG_RESTRICT)

(9)开启内存也可执行权限检查(CONFIG_PAX_NOEXEC)

(10)开启内存权限检查(CONFIG_PAX_MPROTECT)

(11)开启地址空间布局随机化(CONFIG_PAX_ASLR)

(12)开启内核栈布局随机化(CONFIG_PAX_RANDKSTACK)

开启用户控件栈布局随机化(CONFIG_PAX_RANDUSTACK)

(13)开机映射空间布局随机化(CONFIG_PAX_RANDMMAP)

(14)开启/proc目录安全加固(CONFIG_GRKERNSEC_PROC)

(15)开启/proc目录用户隔离(CONFIG_GRKERNSEC_PROC_USER)

(16)开启/proc目录用户组隔离(CONFIG_GRKERNSEC_PROC_GROUP)

(17)阻止非root用户访问设备信息(CONFIG_GRKERNSEC_PROC_ADD)

(18)阻止查看其它用户LINK信息(CONFIG_GRKERNSEC_LINK)

(19)阻止用户向其他用户管道进行写入(CONFIG_GRKERNSEC_FIFO)

(20)CHRROOT安全策略加固(CONFIG_GRKERNSEC_CHROOT)

(21)开启可执行文件与脚本白名单配置(CONFIG_GRKERNSEC_TPE)

(22)自主访问控制(访问权限控制USER-GROUP-OTHER、Linux Capability机制、安卓权限机制)

(23)强制访问控制(SELINUX、APPArmor、基于linux内核系统模块)

三、移动app

应用安全(应用系统和应用程序的安全)

身份认证、会话管理、敏感数据存储传输、组件安全、常见安全漏洞、不安全运行环境。

四、云平台TSP

linux系统的安全机制有哪些内容,系统安全机制相关推荐

  1. 【README】Linux系统编程必读:本专栏内容提要以及系统调用接口总结

    文章目录 前言 第一部分:博客知识点 (1)基础篇 Linux系统编程1:Linux中使用率最高的一些命令 Linux系统编程2:详解Linux中的权限问题 Linux系统编程3:基础篇之详解Linu ...

  2. 嵌入式linux系统移植的四大步骤_嵌入式系统移植步骤

    在嵌入式系统移植中重要的一部分是操作系统的移植,与其它操作系统相比,Linux大的特点:它是一款遵循GPL的操作系统,我们可以自由地使用.修改.和扩展它.正是由于这一特色,嵌入式系统移植过程中Linu ...

  3. Linux学习-25-useradd命令:添加新的系统用户

    8.9 Linux useradd命令:添加新的系统用户 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,需设置密码,才可 ...

  4. Linux开发起步学习笔记(11)----shell基本机制

    shell的功能: 1.命令解释器 2.文件名替换.命令替换.变量替换 3.历史替换.别名替换 4.流程控制的内部命令(内部命令和外部命令) Shell的特点: 1.用途:批处理,执行效率比算法语言低 ...

  5. linux kernel 配置(部分) 部分内容翻译自内核帮助文档

    linux kernel 2.6.13 在配置内核前,你应当对详细的了解运行内核的系统,根据自己的需要配置内核. 下面,我将解释内核的各个选项,并根据本人的机器作相应的配置. 在此之前,我把机器硬件参 ...

  6. linux boot分区 恢复出厂设置,linux系统启动流程及 MBR损坏,grub内容,文件误删,boot目录,分区误删修复...

    转自http://tanxin.blog.51cto.com/6114226/1167151 操作环境:linux Redhat 5.8 一.首先简单看一下系统启动的流程图,然后再作详细的解释 二. ...

  7. linux底层驱动内核,Linux底层驱动开发需要学习哪些内容

    Linux底层驱动开发需要学习哪些内容想必这是很多学习Linux的朋友十分头疼的问题,今天就让我来告诉大家我们到底该学习哪些内容呢? 1. 要会一些硬件知识,比如Arm接口编程 2. 学会写简单的ma ...

  8. linux 内核 时间片,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 图 1 RT-Linux结构 RT -Linux的关键技术是通过软件来模拟硬件的中断控制器.当Linux系统要封锁CPU的中断时时,RT-Linux中的实 ...

  9. Linux 下各个目录的作用及内容

    Linux 下各个目录的作用及内容 在 Linux 下,我们看到的是文件夹(目录): 在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱.Linux 面世不久后,对 ...

最新文章

  1. varnishtop中文man page
  2. 《码出高效:Java 开发手册》正式发布,83行代码计划启动
  3. pat天梯赛L1-053. 电子汪
  4. Robot Cleaner I
  5. ORACLE TEXT LEXER PREFERENCE(一)
  6. 韶关无线电厂台式计算机,中国芯片30年的历史 它背后有哪些不为人知的故事?...
  7. 多功能复合机基于用户认证功能的实现过程详解
  8. Net Core中数据库事务隔离详解——以Dapper和Mysql为例
  9. win10 如何锁定计算机,Win10 1909 专业版怎么锁定计算机屏幕
  10. mysql如何建外建_mysql如何建立外键
  11. 如何使用CDSN写博客
  12. 【转】SVN ——开放源代码的版本控制系统
  13. Java retainAll抛错UnsupportedOperationException记录
  14. 红米手机停在机器人这里_红米停在mi处理方法
  15. 三维绕任意轴旋转矩阵
  16. PC端和移动端的区别到底在哪,为什么总有人搞错两者的区别
  17. 像素画,治愈系超萌!看了这个,我都心痒了
  18. 同济大学计算机专业录取分数线,同济大学2017年各省录取分数线
  19. node-sass改dart-sass and 一些七七八八,实现sass主题色修改
  20. 利用linux BT5来破解无线 破解无线

热门文章

  1. 《软件项目管理(第二版)》第 7 章——项目风险管理 重点部分总结
  2. C语言(CED)递归实现汉诺塔问题
  3. Windows下设置自动关机的命令指示符
  4. python替代hadoop_Python连接Hadoop数据中遇到的各种坑(汇总)
  5. Systemd入门教程:命令篇
  6. Nplayer本地文件拷到服务器,手把手教你简易NAS构建,手机/平板/智能电视随意调取,家庭存储云共享,有了自己的网络云盘后再也不用担心容量不够了!...
  7. android strictmode有什么作用,Android 性能优化 之 StrictMode
  8. Android中列表动态删除item,如何删除Android ExpandableListView中某个group item的child item?...
  9. oracle tns 代理配置_Toad for oracle安装配置与使用
  10. JDK源码解析之 java.lang.Error