1、2016年下半年软件水平考试(中级)信息安全工程师下午(应用技术)真题试卷及答案与解析 一、试题一 0 阅读下列说明和图,回答问题 1至问题 4,将解答填入答题纸的对应栏内。 说明 研究密码编码的科学称为密码编码学,研究密码破译的科学称为密码分析学,密码编码学和密码分析学共同组成密码学。密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用。 1 问题 1 密码学的安全目标至少包括哪三个方面 ?具体内涵是什么 ? 2 问题 2 对下列违规安全事件,指出各个事件分别违反了安全目标中的哪些项。 (1)小明抄袭了小丽的家庭作业。 (2)小明私自修改了自己的成绩。 (3)小李窃取了小刘的学位证号码
2、、登录口令信息,并通过学位信息系统更改了小刘的学位信息记录和登录口令,将系统中小刘的学位信息用一份伪造的信息替代,造成小刘无法访问学位信息系统。 3 问题 3 现代密码体制的安全性通常取决于密钥的安全,为了保证密钥的安全,密钥管理包括哪些技术问题 ? 4 问题 4在图 11给出的加密过程中, Mi, i=1, 2, , n表示明文分组, Ci,i=1, 2, , n表示密文分组, Z表示初始序列, K表示密钥, E表示 分组加密过程。该分组加密过程属于哪种工作模式 ?这种分组密码的工作模式有什么缺点 ? 二、试题二 4 阅读下列说明和图,回答问题 1至问题 2,将解答填入答题纸的对应栏内。 说
3、明 访问控制是对信息系统资源进行保护的重要措施,适当的访问控制能够阻止未经授权的用户有意或者无意地获取资源。访问控制一般是在操作系统的控制下,按照事先确定的规则决定是否允许用户对资源的访问。图 21给出了某系统对客体traceroute mpg实施的访问控制规则。5 问题 1 针对信息系统的访问控制包含哪些基本要素 ? 6 问题 2 分别写出图 21中用户 Administrator对应三种访问控制实现方法,即能力表、访问控制表和访问控制矩阵下的访问控制规则。 三、试题三 6 阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 说明 防火墙是一种广泛应用的网络安全防御技术,
4、它阻挡对网络的非法访问和不安全的数据传递,保护本地系统和网络免于受到安全威胁。图 31给出了一种防火墙的体系结构。 7 问题 1 防火墙的体系结构主要有: (1)双重宿主主机体系结构; (2)(被 )屏蔽主机体系结构; (3)(被 )屏蔽子网体系结构。 请简要说明这三种体系结构的特点。 8 问题 2 (1)图 31描述的是哪一种防火墙的体系结构 ? (2)其中内部包过滤器和外部包过滤器的作用分别是什么 ? 9 问题 3设图 31中外部包过滤器的外部 IP地址为 10 20 100 1,内部 IP地址为 10 20 100 2;内部包过滤器的外部 IP地址为 10 20 100 3,内部 IP地
5、址为 192 168 0 1, DMZ中 Web服务器 IP为 10 20 100 6, SMTP服务器 IP为 10 20 100 8。关于包过滤器,要求实现以下功能: 不允许内部网络用户访问外网和 DMZ,外部网络用户只允许访问 DMZ中的 Web服务器和 SMTP服务器。内部包过滤器规则如表 31所示。请完成外部包过滤器规则表 32,将对应空缺表项的答案填入答题纸对应栏内。四、试题四 9 阅读下列说明,回答问题 1至问题 4,将解答写在答题纸的对应栏内。 说明 用户的身份认证是许多应用系统的第一道防线,身份识别对确保系统和数据的安全保密极其重要。以下过程给出了实现用户 B对用户 A身份的
6、认证过程。 1 A- B: A 2 B- A: B,Nbpk(A) 3 A- B: h(Nb) 此处 A和 B是认证实体, Nb是一个随机值, pk(A)表示实体 A的公钥, B,Nbpk(A)表示用 A的公钥对消息 B, Nb进行加密处理, h(Nb)表示用哈希算法 h对Nb计算哈希值。 10 问题 1 认证与加密有哪些区别 ? 11 问题 2 (1)包含在消息 2中的 “Nb”起什么作用 ? (2)“Nb”的选择应满足什么条件 ? 12 问题 3 为什么消息 3中的 Nb要计算哈希值 ? 13 问题 4 上述协议存在什么安全缺陷 ?请给出相应的解决思路。 五、试题五 13 试题五 阅读下列
7、说明和 代码,回答问题 1和问题 2,将解答写在答题纸的对应栏内。 说明 某一本地口令验证函数 (C语言环境, X8632指令集 )包含如下关键代码:某用户的口令保存在字符数组 origPassword中,用户输入的口令保存在字符数组userPassword中,如果两个数组中的内容相同则允许进入系统。 charorigPassword12=“Secret“; charuserPassword12; gets(userPassword); *读 取用户输入的口令 * if(Strncmp(origPassword, userPassword, 12)!=0) printf(“Passworddo
8、esntmatch! n“); exit(-1); *口令认证通过时允许用户访问 * 14 问题 1 用户在调用 gets()函数时输入什么样式的字符串,可以在不知道原始口令 “Secret”的情况下绕过该口令验证函数的限制 ? 15 问题 2 上述代码存在什么类 型的安全隐患 ?请给出消除该安全隐患的思路。 2016年下半年软件水平考试(中级)信息安全工程师下午(应用技术)真题试卷答案与解析 一、试题一 1 【正确答案】 密码学的安全目标包括:保密性、完整性、可用性。 保密性是确保信息仅被合法用户访问,而不被泄露给非授权用户、实体或过程,或供其利用的特性。 完整性是指所有资源只能由授权方或以
9、授权的方式进行修改,即信息未经授权不能进行改变的特性。 可用性是指所有资源在适当的时候可以由授权方访问,即信息可被授权实体访问并按需求使用的特性。 2 【正确答案】 (1)保密性 (2)完整性 (3)可用性、完整性、保密性 3 【正确答案】 密钥管理包括密钥的产生、存储、分配、组织、使用、停用、更换、撤销等技术问题。 4 【正确答案】 该加密过程属于 PCBC模式。 PCBC模式的缺点是:加密和解密错误传播无界;要求数据的长度是密码分组长度的整数倍,否则最后一个数据块将是短块,需要特殊处理。 【试题解析】 本题考查密码学的安全目标和密码系统的基本组成。 此类题目要求对计算机安全和密码学当中的一
10、些最基本又很重要的概念有一个非常清楚的理解。 问题 1 首先需要明 确的是,题目要求密码学的安全目标,而不是其他安全机制的安全目标。然后,题目要求至少给出三个,这个可以通过联想现实生活中密码的作用,能大致描述出密码学的安全目标。但在实际答题中,很多考生回答出了其大致含义,但用语不专业。另外,答题过程中,必须明确密码学保护的是合法用户,而不是非法用户或者非授权用户,也就是密码应用中的角色关系必须清晰。 问题 2 根据问题 1的定义以及本题目当中被保护的资产所发生的事件综合判断即可。 问题 3 现代密码体制中,加解密算法通常是公开的,因此其安全性通常只依赖于加解密密钥。密钥的安全性决定了密码体制的
11、安全性。由此导致一系列的密钥管理问题,显然这些管理涉及密钥的安全产生,不能是弱口令,密钥怎么样告诉解密方,也就是分发问题,密钥在加解密操作时,怎么保证安全等等。只要仔细分析密码系统的整个使用流程就不难回答此问题。 问题 4 本题考查分组密码的操作模式。从图中可以清楚看到各分组之间的加密关系,也就是上一个分组的明文和密文同时参与下一个明文的加密,由此得知加密的操作模式是 PCBC。 二、试题二 5 【 正确答案】 针对信息系统的访问控制包含主体、客体和授权访问三个要素。 6 【正确答案】 访问控制矩阵: 注:能力表和访问控制列表也可采用链表形式表示,具体如下: 【试题解析】 本题主要考查计算机系
12、统的访问控制技术。图中的实例采用Windows系统下的访问控制例子,也是最常使用的操作系统。 题目已经给出了访问控制模型中的主体、客体和访问规则,只需要根据访问控制的要素及其定义按照问题要求进行解答即可。 问题 1 根据信息系统的访问控制定义,涉及的要素主要是访问的主体,被访问的客体,以及主体如何访问 客体所需的访问规则。 问题 2 访问控制规则有很多描述方法,包括能力表、访问控制表和访问控制矩阵。上述方法的不同之处是维度不一样。 能力表是以主体为维度,考察主体所拥有的访问控制规则,如图中主体是Administrator,他的访问控制规则 (能力 )是可以对客体 Traceroute mpg进
13、行读取和运行。 访问控制列表则是从客体出发,考察客体本身可以被访问的控制规则。 访问控制矩阵则是二维描述,行表示主体,列表示客体。 三、试题三 7 【正确答案】 (1)双重宿主主机体系结构是指以一台双重宿主主机作为 防火墙系统的主体,执行分离外部网络与内部网络的任务。 (2)(被 )屏蔽主机体系结构是指通过一个单独的路由器和内部网络上的堡垒主机共同构成防火墙,主要通过数据包过滤实现内外网络的隔离和对内网的保护。 (3)(被 )屏蔽子网体系结构将防火墙的概念扩充至一个由两台路由器包围起来的周边网络,并且将容易受到攻击的堡垒主机都置于这个周边网络中。 8 【正确答案】 (1)该图描述的是 (被 )
14、屏蔽子网体系结构。 (2)外部包过滤器主要用于保护周边网路和内部网络,是屏蔽子网体系结构的第一道屏障。内部包过滤器主要用于隔离周边网 路和内部网络,是屏蔽子网体系结构的第二道屏障。 9 【正确答案】 (1)* (2)10 20 100 8 (3)10 20 100 8 (4)* (5)UDP (6)10 20 100 * (7)UDP (8)10 20 100 * 【试题解析】 本题主要考查主机安全中的防火墙技术,重点对防火墙的布局和过滤规则两个方面来设置考查的知识点。 该题要求对网络的拓扑结构,网络协议以及防火墙的体系架构有较好的理解。 问题 1 防火墙的体系结构由防火墙在网络中的位置以及采
15、取的过滤策略决定。本题考查考生对防 火墙各种布局和配置的掌握程度。双重宿主主机体系结构是一台主机隔离内外网,而屏蔽主机体系结构则是路由器和内部主机配合实现内外网隔离,屏蔽子网则是扩充 DMZ区域作为缓冲。 问题 2 根据图中的两台防火墙的结构隔离出单独的 DMZ区域,可知是屏蔽子网体系结构。外部防火墙保护内部网络和 DMZ之间的通信,内部防火墙过滤内部网络和DMZ之间的通信。 问题 3 首先根据题目所给的 IP地址和网络服务得到相关的 IP地址信息和端口信息(Web: 80端口, SMTP: 25端口 ),然后根据题目要求依次设置允许的和进制的过滤规则,最 后是全部拒绝的规则。 四、试题四 1
16、0 【正确答案】 认证与加密的区别在于:加密用以确保数据的保密性,阻止对手的被动攻击;而认证用以确保报文发送者和接收者的真实性以及报文的完整性,阻止对手的主动攻击。 11 【正确答案】 (1)Nb是一个随机值,只有发送方 B和 A知道,起到抗重放攻击作用。 (2)Nb的取值应当随机和不可预测。 12 【正确答案】 计算哈希值是为了使中间人无法知道 Nb的产生信息。 13 【正确答案】 存在重放攻击和中间人攻击的安全缺陷。针对重放攻击的解决思路是加入时间戳、验证 码等信息;针对中间人攻击的解决思路是加入针对身份的双向验证。 【试题解析】 本题主要考查密码协议的安全性,要求对密码协议所要求完成的各
17、项安全功能有明确的设计思路,例如双方身份的相互确认、数据如何加密、如何防止各种重放或者中间人劫持攻击等等。 问题 1 认证主要是对参与双方身份信息的核实和验证,而加密则是对数据的一种变换,确保实现保密性、完整性和可用性的安全目的。 问题 2 Nb是一个随机值,一方面确保 B发给 A的数据包无法预测,另一方面使用用户 A的公钥加密,确保只有用户 A才能解开,攻击者无法解开。 问题 3 用户 A收到 2号数据包以后回复 h(Nb),用于告诉用户 B用户 A已经收到上述消息,而且能得到 Nb说明用户 A的身份是真实的。用哈希值 h(Nb)回复也可以确保攻击者无法恢复 Nb。攻击者无法得知 的任何信息
18、。 问题 4 上述协议只有用户 A的身份是经过验证的,攻击者可以重复发送第二个数据包给A消耗计算资源。攻击者可以截获第一个包,伪造 A的身份,给 B发送包声称自己是 C,结果用户 B会以用户 C的公钥来加密,攻击者以 C的私钥解出数据包内容,得到 Nb的产生信息。 五、试题五 14 【正确答案】 输入字符串的样式 只要满足:前 12个字符和后续的 12个字符一样,就可以在不知道原始口令 “Secret”的情况下绕过该口令验证函数的限制。即字符串形如: 其中 str1与 str3前 12个字符完全一致, str2的长度刚好可以填充 userPassword和 origPassword之间堆栈缓冲
19、区的位置,且 str1str2str3所形成的字符串不会引起代码运行崩溃。 15 【正确答案】 存在缓冲区溢出攻击的安全隐患。解决思路是检查用户输入的口令的长度信息。 【试题解析】 随着软件安全问题的日益突出,各类安全漏洞层出不穷,本题旨 在表明安全开发和代码安全的重要性。本题针对 C程序设计中最常见的数据越界导致溢出攻击进行知识点的设置,本题考点也是最基础的堆栈溢出漏洞。 问题 1 根据变量 origPassword和 userPassword两个变量在堆栈中的布局,可知一旦给origPassword数组提供超过 12个字符的内容即可覆盖到 userPassword变量,再加上后续的比较函数采用定长的 12个字符来比较,因此只要通过 gets函数给origPassword和 userPassword两个数组提供一样的内容即可。 问题 2 上述代码的安全 问题是典型的堆栈溢出漏洞,可以对数组提供的内容进行长度检验,避免数组越界写入,防止安全漏洞。