1、计算机水平考试中级信息安全工程师 2017 年上半年下午案例分析真题及答案解析(总分:75.03,做题时间:90 分钟)试题一 (共 11 分) 阅读下列说明,回答问题 1 至问题 3,将解答写在答题纸的对 应栏内。 【说明】 安全目标的关键是实现安全的三大要素:机密性、完整性和可用性。对于一般性的信息类型的安全分类有以下表达形式: (机密性,影响等级), (完整性,影响等级), (可用性,影响等级) 在上述表达式中,“影响等级“的值可以取为低 (L)、中(M)、高(H) 三级以及不适用 (NA)。(分数:11.01)(1).【问题 1】(6 分) 请简要说明机密性、完整性和可用性的含义。 (
2、分数:3.67)_(2).【问题 2】(2 分) 对于影响等级“不适用“通常只针对哪个安全要素? (分数:3.67)_(3).【问题 3】(3 分) 如果一个普通人在它的个人 Web 服务器上管理其公开信息。请问这种公开信息的安全分类是什么?(分数:3.67)_试题二共 6 分 阅读下列说明,回答问题 1 和问题 2,将解答写在答题纸的对应栏内。 【说明】 Windows 系统的用户管理配置中,有多项安全设置,如图 2-1 所示。 (分数:6.00)(1).【问题 1】(3 分) 请问密码和帐户锁定安全选项设置属于图中安全设置的哪一项?(分数:3.00)_(2).【问题 2】(3 分 Wind
3、ows 的密码策略有一项安全策略就是要求密码必须符合复杂性要求,如果启用此策略, 那么请问:用户 Administrator 拟选取的以下六个密码中的哪些符合此策略? 123456 Admin123 Abcd321 Admin test123! 123host(分数:3.00)_试题三(共 20 分 阅读下列说明,回答问题 1 至问题 7,将解答写在答题纸的对应栏内。 【说明】 扫描技术是网络攻防的一种重要手段,在攻和防当中都有其重要意义。nmap 是一个开放源码的网络扫描工具,可以查看网络系统中有哪些主机在运行以及哪些服务是开放的。namp 工具的命令选项:sS 用于实现SYN 扫描,该扫描
4、类型是通过观察开放端口和关闭端口对探测分组的响应来实现端口扫描的。请根据图 3-1 回答下列问题。 (分数:20.02)(1).【问题 1】(2 分) 此次扫描的目标主机的 IP 地址是多少?(分数:2.86)_(2).【问题 2】(2 分) SYN 扫描采用的传输层协议名字是什么?(分数:2.86)_(3).【问题 3】(2 分) SYN 的含义是什么?(分数:2.86)_(4).【问题 4】(4 分) 目标主机开放了哪几个端口?简要说明判断依据。(分数:2.86)_(5).【问题 5】(3 分 每次扫描有没有完成完整的三次握手?这样做的目的是什么?(分数:2.86)_(6).【问题 6】(
5、5 分 补全表 3-1 所示的防火墙过滤器规则的空(1)-(5),达到防火墙禁止此类扫描流量进入和处出网络,同时又能允许网内用户访问外部罔页务器的目的。 (分数:2.86)_(7).【问题 7】(2 分) 简要说明为什么防火墙需要在迸出两个方向上对据数据包进行过滤。(分数:2.86)_试题四共 16 分 阅读下列说明,回答问题 1 至问题 5,将解答写在答题纸的对应栏内。 【说明】 DES 是一种分组密码,己知 DES 加密算法的某个 S 盒如表 4-1 所示。 . (分数:16.00)(1).【问题 1】(4 分) 请补全该 S 盒,填补其中的空(1)-(4),将解答写在答题纸的对应栏内。(
6、分数:3.20)_(2).【问题 2】(2 分 如果该 S 盒的输入为 110011,请计算其二进制输出。 (分数:3.20)_(3).【问题 3】 (6 分 DES 加密的初始置换表如下: (分数:3.20)_(4).【问题 4】 (2 分 如果有简化的 DES 版,其明文输入为 8 比特,初始置换表 IP 如下: IP: 2 6 3 1 4 8 5 7 请给出其逆初始置换表。(分数:3.20)_(5).【问题 5】 (2 分 DES 加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥。请问,弱密钥的定义是什么?(分数:3.20)_试题五共 10 分 阅读下列说明,回答问题 1 和问题
7、2,将解答写在答题纸的对应栏内。 【说明】在公钥体制中,每一用户 U 都有自己的公开密钥 PKu 和私钥 SKu。如果任意两个用户 A 和 B 按以下方式通信: A 发给 B 消息 EpKB(m),A。 其中 Ek(m)代表用密钥 K 对消息 m 进行加密。 B 收到以后,自动向 A 返回消息【EPkA(m),B】,以使 A 知道 B 确实收到消息 m。 (分数:10.00)(1).【问题 1】(4 分) 用户 C 怎样通过攻击手段获取用户 A 发送给用户 B 的消息 m。(分数:5.00)_(2).【问题 2】 (6 分) 若通信格式变为: A 给 B 发消息:EPKB(ESKA(m),m
8、,A) B 给 A 发消息: EpKA(EsKN (m),m,B) 这时的安全性如何?请分析 A,B 此时是如何相互认证并传递消息的。(分数:5.00)_试题六 共 12 分 阅读下列说明,回答问题 1 至问题 4 ,将解答写在答题纸的对 应栏内。 【说明】基于 Windows32 位系统分析下列代码,回答相关问题。 void Challenge(char *str) char temp9=0; strncpy(temp,str,8); printf(“temp=%s/n“,temp); if(strcmp(temp“Please!“)=0) printf(“KEY: *“); int mai
9、n(int argc,char *argv ) Char buf216 Int check=1; Char buf8 Strcpy (buf2, “give me key! !“); strcpy(buf,argv1); if(check=65) Challenge(buf); else printf(“Check is not 65 (%d) /n Program terminated!/n“,check); Return 0; (分数:12.00)(1).【问题 1】(3 分) main 函数内的三个本地变量所在的内存区域称为什么?它的两个最基本操作是什么?(分数:3.00)_(2).【问
10、题 2】(3 分) 画出 buf,check,buf2 三个变量在内存的布局图。 (分数:3.00)_(3).【问题 3】(2 分) 应该给程序提供什么样的命令行参数值(通过 argv 变量传递)才能使程序执行流程进入判断语句 If(check=65)然后调用 challenge( )函数。(分数:3.00)_(4).【问题 4】 (4 分) 上述代码所存在的漏洞名字是什么,针对本例代码,请简要说明如何修正上述代码以修补次漏洞。(分数:3.00)_计算机水平考试中级信息安全工程师 2017 年上半年下午案例分析真题答案解析(总分:75.03,做题时间:90 分钟)试题一 (共 11 分) 阅读
11、下列说明,回答问题 1 至问题 3,将解答写在答题纸的对 应栏内。 【说明】 安全目标的关键是实现安全的三大要素:机密性、完整性和可用性。对于一般性的信息类型的安全分类有以下表达形式: (机密性,影响等级), (完整性,影响等级), (可用性,影响等级) 在上述表达式中,“影响等级“的值可以取为低 (L)、中(M)、高(H) 三级以及不适用 (NA)。(分数:11.01)(1).【问题 1】(6 分) 请简要说明机密性、完整性和可用性的含义。 (分数:3.67)_正确答案:((1)机密性:维护对信息访问和公开经授权的限制,包括保护个人隐私和私有的信患。 (2)完整性:防止信息不适当的修改和毁坏
12、,包括保证信患的不可抵赖性和真实性。 (3)可用性:保证信息及时且可靠的访问和使用。)解析:(2).【问题 2】(2 分) 对于影响等级“不适用“通常只针对哪个安全要素? (分数:3.67)_正确答案:(“不适用”通常针对机密性。)解析:(3).【问题 3】(3 分) 如果一个普通人在它的个人 Web 服务器上管理其公开信息。请问这种公开信息的安全分类是什么?(分数:3.67)_正确答案:((机密性,NA),(完整性,M),(可用性,M))解析:试题二共 6 分 阅读下列说明,回答问题 1 和问题 2,将解答写在答题纸的对应栏内。 【说明】 Windows 系统的用户管理配置中,有多项安全设置
13、,如图 2-1 所示。 (分数:6.00)(1).【问题 1】(3 分) 请问密码和帐户锁定安全选项设置属于图中安全设置的哪一项?(分数:3.00)_正确答案:(帐号策略)解析:(2).【问题 2】(3 分 Windows 的密码策略有一项安全策略就是要求密码必须符合复杂性要求,如果启用此策略, 那么请问:用户 Administrator 拟选取的以下六个密码中的哪些符合此策略? 123456 Admin123 Abcd321 Admin test123! 123host(分数:3.00)_正确答案:(Abcd321 test123! 123host)解析:试题三(共 20 分 阅读下列说明,
14、回答问题 1 至问题 7,将解答写在答题纸的对应栏内。 【说明】 扫描技术是网络攻防的一种重要手段,在攻和防当中都有其重要意义。nmap 是一个开放源码的网络扫描工具,可以查看网络系统中有哪些主机在运行以及哪些服务是开放的。namp 工具的命令选项:sS 用于实现SYN 扫描,该扫描类型是通过观察开放端口和关闭端口对探测分组的响应来实现端口扫描的。请根据图 3-1 回答下列问题。 (分数:20.02)(1).【问题 1】(2 分) 此次扫描的目标主机的 IP 地址是多少?(分数:2.86)_正确答案:(192.168.220.1)解析:(2).【问题 2】(2 分) SYN 扫描采用的传输层协
15、议名字是什么?(分数:2.86)_正确答案:(TCP 协议)解析:(3).【问题 3】(2 分) SYN 的含义是什么?(分数:2.86)_正确答案:(同步信号,是 TCP/IP 建立连接时使用的握手信号。)解析:(4).【问题 4】(4 分) 目标主机开放了哪几个端口?简要说明判断依据。(分数:2.86)_正确答案:(目标主机开放的端口为:135、139 判断依据:如果端口开放,目标主机会响应扫描主机的SYN/ACK 连接请求;如果 端口关闭,则目标主机会向扫描主机发送 RST 的响应。)解析:(5).【问题 5】(3 分 每次扫描有没有完成完整的三次握手?这样做的目的是什么?(分数:2.8
16、6)_正确答案:(没有完成。这样做即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。)解析:(6).【问题 6】(5 分 补全表 3-1 所示的防火墙过滤器规则的空(1)-(5),达到防火墙禁止此类扫描流量进入和处出网络,同时又能允许网内用户访问外部罔页务器的目的。 (分数:2.86)_正确答案:(1) UDP (2) * (3) 80 (4) 0 (5) 1)解析:(7).【问题 7】(2 分) 简要说明为什么防火墙需要在迸出两个方向上对据数据包进行过滤。(分数:2.86)_正确答案:(在进入方向过滤是为了防止被人攻击,而在出口方向过滤则是为了防止自己成为攻击的源头或跳板。
17、)解析:试题四共 16 分 阅读下列说明,回答问题 1 至问题 5,将解答写在答题纸的对应栏内。 【说明】 DES 是一种分组密码,己知 DES 加密算法的某个 S 盒如表 4-1 所示。 . (分数:16.00)(1).【问题 1】(4 分) 请补全该 S 盒,填补其中的空(1)-(4),将解答写在答题纸的对应栏内。(分数:3.20)_正确答案:(1) 10 (2) 6 (3) 1 (4) 11)解析:(2).【问题 2】(2 分 如果该 S 盒的输入为 110011,请计算其二进制输出。 (分数:3.20)_正确答案:(0100)解析:(3).【问题 3】 (6 分 DES 加密的初始置换
18、表如下: (分数:3.20)_正确答案:(M=(0123456789ABCDEF)16=(00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111)2 经过 IP 置换,结果为: M=(11001100 00000000 11001100 11111111 11110000 10101010 11110000 10101010)2=(CC00CCFFF0AAF0AA)16)解析:(4).【问题 4】 (2 分 如果有简化的 DES 版,其明文输入为 8 比特,初始置换表 IP 如下: IP: 2 6 3 1
19、4 8 5 7 请给出其逆初始置换表。(分数:3.20)_正确答案:(4 1 3 5 7 2 8 6)解析:(5).【问题 5】 (2 分 DES 加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥。请问,弱密钥的定义是什么?(分数:3.20)_正确答案:( 弱密钥不受任何循环移位的影响,并且只能得到相同的子密钥,由全 0 或者全 1 组成的密钥显然是弱密钥,子密钥生成过程中被分割的两部分分别为全 0 或者全 1 时,也是弱密钥。)解析:试题五共 10 分 阅读下列说明,回答问题 1 和问题 2,将解答写在答题纸的对应栏内。 【说明】在公钥体制中,每一用户 U 都有自己的公开密钥 PKu
20、和私钥 SKu。如果任意两个用户 A 和 B 按以下方式通信: A 发给 B 消息 EpKB(m),A。 其中 Ek(m)代表用密钥 K 对消息 m 进行加密。 B 收到以后,自动向 A 返回消息【EPkA(m),B】,以使 A 知道 B 确实收到消息 m。 (分数:10.00)(1).【问题 1】(4 分) 用户 C 怎样通过攻击手段获取用户 A 发送给用户 B 的消息 m。(分数:5.00)_正确答案:(攻击用户 C 可以通过以下手段获取报文 m: 1. 用户 C 截获消息:(EPKB(m),A) 2. 用户 C 篡改消息:(EPKB(m),C) 3. 用户 B 返回消息:(EPKB(m)
21、,B) 4. 用户 C 成功解密,最后得到明文m。)解析:(2).【问题 2】 (6 分) 若通信格式变为: A 给 B 发消息:EPKB(ESKA(m),m ,A) B 给 A 发消息: EpKA(EsKN (m),m,B) 这时的安全性如何?请分析 A,B 此时是如何相互认证并传递消息的。(分数:5.00)_正确答案:(安全性提高了,能实现加密和认证的双重任务。 第一步,A 发给 B 消息是 A 首先用自己的密钥 SKA 对消息 m 加密,用于提供数字签名,再用接收方的公开钥 PKB 第 2 次加密,密文中包括明文的消息和 A 的身份信息。 第二步,接收方 B 收到密文,用自己的私钥先解密
22、,再用对方的公钥验证发送方的身份是 A ,实现了 B 对 A 的认证,并获取了明文。 第三步,B 发给 A 消息是 B 首先用自己的私钥 SKB对消息 m 加密并签名,再用 A 的公开钥 PKA 第 2 次加密,密文中包括明文的信息和 A 的身份信息,还有 B 对接收的 m 的签名密文。 第四步,只有 A 才能用自己的私钥打开 B 送过来的密文,并且验证是 B 的签名,实现了 A 对 B 的认证, 当 A 看见原样返回的 m,就知道 B 收到了 A 发送的明文 m 了。)解析:试题六 共 12 分 阅读下列说明,回答问题 1 至问题 4 ,将解答写在答题纸的对 应栏内。 【说明】基于 Wind
23、ows32 位系统分析下列代码,回答相关问题。 void Challenge(char *str) char temp9=0; strncpy(temp,str,8); printf(“temp=%s/n“,temp); if(strcmp(temp“Please!“)=0) printf(“KEY: *“); int main(int argc,char *argv ) Char buf216 Int check=1; Char buf8 Strcpy (buf2, “give me key! !“); strcpy(buf,argv1); if(check=65) Challenge(bu
24、f); else printf(“Check is not 65 (%d) /n Program terminated!/n“,check); Return 0; (分数:12.00)(1).【问题 1】(3 分) main 函数内的三个本地变量所在的内存区域称为什么?它的两个最基本操作是什么?(分数:3.00)_正确答案:(堆栈 PUSH 和 POP)解析:(2).【问题 2】(3 分) 画出 buf,check,buf2 三个变量在内存的布局图。 (分数:3.00)_正确答案:( )解析:(3).【问题 3】(2 分) 应该给程序提供什么样的命令行参数值(通过 argv 变量传递)才能使程序执行流程进入判断语句 If(check=65)然后调用 challenge( )函数。(分数:3.00)_正确答案:( 用户输入 9 个字符的字符串,使其满足条件:前 8 个字符为任意字符和第 9 个字符为大写字母 A。)解析:(4).【问题 4】 (4 分) 上述代码所存在的漏洞名字是什么,针对本例代码,请简要说明如何修正上述代码以修补次漏洞。(分数:3.00)_正确答案:( 缓冲区溢出。使用安全函数 stmcpy()来代替 strcpy() 函数。)解析: