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

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

操作系统的安全问题

操作系统面临的安全问题

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

存储保护

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

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

地址转换

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

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

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

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

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

存储保护方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

段页式存储管理机制

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

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

虚拟存储管理

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

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

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

客体重用机制

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

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

标识与鉴别机制

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

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

可信路径机制

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

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

审计

审计的概念

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

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

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

审计事件

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

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

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

审计记录和审计日志

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

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

一般操作系统审计的实现

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

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

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

最小特权管理

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

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

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

POSIX 权能机制

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

隐藏信道

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

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

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

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

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

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

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

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

隐蔽通道的处理技术:

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

Windows 系统安全

Windows 安全子系统的结构

Windows 系统基于经典的引用监控器模型实现基本的对象安全模型。

Windows 系统的安全子系统主要由本地安全授权子系统(LSASS)、安全引用监控器模型(SRM)、事件记录器(EventLog)等模块组成。如下图所示:

Windows 系统安全体系结构示意图
Windows 系统安全体系结构示意图
  1. 身份认证

    Winlogon 进程与 LSASS 中的 Netlogon 分别负责 Windows 本地和远程登陆用户的身份认证,LSASS 提供身份验证服务,确定主体身份真实性。 Winlogon 调用图形化标识和认证 GINA 采集用户登录信息,然后调用本地安全授权 LSA 的命令 LsaLogonUser 把登录信息传递给 LSA,LSA 调用认证包,将登录信息加密后交给 SAM 服务器,SAM 服务器通过与存储在 SAM 数据库中的用户信息比对,确认用户身份。

  2. 访问控制

    访问控制授权信息存储在 LSASS 的策略数据库中,客体的安全属性由安全控制项 ACE 来描述,全部客体的 ACE 组成访问控制表 ACL,没有 ACL 的客体意味着任何主体都可以访问。 SRM 根据 LSASS 的策略数据库,对所有安全主体访问 Windows 资源进行控制。

  3. 审计

    审计规则信息也存储在 LSASS 的策略数据库中,SRM 根据 LSASS 配置的安全审计策略,记录访问控制过程中的相关事件,由 EventLog 生成系统审计日志。

Windows 系统安全机制

1 Windows 认证机制

以 Windows XP 为例,系统提供两种基本认证类型:本地登录和基于活动目录的域登录。

  • 本地登录

    • 通常采用口令认证方式

    • 用户名和口令信息存储在安全账户管理器 SAM 中

    • 运行 secpol.msc 可以进行密码策略账户锁定策略

      • 密码策略:增强口令强度的策略

        密码策略
        密码策略
      • 账户锁定策略:满足特定条件将账户锁定

        账户锁定策略
        账户锁定策略
    • 如果 SAM 数据库出现问题,则认证无法完成

  • 基于活动目录的域登录

    • 活动目录:Windows 服务器上的服务,存储大量安全信息
    • 域:集中网络上资源与活动的计算机集合
    • 所有用户的登陆凭证集中存放到一台服务器上,使用网络身份验证协议(Kerberos、LM、NTLM 等)验证身份
    基于活动目录的域登录
    基于活动目录的域登录

2 Windows 访问控制机制

基于自主访问控制,包含 5 个关键组件:

  • 安全标识符(SID)
    • 所有对象都具有唯一标识符 SID,48 位字符串
    • 形如 S-1-5-21-121239876-1717298765-9644887539-500 的字符串
      • S 为固定字符
      • 第二位为版本号,通常为 1
      • 第三位为颁发机构,5 代表 Windows Security Authority
      • 之后为 0 个或几个子颁发机构标识符
      • 末尾是一个相对标识符 RID,一般 500 表示 Administrator
  • 访问令牌(AT)
    • SRM 用 AT 来标识一个进程或线程的安全属性,可以看作是一个电子通行证
    • AT 大小不固定,但包含同样的信息(不同用户不同权限集合)
    • 用户的访问权限由 AT 中的用户账户 SID 和组 SID 确定
    • 决定拥有令牌的线程或进程可做哪些事情由权限集决定
    • 默认的主组域和默认的自主访问控制表,会应用到令牌关联的进程或线程中
  • 安全描述符(SD)
    • 规定谁可以在这个对象上执行的哪些操作
    • 包括:版本号、标志、所有者 SID、组 SID、DACL、SACL
    • 主要组件是 DACL
  • 访问控制表(ACL)
    • Windows 访问控制机制的核心
    • 由整个表的表头和许多 ACE 组成
  • 访问控制项(ACE)
    • 包含 ACE 头、访问掩码、SID
    • 访问掩码定义了 SID 被授予的权限
    • 包括允许访问和拒绝访问,后者级别高于前者

3 用户账户管理

使用用户账户控制 UAC 模块管理和限制用户权限。当需要管理员特权操作时,系统会弹出 UAC 对话框要求用户确认。

4 加密文件系统

加密文件系统 EFS 允许用户加密磁盘(NTFS 格式)上的数据。

5 BitLocker 机制

BitLocker 加密整个 Windows 分区,防止脱机攻击和数据泄露。包含两种工作模式:TRM 模式和 U 盘模式。

6 Windows 审计/日志机制

  • 系统日志:Windows 系统组件记录的事件
  • 应用程序日志:由应用程序或系统程序记录的事件
  • 安全性日志:有效和无效的登陆尝试以及资源使用相关的事件

当然还有目录服务日志、文件复制服务日志、DNS 服务器日志 等多种日志。

7 Windows 协议过滤和防火墙

WIndows 自带的防火墙。

UNIX/Linux 系统安全

UNIX/Linux 安全机制

标识与鉴别

root(超级用户)在 UNIX 中拥有最高权限,类似 Windows 中的 Administrator。

每个用户有一个唯一的标识号 UID,root 的 UID 为 0。每个用户可以属于一个或多个用户组,每个组由 GID 唯一标识,UID 和 GID 决定了用户的访问权限。创建普通用户时需要设置用户名和口令信息。

所有与用户有关的信息存储在系统的 /etc/passwd 文件中。

/etc/passwd 文件内容
/etc/passwd 文件内容

每一行由 7 个部分组成,每两部分有冒号分开,分别是:用户名、口令、UID、GID、用户描述、用户主目录、用户的登录 Shell。

  • 用户名:用户的登录名
  • 口令:用户的口令,x 是加密形式表示,表示口令存储在 /etc/shadow
  • UID:0~32767 之间的整数,唯一标识用户的数
  • GID:0~32767 之间的整数,唯一标识用户组的编号,信息存储在 /etc/group
  • 用户描述:存放用户的基本信息
  • 用户主目录:用户进入系统后,会处于该目录下
  • 用户的登录 Shell:用户使用的命令行解释器

在 Linux 系统中设置用户锁定策略、自动注销时间等增强身份认证的安全性。

设置账户登陆失败锁定、锁定时间:

1
2
3
4
5
sudo vi /etc/pam.d/system-auth

# 在文件中添加以下记录
auth required pam-tally.so onerr=fail deny=6 unlock-time=600
# 设置密码连续错误 6 次锁定,锁定时间 300 秒

设置自动注销时间:

1
2
3
4
5
sudo vi /etc/profice

# 在文件中添加以下记录
TMOUT=600
# 系统中登录用户在 600 秒内无任何操作,系统自动注销该用户

访问控制

UNIX/Linux 的访问控制机制为自主访问控制,采用访问控制列表方式实现。

利用 ls -all 可列出文件或目录对系统内不同用户所给予的访问权限,如:

1
drwxr-xr-x   23 root root  4096 Dec  5  2019 passwd

第一个字母表示该文件类型,之后 9 个字母,每三个为一组,分别代表文件拥有者的权限 owner、同组用户的权限 group、其他用户的权限 other。每组三个栏位分别表示读、写、执行权限。- 表示对应访问权限位不允许。

利用 chmod 命令可以改变文件的访问权限,以新权限和该文件名为参数,格式为:

1
chmod [-Rfh] 访问权限 文件名

改变文件的属主和组名可用 chownchgrp 命令。文件的授权可以用一个 4 位八进制数表示。后三分别对应 owner、group、other 的权限,最高的一位八进制数分别对应 SUID 位、SGID 位、sticky 位。

umask 也是一个 4 位的八进制数,UNIX 用它确定一个新建文件的授权,每个进程都有一个从它的父进程中继承的 umask。其说明要对新建文件或新建目录的默认授权加以屏蔽的部分。

特殊权限位:当没有被授权的用户需要完成某些要求授权的任务,UNIX 允许对可执行文件设置 SUID 或SGID,允许用户以特殊权限来运行程序。

审计

通过对安全相关事件进行记录和分析,发现违反安全策略的活动,确保安全机制正确工作,通常写在系统的日志文件中。通常审计文件内容如下:

日志文件 说明
acct 或 pacct 记录每个用户使用过的命令
aculog 筛选出 modems 记录
lastlog 记录用户最后一次成功登录和最后一次登陆失败的时间
loginlog 记录不良的登陆尝试记录
messages 记录输出到控制台和由 syslog 产生的信息
sulog 记录 su 命令的使用情况
utmp 记录当前登录的每个用户
wtmp 记录每一次用户登录和住校的历史信息,以及系统开和关
xferlog 记录 ftp 的访问情况

Linux 系统中传统的审计机制是 Syslogd 和 Klogd。Syslogd 是应用层的审计机制,接收应用程序产生的日志信息;Klogd 将内核通过 Printk 打印出的消息写入日志文件。

这两种审计方式审计信息量获取有限,不够详细。

Comments

Your browser is out-of-date!

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

×