📖 前言:操作系统是管理系统资源、控制程序执行、提供良好人机界面和各种服务的一种系统软件,是连接计算机硬件与上层软件和用户之间的桥梁。因此,操作系统是其他系统软件、应用软件运行的基础,操作系统的安全性对于保障其他系统软件和应用软件的安全至关重要。系统软件除了操作系统,数据库系统也是很重要的一类。数据库系统作为信息系统的核心和运行支撑环境,数据库中存储的信息的价值也越来越高,因而数据库的安全也显得越发重要。为此,本期围绕操作系统和数据库系统两大系统软件面临的安全问题和安全机制设计展开,也涉及了操作系统安全等级评估等内容。
🕒 1. 操作系统安全
🕘 1.1 重要性
🕘 1.2 安全问题
硬件设备与环境因素以外,还有以下几种。
- 网络攻击破坏系统的可用性和完整性
-
隐蔽信道破坏系统的保密性和完整性
- 隐蔽信道就是指系统中不受安全策略控制的、违反安全策略的信息泄露途径。生活中的例子如在考试中有人通过咳嗽、摸鼻子等小动作传递试卷答案。
- last_pid、共享组件访问时延、缓存访问时延
- 不断被发现的系统漏洞为安全事件的发生提供了可能
- 用户的误操作破坏系统的可用性和完整性
🕘 1.3 安全机制设计
🕤 1.3.1 安全等级
操作系统安全涉及两个重要概念:安全功能(安全机制)和安全保证。
TCSEC把计算机系统的安全分为A、B、C、D四个大等级七个安全级别。
级别 | 系统的安全可信性 |
---|---|
D | 最低安全 |
C1 | 自主存取控制 |
C2 | 较完善的自主存取控制(DAC)、审计 |
B1 | 强制存取控制(MAC) |
B2 | 良好的结构化设计、形式化安全模型 |
B3 | 全面的访问控制、可信恢复 |
A1 | 形式化认证 |
美国和许多国家目前使用的计算机安全等级标准是《信息技术安全评估通用标准》(Common Criteria of Information Technical Security Evaluation,CCITSE),简称CC。
CC由低到高共分EAL1~EAL7七个级别。
CC | TCSEC |
---|---|
EAL7 | A1 |
EAL6 | B3 |
EAL5 | B2 |
EAL4 | B1 |
EAL3 | C2 |
EAL2 | C1 |
EAL1 | —— |
虽然TCSEC已经被CC所取代,但是现在它仍然被认为是任何一个安全操作系统的核心要求。
我国参照TCSEC和CC,制定了GB 17859-1999《计算机信息系统 安全保护等级划分准则》
等级 | 名称 | 描述 |
---|---|---|
第一级 | 用户自我保护级 | 安全保护机制可以使用户具备安全保护的能力,保护用户信息免受非法的读写破坏。 |
第二级 | 系统审计保护级 | 除具备第一级所有的安全保护功能外,要求创建和维护访问的审计跟踪记录,使所有用户对自身行为的合法性负责。 |
第三级 | 安全标识保护级 | 除具备前一级所有的安全保护功能外,还要求以访问对象标记的安全级别限制访问者的权限,实现对访问对象的强制访问 |
第四级 | 结构化保护级 | 除具备前一级所有的安全保护功能外,还将安全保护机制划分为关键部分和非关键部分,对关键部分可直接控制访问者对访问对象的存取,从而加强系统的抗渗透能力 |
第五级 | 访问验证保护级 | 除具备前一级所有的安全保护功能外,还特别增设了访问验证功能,负责仲裁访问者对访问对象的所有访问 |
🕤 1.3.2 安全目标
操作系统安全是指操作系统在基本功能的基础上增加了安全机制与措施;
安全操作系统应该实现标识与鉴别、自主访问控制、强制访问控制、最小特权管理、可信通路、隐蔽通道分析处理及安全审计等多种安全机制。
根据TCSEC,通常B1级以上的操作系统为安全操作系统。
- 标识系统中的用户并进行身份鉴别。
- 依据系统安全策略对用户的操作进行访问控制,防止用户对计算机资源的非法存取。
- 监督系统运行的安全。
- 保证系统自身的安全性和完整性。
🕤 1.3.3 安全机制
🕞 1.3.3.1 用户身份标识与鉴别
用户对系统的不当使用是威胁操作系统安全的最主要因素之一
- 合法用户因为误操作而对系统资源造成的破坏
- 恶意攻击者冒用合法用户身份对系统的攻击破坏
因此操作系统的首要问题是对系统用户进行管理,进行身份认证。
🕞 1.3.3.2 访问控制
操作系统的访问控制是在身份认证的基础上,根据用户的身份对资源访问请求进行控制。
访问控制的目的是为了限制主体对客体的访问权限,使计算机系统在合法范围内使用,它决定用户能进行什么操作,也决定代表用户身份的进程或服务能进行什么样的操作。
🕞 1.3.3.3 最小权限管理
在安全操作系统中,为了维护系统的正常运行及其安全策略库,管理员往往需要一定的权限直接执行一些受限的操作或进行超越安全策略控制的访问。
- 传统的超级用户权限管理模式,即超级用户/进程拥有所有权限。
- 一旦超级用户的口令丢失或超级用户被冒充,将会对系统造成极大的损失。
因此,TCSEC标准对B2级以上安全操作系统均要求提供最小权限管理安全保证。
所谓最小权限指的是,在完成某种操作时一方面给予主体“必不可少”的权限,保证主体能在所赋予的权限之下完成需要的任务或操作
🕞 1.3.3.4 信道保护
保护显式信道
- 对正常信道进行保护。在计算机系统中,用户是通过不可信的应用软件与操作系统进行通信交互。
- 用户登录、定义用户的安全属性、改变文件的安全级别等操作,用户必须确认是与操作系统的核心通信。
- 可信路径就是确保终端用户能够直接与可信系统内核进行通信的机制。可信路径机制主要在用户登录或注册时应用。
发现和消除隐蔽信道
- 隐蔽信道就是指系统中不受安全策略控制的、违反安全策略的信息泄露途径。
- TCSEC要求B2级别以上的计算机系统评估必须包括隐蔽信道的分析,并且随着评估级别的升高,对隐蔽信道的分析要求也越来越严格。
- 计算机系统的访问控制机制很难对这些存储位置和定时设备进行控制,也就很难对利用这些通道进行通信的行为进行控制。
🕞 1.3.3.5 硬件保护
对于一个安全的操作系统,存储保护是硬件保护最基本的要求,这里包括内存保护、运行保护、I/O保护等。
内存保护:
- 防止对内存的未授权访问
- 防止对内存的错误读写,如向只读单元写。
- 防止用户的不当操作破坏内存数据区、程序区或系统区。
- 多道程序环境下,防止不同用户的内存区域互相影响。
- 将用户与内存隔离,不让用户知道数据或程序在内存中的具体位置。
常用的内存保护技术:
- 单用户内存保护
- 利用基址寄存器规定系统程序和用户程序的边界
- 多道程序的保护
- 使用边界址寄存器保护不同用户程序边界
- 内存标记保护
- 对每个内存单元专用几个比特来标记该单元属性
- 分段与分页保护法
- 分段:将内存分成很多逻辑单元
- 分页:将内存分成相同大小的片段
运行保护:
- 安全操作系统很重要的一点是进行分层设计,而运行域正是这样一种基于保护环的等级式结构。
- 运行域是进程运行的区域,在最内层具有最小环号的环具有最高权限,而在最外层具有最大环号的环具有最小权限。
- Intel x86微芯片系列就是使用环概念来实施运行保护的
环有4个级别:环0是最高权限的,环3是最低权限的。
Windows操作系统中的所有内核代码都在环0级上运行。用户模式程序(例如Office软件程序)在环3级上运行。
I/O保护:
- I/O介质输出访问控制最简单的方式是,将设备看作是一个客体,仿佛它们都处于安全边界外。
- 由于所有的I/O不是向设备写数据就是从设备接收数据,所以一个进行I/O操作的进程必须受到对设备的读写两种访问控制。
🕞 1.3.3.6 文件系统保护
- 分区:C盘、D盘
- 文件系统的安全加载
- 文件共享安全:对私密文件进行文件加密
- 文件系统的数据备份:备份到外部存储载体
- 文件系统加密
🕞 1.3.3.7 审计
一个系统的安全审计就是对系统中有关安全的活动进行记录、检查及审核。
- 主要目的是检测和阻止非法用户对计算机系统的入侵,并显示合法用户的误操作。
- 审计作为一种事后追查的手段来保证系统的安全,它对涉及系统安全的操作做一个完整的记录,为处理提供详细、可靠的依据和支持。
- 如果将审计和报警功能结合起来,那就可以做到事故发生前的预警。
- 审计过程一般是一个独立的过程,它应与系统其他功能相隔离。
- TCSEC就明确要求“可信计算机必须向授权人员提供一种能力,以便对访问、生成或泄露秘密/敏感信息的任何活动进行审计。
🕞 1.3.3.8 系统可信检查
以上的安全机制主要侧重于安全性中的保密性要素,对完整性考虑较少。可通过建立安全操作系统构建可信计算基(TCB),建立动态、完整的安全体系。建立面向系统引导的基本检查机制、基于专用CPU的检查机制、基于TPM/TCM硬件芯片的检查机制和基于文件系统的检查机制等可信检查机制,实现系统的完整性保护,能够很大限度上提升系统的安全性,这种机制的构建基于可信计算技术。
🕒 2. Windows系统安全
2011年3月,Windows 7和Windows Server 2008 R2被评测为达到了网络环境下美国政府通用操作系统保护框架(GPOSPP)的要求,这相当于TCSEC中的C2等级。
TCSEC 中C2安全等级的关键要求:
- 安全的登录设施:要求用户被唯一识别,而且只有当他们通过某种方式被认证身份以后,才能被授予对该计算机的访问权。
- 自主访问控制:资源的所有者可以为单个用户或一组用户授予各种访问权限。
- 安全审计:要具有检测和记录与安全相关事件的能力。例如,记录创建、访问或删除系统资源的操作行为。
- 对象重用保护:在将一个对象,如文件和内存分配给一个用户之前,对它进行初始化,以防止用户看到其他用户已经删除的数据,或者访问到其他用户原先使用后来又释放的内存。
Windows也满足TCSEC中B等级安全性的两个要求:
-
可信路径功能:例如,在Windows中,通过<Ctrl+Alt+Del>组合键序列来实现可信路径功能。<Ctrl+Alt+Del>是系统默认的系统登录/注销组合键序列,系统级别很高,理论上木马程序想要屏蔽掉该键序列的响应或得到这个事件响应是不可能的。
-
可信设施管理:要求针对各种管理功能有单独的账户角色。例如,针对管理员、负责计算机备份的用户和标准用户分别提供单独的账户。
Windows通过它的安全子系统和相关的组件来满足以上这些要求。
🕘 2.1 标识与鉴别
🕤 2.1.1 安全主体类型
Windows中的安全主体类型主要包括用户账户、组账户、计算机和服务。
🕤 2.1.2 安全标识符
Windows并不是根据每个账户的名称来区分账户的,而是使用安全标识符(Security Identifier,SID)。
- 48位字符串
🕤 2.1.3 身份认证
🕞 2.1.3.1 本地登录
所使用的用户名与口令被存储在本地计算机的安全账户管理器(SAM)中,由计算机完成本地登录验证,提交登录凭证包括用户ID与口令。
- 本地计算机的安全子系统将用户ID与口令送到本地计算机上的SAM数据库中做凭证验证。
- 每个口令计算哈希值后进行存储。
- 针对SAM进行破解的工具有很多,其中有L0phtCrack(LC)、Cain&Abel等。
🕞 2.1.3.2 基于活动目录的域登录认证
所有的用户登录凭证(用户ID与口令)被集中地存放到一台服务器上,结束了分散式验证的行为,统一验证、一次登录、多次访问。
该过程必须使用网络身份认证协议,这些协议包括Kerberos、LAN管理器、NTLAN管理器等,而且这些过程对于用户而言是透明的。
🕘 2.2 访问控制
在Windows系统中,安全管理的对象包括:文件、目录、注册表项、动态目录对象、内核对象、服务、线程、进程、防火墙端口、Windows工作站和桌面等
其中最常见的安全对象就是文件。
Windows 2000以后的版本中,访问控制是一种双重机制,它对用户的授权基于用户权限和对象许可。
- 用户权限是指对用户设置允许或拒绝该用户访问某个客体对象;
-
对象许可是指分配给客体对象的权限,定义了用户可以对该对象进行操作的类型。
- 设定某个用户有修改某个文件的权限,这是用户权限,若对该文件设置了只读属性,这就是对象许可。
Windows的访问控制策略是基于自主访问控制的,如图所示,根据策略对用户进行授权,来决定用户可以访问哪些资源以及对这些资源的访问能力,以保证资源的合法使用。
Windows利用安全子系统来控制用户对计算机上资源的访问。安全子系统包括的关键组件是:
- 安全性标识符(SID)
- 访问令牌(Access Token)
- 安全描述符(Security Descriptor)
- 访问控制列表(Access Control List)
- DACL
- SACL
- 访问控制项(Access Control Entry)
- 安全引用监视器(Security Reference Monitor,SRM)。
当前某进程的令牌中包括的组和权限
自主访问控制列表DACL
用户账户控制——最小权限原则的应用
Windows Vista系统开始,提供用户账户控制(User Account Control,UAC)功能。用户账户控制功能就可以限制用户的权限,从而保证系统的安全。
当用户使用管理员账户登录时,Windows会为该账户创建两个访问令牌,一个标准令牌,一个管理员令牌。
大部分时候,当用户试图访问文件或运行程序的时候,系统都会自动使用标准令牌进行,只有在权限不足,也就是说,如果程序宣称需要管理员权限的时候,系统才会使用管理员令牌。
这种将管理员权限区分对待的机制就叫做UAC。
UAC实际上就是最小权限原则的运用。
🕘 2.3 可信路径
在计算机系统中,用户是通过不可信的应用软件与操作系统进行通信交互的。
用户登录、定义用户的安全属性、改变文件的安全级别等操作,用户必须确认是与操作系统的核心通信,而不是与一个伪装成应用软件的木马程序打交道。
可信路径就是确保终端用户能够直接与可信系统内核进行通信的机制。该机制只能由终端用户或可信系统内核启动,不能被不可信软件伪装。
使用安全桌面功能后,因为真正的“提升”对话框都是显示在安全桌面上的。而这种情况下用户无法和其他程序的界面进行交互,因此避免了大量安全问题。
为用户建立可信路径的另一种方法是使用通用终端发信号给系统核心,这个信号是不可信软件不能拦截、覆盖或伪造的,一般称这个信号为安全注意键(Secure Attention Key,SAK)。
每当系统识别到用户在一个终端上键入的SAK,便终止对应到该终端的所有用户进程(包括特洛伊木马程序),启动可信的会话过程,以保证用户名和口令不被窃走。
🕘 2.4 文件系统
🕤 2.4.1 NTFS文件系统的权限控制
NTFS权限控制可以实现较高的安全性,通过给用户赋予NTFS权限可以有效地控制用户对文件和文件夹的访问。
NTFS分区上的每一个文件和文件夹都有一个ACL,该列表记录了每一个用户和用户组对该资源的访问权限。
NTFS可以针对所有的文件、文件夹、注册表键值、打印机和动态目录对象进行权限设置。
🕤 2.4.2 权限控制的局限性
权限的访问控制行为在某种程度上提高了资源的安全性,防止了资源被非法访问或者修改。
但事实上这种行为只能针对系统级层面进行控制,如果资源所在的物理硬盘被非法者窃取,那么使用上述的权限访问控制行为对资源进行保护将变得没有任何意义。
🕤 2.4.3 加密文件系统
加密文件系统(Encrypting File System,EFS)支持对NTFS格式磁盘的文件加密。
EFS允许用户以加密格式存储磁盘上的数据,将数据转换成不能被其他用户读取的格式。
用户加密了文件之后只要文件存储在磁盘上,它就会自动保持加密的状态。
🕘 2.5 其他安全机制
Windows审计/日志机制
Windows协议过滤和防火墙
……
🕒 3. 数据库安全
🕘 3.1 数据库安全概述
🕤 3.1.1 安全问题
🕤 3.1.2 安全需求
- 保密性
- 完整性:包括数据库物理完整性、数据库逻辑完整性和数据库数据元素取值的准确性和正确性。
- 可用性:指确保数据库中的数据不因人为的和自然的原因对授权用户不可用。某些运行关键业务的数据库系统应保证全天候(24×7,即每天24小时,每周7天)的可用性。
- 可控性:指对数据操作和数据库系统事件的监控属性,也指对违背保密性、完整性、可用性的事件具有监控、记录和事后追查的属性。
- 可存活性:指基于数据库的信息系统在遭受攻击或发生错误的情况下能够继续提供核心服务并及时恢复全部服务。
- 隐私性。指在使用基于数据库的信息系统时,保护使用主体的个人隐私(如个人属性、偏好、使用时间等)不被泄露和滥用。
🕤 3.1.3 安全机制
数据库的安全主要应由数据库管理系统(DBMS)来维护
安全机制包括:
- 用户认证
- 用户授权
- 角色管理
- 访问控制
- 安全审计
- 备份恢复
- 数据加密
- 资源限制
🕘 3.2 数据库安全控制
🕤 3.2.1 访问控制
在数据库系统这一级中一般提供两种控制:用户认证和数据访问控制、以及数据存储。
在数据存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。
和操作系统相比,数据库的访问控制难度要大得多。
- 数据库的访问目标,数据库、库表、记录和字段,是相互关联的。存在通过推理从已知记录或者字段值间接获取其他记录或者字段值的可能。
定义访问数据库的用户的不同安全等级,赋予不同权限。数据库的数据也被逻辑地划分为不同安全等级。
访问控制技术:
- 传统访问控制模型:DAC、MAC、RBAC
- 高安全等级数据库要求DBMS提供MAC机制。大部分主流数据库产品提高了基于标签的MAC功能。
- 分布式的网络环境下,人们提出了信任管理、数字版权管理等新一代的访问控制技术。
- 数字版权:产品密钥、有限安装、区域锁定、软件篡改
🕤 3.2.2 安全存取控制
数据库加密方式:
- 库内加密在DBMS内核层实现加密,加密/解密过程对用户与应用透明。即数据进入DBMS之前是明文,DBMS在数据物理存取之前完成加密/解密工作。
- 库外加密是指在DBMS之外实现加密/解密,DBMS所管理的是密文。加密/解密过程可以在客户端实现,或由专门的加密服务器完成。
- 影响数据库加密的关键因素:
- 加密粒度:表、属性、记录和数据项
- 加密算法:对称加密、分组密码
- 密钥管理:集中密钥管理、多级密钥管理
🕤 3.2.3 完整性控制
- 数据库物理完整性
- 数据库逻辑完整性
- 要求做到数据库结构和库表结构设计的合理性
- 数据库数据元素取值的准确性和正确性
目前商用的DBMS产品都拥有完整性控制机制,DBMS实现完整性定义和检查控制。通常具有的功能包括:
- 提供定义完整性约束条件的机制
- 提供完整性检查的方法
- 违约处理
具体方法包括:
- 设置触发器
- 两阶段提交
- 第一阶段称为准备阶段:
- DBMS收集更新所需的信息和其他资源,但不对数据库做实际的改变。
- 第二阶段:
- 对需要更新的字段进行真正地修改,这种修改是永久性的。
- 一旦第二个阶段的更新活动出现任何问题,DBMS会自动将本次提交对数据库执行的所有操作都撤销。
- 第一阶段称为准备阶段:
- 纠错与恢复
- 许多DBMS提供的数据库数据的纠错功能,主要方法是采用冗余的方法。
- 冗余方法:附加校验纠错码、镜像技术、利用数据库日志撤销对数据库的错误修改
- 并发控制:“读锁”、“写锁”。
🕤 3.2.4 可用性保护
备份和恢复:
- 数据转储
- 数据库镜像
- 建立日志文件
🕤 3.2.5 可控性实现
审计:
- 数据库审计是指监视和记录用户对数据库所施加的各种操作的机制。
- 通过审计,把用户对数据库的所有操作自动记录下来放入审计日志中。
可信记录保持:
- 可信记录保持是指在记录的生命周期内保证记录无法被删除、隐藏或篡改,并且无法恢复或推测已被删除的记录。
- 可信记录保持的重点是防止内部人员恶意地篡改和销毁记录,即防止内部攻击。
🕘 3.3 云计算时代数据库安全控制的挑战
- 海量信息安全检索需求
- 一方面,当前的海量信息检索方法缺乏安全保护能力,例如当前的搜索引擎不支持不同用户具有不同的检索权限。
- 另一方面,现有的信息安全技术无法支持海量信息处理,因此,如何在保证数据私密性的前提下,支持用户快速查询与搜索,是当前亟待解决的问题。
- 海量信息存储验证需求
- 经典的签名算法与哈希算法等均可用于验证某数据片段的完整性,但是当所需要验证的内容是海量信息时,上述验证方法需耗费大量的时间与带宽资源,以至于用户难以承受。
- 以高置信概率判断远端数据是否存在并且未被破坏。
- 海量数据隐私保护需求
- 与敏感信息不同,任何个体内容独立来看并不敏感,但是大量信息所代表的规律也属于用户隐私。
- 例如,各大网站通过网络追踪技术记录用户的上网行为,分析用户偏好,并将上述信息高价出售给广告商,后者据此推送更精确的广告。
- 在云计算环境下,研究如何抵抗从海量数据挖掘出隐私信息的方法。
🕒 4. 案例分析:微软对Windows 7 停止服务支持
对Windows 7 免费支持已于 2020 年 1 月 14 日终止,2023 年 1 月,微软结束了对 Windows 7 和 Windows 8.1 的付费扩展安全技术支持,意味着服役14年之久的操作系统老兵已正式退出战场。
在后win7时代,人们关心3个问题:
第一,Windows 7支持服务停止意味着什么呢?
很少会有计算机公司再推出Windows 7平台上的新的软件产品。
在此之后,Windows 7将无法再获得安全补丁,也不会再有系统更新。
第二,Windows 7退役了,该系统的用户怎么办?
1)升级到较新的Windows操作系统(如win11)。
2)使用Linux系列操作系统。
3)使用第三方安全工具
第三,后Windows 7时代,我国的信息系统面临哪些安全风险?
目前 Windows 7在政府用户、企事业用户计算机操作系统中占比一定比例,升级和替换不是一朝一夕就能完成的,而且升级或更换系统还面临着原先应用软件如何兼容等延伸问题。
OK,以上就是本期知识点“系统软件安全”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~文章来源:https://www.toymoban.com/news/detail-433661.html
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页文章来源地址https://www.toymoban.com/news/detail-433661.html
到了这里,关于【信息安全案例】——系统软件安全(学习笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!