Linux内核安全模块学习-导言

linux kernel 同时被 2 个专栏收录
6 篇文章 0 订阅
8 篇文章 1 订阅

什么是安全

国际上对计算机安全勉强概括了三个特性:私密性(Confidentiality)、完整性(Integrity)、可用性(Availability),简写CIA。私密性就是数据不被未授权的人看到,完整性指存储或传输的信息不被篡改,可用性是指,自己的设备再需要使用时能够使用。
计算机系统应对安全挑战的办法大致有四种:隔离控制混淆监视。隔离是对外的(计算机系统安全的设计者在系统的各个层级都发明了不同的技术来实现隔离,隔离的结果常常被称为沙箱),阻断的内部和外部的交互。控制是对内的,在计算机世界是通过系统代码内在的逻辑和安全策略来维护信息流动和信息改变(如用户A可不可以读取文件a等)。混淆要达到的效果是,明明你可以接触到数据却无法还原信息(加密就是一种混淆)。监视的作用是间接的,计算机系统中的日志和审计就是在做监视工作。

计算机系统安全的历史

在1970年前后,先后出现了两个安全模型:BLP模型BIBA模型。前者参考美国军方的保密原则,着力解决私密性;后者着力解决完整性。

  • BLP模型可以简化为两句话:禁止上读,禁止下写;数据被分级,下级部门不能读上级部门的数据,上级部门也不能把数据传递给下级部门。
  • BIBA模型可以简化为两句话:禁止上写,禁止下读;数据被分级,下级不能写上级的数据,上级不能读下级的数据。

计算机操作系统步入分时多用户时代,随之出现基于角色的访问控制(Role-based Access Control, RBAC),让用户属于不同的角色,再基于角色赋予访问权限
当PC时代来临,计算机设备专属某个人,系统中所谓用户也背离了原有的含义(打开Linux系统上的/etc/passwd文件,看看里面还要几个是真正的用户),这时使用RBAC就有些力不从心了。接下来诞生了类型增强(Type Enforcement, TE)访问控制模型。模型中控制的对象不再是人,或角色,而是进程。进程属于不同的类型,不同类型有不同的访问权限

Linux内核安全概貌

Linux内核安全的开发从20世纪90年代中后期开始,经过20年的开发,安全相关模块比较全面,有用于强制访问控制的LSM(Linux Security Module),有用于完整性保护的IMA(Integrity Measurement Architecture)和EVM(Extended Verification Module),有用于加密的密钥管理模块和加密算法库,还有日志和审计模块,以及一些零碎的安全增强特性。

在这里插入图片描述
《Linux内核安全模块深入剖析》是2016年12月1日机械工业出版社出版的图书,作者是李志。本书对Linux内核安全子系统做了系统而深入的分析,内容包括Linux内核的自主访问控制、强制访问控制、完整性保护、审计日志、密钥管理与密钥使用等。本书的内容填补了国内外关于Linux内核安全的一个空白。

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

第一章 走进linux 1.1 GNULinux的成长 1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.4 分析Linux内核的意义 1.5 Linux内核结构 1.6 Linux内核源代码 1.7 Linux内核源代码分析工具 第二章 Linux运行的硬件基础 2.1 i386的寄存器 2.2 内存地址 2.3 段机制和描述符 2.4 分页机制 2.5 Linux中的分页机制 2.6 Linux中的汇编语言 第三章中断机制 3.1 中断基本知识 3.2中断描述符表的初始化 3.3异常处理 3.4 中断处理 3.5中断的后半部分处理机制 第四章 进程描述 4.1 进程和程序(Process and Program) 4.2 Linux中的进程概述 4.3 task_struct结构描述 4.4 task_struct结构在内存中的存放 4.5 进程组织的方式 4.6 内核线程 4.7 进程的权能 4.8 内核同步 第五章进程调度 5.1 Linux时间系统 5.2 时钟中断 5.3 Linux的调度程序-Schedule( ) 5.4 进程切换 第六章 Linux内存管理 6.1 Linux的内存管理概述 6.2 Linux内存管理的初始化 6.3 内存的分配和回收 6.4 地址映射机制 6.5 请页机制 6.6 交换机制 6.7 缓存和刷新机制 6.8 进程的创建和执行 第七章 进程间通信 7.1 管道 7.2 信号(signal) 7.3 System V 的IPC机制 第八章 虚拟文件系统 8.1 概述 8.2 VFS中的数据结构 8.3 高速缓存 8.4 文件系统的注册、安装与拆卸 8.5 限额机制 8.6 具体文件系统举例 8.7 文件系统的系统调用 8 .8 Linux2.4文件系统的移植问题 第九章 Ext2文件系统 9.1 基本概念 9.2 Ext2的磁盘布局和数据结构 9.3 文件的访问权限和安全 9.4 链接文件 9.5 分配策略 第十章 模块机制 10.1 概述 10.2 实现机制 10.3 模块的装入和卸载 10.4 内核版本 10.5 编写内核模块 第十一章 设备驱动程序 11.1 概述 11.2 设备驱动基础 11.3 块设备驱动程序 11.4 字符设备驱动程序 第十二章 网络 12.1 概述 12.2 网络协议 12.3 套接字(socket) 12.4 套接字缓冲区(sk_buff) 12.5 网络设备接口 第十三章 启动系统 13.1 初始化流程 13.2 初始化的任务 13.3 Linux 的Boot Loarder 13.4 进入操作系统 13.5 main.c中的初始化 13.6 建立init进程 附录: 1 Linux 2.4内核API 2.1 驱动程序的基本函数 2.2 双向循环链表的操作 2.3 基本C库函数 2.4 Linux内存管理中Slab缓冲区 2.5 Linux中的VFS 2.6 Linux的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11 USB 设备
©️2021 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值