《基于名字空间的安全程序设计》[95M]百度网盘|pdf下载|亲测有效
《基于名字空间的安全程序设计》[95M]百度网盘|pdf下载|亲测有效

基于名字空间的安全程序设计 pdf下载

出版社 国防工业出版社
出版年 2018-12
页数 390页
装帧 精装
评分 8.6(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供基于名字空间的安全程序设计电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

内容简介

  名字空间是Linux提供的一种封装机制,用于为软件营造封闭的运行环境。名字空间的主要用途是构造容器,以便于软件的部署、移植和维护。名字空间的封装特性还可用于限制软件可见、可用的资源,从而将软件关进笼子,降低软件对环境的影响,提升系统的整体安全性。
  《基于名字空间的安全程序设计》概要分析Linux的传统安全机制,深入分析七类名字空间的组成结构和工作机理,探讨基于名字空间的安全程序设计和安全环境构建方法,并给出若干程序片段和一个完整的程序示例。
  《基于名字空间的安全程序设计》是对名字空间机制的全面论述,可作为高年级本科生和研究生的教材或教学参考书,也可供容器开发与维护人员、安全程序设计人员参考。
  《基于名字空间的安全程序设计》主要内容:
  ①概要分析Linux的传统安全机制:
  ②深入分析七类名字空间的工作机理;
  ③探讨基于名字空间的安全程序设计方法;
  ④给出若干程序片段和一个完整的程序示例。

内页插图

目录

第1章 Linux组成结构
1.1 Linux内核结构
1.1.1 中断处理
1.1.2 进程管理
1.1.3 内存管理
1.1.4 文件系统
1.1.5 网络协议
1.2 Linux应用程序接口
1.2.1 进程管理函数
1.2.2 进程间通信函数
1.2.3 网络操作函数
1.2.4 设备管理函数
1.2.5 未封装的系统调用函数
1.2.6 执行Shell命令的函数
1.3 Linux应用程序

第2章 Linux常规安全机制
2.1 身份认证
2.1.1 认证过程
2.1.2 认证框架
2.2 访问控制
2.2.1 基于UID的访问控制
2.2.2 基于权能的访问控制
2.2.3 基于LSM的访问控制
2.3 防火墙
2.4 数据变换
2.4.1 算法管理框架
2.4.2 算法操作接口
2.4.3 加密通信
2.4.4 加密存储
2.5 随机化
2.6 虚拟化

第3章 名字空间
3.1 名字空间管理结构
3.2 名字空间管理文件
3.3 名字空间管理命令
3.4 名字空间管理函数
3.4.1 clone()
3.4.2 unshare()
3.4.3 setns()

第4章 USER名字空间
4.1 UID和GID
4.2 进程权能
4.3 USER名字空间结构
4.4 进程证书
4.5 USER名字空间接口文件

第5章 UTS名字空间
5.1 基本系统信息
5.2 UTS名字空间结构
5.3 UTS名字空间接口文件

第6章 MNT名字空间
6.1 目录树
6.2 安装树
6.3 共享子树
6.4 MNT名字空间结构
6.5 路径名
6.6 MNT名字空间接口文件
6.7 0verlay文件系统
……

第7章 PID名字空间
第8章 IPC名字空间
第9章 NET名字空间
第10章 CGROUP名字空间
第11章 基于名字空间的程序示例

参考文献

前言/序言

  作为一种通用的操作系统,Linux内核提供了很多基础性的支持机制,以这些机制为基础,可以开发出各种类型的服务程序,满足用户各种类型的需求。为了应对日益严峻的安全形势,Linux也提供了一些安全支持机制,如身份认证框架、访问控制框架、报文过滤框架、数据变换算法管理框架、地址空间随机化等,利用这些安全机制,可开发出不同种类的安全程序,为用户提供不同类型的安全服务,如身份认证、强制访问、防火墙、加密通信、加密存储等,以提升系统的安全性。除专用的安全机制之外,Linux中的另一些支持机制,如虚拟化、名字空间、容器等,虽不是专门为安全设计的,但也可用于服务系统或服务程序的安全开发,也能提升系统的安全,其中最具代表性的是名字空间机制。
  名字空间(Namespace)是名字的集合。在操作系统中,名字用于标识对象。在早期的版本中,Linux所管理的对象大都用全局的名字或ID号标识,如用于标识用户的UID、GID,用于标识进程的PID,用于标识IPC对象的KEY和ID号,用于标识文件的路径名,用于标识网络协议栈的网络设备名、IP地址、路由表等。全局的对象名可以被系统中的所有进程看到,且各进程看到的名字都是一样的,因而由全局名字所标识的对象也可以被所有的进程访问到。这种全局的、单一的名字空间机制简化了设计,但也带来了安全风险,恶意进程能比较方便地探测、访问系统中的对象,并可通过对对象状态的篡改影响其他进程的运行。为了解决单一名字空间的问题,从Linux2.4.19版开始,陆续引入了多种名字空间机制,试图限制各对象名字的可见范围,将全局的名字转化成局部的名字,进而将全局的对象转化成局部的对象,将全局的资源转化成局部的资源。
  目前的Linux已提供了7种名字空间机制。USER名字空间用于封装进程可见的用户标识,如UID、GID等,实现用户的局部化。UTS名字空间用于封装进程可见的系统名,如主机名、机器名、域名、操作系统名、版本号等,实现系统平台的局部化。MNT名字空间用于封装进程可见的文件系统实体名,如文件路径名,实现文件系统结构的局部化。PID名字空间用于封装进程可见的进程名,如PID,实现进程的局部化。IPC名字空间用于封装进程可见的IPC对象名(Key)与ID号,实现IPC对象的局部化。NET名字空间用于封装进程可见的网络实体名,如网络设备名、协议地址、路由表、防火墙规则等,实现网络协议栈的局部化。CGROUP名字空间用于封装进程可见的控制群名,实现控制群的局部化。加上已经局部化的处理器和虚拟内存,Linux已实现了绝大部分对象或资源的局部化。