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