信息系统安全复习提纲

第一章

信息系统安全包括:设备安全,数据安全,内容安全,行为安全。数据安全即传统的信息安全。

设备的安全是信息安全的首要问题,包括设备的稳定性,可靠性,可用性。

数据安全值采取措保报数据免受未授权的泄露,篡改和毁坏,包括数据的秘密性,数据的真实性,数据的完整性。

攻击分为主动攻击和被动攻击

被动攻击

攻击者在未被授权的情况下,对传输的信息进行窃听和监测以非法获取信息或数据文件,但不对数据信息做任何修改。

手段:

  1. 搭线监听:将导线达到无人值守的网络传输线路上进行监听
  2. 无限截获:通过对电磁信号的分析获得网络数据
  3. 其他截获:种植木马病毒,将有用信息发送出来
  4. 流量分析:分析通信双方的流量参数获取信息。

主动攻击

对数据进行篡改和伪造。

手段:

  1. 伪装 指一个实体假冒另一个实体
  2. 重放 攻击者对截获的数据进行复制,并在非授权的情况下进行传输。
  3. 篡改 对合法信息的某些部分进行修改、删除、或者延迟消息的传输、改变消息的传输顺序。
  4. 拒绝服务:阻止或者禁止信息系统的正常使用。

主动攻击的特点与被动攻击正好相反,被动攻击虽然难以预测,但是可采取措施有效防止,而要防止主动攻击是十分困难的,因为需要保护的范围太大了。对付主动攻击的重点在于检测并从攻击造成的破坏中及时修复。

信息系统安全的目标是保护信息的机密性,完整性,可用性,认证和不可否认性

image-20210629100157813

从计算机安全属性来看,攻击可分为4类:阻断供给、截取攻击、篡改攻击、伪造攻击等。
阻断攻击是系统的资源被破坏,无法提供用户使用,这是针对可用性的攻击。
截取攻击是非授权者得到资源的访问,这是针对机密性的攻击。
篡改攻击是非授权者不仅访问资源,而且能修改信息,这是一种针对完整性的攻击。
伪造攻击是非授权者在系统中插入伪造的信息

第二章

第三章

第四章 身份认证

  • 概述:

身份认证是信息系统的第一道安全防线,包括标识鉴别 两个过程

  • 身份认证方式

需要掌握挑战应答方式
要学会区别基于时间同步的还是挑战应答的

基于一次性口令认证是我们最常用的一种认证方式,根据动态因素的不同,分为同步认证技术和异步认证技术。其中同步认证技术又分为基于时间同步认证技术 和基于事件同步认证技术。异步认证技术即为挑战/应答认证技术

基于时间同步认证技术

把流逝的时间作为变动因子(60秒作为变化单位,用“滑动窗口”技术)。用户密钥卡和认证服务器所产生的密码在时间上必须同步。 具有操作简单,携带方便等优点,难点在于需要解决网络延迟等不确定因素带来的干扰。如动态令牌,手机令牌。

挑战/应答方式

应用最广泛一次性口令实现方式

基本原理:每次认证时,服务器产生一个随机数(称为挑战)发送给客户端,客户端以该随机数作为不确定因素,用某种单向算法计算出结果作为应答,服务器通过验证应答的有效性来判断客户端身份的合法性。其最为经典的方案是S/Key协议 分为两个过程:注册过程和认证过程。注册过程只执行一次,而认证过程则在用户的每次登录时都要执行。

挑战应答进本工作过程

基于PKI技术体系的USB Key 认证原理:

USB Key中预置了加密算法,摘要算法,秘钥生成算法等,可利用秘钥生成算法首先为用户生成一对公/私钥,私钥保存在USB Key中,公钥可以导出向CA申请生成数字证书,数字证书也保存在USB Key中。在进行客户端身份认证时,客户端向服务器发送数字证书,服务端利用CA的公钥验证数字证书的真实性,完后才能对客户端身份的认证,客户端可也要求服务端发送数字证书以验证服务端的真实身份

这里无重点,但是要知道这种认证方式。

  • 身份认证协议

包括单向认证协议和双向认证协议

自行设计一个利用对称密码体制实现双向认证的协议

对称密码体制实现双向认证

自行设计一个利用公钥密码体制实现双向认证的协议

公钥密码体制实现双向认证

  • 课后选择题

课后选择题

第五章 访问控制

本章老师未强调5.1 着重说的5.2访问控制策略

访问控制策略

自主访问控制(DAC)是指资源的所有者(创建者),对于其拥有的资源,可以自主地将访问权限分发给其他主体,即确定这些主体对于资源有怎样的访问权限,是最常用的访问控制机制。


  • 实现机制
  1. 访问控制矩阵

访问控制矩阵是最初实现访问控制机智的概念模型,它利用二维矩阵规定了任意主题和任意客体间的访问权限。矩阵中的行代表主体的访问权限属性,矩阵中的列代表客体的访问权限属性,矩阵中的每一格表示所在行的主体对所在列的客体的访问授权。(Own表示所在行主体是所在列客体的属主,可以自主授予或回收其他用户对其拥有客体的访问权限,即拥有对客体管理的权限,R读操作,W写操作)

访问控制矩阵

  1. 访问控制列表

访问控制列表是按矩阵的列实施对系统中客体的访问控制,每个客体有一个访问控制列表。

访问控制列表

  1. 访问能力表

访问能力表是按矩阵的行实施对系统中客体的访问控制,每个主体有一个访问能力表

访问能力表

  • DAC特点

自主访问控制的最大特点是自主,即资源的拥有者对其资源的访问控制策略具有决策权,因此是一种限制比较弱的访问控制策略。这种机制允许用户自主地将客体的访问操作权转授给别的客体,全力多次转授后,一旦转授给不可信主题,那么客体的信息就会泄露。

DAC的另一个缺点就是无法抵御特洛伊木马的攻击,

① 在DAC机制下,某一合法用户可以任意运行一段程序修改自己文件的访问权限,系统无法区分这是合法用户的修改还是木马程序的非法修改,

② 躲在用户程序中的木马利用合法用户身份读敏感文件的机会,把所访问的文件的内容复制到入侵者的临时目录下,而DAC无法阻止

在强制访问控制中,每个主体(进程)和客体(文件、消息队列、共享存储区等)都被赋予一定的安全属性,并且安全属性只能由管理部门(安全管理员)或操作系统按照严格的规则进行设置。


两种模型:

  • BLP模型

两个基本规则:

  1. 简单安全性:主体的保密级别不小于客体的保密级别,主体的范畴集包含客体的全部范畴,即主体只能向下读
  2. *特性:客体的保密级别不小于主体的保密级别,客体的范畴集包含主题的全部范畴,即主体只能向上写。

BLP模型简单概括为向上写,向下读。

多级安全规则

运用BLP模型的 * 特性可有效防范特洛伊木马。前面介绍过木马窃取敏感文件的方法有两种,一是通过修改敏感文件的访问权限来获取敏感信息,在DAC机制下,某一合法用户可以任意运行一段程序修改自己文件的访问权限,系统无法区分这是合法用户的修改还是木马程序的非法修改,但在MAC下,杜绝了用户修改客体安全属性的可能,因此木马利用这种方法窃取敏感信息是不可能的;二是特洛伊木马伪装成正常的程序,例如一个小游戏、一个小工具,诱使用户下载运行,而实际当运行带有木马的程序时,木马会利用合法用户的身份读取敏感信息,把所访问的文件复制到人侵者的临时目录下,这在DAC机制下是完全可以做到的,然而在*特性下, 能阻止正在机密安全级上运行的木马,把机密信息写到一个低安全级别的文件中,因为机密级进程写的每条消息的安全级至少是机密级的。

  • Biba模型

Biba模型是BLP模型的变体,它的主要目的是保护数据完整性。

将策略分为自主策略和非自主策略

非自主策略主体对客体的访问权限取决于主体和客体的完整性级别。主体只能向上读,向下写。

这里没有重点,要知道有这个访问控制即可

  • 课后选择题

课后选择题

第六章 操作系统安全 —了解

  • 进程的状态和转换
  1. 运行态:进程占用处理器运行的状态
  2. 就绪态:进程具备运行条件,等待系统分配处理器以便其运行的状态
  3. 等待态:进程不具备运行条件,正在等待某个事件完成的状态

进程基本状态转换

  • 存储保护

在分页存储管理系统中,存储保护可以从两个方面实现,一个方面是在进行地址变换时,程序执行产生的页号应该小于页表长度,否则视为越界访问,有点类似于基址-限长存储保护;另一方面,可在页表中增加存取控制和存储保护的信息,通常的做法是在页表中增加标志位,指出此页的信息只读/读写/只可执行/不可访问等,当要访问某页时,先判断该页的存取控制和存储保护信息是否允许。例如,欲向只读页写入信息则指令停止执行。

  • 最小特权管理的基本思想

是系统不应赋予用户超过其执行任务所需特权以外的特权,或者说仅给用户赋予必不可少的特权,最小特权原则一方面赋予主体“必不可少”的特权以保证用户能完成承担的任务或操作,另一放面它仅给用户“必不可少的特权从而能限制用户所能进行的操作。

第七章 数据库系统安全

这里主要提到了备份技术的数据备份

  • 事务

事务是数据库系统的逻辑工作单元,其四大特性:

  1. 原子性:事务中包括的诸操作要么都做,要么都不做。
  2. 一致性:事务执行的结果必须是使诗句哭从一个一致性状态变到另一个一致性状态。
  3. 隔离性:一个事务的执行不能被其他事务干扰
  4. 持久性:一个事务一旦提交,它对数据库中数据的改变就应该是永久性的
  • 备份技术

备份技术分为日志和数据备份。日志可以提供针对事务故障和系统故障的数据恢复,为了在发生介质故障造成此盘上数据丢失时也能进行数据库恢复,通常还需要采用数据备份技术。

静态备份是在系统中无运行事务时进行的备份,这种备份方法简单,并且能够得到一个一致性的副本,但会降低数据库的可用性。

动态备份是指备份期间允许对数据库进行存取或修改,即备份和用户事务可以并发执行。动态备份可以克服静态备份的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,备份结束时后援副本上的数据并不能保证正确有效。

第八章 信息系统安全评价标准和等级保护

两种标准TCSEC和CC

两种标准 TCSEC和CC

信息系统评估标准发展历史

  • TCSEC的安全等级

我也不知道这哪有重点,好像记个C2得了。

TCSEC的首次引用在C2层

  • CC标准三部分

第一部分“简介和一般模型”介绍了CC中的有关术语、基本概念和一般模型以及与评估有关的一些框架,附录部分主要介绍了保护轮廓(PP)和安全目标(ST)的基本内容。

第二部分“安全功能要求”按“类族组件”的方式提出安全功能要求,提供了表示评估对象(Target Of Evaluation,TOE)安全功能要求的标准方法。TOE是指被评估的信息技术产品、系统或子系统,如防火墙、计算机网络系统、密码模块,以及相关的用户指南和设计方案等。除正文以外,每一个类还有对应的提示性附录作进一步的解释。

第三部分“安全保证要求”定义了评估保证级别,建立了一系列安全保证组件作为表示TOE保证正要求的标准方法。第三部分列出了一系列保证组件、族和类,还定义了PP和ST的评估准则,并提出了评估保证级别。

第九章 信息系统安全风险评估

风险评估方法:定量 定性 相结合 有一定认识

定量评估方法:运用数量指标来对风险进行评估,通过对风险相关的所有要素复制实现对风险评估结果的量化。

定性评估方法:主要依据研究者的知识、经验、历史教训、政策走向、及特殊变量等非量化资料对系统风险状况趉判断的过程。

定性与定量相结合的综合评估方法

机密性 完整性 可控性?

风险评估的过程

风险评估过程

风险计算原理 三个计算环节 267页

  1. 计算安全时间发生的可能性
  2. 计算安全时间发生后的损失
  3. 计算风险值

计算风险值

矩阵法:主要构造一个二维矩阵,形成安全事件发生的可能性与安全事件的损失之间的二维关系

相乘法:通过构造经验函数,将安全事件发生的可能性与安全事件的损失进行运算得到风险值

风险值计算 两种常用方法 例子会

第十章 恶意代码检测与防范技术

计算机病毒一般特征

  • 计算机病毒特征

传染性,潜伏性,触发性,非授权执行,破坏性

  • 计算机病毒的工作过程

主控模块在总体上控制病毒程序的运行,基本动作如下:

①调用感染模块,进行感染 ②调用触发模块,接收其返回值
③如果返回值真,执行破坏模块 ④如果返回假值,执行后续程序

除上述外,还有如下动作

①调查运行环境。

②常驻内存的病毒要做包括请求内存区、传送病毒代码、修改终端矢量等动作,这些动作都是由主控模块进行的。

③病毒在遇到意外情况时,必须能流畅运行,不应死锁。

伪代码病毒结构解释

  • 计算机病毒检测的方法
长度检测法 病毒签名检测法
特征代码检测法 校验和法
行为监测法 软件模拟法
感染实验法 没啦
  • 木马的功能
  1. 窃取数据
  2. 远程控制
  3. 远程文件管理
  4. 打开未授权的服务
  • 木马的攻击步骤

配置木马——传播木马——运行木马——信息泄露——建立连接——远程控制

  • 木马的检测与防范
  1. 检查本地文件
  2. 检查端口及连接
  3. 检查系统进程
  4. 检查注册表
  5. 检查系统配置文件
  • 蠕虫

蠕虫是一种可以自我复制的代码,并且通过网络传播

  • 病毒和蠕虫的区别

蠕虫是通过网络传播,而病毒不一定要通过网络传播。病毒主要感染的文件系统,在其传染的过程中,计算机使用者是传染的触发者,需要用户运行一个程序或打开文档以调用恶意代码,而蠕虫主要利用计算机系统漏洞进行传染,不需要宿主文件,搜索到网络中存在漏洞的计算机后主动进行攻击,在传染的过程中,无需通过认为干预。

病毒与蠕虫的区别

例:红色代码蠕虫

  • 蠕虫的结构和工作机制

蠕虫功能模块划分为主体功能模块和辅助功能模块

主体功能模块用来实现蠕虫自我传播

辅助功能模块可以增强蠕虫的破坏力

网络蠕虫的工作机制

第十一章 应用系统安全

冲击波 震荡波

缓冲区溢出原理 原因 构造一个缓冲区溢出的攻击过程 297页

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
#define PASSWD "1234567890"
int verify_ passwd(char * passwd){
int authenticated;
char buffer[8];
authenticated = strcmp(passwd, PASSWD);
strcpy(buffer, passwd) ;
return authenticated;
main(){
int valid_ flag= O;
char passwd[ 1024];
while(1)[
printf("please input passwd:");
scanf(" % s", passwd);
valid_ flag= verify_ passwd( passwd);
if(valid_ flag)
pr intf(" incorrect passwd! n(n" );
else
printf("Correct password! n");
break;
}
}
}

image-20210621214446362

web应用漏洞 sql注入 和跨站脚本 构造sql语句 原理

原理:

用户提交恶意请求,而Web程序对用户提交的参数未做过滤就直接构造SQL语句,就会似的数据库服务器执行攻击者精心构建的SQL语句或者语句序列,从而达到破坏数据库,获取机密数据,甚至可能盗取数据库服务器的管理员权限的目的,这种攻击成为SQL注入攻击。

示例代码:

可以在登录用户名表单中输入:”test ‘or 1= 1 —“

1
2
3
SELECT ID
FROM USERS
WHERE UAERNAME = 'text' or 1 = 1 -- 'AND PASSWD = ''

1=1在逻辑判断上是恒成立的,后面的“-”表示注释,这样的SQL语句恒为真。

  1. 反射型XSS
  2. 存储型XSS
  3. DOM型XSS

跨站脚本分为三类

安全审计 以及一般流程