【第19章】操作系统安全保护(信息安全工程师)

发布时间 2023-11-18 15:26:16作者: Bear-Run

19.1
操作系统安全概述
操作系统是构成网络信息系统的核心关键组件,其安全可靠程度决定了计算机系统的安全性和可靠性。
19.1.1 操作系统安全概念
国家标准《信息安全技术操作系统安全技术要求(GB/T20272—2019) 》根据安全功能和安全保障要求,将操作系统分成五个安全等级,即用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级、访间验证保护级。

操作系统的安全可控目标分为两个层面:第一个层面,是指给定一个操作系统,用户能够实现对操作系统的可理解、可修改、可检测、可修复、可保护;第二个层面,商业用户能够自己主导操作系统的产品化,不受恶意的商业利益绑架或遭受知识产权专利陷阱,操作系统不能被利用危及国家安全。

19.1.2 操作系统安全需求

目前,操作系统的安全目标是能够防范网络安全威胁,保障操作系统的安全运行及计算机系统资源的安全性。通常来说,操作系统的安全需求主要包括如下几个方面:
(1) 标识和鉴别。能够唯一标识系统中的用户,并进行身份真实性鉴别。
(2) 访问控制。按照系统安全策略,对用户的操作进行资源访问控制,防止用户对计算机资源的非法访问(窃取、篡改和破坏)。
(3) 系统资源安全。能够保护系统中信息及数据的完整性、保密性、可用性。
(4) 网络安全。能够进行网络访问控制,保证网络通信数据安全及网络服务的可用性。
(5) 抗攻击。具有系统运行监督机制,防御恶意代码攻击。
(6) 自身安全。操作系统具有自身安全保护机制,确保系统安全和完整性,具有可信恢复能力。

19.1.3 操作系统安全机制

操作系统的安全保障集成多种安全机制,主要包括
1.硬件安全、
2.标识与鉴别、
3.访问控制、
4.最小特权管理、
5.安全审计、
6.可信路径、
7.系统安全增强等。

19.1.4 操作系统安全技术
操作系统是复杂的系统软件,其安全机制的实现综合集成了多种安全技术,主要包括硬件容灾备份技术、可信计算技术、身份认证技术、访问控制技术、加密技术、安全审计和监测技术、系统安全增强技术、特权管理技术、形式化分析技术、安全渗透技术、隐蔽信道分析、安全补丁、防火墙、入侵检测、安全沙箱、攻击欺骗、地址空间随机化和系统恢复等技术,这些技术不同程度地应用在操作系统的安全机制构建、安全功能实现、安全保障、安全测评以及安全运行等各个方面 。


------------


19.2 Windows 操作系统安全分析与防护
Windows XP 的结构是层次结构和客户机 /服务器结构的混合体。系统划分为三层。其中,最底层是硬件抽象层,它为上面的一层提供硬件结构的接口,有了这一 层就可以使系统方便地移植;第 二层是内核层,它为低层提供执行、中断、异常处理和同步的支持;第 三层是由 一 系列实现基本系统服务的模块组成的,例如虚拟内存管理、对象管理、进程和线程管理、1/0 管理、进程间通信和安全参考监督器

Windows 2000 系统在安全设计上有专门的安全子系统,安全子系统主要由本地安全授权(LSA) 、安全账户管理(SAM) 和安全参考监视器(SRM) 等组成。其中,本地安全授权部分提供了许多服务程序,保障用户获得存取系统的许可权。它产生令牌、执行本地安全管理、提供交互式登录认证服务、控制安全审查策略和由 SRM 产生的审查记录信息。

19.2.2 Windows 安全机制
1. Windows 认证机制
2. Windows 访问控制机制
3. Windows 审计/日志机制
4. Windows 协议过滤和防火墙
5. Windows 文件加密系统
6. 抗攻击机制

19.2.3 Windows 系统安全分析:windows系统可能遭遇以下安全威胁:
1. Windows 口令
2. Windows 恶意代码
3. Windows 应用软件漏洞
4. Windows 系统程序的漏洞
5. Windows 注册表安全
6. Windows 文件共享安全
7. Windows 物理临近攻击

19.2.4 Windows 系统安全增强技术方法与流程
Windows 系统的安全增强是指通过一些安全措施来提高系统的安全防护能力。
常见系统安全增强方法有下面几种:
(1) 安全漏洞打补丁(Patch)
(2) 停止服务和卸载软件。
(3) 升级或更换程序。
(4) 修改配置或权限。
(5) 去除特洛伊等恶意程序。
(6) 安装专用的安全工具软件。

windows 系统安全增强基本步骤如下:
1. 确认系统安全增强的安全目标和系统的业务用途
2. 安装最小化的操作系统
3. 安装最新系统补丁
4. 配置安装的系统服务
5. 配置安全策略
6. 禁用 NetBIOS
7. 账户安全配置
8. 文件系统安全配置
9. 配置 TCP/IP 筛选和 ICF
10. 禁用光盘或软盘启动
11. 使用屏幕保护口令
12. 设置应用软件安全
13. 安装第三方防护软件

19.2.5 Windows 2000 系统安全增强实例
1. 系统启动安全增强。设置CMOS密码
2. 账号与口令管理安全增强。停掉guest账号,把系统 Administrator 账号改名
3. 安装最新系统补丁
4. 网络安全增强。关闭默认共享;关闭不必要的网络服务和网络端口
5. 安装第三方防护软件


------------


19.3 UNIX/Linux 操作系统安全分析与防护
19.3.1 UNIX/Linux 系统架构
一般的 UNIX/Linux 操作系统分为三层:硬件层、系统内核和应用层。
19.3.2 UNIX/Linux 安全机制
1. UNIX/Linux 认证
目前,UNIX/Linux 常用的认证方式有如下几种:
l) 基于口令的认证方式
2) 终端认证
3) 主机信任机制
4) 第三方认证
2. UNIX/Linux 访问控制
普通的 UNIX/Linux 系统一般通过文件访问控制列表 ACL 来实现系统资源的控制,也就是
常说的通过“9bit" 位来实现 。 例如,某个文件的列表显示信息如下:

-rwxr-xr--1 test test 4月9日 17:50 sample.txt

由这些信息看出,用户test 对文件 sample.txt 的访问权限有“读、写、执行”,而 test 这个组的其他用户只有“读、执行“权限,除此以外的其他用户只有“读“权限。

3. UNIX/Linux 审计机制
常见日志文件如下:
•lastlog:记录用户最近成功登录的时间;
•loginlog:不良的登录尝试记录;
•messages:记录输出到系统主控台以及由 syslog 系统服务程序产生的消息;
•utmp:记录当前登录的每个用户;
•utmpx:扩展的 utmp;
•wtmp:记录每一次用户登录和注销的历史信息;
•wtmpx:扩展的 wtmp;
•vold.log:记录使用外部介质出现的错误;
•xferkig :记录 ftp 的存取情况;
•sulog:记录 SU 命令的使用情况;
•acct:记录每个用户使用过的命令。

19.3.3 UNIX/Linux 系统安全分析
1. UNIX/Linux 口令/账号安全
在 UNIX/Linux 中,口令信息保存在 passwd 和shadow 文件中,这两个文件所在的目录是/etc
2. UNIX/Linux 可信主机文件安全
为了便于主机之间的互操作,系统提供两个文件$HOME/.rhost 或/etc/hosts.equiv 来配置实现可信主机的添加。当一台主机 A 信任另外一台主机 B 后,主机 B的用户无须主机 A 的认证就可以从主机 B 登录到主机 A
3. UNIX/Linux 应用软件漏洞
4. UNIX/Linux 的 SUID 文件安全
5. UNIX/Linux 的恶意代码
6. UNIX/Linux 文件系统安全
文件的权限有:r (读)、w (写)、x (执行)。但是,如果这种控制操作设置不当,就会给系统带来危害。例如,假设/etc/shadow 文件允许任何人可读,就会导致口令信息泄露。
7. UNIX/Linux 网络服务安全
8. UNIX/Linux 系统程序漏洞
入侵者 一般通过普通账号进入 UNIX/Linux 系统,然后再利用系统的程序漏洞提升权限。


19.3.4 UNIX/Linux 系统安全增强方法和流程
1. UNIX儿inux 系统安全增强方法
同Windows 系统的安全增强一样,目前,UNIX/Linux 系统的安全增强方法常见的有下面几种:
•给安全漏洞打补丁;
•停止不必要的服务;
•升级或更换软件包;
•修改系统配置;
•安装专用的安全工具软件。

2. UNIX/Linux 系统安全增强基本流程
UNIX/Linux 系统安全加固的步骤如下:
第一步,确认系统的安全目标。
第二步,安装最小化 UNIX/Linux 系统。
第三步,利用 UNIX/Linux 系统自身的安全机制,配置安全策略。主要有用户及口令、主机信任、文件访问、网络服务、系统审计等。
第四步,在 UNIX/Linux 系统自身的安全机制不行的情况下,利用第三方软件包来增强系统安全。例如,用 SSH 来替换 Telnet 。
第五步,利用系统安全测试工具,检查 UNIX/Linux 系统的安全策略的有效性或系统的安全隐患。
第六步,根据系统安全测试,重新调整安全策略或安全措施 。
第七步,在系统安全检查通过后,UNIX/Linux 系统就开始正常运行。

19.3.5 UNIX/Linux 系统安全增强技术
1. 安装系统补丁软件包
2. 最小化系统网络服务
最小化配置服务是指在满足业务的前提条件下,尽量关闭不需要的服务和网络端口,以减少系统潜在的安全危害。实现 UNIX/Linux 网络服务的最小化,具体安全要求如下:
• inetd.conf 的文件权限设置为 600;
• inetd.conf 的文件属主为 root;
• services 的文件权限设置为 644;
• services 的文件属主为 root;
• 在inetd.conf 中,注销不必要的服务,比如 finger 、echo 、chargen 、rsh 、rlogin 、tftp服务
• 只开放与系统业务运行有关的网络通信端口。
3. 设置系统开机保护口令
4. 弱口令检查
5. 禁用默认账号
6.用 SSH 增强网络服务安全
7. 利用 tcp_ wrapper 增强访问控制
通过 tcp—wrapper,管理员可以设置对 inetd 提供的各种服务进行监控和过滤。
8. 构筑 UNIX/Linux 主机防火墙
9. 使用 Tripwire 或 MDSSum 完整性检测工具
10. 检测 LKM 后门
11. 系统安全监测

19.3.6 Linux 安全增强配置参考
1. 禁止访问重要文件
首先改变文件属性为 600:
#chmod 600 /etc/inetd.conf
保证文件的属主为 root, 将其设置为不能改变:
2. 禁止不必要的 SUID 程序
3. 为 LILO 增加开机口令
4. 设置口令最小长度和最短使用时间
5. 限制远程访问
6. 用户超时注销
7. 注销时删除命令记录

19.3.7 UNIX/Linux 安全模块应用参考
Linux 安全模块(LSM) 为 Linux 内核提供了一个轻量级的、通用目的的访问控制框架,
使得很多不同的访问控制模型可以作为可加载模块来实现。 LSM 采用了在内核源代码中放置钩子的方法 ,对内核内部对象的访问进行控制。当用户级进程执行系统调用时,首先查找索引节点,进行错误检查和自主访问控制 (DAC) ,在对索引节点进行访问之前, LSM 钩子调用 LSM安全模块策略引擎进行安全策略检查,给出是否通过判断。通过 LSM ,相关安全组织可以根据安全需要开发特定的安全模块,挂接到 Linux 操作系统。目前,采取这种方式来增强Linux 安全的主要有插件式身份验证模块框架(Pluggable Authentication Modules, PAM)、SELinux 等。

19.3.8 UNIX/Linux 系统典型安全工具与参考规范

UNIX/Linux 系统常应用于服务器,常见的典型安全工具如下:
• 远程安全登录管理开源工具 OpenSSH;
• 系统身份认证增强开源工具 Kerberos;
• 系统访问控制增强开源工具 SELinux 、iptables 、TCP Wrappers 等;
• 恶意代码查杀工具 ClamAV 、Chkrootkit 、Rootkit Hunter 等;
• 系统安全检查工具 Nmap 、John the Ripper 、OpenVAS 等;
• 系统安全监测工具 lsof、Netstat 、Snort 等。

UNIX/Linux 安全基准线参考标准规范有 CIS (Center for Internet Security)、SANS 等。


------------


19.4 国产操作系统安全分析与防护
国产操作系统一般是指由国家自主研发力量研制的操作系统,具有较强的可控性和安全性。国产操作系统厂商在开源操作系统 Linux 等的基础上,经过长期研发,能够对开源操作系统进行深度分析以及安全增强,具有安全漏洞挖掘分析和修补能力。
目前,国内初步形成了操作系统系列产品,包括桌面操作系统、通用操作系统、高级操作系统、安全操作系统、增强安全操作系统以及面向移动设备操作系统。形成了以中科方德、中标麒麟、北京凝思科技、普华、深度 Linux 等为代表的操作系统厂商,推动了国产操作系统研发和服务的发展。此外,新型的国产操作系统还有华为鸿蒙操作系统、阿里飞天云操作系统。

19.4.2 国产操作系统安全分析

国产操作系统主要面临的安全风险分析如下。
1. Linux 内核的安全风险内核漏洞类型主要有输入验证错误、缓冲区溢出错误、边界条件错误、访问验证错误、异常条件处理错误、环境错误、配置错误、条件竞争错误、设计错误等。
2. 自主研发系统组件的安全
因为软件的复杂性,国产操作系统自主研发系统组件可能存在安全漏洞,导致操作系统面临安全风险。
3. 依赖第三方系统组件的安全
国产操作系统所依赖的第三方系统组件存在安全漏洞,引发操作系统安全风险问题。
4. 系统安全配置的安全
对国产操作系统的安全配置不当,构成系统安全威胁。常见的安全配置不当包括未启用系统安全功能、设置弱口令、开放过多的服务端口、使用非安全远程登录工具等。
5. 硬件的安全
国产操作系统受制于硬件而产生的安全问题。

19.4.3 国产操作系统安全增强措施
国产操作系统在自主可控、安全可信方面,对开源操作系统 Linux 进行安全增强,从多个方面对 Linux 操作系统提供安全保障,包括:
1.管理员分权、
2.最小特权、
3.结合角色的基于类型的访问控制、
4.细粒度的自主访问控制、
5.多级安全(即禁止上读下写)
等多项安全功能,从内核到应用提供全方位的安全保护。