分类:软考/中级_信息安全工程师 来源:软考
阅读下列说明,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 安全目标的关键是实现安全的三大要素:机密性、完整性和可用性。对于一般性的信息类型的安全分类有以下表达形式: { (机密性,影响等级), (完整性,影响等级), (可用性,影响等级) } 在上述表达式中,"影响等级"的值可以取为低 (L)、中(M)、高(H) 三级以及不适用 (NA)。 |
问题:1.1
(6分) 请简要说明机密性、完整性和可用性的含义。 |
问题:1.2
(2 分) 对于影响等级"不适用"通常只针对哪个安全要素? |
问题:1.3
(3分) 如果一个普通人在它的个人 Web 服务器上管理其公开信息。请问这种公开信息的安全分类是什么? |
阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。 【说明】 Windows 系统的用户管理配置中,有多项安全设置,如图2-1 所示。 ![]() |
问题:2.1
(3分) 请问密码和帐户锁定安全选项设置属于图中安全设置的哪一项? |
问题:2.2
(3分) Windows的密码策略有一项安全策略就是要求密码必须符合复杂性要求,如果启用此策略,那么请问:用户 Administrator 拟选取的以下六个密码中的哪些符合此策略? 123456 Admin123 Abcd321 Admin@ test123 ! 123@host |
阅读下列说明,回答问题1至问题7,将解答写在答题纸的对应栏内。 【说明】 扫描技术是网络攻防的一种重要手段,在攻和防当中都有其重要意义。nmap是一个开放源码的网络扫描工具,可以查看网络系统中有哪些主机在运行以及哪些服务是开放的。 namp工具的命令选项: sS用于实现SYN扫描,该扫描类型是通过观察开放端口和关闭端口对探测分组的响应来实现端口扫描的。 请根据图 3-1 回答下列问题 ![]() |
问题:3.1
(2分) 此次扫描的目标主机的IP地址是多少? |
问题:3.2
(2 分) SYN扫描采用的传输层协议名字是什么? |
问题:3.3
(2分) SYN的含义是什么? |
问题:3.4
(4分) 目标主机开放了哪几个端口?简要说明判断依据。 |
问题:3.5
(3分) 每次扫描有没有完成完整的三次握手?这样做的目的是什么? |
问题:3.6
(5分) 补全表3-1所示的防火墙过滤器规则的空(1) - (5),达到防火墙禁止此类扫描流量进入和处出网络 ,同时又能允许网内用户访问外部网页服务器的目的。 表3-1 防火墙过滤器规则表 ![]() |
问题:3.7
(2 分) 简要说明为什么防火墙需要在进出两个方向上对据数据包进行过滤。 |
阅读下列说明,回答问题1至问题5,将解答写在答题纸的对应栏内。 【说明】 DES是一种分组密码,己知DES加密算法的某个S盒如表4-1所示。 ![]() |
问题:4.1
(4分) 请补全该S盒,填补其中的空(1) - (4),将解答写在答题纸的对应栏内。 |
问题:4.2
(2分) 如果该S盒的输入为110011,请计算其二进制输出。 |
问题:4.3
(6分) DES加密的初始置换表如下: ![]() 置换时,从左上角的第一个元素开始,表示输入的铭文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推。 DES加密时,对输入的64位明文首先进行初始置换操作。 若置换输入的明文M=0123456789ABCDEF(16进制),请计算其输出(16进制表示)。 |
问题:4.4
(2分) 如果有简化的DES版本,其明文输入为8比特,初始置换表IP如下: IP:2 6 3 1 4 8 5 7 请给出其逆初始置换表。 |
问题:4.5
(2分) DES加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥。请问,弱密钥的定义是什么? |
阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。 【说明】 在公钥体制中,每一用户U都有自己的公开密钥PKu和私钥SKu 。如果任意两个用户A和B按以下方式通信: A 发给B 消息 [EpKB (m),A] 。 其中 Ek(m)代表用密钥 K 对消息 m 进行加密。 B收到以后,自动向A返回消息【EPkA(m),B】,以使A 知道B确实收到消息m。 |
问题:5.1
(4分) 用户C怎样通过攻击手段获取用户A发送给用户B的消息m。 |
问题:5.2
(6 分) 若通信格式变为: A给B发消息:EPKB(ESKA(m),m ,A) B给A发消息: EpKA(EsKN (m),m,B) 这时的安全性如何?请分析A,B 此时是如何相互认证并传递消息的。 |
阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 基于Windows32位系统分析下列代码,回答相关问题 。 void Challenge(char *str) { char temp[9]={0}; strncpy(temp,str,8); printf("temp=%s\n",temp); if(strcmp(temp"Please!@")==0){ printf("KEY: ****"); } } int main(int argc,char *argv[ ]) { Char buf2[16] Int check=1; Char buf[8] Strcpy (buf2, "give me key! !"); strcpy(buf,argv[1]); if(check==65) { Challenge(buf); } else { printf("Check is not 65 (%d) \n Program terminated!!\n",check); } Return 0; } |
问题:6.1
(3 分) main 函数内的三个本地变量所在的内存区域称为什么?它的两个最基本操作是什么? |
问题:6.2
(3分) 画出buf,check,buf2 三个变量在内存的布局图。 ![]() |
问题:6.3
(2分) 应该给程序提供什么样的命令行参数值(通过argv变量传递)才能使程序执行流程进入判断语句 If(check=65)....然后调用challenge( )函数。 |
问题:6.4
(4分) 上述代码所存在的漏洞名字是什么,针对本例代码,请简要说明如何修正上述代码以修补次漏洞。 |