第4章 操作系统安全

本章探讨了操作系统安全的各个方面,包括安全策略、模型、访问控制机制,以及操作系统安全的评测方法与准则。

4.1 操作系统安全概述

4.1.1 操作系统定义

操作系统(Operating System, OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在裸机上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

  • 在个人电脑上,比如,当你打开一个文档编辑器时,操作系统会协调处理器、内存等硬件资源来运行这个程序。

4.1.2 操作系统分类

  • 桌面操作系统:主要用于个人计算机,如Windows和Mac OS。
    • Windows 10和macOS Big Sur是桌面操作系统的两个例子,它们允许用户在个人电脑上完成日常工作和娱乐。
  • 服务器操作系统:安装在大型计算机上,如Web服务器、应用服务器和数据库服务器等,包括Unix系列、Linux系列和Windows系列。
    • Linux的Ubuntu Server常用于托管网站,而Windows Server则常用于企业环境中的文件和打印服务。
  • 手机操作系统:如iOS、Android和华为鸿蒙系统。
    • iPhone使用iOS,而大多数Android设备则运行在Android操作系统上,它们管理手机硬件资源并提供用户界面。

4.1.3 Windows操作系统的安全

Windows系统的安全性对整个计算机网络系统至关重要,主要安全问题包括操作系统安全漏洞、通过操作系统漏洞或端口获得授权或篡改未授权数据信息等。

  • WannaCry勒索软件利用Windows SMB协议的漏洞,加密用户的文件并要求支付赎金。

4.1.4 UNIX操作系统安全性

Unix是一个强大的多用户、多任务操作系统,支持多种处理器架构,属于分时操作系统。

  • Unix最早由AT&T的贝尔实验室开发,现代许多操作系统,如Linux和Mac OS X,都受到了Unix的影响。

4.1.5 Linux操作系统的安全

Linux是一套免费使用和自由传播的类Unix操作系统,以其稳定性和性价比方面的优势受到众多用户的青睐。

  • 许多Web服务器使用Linux操作系统,因为它稳定且安全,能够处理大量的并发请求。

4.1.6 操作系统安全目标

包括识别操作系统中的用户并进行身份识别、依据系统设置的安全策略对用户的操作行为进行相应的访问控制等。

  • 当你尝试访问一个受保护的文件时,操作系统会检查你的用户权限,以确定你是否有权访问该文件。

4.2 操作系统内核安全

4.2.1 Windows系统内核安全

Windows内核主要功能组件包括进程管理、文件访问、安全性、内存管理等。

  • Windows内核负责管理所有的硬件资源,如CPU调度、内存分配等,同时也处理安全相关的任务,如访问控制和加密。

4.2.2 Linux系统内核安全

Linux内核代码是开源的,这意味着对内核代码进行修改更加的便利。

  • Linux内核的开源特性使得开发者社区能够共同发现并修复安全漏洞,如著名的Heartbleed漏洞。

4.3 操作系统安全机制

4.3.1 访问控制

包括自主访问控制(DAC)、强制访问控制(MAC)和基于角色的权限访问控制(RBAC)。

  • 在DAC中,文件所有者可以决定谁可以访问他们的文件;在MAC中,操作系统强制执行安全策略,如分类信息的访问控制;在RBAC中,用户根据其角色(如管理员、普通用户)获得相应的权限。

4.3.2 其他安全机制

  • 用户的标识与鉴别:保证只有经过系统认证的用户才能对操作系统中的资源进行操作。
  • 安全审计:对历史数据进行分析、处理和追踪。
  • 文件系统安全:对文件访问控制权限的判定。
  • 内存系统安全:规定一个进程不允许访问其他进程的地址空间。
  • 最小特权管理:系统所赋予用户或者进程最小(必不可少)的特权,以保证发生安全事故所造成的损失最小。
  • 信息通路保护机制:保护信息传输的安全。
  • 安全内核:操作系统中用于保护系统安全的内核部分。

4.4 操作系统安全模型

4.4.1 安全模型的概念

安全模型是对安全策略所表达的安全需求的简单、抽象和无歧义的描述。

4.4.2 常见的安全模型介绍

  • Bell-Lapadula模型:保证信息流向保密级别更高的主体。
  • Biba模型:保证了完整性高的文件一定是由完整性高的进程产生。
  • Clark-Wilson完整性模型:从两个方面保证数据的完整性。
  • Android安全模型:提供进程沙箱隔离机制、应用程序签名机制等。

4.5 攻击和安全技术演示

4.5.1 冰河木马远程控制实验

冰河木马主要用于远程监控,能够自动跟踪目标机屏幕变化,完全模拟键盘及鼠标输入。

4.5.2 Windows操作系统的安全配置

通过安全策略的配置,可以控制访问计算机的用户、授权用户使用计算机上的哪些资源等。

4.5.3 Linux访问控制列表

Linux系统有一种被称为访问控制列表(ACL)的权限控制方法,它是一种权限分配之外的普遍范式。