计算机等级考试三级信息安全技术章节习题3
三、系统安全
CPU 的两种模式是什么?如何切换模式?操作系统如何利用 CPU 模式和保护环来实现安全保护?
内核模式和用户模式
操作系统运行在内核模式下,应用运行在用户模式下
用户模式转到内核模式的唯一方法是触发一个特殊的硬件 自陷 ,如
- 中断,通常是由外部硬件引发的,如 I/O 或时钟
- 异常,如除数为零、访问非法或不属于该进程的内存
- 显示地执行自陷命令
内环中执行的进程比在外环中执行的进程有更高的权限,内环只允许最可信的组件和进程在其中执行,内环中执行的进程往往处于内核模式,在外环工作的进程侧处于用户模式。
保护环支持多任务操作系统所要求的可用性、完整性和机密性要求,进程运行所在的环编号越小,进程的可信度越高,常见保护环结构提供4个保护环:
- 0 环:操作系统内核
- 1 环:操作系统的其他部分
- 2 环: I/O 驱动程序和实用工具
- 3 环:应用程序和用户活动
简述系统调用的实现
操作系统的内核中设置了一组用于实现各种特定系统功能的子程序(过程),它们被提供给应用程序调用。在编程过程中,需要系统完成特定的功能时,可以通过调用系统中特定的子程序完成,这就是系统调用
进程管理如何实现?
管理单位:线程。进程管理实质上是对处理机执行时间的管理,进程是程序执行的一个实例,是运行着的程序。线程是为了节省资源而可以在同一进程中共享资源的一个执行单位。
操作系统维护一个进程表,其中每一项代表一个进程。表中包含每个进程的状态、堆栈指针、内存分配、程序计数器和打开文件的使用状况。
大多数CPU一次只执行一项任务。因此,系统会产生硬件和软件中断。当一个设备需要与 CPU 通信时,它必须等待它的中断信息被调。软件也同样如此,每个进程都有分配给它的中断信号。
进程管理是通过中断实现的。用于进程管理的定时器产生中断,则系统暂停当前代码执行进入经常管理程序。而进程管理程序则分析当前各进程的优先级和等待顺序,选择合适的进程,将 CPU 的时间片交个它。
简述 UNIX 系统的守护进程
脱离于终端且在后台独立运行的进程,一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。系统引导装入时启动,在系统关闭时终止。大多数服务都通过守护进程实现,守护进程还能完成许多系统任务。
UNIX 系统基于访问权限的文件保护是如何工作的?为实现该策略,共需要多少个访问权限位?为什么?
每一个文件和目录有3组权限与之相关:文件拥有者、所属分组成员、其他所有用户
每组权限有3个权限标识位控制权限:
- 可读(r)
- 可写(w),可写入或修改
- 可执行(x),可被执行或搜索
这 9 位合起来被称为模式位(Mode Bits)。通常用一列10个字符来表示,每个字符表示一个模式设置,还有一位指明文件类型。
p
:命名管道文件 ,d
:目录文件 , l
:符号连接文件 , -
:普通文件 , s
:socket文件 , c
:字符设备文件 ,b
:快设备文件
权限位可以用一个八进制数来表示。可读(r) : 4
, 可写(w): 2
,可执行 (x): 1
, 无:0
UNIX 系统 Passwd 文件的作用是什么?如何删除一个用户?如何更改一个用户的密码?
用户的关键信息被存放在系统的 /etc/passwd
文件中。系统的每一个合法用户账号对应文件的一行记录,这行记录定义了每个用户账号的属性。
如果 passwd
字段中第一个字符是 *
,那表示该账号被查封,系统不允许该账号持有者登录。禁用账号在 etc/passwd
文件中用户名前 加#
也可使用命令 user del xxx
直接删除用户
修改密码使用命令 passwd xxx
UNIX/Linux 系统中,服务的启动方式和禁用方式是什么?
systemctl start/stop xxx
简述 UNIX 系统的审计工具及其机制
UNIX\Linux 中,主要的审计工具是 syslogd 守护进程。通过配置可提供各种水平的系统审计和指定输出目录。
syslog.conf
文件指明 syslogd 程序记录日志的行为,该程序在启动时查询配置文件。该文件由不同程序或消息分类的单个条目组成,每个占一行。对每类消息提供一个选择域和一个选择域,这些域由 tab 隔开。选择域指明消息的类型和优先级,动作域指明 syslogd 接收到一个与选择标准相匹配的消息时所执行的动作。
简述 Windows 操作系统的系统架构和关键系统组件
用户模式和内核模式构成。用户应用程序代码在用户模式下运行,操作系统代码(如系统服务和设备驱动程序)在内核模式下运行。内核模式是处理器的一种执行模式,它允许访问所有的系统内存和所有的CPU指令。操作系统软件的特权级别级别高于应用程序软件,这样处理器就为操作系统的设计者提供了一个必要的基础,保证了应用程序的不当行为在总体上不会破坏系统的稳定性。
管系统组件:
- 环境子系统和子系统动态链接库
- 执行体
- 内核
- 硬化抽象层
- 设备驱动程序
- 系统支持进程
简述 Windows 操作系统进程安全管理的方法
- 任务管理器:提供系统正在运行的程序和进程的相关信息,可以实现监视计算机性能、查看网络状态、终止已停止响应的程序等功能
- Msinfo32:提供查看系统信息的工具,可以显示本地计算机上硬件、系统组件和软件环境的完整视图
- DOS命令行
命令 | 说明 |
---|---|
tasklist | 查看进程命令,并能查看进程同服务的关系 |
taskkill | 终止进程命令 |
netstat | 可以用来查看进程,并能查看进程发起程序 |
ntsd | 可以用来终止进程 |
简述 Windows 操作系统的启动过程
- 预引导阶段:通电自检,读取并运行主引导记录 MBR
- 引导阶段:初始化引导载入程序、操作系统选择、硬盘检测、硬件配置文件选择等4个步骤
- 初始化引导载入程序:读取文件系统驱动并成功找到硬盘上的分区后,引导载入程序初始化完成
- 操作系统选择:读取
boot.ini
文件进行系统选择(多系统) - 硬件检测:将所有硬件信息收集起来并列成一个表
- 配置文件选择
- 载入内核阶段:载入 Windows 的内核文件
ntoskrnl.exe
- 初始化内核阶段:创建
Hardware
注册表键、对Control Set
注册表键进行复制、载入和初始化设备驱动、启动服务 - 登录阶段,会话管理器启动的 winlogon.exe 进程将会启动本地安全性授权 lsass.exe 子系统,加载图形化标识和验证并等待用户登录,登录过程中,后天可能仍然在加载一些非关键的设备驱动
某公司的一个部门需要设置一个 Windows 操作系统的共享文件夹,需要全公司都能读取该文件夹中的文件,但是不能对文件夹的内容进行任何修改或向这个共享文件夹中添加新的文件或文件夹。只有本部门的成员才能具有对文件夹内容进行修改的访问权限。为 Everyone Group 组设置该文件夹以实现这个目标的最好策略是什么?
设置该目录设置用户组 Everyone Group 的目录权限和文件权限为Read(RX),共享权限安全级别为 Read
什么是可信计算?其基本思想是什么?
可信的定义:一个实体是可信的,如果它的行为总以预期的方式,达到预期的目标。参与计算的组件,操作或过程在任意的条件下是可预测的,并能抵御病毒和物理干扰
可信指计算机系统所提供的服务是可以论证其是可信赖的。这就是指从用户角度看,计算机系统所提供的服务是可信赖的,而且这种可信赖是可论证的
可信 ≈ 安全 + 可靠
可信计算机系统是能够提供系统的可靠性、可用性、信息和行为安全性的计算机系统
简述可信计算组织的可信平台模块与中国可信密码模块的结构及优缺点
总体上是很成功的,以硬件芯片增强计算平台安全的基本思想,为可信计算平台提供了信任根。可信平台模块以密码技术支持了可信计算组织的可信度量、存储、报告功能,为用户提供确保平台系统资源完整性、数据安全存储和平台远程证明
存在一些不足,采用LPC总线与系统连接,不适合大数据量通信;缺少芯片本身物理安全方面的设计;可信测量根是一个软件模块,存储在可信平台模块之外,容易遭受恶意攻击;在密码配置方面存在一些不足,如密钥种类多、授权协议复杂、可信平台模块内部缺少对称密码等;可信平台模块的设计主要面向PC平台的,对于服务器和嵌入式移动运算平台并不完全适合。
可信密码模块与可信平台模块相比,在设计上充分考虑了可信平台模块存在的不足,在芯片本身物理安全和密码配置方面等都有明显提升,可信密码模块包括密码计算区、受保护存储区和主计算区,提供多种密码算法,特别适用了自主密码算法SM2、SM3、SMS4、RNG,其目标是建立计算平台安全信任基。
什么是数据库的安全性?实现数据库安全性控制的常用方法和技术有哪些?
数据库安全性指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一
数据库安全性控制的常用方法包括用户标识和鉴别、存取控制、审计、数据加密等
数据库提供两种存取控制机制:自主存取机制和强制存取机制。
数据库 SCHEMA
、基本表 TABLE
、视图 VIEW
、索引 INDEX
自主存取控制通过 GRANT
语句授权和 REVOKE
语句收回授予的其权限来实现
-
GRANT 语句格式:
GRANT <权限> [,<权限>] ··· ON <对象类型> <对象名> [,<对象类型> <对象名>] ··· TO <用户> [,<用户>] ··· [WITH GRANT OPTION];
全体用户:
PUBLIC
指定
WITH GRANT OPTION
语句,则获取某种权限的用户可将这种权限再授予其他用户,未指定则不能传播该权限 -
REVOKE 语句格式:
REVOKE <权限> [,<权限>] ···
ON <对象类型> <对象名> [,<对象类型> <对象名>] ···
FROM <用户> [,<用户>] ···
GRANT 和 REVOKE 语句向用户授予或回收对 **数据** 的操作权限,对 **数据库模式** 的授权则由 DBA 来创建用户时实现
```msyql
CREATE USER <用户名>
[WITH] [DBA|RESOURCE|CONNECT];
新创建的用户有3种权限:
- DBA : 超级用户,可创建新用户、模式、基本表和视图等,对所有数据库对象都有存取权限还可将这些权限授予一般用户
- RESOURCE : 能创建基本表和视图,不能创建模式和新用户
- CONNECT : 不能创建新用户、模式和基本表,只能登录数据库
什么是数据库角色?如何利用数据库角色对用户授权?
数据库角色是被命名的一组与数据库操作相关的权限,角色是授权的集合。可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程
使用 CREATE ROLE
语句创建角色:
CREATE ROLE <角色名>
将创建的角色授予其他角色或用户:
CRANT <角色1> [,<角色2>] ···
TO <角色a> [,<用户>] ···
[WITH ADMIN OPTION];
指定 WITH ADMIN OPTION
则获得某权限的角色或用户还可将该权限授予其他角色
什么是数据库审计?如何设置和取消审计功能
把用户对数据库的所有操作自动记录下来放入审计日志中,数据库管理员可利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等
使用 AUDIT
语句设置审计功能,NOAUDIT
取消审计功能
# 对修改 SC 表结构和表数据的操作进行审计
AUDIT ALTER, UPDATE
ON SC;
# 取消对 SC 表的一切审计
NOAUDIT ALTER,UPDATE
ON SC;
视图机制有哪些优点?
可以限制用户的访问范围,通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护
数据库完整性约束条件可以分为哪几类?
数据库完整性:语义完整性、参照完整性、实体完整性
约束:
PRIMARY KEY
约束标识列或列集,这些列或列集的值唯一标识表中的行FOREIGN KEY
约束标识表之间的关系,用于强制参照完整性,为表中一列或者多列数据提供参照完整性UNIQUE
约束在列集内强制执行值的唯一性。对于 UNIQUE 约束中的列,表中不允许有两行包含相同的非空值。主键强制执行唯一性,但主键不允许空值。而且每个表中主键只能有一个,但UNIQUE
列却可以有多个,UNIQUE
约束优先于唯一的索引CHECK
通过限制用户输入的值来加强域完整性。它指定应用于列中输入的所有值的布尔搜索条件,拒绝所有不取值为TRUE
的值,可为没列指定多个CHECK
约束NOT NULL
指定字段是否允许为空
设有如下两种关系模式
职工(职工号,名称,年龄,职务,工资,部门号),其中职工号为主键
部门(部门号,名称,经理名,电话),其中部门号为主键
试用 SQL 的 CRANT 和 REVOKE 语句加上视图机制,完成以下授权定义或存取控制功能
- 用户王明对两个表有 SELECT 权力
- 用户李勇对两个表有 INSERT 和 DELETE 权力
- 用户刘星对职工表有 SELECT 权力,对工资字段具有更新权力
- 用户张新具有修改两个表的结构的权力
- 用户王明对两个表有的所以权力(读、写、修改、删除数据),并具有给其他用户授权的权力
- 用户杨兰具有查找每个部门职工中的最高工资、最低工资、平均工资的权力,但她不能查看每个人都工资
描述数据库安全防护的3个阶段
- 事前检查:指采购及部署数据库阶段,对运行环境以及数据库本身安全特性进行检查,包括硬件环境与操作系统及数据库服务器的运行环境的安全检测、数据库漏洞检测两部分
- 事中监控:对数据库运行期间客户端与数据库交互行为的监控,包括身份认证、访问控制以及交互数据的检测等
- 事后审计:是指对日志文件的审计,用于分析、跟踪发现问题
试述数据库安全检测的3个层次及其内容
- 端口扫描:也称服务器发现,主要是对数据库的开放端口进行扫描,检查其中的安全缺陷,如开放了多余的服务器端口
- 渗透测试:渗透测试是对数据库服务器进行黑河式的安全检测,检测前不知道数据库内部的任何信息,完全根据对数据库外围的信息收集,来对数据库的安全进行测试,找到其中的安全隐患。渗透测试的对象主要是数据库的身份验证系统和服务监听系统
- 内部安全监测:深入数据库内,对数据库内部安全的相关对象进行完整的扫描和检测,包括安全元数据、内部审计、安全配置检查、漏洞检测和版本补丁检测等
说明事务处理中可以回退和不可以回退的语句各有哪些?
- 可回退:
INSERT
,UPDATE
,DELETE
- 不可回退:
SELECT
,CREATE
,DROP
试述数据库中的访问控制机制
数据库不允许未经授权的用户对数据库进行操。用户标识和鉴别是系统提供的最外层的安全措施。由系统提供一定的方法让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识。每次用户要求进入系统时,由系统进行核实,通过鉴定后才能提供机器的使用权。
一些命令
# 创建基本表
CREATE TABLE 表名(
字段名1 类型(宽度,小数),
字段名1 类型(宽度,小数),
···
);
# 修改、删除基本表
ALTER TABLE <表名> <指令>(
<字段名1 类型(宽度,小数)>,
<字段名1 类型(宽度,小数)>,
···
);
DROP TABLE <表名>;
# 插入数据
INSERT INTO <表名> [(<字段名>,<字段名>,···)];
VALUES (<表达式1>,<表达式2>,···);
# SELECT 查询
SELECT <表达式1>,<表达式2>,··· //查询目标
FROM <关系1>,<关系2>,··· //查询的源(所有关系的关系名)
[WHERE <条件>]; //查询目标必须满足的条件
# 更新数据
UPDATE <表名>
SET <更新表达式>
[WHERE <条件>];
# 删除数据
DELETE
FROM <表名>
WHERE <条件>;