声明
本文是学习操作系统安全技术要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们
范围
本标准依据GB17859—1999的五个安全保护等级的划分,根据操作系统在信息系统中的作用,规定了操作系统安全所需要的各等级的安全技术要求。
本标准适用于按等级化要求设计和实现的、安装在计算机上的操作系统的开发、测试及选择。
规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB 17859—1999 计算机信息系统安全保护等级划分准则
GB/T 18336.3—2015 信息技术 安全技术 信息技术安全评估准则
第3部分:安全保障组件
GB/T 20271—2006 信息安全技术 信息系统通用安全技术要求
术语、定义和缩略语
术语和定义
GB 17859—1999、GB/T 20271—2006、GB/T
18336.3—2015界定的以及下列术语和定义适用于本文件。
操作系统 operating system
是管理和控制计算硬件与软件资源的程序,是计算设备中最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统安全 security of operating system
操作系统自身以及其所存储、传输和处理的信息的保密性、完整性和可用性。
操作系统安全子系统(SSOOS) security subsystem of operating system
操作系统中安全保护装置的总称,包括硬件、固件、软件和负责执行安全策略的组合体。
缩略语
下列缩略语适用于本文件:
SSOOS 操作系统安全子系统 (Security subsystem of operating system)
SSF SSOOS安全功能 (SSOOS security function)
SSP SSOOS安全策略 (SSOOS security policy)
安全技术要求
第一级:用户自主保护级
安全功能
身份鉴别
身份鉴别包括对用户的身份进行标识和鉴别。应从以下方面设计和实现SSOOS的身份鉴别功能:
a) 按以下要求设计和实现用户标识功能:
-
用户进入操作系统前,先进行标识(建立账号);
-
操作系统用户标识一般使用用户名和用户标识符(UID)。
b) 按以下要求设计和实现用户鉴别功能:
-
采用口令进行鉴别,并在每次用户登录系统时和系统重新连接时进行鉴别;
-
口令是不可见的,在存储和传输时使用加密方法进行安全保护,确保其不被非授权的访问、修改和删除。
c) 通过对不成功的鉴别尝试的值(包括尝试次数和时间的阈值)进行预先定义,并明确规定达到该值时采取的措施来实现鉴别失败的处理;
d) 对注册到操作系统的用户,将用户进程与所有者用户相关联,使用户进程的行为可以追溯到进程的所有者用户。
自主访问控制
应从以下方面设计和实现SSOOS的自主访问控制功能:
a) 客体的拥有者对其拥有的全部客体有权修改其访问权限;
b) 客体的拥有者能对其拥有的客体定义其他用户的访问控制属性,访问控制属性至少包括:读、写、执行等;
c) 主体对客体的访问遵循该客体的自主访问控制权限属性;
d) 将访问控制客体的粒度控制在文件和目录。
数据完整性
对操作系统内部传输的用户数据(如进程间的通信),应提供保证用户数据完整性的功能。
网络安全保护
支持基于IP地址、端口、物理接口的双向网络访问控制,将不符合预先设定策略的数据包丢弃。
操作系统安全子系统自身安全保护
运行安全保护
应从以下方面实现SSF运行安全保护:
a) 提供一个设置和升级配置参数的安装机制。在初始化和对与安全有关的数据结构进行保护之前,对用户和管理员的安全策略属性进行定义;
b) 区分普通操作模式和系统维护模式;
c) 补丁的发布和使用:操作系统的开发者针对发现的漏洞及时发布补丁。操作系统的管理者及时运用补丁对操作系统的漏洞进行修补;
d) 在SSOOS失败或中断后,保护其以最小的损害得到恢复,并按照失败保护中所描述的内容,实现对SSF出现失败时的处理。
资源利用
- 容错
应通过一定措施确保当系统出现某些确定的故障情况时,SSF也能维持正常运行。
- 服务优先级
应采取适当的策略,设置主体使用SSF控制范围内某个资源子集的优先级,进行SSOOS资源的管理和分配。
- 资源分配
应按GB/T
20271—2006资源分配中最大限额的要求,进行SSOOS资源的管理和分配。配额机制确保用户和主体将不会独占某种受控的资源。
用户登录访问控制
应从以下方面实现SSOOS的用户登录访问控制:
a) 按GB/T 20271—2006中会话建立机制的要求,对会话建立的管理进行设计;
b) 按GB/T
20271—2006中多重并发会话限定中基本限定的要求,进行会话管理的设计。在基于基本标识的基础上,SSF限制系统的并发会话的最大数量,并利用默认值作为会话次数的限定数;
c) 按GB/T
20271—2006中可选属性范围限定的要求,选择某种会话安全属性的所有失败的尝试,对用来建立会话的安全属性的范围进行限制。
安全策略配置
应对身份鉴别、网络安全保护、资源利用、用户登录访问控制提供安全策略配置功能。
安全保障要求
开发
- 安全架构
开发者应提供产品安全功能的安全架构描述,安全架构描述应满足以下要求:
a) 与产品设计文档中对安全功能要求执行的抽象描述的级别一致;
b) 描述与安全功能要求一致的产品安全功能的安全域;
c) 描述产品安全功能初始化过程为何是安全的;
d) 证实产品安全功能能够防止被破坏;
e) 证实产品安全功能能够防止安全功能要求执行的功能被旁路。
- 功能规范
开发者应提供完备的功能规范说明,功能规范说明应满足以下要求:
a) 完整描述产品的安全功能;
b) 描述所有安全功能接口的目的与使用方法;
c) 标识和描述每个安全功能接口相关的所有参数;
d) 描述安全功能接口相关的安全功能要求执行行为;
e) 描述由安全功能要求执行行为相关处理而引起的直接错误消息;
f) 证实安全功能要求到安全功能接口的追溯。
- 产品设计
开发者应提供产品设计文档,产品设计文档应满足以下要求:
a) 根据子系统描述产品结构;
b) 标识产品安全功能的所有子系统;
c) 对每一个安全功能要求支撑或安全功能要求无关的安全功能子系统的行为进行足够详细的描述,以确定它不是安全功能要求执行;
d) 概括安全功能要求执行子系统的安全功能要求执行行为;
e) 描述安全功能要求执行子系统之间以及和其他安全功能子系统间的相互作用;
f) 提供的映射关系能够证实设计中描述的所有行为能够映射到调用它的安全功能接口。
指导性文档
- 操作用户指南
开发者应提供明确和合理的操作用户指南,操作用户指南与为评估而提供的其他所有文档保持一致,对每一种用户角色的描述应满足以下要求:
a) 描述在安全处理环境中被控制的用户可访问的功能和特权,包含适当的警示信息;
b) 描述如何以安全的方式使用产品提供的可用接口;
c) 描述可用功能和接口,尤其是受用户控制的所有安全参数,适当时指明安全值;
d) 明确说明与需要执行的用户可访问功能有关的每一种安全相关事件,包括改变安全功能所控制实体的安全特性;
e) 标识产品运行的所有可能状态(包括操作导致的失败或者操作性错误),以及它们与维持安全运行之间的因果关系和联系;
f) 充分实现安全目的所必须执行的安全策略。
- 准备程序
开发者应提供产品及其准备程序,准备程序描述应满足以下要求:
a) 描述与开发者交付程序相一致的安全接收所交付产品必需的所有步骤;
b) 描述安全安装产品及其运行环境必需的所有步骤。
生命周期支持
- 配置管理能力
开发者的配置管理能力应满足以下要求:
a) 为产品的不同版本提供唯一的标识;
b) 提供配置管理文档,配置管理文档描述用于唯一标识配置项的方法;
c) 配置管理系统唯一标识所有配置项。
- 配置管理范围
开发者应提供产品配置项列表,并简要说明配置项的开发者。配置项列表应包含以下内容:
a) 产品、安全保障要求的评估证据和产品的组成部分;
b) 唯一标识配置项;
c) 对于每一个安全功能相关的配置项,配置项列表简要说明该配置项的开发者。
- 交付程序
开发者应使用一定的交付程序交付产品,并将交付过程文档化。在给用户方交付产品的版本时,交付文档应描述为维护安全所必需的所有程序。
测试
- 覆盖
开发者应提供测试覆盖文档,测试覆盖的证据应表明测试文档中的测试与功能规范中安全功能接口之间的对应性。
- 功能测试
开发者应测试产品安全功能,将结果文档化并提供测试文档。测试文档应包括以下内容:
a) 测试计划:标识要执行的测试,并描述执行每个测试的方案,这些方案包括对于其它测试结果的任何顺序依赖性;
b) 预期的测试结果:表明测试成功后的预期输出;
c) 实际测试结果:和预期的测试结果一致;
d) 证实所有已知的漏洞被改正、消除或使其无效,并在消除漏洞后重新测试,以证实它们已被消除,且没有引出新的漏洞。
- 独立测试
开发者应提供一组与其自测安全功能时使用的同等资源,以用于安全功能的抽样测试。
- 密码测试
开发者应对所使用的对称、非对称和杂凑密码算法进行正确性和一致性测试,确保实际运算结果与预期的正确结果相符。
开发者应确保使用符合国家密码相关规定的对称、非对称和杂凑密码算法。
脆弱性评定
基于已标识的潜在脆弱性,产品应抵抗具有基本攻击潜力的攻击者的攻击。
第二级:系统审计保护级
安全功能
身份鉴别
身份鉴别包括对用户的身份进行标识和鉴别。应从以下方面设计和实现SSOOS的身份鉴别功能:
a) 按以下要求设计和实现用户标识功能:
-
用户进入操作系统前,先进行标识(建立账号);
-
操作系统用户标识使用用户名和用户标识(UID),并在操作系统的整个生存周期实现用户的唯一性标识,以及用户名或别名、UID等之间的一致性。
b) 按以下要求设计和实现用户鉴别功能:
-
采用强化管理的口令鉴别/基于令牌的动态口令鉴别等机制进行身份鉴别, 并在每次用户登录系统时和系统重新连接时进行鉴别;
-
鉴别信息是不可见的 ,在存储和传输时使用加密方法进行安全保护,确保其不被非授权的访问、修改和删除。
c) 通过对不成功的鉴别尝试的值(包括尝试次数和时间的阈值)进行预先定义,并明确规定达到该值时采取的措施来实现鉴别失败的处理;
d) 对注册到操作系统的用户,将用户进程与所有者用户相关联,使用户进程的行为可以追溯到进程的所有者用户。
自主访问控制
应从以下方面设计和实现SSOOS的自主访问控制功能:
a) 客体的拥有者能对其拥有的客体定义其他用户的访问控制属性,访问控制属性至少包括:读、写、执行等;
b) 主体对客体的访问遵循该客体的自主访问控制权限属性;
c) 当主体生成一个客体时,该客体具有该主体设置的自主访问控制权限属性的默认值;
d) 将访问控制客体的粒度控制在文件和目录;
e) 自主访问控制能与身份鉴别和审计相结合,通过确认用户身份的真实性和记录用户的各种成功的或不成功的访问,使用户对自己的行为承担明确的责任。
安全审计
应从以下方面设计和实现SSOOS的安全审计功能:
a) 能对以下事件生成审计日志:
-
身份鉴别、自主访问控制等安全功能的使用;
-
创建、删除客体的操作;
-
网络会话;
-
所有管理员的操作。
b) 在每个审计记录中至少记录下列信息:
-
事件类型、事件发生的日期和时间、触发事件的用户、事件成功或失败等字段;
-
身份标识和鉴别事件类审计日志还包括请求的源(如末端号或网络地址);
-
创建和删除客体的事件审计日志还包括客体的名字;
-
网络会话事件还包括:网络程序名称、协议类型、源IP地址、目的IP地址、源端口、目的端口、会话总字节数等字段。
c) 提供以下审计日志分析功能:
- 潜在侵害分析:设置审计日志累积或组合的规则,使用这些规则去监测已经生成的审计事件,并根据这些规则指示出对实施安全功能要求的潜在侵害。
d) 提供审计日志的可选择查询功能,支持按以下条件之一或逻辑组合进行选择和排序查阅,并能导出查询结果:
-
事件类型;
-
日期和/或时间;
-
用户身份;
-
客体名称;
-
成功或失败。
e) 提供审计日志的保护功能,主要包括:
-
保证审计机制默认处于开启状态,且对审计日志的开启和关闭进行保护;
-
保护审计日志不被未授权的访问;
-
保证审计日志不被篡改和删除。
f) 以便于用户理解的方式提供审计日志查阅;
g) 审计日志存储在掉电非遗失性存储介质中。系统管理员能够定义超过审计跟踪存储极限的阈值,当超过阈值时将向管理员报警。当审计存储空间被耗尽时,覆盖所存储的最早的审计记录。
数据完整性
应从以下方面设计和实现SSOOS的数据完整性保护功能:
a. 在对数据进行访问操作时,检查存储在存储介质上的用户数据是否出现完整性错误;
b. 在操作系统内部传输的用户数据,如进程间的通信,提供保证用户数据完整性的功能。
数据保密性
- 数据加密
应从以下方面设计和实现SSOOS的数据加密功能:
a) 提供文件加密功能,用户可对指定的文件和目录进行加密保护 ;
b) 支持采用硬件形式对密钥进行保护。
网络安全保护
应从以下方面设计和实现SSOOS的网络安全保护:
a) 支持基于IP地址、端口、物理接口的双向网络访问控制,将不符合预先设定策略的数据包丢弃;
b) 对网络传输数据进行加密与完整性保护。
操作系统安全子系统自身安全保护
运行安全保护
应从以下方面实现SSF运行安全保护:
a) 提供设置和升级配置参数的安装机制。在初始化和对与安全有关的数据结构进行保护之前,对用户和管理员的安全策略属性进行定义;
b) 区分普通操作模式和系统维护模式;
c) 只允许系统管理员进入维护模式。在普通用户访问系统之前,系统以一个安全的方式进行安装和配置;
d) 对备份或不影响SSOOS的常规的系统维护,不要求所有的系统维护都在维护模式中执行;
e) 当操作系统安装完成后,在普通用户访问之前,系统配置好初始用户和管理员职责、根目录、审计参数、系统审计跟踪设置以及对文件和目录的合适的访问控制;
f) 只允许系统管理员修改或替换系统提供的实用程序;
g) 在SSOOS失败或中断后,确保其以最小的损害得到恢复。并按失败保护中所描述的内容,实现对SSF出现失败时的处理;
h) 控制和审计系统控制台的使用情况;
i) 补丁的发布、管理和使用:操作系统的开发者针对发现的漏洞及时发布补丁。操作系统的管理者及时获取、统一管理并及时运用补丁对操作系统的漏洞进行修补。
资源利用
- 容错
应从以下方面实现SSOOS的容错功能:
a) 通过一定措施确保当系统出现某些确定的故障情况时,SSF也能维持正常运行,如系统检测和报告系统的服务水平已降低到预先规定的最小值;
b) 当系统资源的服务水平降低到预先规定的最小值时,能检测和发出报告;
c) 提供维护状态中运行的能力,在维护状态下各种安全功能全部失效,系统只允许由系统管理员使用。
- 服务优先级
应从以下方面实现SSOOS的服务优先级功能:
a) 采取适当的策略,设置主体使用SSF控制范围内某个资源子集的优先级,进行SSOOS资源的管理和分配;
b) 确保对所有SSOOS资源的每次访问都基于主体所配得的优先级进行协调。
- 资源分配
应从以下方面实现SSOOS的资源分配功能:
a) 按GB/T
20271—2006资源分配中最大限额的要求,进行SSOOS资源的管理和分配。配额机制确保用户和主体将不会独占某种受控的资源;
b) 确保在被授权的主体发出请求时,资源能被访问和利用;
c) 以每个用户或每个用户组为基础,提供一种机制,控制他们对磁盘的消耗和对CPU等资源的使