信息系统安全 第六章 操作系统安全

信息系统安全 第六章 操作系统安全

操作系统的安全问题

操作系统面临的安全问题

  • 网络攻击
    • 恶意代码:木马、病毒、逻辑炸弹、蠕虫、天窗、后门等
    • 系统渗透:未授权访问系统资源
    • 网络嗅探:攻击者监听网络流量
    • 中间人、拒绝服务、社会工程
  • 隐蔽信道
    • 系统中不受安全策略控制的,违反安全策略的信息泄露途径,分为:存储隐蔽信道和时间隐蔽信道
  • 用户的误操作

存储保护

存储保护指的是内存保护。任何程序和数据必须占用内存空间才能得以执行和处理,存储保护主要就是保护用户在存储器中的程序和数据。

  • 单机单任务系统:防止用户程序对操作系统的影响
  • 多道程序并发的多任务系统:对各用户进程的存储区域实行互相隔离

地址转换

由高级语言编写呃源程序,是不能被计算机直接云的,需要经过编译、链接、装入三个过程,才能装入主存运行。(具体过程见<编译技术>)

编译:生成目标代码的过程。

链接:把多个目标模块链接成一个完整的可重定位程序。可重定位程序存放于磁盘中,其在主存中的位置不可知,所以其地址空间都是相对于某个基准(0)的顺序地址,称为逻辑地址或相对地址。

装入:根据指定的主存区首地址,将进程装入内存。逻辑地址将转换为物理主存储器的存储单员顺序地址,称为物理地址。将逻辑地址转换为物理地址的过程称为重定位。一般有如下两种方式:

  • 静态地址重定位
    • 地址转换工作在程序执行前一次性完成,易于实现,不允许程序在执行过程中移动位置,只在早期单用户单任务系统中使用过。
  • 动态地址重定位
    • 程序主存起始地址被置入硬件专用寄存器——重定位寄存器,程序执行时,逻辑地址发送到主存储器之前加上重定位寄存器的值,实现地址转换。即地址转换在程序执行时才完成。便于程序共享和主存利用率高。

存储保护方式

存储保护主要涉及防止地址越界和控制信息正确存取,确保各道程序只能访问自己的主存区而不能相互干扰。

分区式存储管理机制及内存保护

  • 固定分区式存储管理
    • 主存空间预先被划分为数目、大小不等的固定不变的分区
    • 每个分区只装一个作业,不同分区作业可并发执行
    • 分区大小固定,较大作业可能无法装入分区
    • 主存利用率不高,分区大小一般大于作业大小
  • 可变分区式存储管理
    • 按照作业的大小划分分区,分区划分的时间、大小、位置都是动态的
    • 进程的装入和撤销会产生碎片(较小的空闲区),浪费主存资源

分页存储管理下,每个进程只占用一个分区,不存在进程存储空间交错。

分页式存储管理机制及内存保护

解决了”碎片“问题,允许程序放到若干不相邻的空闲块中。

页面:进程逻辑地址空间分成大小相等的区,称为页或页面。

页框:与页面大小相同,划分的是主存物理空间,称为页框或物理块。

逻辑地址:由页号和页内偏移组成。

页面和地址转换:物理地址 = 页框号 X 块长 + 页内偏移。

分页存储管理的地址转换
分页存储管理的地址转换

快表:将页表存储在寄存器或内存中。

存储保护:地址变换时,程序执行产生的页号应该小于页表长度,否则越界访问;在页表中增加存取控制和存储保护的信息,通常是标志位。

分段式存储管理机制及内存保护

为了满足程序员编程和使用上的要求,引入了分段式存储管理。程序通常也采用分段式结构:主程序段、子程序段、数据段、工作区段等。

分页存储管理,地址结构用户不可见;分段中,用户是可以指定的。分段存储管理也基于可变分区存储管理的原理,分段以段为单位来划分和连续存放。

分段存储管理的地址转换
分段存储管理的地址转换

段页式存储管理机制

结合分段和分页,建立二级映射表,一级映射——段表,二级映射——页表。

段页存储管理的地址转化
段页存储管理的地址转化

虚拟存储管理

思路:只将进程当前使用部分装入主存,其余部分放入磁盘,使用时再装进。

定义:在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,逻辑上提供一个比物理主村容量大得多的、可寻址的”主存储器“。

目前,虚拟存储管理主要采用请求分页、请求分段和请求段页虚拟存储管理几种技术实现。

客体重用机制

定义:包含一个或多个客体的存储介质(例如页面,磁盘扇区,磁带)的主体的重新分配。通过标准系统机制,为新的主体重新分配时不应含有任何可用的残留数据。

  • 硬盘、软盘、可擦写光盘的物理盘块空间
    • 由于文件的删除和创建、可能会在重新分配物理盘块空间时,暴露这些盘块文件上曾经存放的信息
    • 用某些物理机制来保证
  • 内存页面
    • 内存页面的分配和释放,可能会在重新分配内存页面时,暴露曾经的内容
    • 释放内存时对内存空间进行清零
  • 高速缓存
    • 由高速缓存的释放和再分配,也可能泄露之前的信息
    • 释放时进行相关的清理

标识与鉴别机制

标识:对用户的身份进行有效标记,这是唯一且不能被伪造的。

鉴别:将用户标识符与用户联系的过程。

可信路径机制

一种用于保障用户和真实的内核通信的机制。用户必须确信其所交互的内核是真实的安全内核,而不是木马。

  • 硬连接
    • 有线连接、昂贵
  • 安全注意键(SAK)
    • 给核心发送不可伪造、覆盖、拦截的信号(Secure Attention Key, SAK)
    • 实现困难

审计

审计的概念

对系统安全相关行为进行记录、检查和审核的一种功能。

审计员可从审计追踪中获得详细、可靠的信息,为系统事故原因的查询、定位,事故发生前的预测、报警以及事故发生后的实时处理提供证据。

审计过程一般独立,与系统其他功能隔离,严格授权访问。

审计事件

审计用户操作的基本单位。将所有权要求审计或可以审计的用户动作都归纳成一个个可区分、可识别、可标志的审计单位。一般可分为主体审计事件和客体审计事件。

  • 主体审计事件
    • 进程代表特定的用户请求系统服务、利用系统资源完成特定的任务,是系统中的活动主体。审计系统必须记录系统中所有执行安全相关活动的主体。
  • 客体审计事件
    • 操作系统中的客体是指文件、消息、信号量、共享区等,客体审计事件关注的是对安全攸关的系统客体(或文件) 进行的存取活动。

若对所有审计事件不加选择的记录,会消耗大量存储空间,影响系统性能。

审计记录和审计日志

审计日志:存放审计结果的二进制结构文件。

审计记录:当审计事件发生时,由审计系统用审计日志记录相关信息。

一般操作系统审计的实现

用户程序与操作系统的惟一接口是系统调用,也就是说当用户请求系统服务时,必须经过系统调用。因此,在系统调用的总入口处(审计点)增加审计控制,就可以成功地审计系统调用,也就成功地审计了系统中所有使用内核服务的事件。

当发生可审计事件时,要在审计点调用审计函数并向审计进程发消息,由审计进程完成审计信息的缓冲、存贮、归档工作 。如下图所示:

审计系统架构
审计系统架构

最小特权管理

思想:不赋予用户超过其执行任务所需特权以外的特权。

根据三权分立的思想,在系统中定义安全管理员、审计管理员、系统管理员三个特权管理职责。

  • 特权管理员
    • 系统管理特权集,包括用户身份管理、系统资源配置、系统加载和启动等
  • 安全管理员
    • 系统安全策略制定者,对主体、客体统一标记
  • 审计管理员
    • 审计管理特权集,系统的监督者

POSIX 权能机制

将超级用户的所有特权划分成多种权能,每种权能代表某种特权操作的集合。系统根据一定策略赋予进程权能。

隐藏信道

利用系统中本不用于通信的通道来传递信息,如系统存储位置、定时设备等,称为隐蔽信道。亦可定义为:在违反 MAC 之上的传递信息的方式。 通常可分为隐蔽存储通道和隐蔽定时通道。

  • 隐蔽存储通道
    • 如果使用这种通道涉及到一个进程直接或者间接写入一个不受安全策略控制的存储单元,而另一个进程直接或间接读这个存储位置
  • 隐蔽定时通道
    • 如果它的发送信号方式是一个进程调节自己对系统资源(比如 CPU 时间)的使用、从而影响另外一个进程观察到的真实系统响应时间

隐蔽通道有可能是有噪音的,也可能是无噪音的。无噪音指的是发送者发送的信号和接收者接受的信号完全相同。

判断隐蔽存储通道的标准:Kemmerer 标准

  • 发送方和接收方进程能访问共享资源的同一属性。
  • 发送方进程能改变该共享资源的状态。
  • 接收方进程能察觉该共享资源的状态变化。
  • 发送方与接收方进程之间有同步机制。

仅满足前三条标准的通道叫作潜在隐蔽通道,全满足才可能构成隐蔽存储通道。

判断隐蔽定时通道的标准:

  • 发送方和接收方进程必须有权存取共享资源的同一属性。
  • 发送方和接收方进程必须有权存取一个时间参照,比如实时时钟。
  • 发送方进程必须能够调整接收方进程侦查共享属性的变化所用的响应时间。
  • 必须存在某种机制,使发送方和接收方进程能启动隐蔽通信并正确给事件排序。该机制可能是另一条较小带宽的隐蔽通道。

隐蔽通道的处理技术:

  • 消除:改变系统设计,设法消除共享单元的共享性
  • 限制带宽:故意引入噪音、延迟、虚拟时间等,将带宽减低道可接受的限度
  • 审计:监视和记录隐蔽通道的信息传输情况

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×