Skip to main content

第九章:安全与保护

9.1 操作系统中的安全需求

操作系统的安全性是保障计算机系统稳定和防止外部恶意攻击的关键。安全性要求操作系统能够有效地防止未经授权的访问、数据泄露、系统篡改以及其他破坏行为。操作系统中的安全需求包括:

  • 数据保密性:确保敏感数据只能被授权用户访问。
  • 数据完整性:防止数据在存储和传输过程中遭到篡改。
  • 身份验证:确保用户身份的真实性,防止非法用户访问系统。
  • 访问控制:管理用户对系统资源(如文件、设备等)的访问权限,避免不当使用。
  • 审计:记录和监控系统操作,提供事后分析和溯源能力。
  • 抗攻击能力:防止系统遭受恶意攻击,如病毒、木马、拒绝服务攻击(DDoS)等。

9.2 访问控制机制与权限管理

访问控制机制是操作系统用于确保资源安全的重要手段。它定义了谁可以访问哪些资源以及可以执行哪些操作。常见的访问控制机制包括:

9.2.1 基于角色的访问控制(RBAC, Role-Based Access Control)

RBAC是一种常见的访问控制模型,通过为用户分配角色来管理访问权限。每个角色都有特定的权限,用户根据其所属角色获得相应的访问权限。RBAC的优点是简化了权限管理,提高了安全性和可维护性。

9.2.2 基于属性的访问控制(ABAC, Attribute-Based Access Control)

ABAC通过用户、资源和环境的属性来动态决定访问权限。每个访问请求都由系统根据属性和策略评估访问权限。ABAC具有更高的灵活性,能够处理复杂的访问控制需求。

9.2.3 强制访问控制(MAC, Mandatory Access Control)

MAC是一种较为严格的访问控制模型,通过系统管理员设定的安全策略来决定用户对资源的访问权限。MAC通常用于高安全性需求的环境,如军事和政府机构。

9.2.4 自由访问控制(DAC, Discretionary Access Control)

DAC允许资源的拥有者自主决定对其资源的访问权限。虽然这种方式灵活方便,但它相对较弱,容易受到攻击,且难以管理。

9.2.5 文件权限管理

操作系统通过文件权限来限制对文件和目录的访问。常见的文件权限管理包括:

  • 读、写、执行权限:用于控制用户对文件的读写操作。
  • 所有者、用户组、其他用户:操作系统会将文件的权限分为三个类别,每个类别有不同的访问权限。

9.3 加密与身份验证

9.3.1 加密技术

加密是保护数据安全的重要手段。它通过使用算法将明文数据转换为不可读的密文,只有拥有正确密钥的用户才能解密恢复原始数据。常见的加密技术包括:

  • 对称加密:加密和解密使用相同的密钥。典型的对称加密算法有AES(高级加密标准)、DES(数据加密标准)等。
  • 非对称加密:使用一对密钥(公钥和私钥)进行加密和解密。典型的非对称加密算法有RSA、ECC(椭圆曲线加密)等。

加密技术广泛应用于数据传输(如HTTPS)和存储(如文件加密)中,确保敏感数据的安全。

9.3.2 身份验证

身份验证用于确认用户的身份,以防止未授权的访问。常见的身份验证方法包括:

  • 口令认证:通过用户名和密码的组合进行身份验证。虽然简单,但密码泄露风险较高。
  • 双因素认证(2FA):结合两种认证方式,如密码和手机验证码,增加安全性。
  • 生物特征认证:通过指纹、面部识别、虹膜扫描等生物特征进行身份验证。
  • 基于证书的认证:使用公钥基础设施(PKI)和数字证书进行身份验证。

9.4 操作系统中的常见安全威胁

操作系统面临多种安全威胁,攻击者通过不同方式入侵系统,危害计算机的安全。常见的安全威胁包括:

9.4.1 恶意软件

恶意软件是指旨在破坏系统或盗取用户信息的程序。常见的恶意软件包括:

  • 病毒:通过感染其他程序或文件传播,通常会导致数据丢失或系统崩溃。
  • 蠕虫:通过网络传播的恶意程序,能够快速感染大量计算机,通常不需要依附于其他文件。
  • 木马:伪装成合法程序,悄悄地将恶意代码执行在目标计算机上,通常用于窃取数据或操控系统。
  • 间谍软件:监控用户活动并窃取敏感信息,通常以隐藏方式运行。

9.4.2 缓冲区溢出

缓冲区溢出是指程序向内存中写入超出预定范围的数据,导致数据覆盖到其他内存区域,可能导致系统崩溃、执行恶意代码等安全问题。攻击者可以通过缓冲区溢出漏洞注入恶意代码,从而获得系统的控制权。

9.4.3 拒绝服务攻击(DoS)

拒绝服务攻击通过大量的恶意请求占用系统资源,导致系统资源耗尽,无法为合法用户提供服务。常见的DoS攻击方式包括发送大量网络请求、占用系统处理能力等。

9.4.4 特权提升

特权提升是指攻击者通过漏洞获得系统的管理员权限,通常是通过利用操作系统中的漏洞来获得更高的权限。攻击者可以使用特权提升进行恶意操作,如修改系统配置、窃取敏感数据等。

总结

操作系统的安全性是确保计算机系统正常运行和保护用户数据的重要保障。通过访问控制、加密技术和身份验证等手段,操作系统能够有效地防范安全威胁。然而,随着攻击技术的不断发展,操作系统面临的安全威胁也越来越复杂,操作系统的安全保护工作仍然是一个持续的挑战。