安全系统开发方法

第一节 安全开发方法的原则

a)机制经济性(Economy of mechanism) 设计尽可能简单,尽可能小

b)基于“许可” 的安全(Fail-safedefaults) 什么条件下允许做什么

c)完全的访问仲裁 (Complete mediation)每个客体访问都要检查是否有权限

d)开放型系统设计(Open design) 算法不保密, 密钥保密

e)权限分析(Separation of privilege) 东西由两人两人以上来控制。两人控制保险柜

f)最小特权(Least privilege)

g)公共机制最小化(Least common mechanism)公共机制越多,被利用机会越多

h)用户友好(Psychological acceptability)

第二节 安全内核的虚拟机法、仿真法、新建法

改进/增强法:在现有操作系统的基础上,对其内核和应用程序进行面向安全策略的分析,然后加入安全机制。经改造、开发后的安全系统基本上保持了原ISOS的用户接口。

1.  虚拟机法

在现有操作系统与硬件之间增加一个新的分层,作为安全内核,操作系统几乎不变地作为虚拟机。

优点:

- 安全内核的接口几乎与原有硬件接口等价,操作系统本身并未意识到已被安全内核控制。

- 可以不变地支持现有的应用程序,且能很好地兼容ISOS的将来版本。

缺点:

- 硬件特性对虚拟机的实现非常关键,  要求原系统的硬件和结构支持虚拟机

2.  仿真法

对现有操作系统的内核做面向安全策略的修改,然后在安全内核与原ISOS用户接口界面中间再编写一层仿真程序。

优点:

     -建立安全内核不必受现有应用程序的限制

     -自由定义ISOS仿真程序与安全内核间接口

缺点:

     -要求同时设计仿真程序和安全内核

     -要受顶层ISOS接口的限制

     -有些ISOS的接口功能不安全,无法仿真

     -有些接口功能安全,但仿真实现特别困难

3.  新建法

包括面向安全策略的安全内核在内,重新设计整个操作系统

优点:

可以任意建立所需的内核接口

可以定义操作系统的接口与内核实施的安全策略保持兼容

可以保证内核设计的最小化和操作系统的运行性能

缺点:必须从头开始,难度大,工作量也大.

第三节 基于标准某安全等级要求的安全操作系统的一般开发过程、设计和实现方法

设计与实现:

对一个现有操作系统的非安全版本进行安全性增强之前,首先得进行安全需求分析。也就是根据已有的操作系统版本及其所面临的风险、明确哪些安全功能是原系统已具有的,哪些安全功能是要开发的。只有明确了安全需求,才能给出相应的安全策略。

建立安全模型有利于正确地评价模型与实际系统间的对应关系,帮助我们尽可能精确地描述系统安全相关功能。

此外,需要将模型与系统进行对应性分析,并考虑如何将模型用于系统开发之中,并说明所建安全模型与安全策略是一致的。

建立了安全模型,结合系统的特点在系统中设计和实现相应的安全机制。同时在设计了部分安全功能之后,便检查它提供的安全性尺度。

设计目标: 使得开发后的安全操作系统具有最佳安全/开发代价比。

安全系统开发方法_第1张图片


你可能感兴趣的:(操作系统与虚拟化,软件工程师修炼日记)