操作系统访问控制与安全攻击解析
一、硬件访问控制机制
在计算机系统中,为了防止一个程序覆盖另一个程序的代码或数据,硬件访问控制通常需要与处理器的内存管理功能相结合。常见的机制是段寻址,通过段寄存器和地址寄存器来定位内存。段寄存器由操作系统控制,常由参考监视器这一特殊组件管理,它将访问控制机制与硬件相连接。
早期的 IBM 大型机 CPU 有两种状态:授权状态和非授权状态。在非授权状态下,程序只能访问操作系统分配的内存段;在授权状态下,程序可以随意更改段寄存器。授权程序是从授权库中加载的程序。但这种方式效率不高,且系统安全依赖于防止不良代码进入授权库。
后来的处理器引入了更复杂的硬件机制,如 Multics 操作系统引入的保护环,表达了不同的特权级别。环 0 程序可完全访问磁盘,管理状态运行在环 2,用户代码处于较低特权级别。这一特性在后来的英特尔处理器(如 80286 及之后的型号)中得到了一定程度的应用。
(一)英特尔处理器与“可信计算”
早期的英特尔处理器(如 8088/8086)没有系统模式和用户模式之分,缺乏保护机制。80286 增加了受保护的段寻址和保护环,使得运行真正的操作系统成为可能。80386 内置了虚拟内存,内存段足够大(4GB),可将机器视为 32 位扁平地址机器。486 和奔腾系列芯片则提升了性能,如增加了缓存、乱序执行和 MMX 技术。
保护环由多种机制支持,当前特权级别只能由环 0(内核)中的进程更改。程序不能直接访问低级别环中的对象,但有门机制允许在不同特权级别执行代码,并管理支持基础设施,如不同特权级别的多个栈段和异常处理。
奔腾 3 增加了处理器序列号这一安全特性,
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



