计算机等级考试信息安全技术解答题八套+答案.docx
《计算机等级考试信息安全技术解答题八套+答案.docx》由会员分享,可在线阅读,更多相关《计算机等级考试信息安全技术解答题八套+答案.docx(53页珍藏版)》请在冰点文库上搜索。
计算机等级考试信息安全技术解答题八套+答案
试题1
1、为了构建一个简单、安全的"客户机/服务器"模式的应用系统,要求:
①能安全存储用户的口令(无须解密);②用户口令在网络传输中需要被保护;③用户与服务器需要进行密钥协商,以便在非保护信道中实现安全通信;④在通信过程中能对消息进行认证,以确保消息未被篡改。
(共10分)
假设要构建的应用系统允许使用MD5、AES、Diffie-Hellman算法,给定消息m,定义MD5(m)和AES(m)分别表示对m的相应处理。
为了准确地描述算法,另外定义如下:
给定数x、y和z,x*y表示乘法运算,x/y表示除法运算,x^y表示指数运算,而x^(y/z)表示指数为y/z。
请回答下述问题:
(1)为了安全存储用户的口令,服务器需要将每个用户的口令采用_____【1】______算法运算后存储。
(1分)
(2)在建立安全通信前,用户需要首先提交用户名和口令到服务器进行认证,为了防止口令在网络传输中被窃听,客户机程序将采用_____【2】______算法对口令运算后再发送。
(1分)
(3)为了在服务器和认证通过的用户之间建立安全通信,即在非保护的信道上创建一个会话密钥,最有效的密钥交换协议是_____【3】_______算法。
(2分)
(4)假定有两个全局公开的参数,分别为一个素数p和一个整数g,g是p的一个原根,为了协商共享的会话密钥:
首先,服务器随机选取a,计算出A=____【4】________modp,并将A发送给用户;(1分)
然后,用户随机选取b,计算出B=_______【5】_____modp,并将B发送给服务器;(1分)
最后,服务器和用户就可以计算得到共享的会话密钥key=_______【6】_____modp。
(2分)
(5)为了同时确保数据的保密性和完整性,用户采用AES对消息m加密,并利用MD5产生消息密文的认证码,发送给服务器;假设服务器收到的消息密文为c,认证码为z。
服务器只需要验证z是否等于______【7】______即可验证消息是否在传输过程中被篡改。
(2分)
2、为了增强数据库的安全性,请按操作要求补全SQL语句:
(每空1分,共5分)
(1)创建一个角色R1:
_____【8】_______R1;
(2)为角色R1分配Student表的INSERT、UPDATE、SELECT权限:
_____【9】_______INSERT,UPDATE,SELECTONTABLEStudentTOR1;
(3)减少角色R1的SELECT权限:
_____【10】_______ONTABLEStudentFROMR1;
(4)将角色R1授予王平,使其具有角色R1所包含的全部权限:
_____【11】_______TO王平;
(5)对修改Student表数据的操作进行审计:
_____【12】_______UPDATEONStudent;
3)下图是TCP半连接扫描的原理图。
其中,图1为目标主机端口处于监听状态时,TCP半连接扫描的原理图;图2为目标主机端口未打开时,TCP半连接扫描的原理图。
请根据TCP半连接扫描的原理,补全扫描过程中各数据包的标志位和状态值信息。
(每空1分,共10分)
请在下表中输入A-J代表的内容
A:
_____【13】_______
B:
_____【14】_______
C:
____【15】________
D:
_____【16】_______
E:
_____【17】______
F:
_____【18】______
G:
_____【19】______
H:
_____【20】_______
I:
_____【21】_______
J:
_____【22】______
4、一个程序运行中进行函数调用时,对应内存中栈的操作如下:
(每空1分,共5分)
第一步,____【23】________入栈;
第二步,____【24】________入栈;
第三步,_____【25】_______跳转;
第四步,ebp中母函数栈帧____【26】________入栈;
第五步,_____【27】_______值装入ebp,ebp更新为新栈帧基地址;第六步,给新栈帧分配空间。
1)【解题思路】
本题考点为MD5、AES、Diffie-Hellman算法的特性以及算法的具体实现过程。
MD5的典型应用是对一段信息产生信息摘要,以防止被篡改。
AES算法基于排列和置换运算。
排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。
AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。
Diffie-Hellman:
一种确保共享KEY安全穿越不安全网络的方法,它是OAKLEY的一个组成部分。
【参考答案】
(1)为了安全存储用户的口令,需要对用户口令进行加密,采用MD5算法。
因此【1】处应该填入:
MD5
(2)MD5算法对信息进行摘要,防止被篡改。
因此【2】处应该填入:
MD5
(3)Diffie-Hellman:
一种确保共享KEY安全穿越不安全网络的方法。
因此【3】处应该填入:
Diffie-Hellman。
(4)Diffie-Hellman密钥交换算法1、有两个全局公开的参数,一个素数P和一个整数g,g是P的一个原根。
?
2、假设用户A和B希望交换一个密钥,用户A选择一个作为私有密钥的随机数a
mod?
p。
A对XA的值保密存放而使YA能被B公开获得。
类似地,用户B选择一个私有的随机数b
p?
。
B对XB的值保密存放而使YB能被A公开获得。
?
3、用户产生共享秘密密钥的计算方式是K=g^(a*b)?
mod?
p。
因此【4】应填入:
g^a
【5】应填入:
g^b
【6】应填入:
g^(a*b)
(5)用MD5算法对获得消息的摘要,然后和原摘要比较。
因此【7】应填入:
MD5(c)。
2)【解题思路】本题主要考察队SQL语句的熟悉了解程度。
【参考答案】
(1)【解析】创建角色语句CREATEROLE,因此【8】应填入:
CREATEROLE
(2)【解析】为用户分配角色权限指令GRANT+权限to某用户;因此【9】应填入:
GRANT
(3)【解析】减少权限指令REVOKE+权限名;因此【10】应填入:
REVOKESELECT
(4)【解析】和
(2)同;【11】应填入:
GRANTR1
(5)【解析】审计指令AUDIT;因此【12】应填入AUDIT
3)【解题思路】本题主要考察TCP半连接原理和三次握手协议。
【参考答案】
第一次握手:
建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:
服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据,
如果端口扫描没有完成一个完整的TCP连接,在扫描主机和目标主机的一指定端口建立连接时候只完成了前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,这样的端口扫描称为半连接扫描,也称为间接扫描。
因此各空填写如下:
【13】应填入:
syn;【14】应填入:
1;【15】应填入:
syn;【16】应填入:
ack
【17】应填入:
rst;【18】应填入:
ack;【19】应填入:
syn;【20】应填入:
1;【21】应填入:
rst
【22】应填入:
ack
4)【解题思路】
本题主要考察程序运行过程中函数调用及栈操作。
【参考答案】
首先,主调函数把EAX,ECX和EDX压栈。
这是一个可选的步骤,只在这三个寄存器内容需要保留的时候执行此步骤。
接着把传递给被调函数的参数一一进栈,最后的参数最先进栈。
最后,主调函数用call指令调用子函数;当call指令执行的时候,EIP指令指针寄存器的内容被压入栈中。
因为EIP寄存器是指向主调函数中的下一条指令,所以现在返回地址就在栈顶了。
在call指令执行完之后,下一个执行周期将从被调函数的标记处开始。
EBP寄存器现在正指向主调函数的栈帧中的某个位置,这个值必须被保留,因此,EBP进栈。
然后ESP的内容赋值给了EBP。
这使得函数的参数可以通过对EBP附加一个偏移量得到,而栈寄存器ESP便可以空出来做其他事情。
因此【23】应填入:
参数;【24】应填入:
返回地址;【25】应填入:
代码区;【26】应填入:
基址指针;【27】应填入:
esp
试题二
1、为了构建一个简单、安全的"客户机/服务器"模式的应用系统,要求:
①能安全存储用户的口令(无须解密),且对网络传输中的口令进行保护;②使用第三方权威证书管理机构CA来对每个用户的公钥进行分配。
(共10分)
假设要构建的应用系统只允许使用MD5、AES、RSA算法。
请回答下述问题:
(1)为了安全存储用户的口令,服务器需要将每个用户的口令采用_____【1】_______算法运算后存储。
为了能通过用户名和口令实现身份认证,用户将采用相同的算法对口令运算后发送给服务器。
(1分)
(2)SHA算法的消息摘要长度为_____【2】_______位。
(1分)
(3)用户可将自己的公钥通过证书发给另一用户,接收方可用证书管理机构的_____【3】_______对证书加以验证。
(2分)
(4)要实现消息认证,产生认证码的函数类型有三类:
消息加密、消息认证码和______【4】______。
(1分)
(5)为了确保RSA密码的安全,必须认真选择公钥参数(n,e):
模数n至少_____【5】_______位;为了使加密速度快,根据"反复平方乘"算法,e的二进制表示中应当含有尽量少的_____【6】_______。
(每空1分)
(6)假设Alice的RSA公钥为(n=15,e=3)。
Bob发送消息m=3给Alice,则Bob对消息加密后得到的密文是______【7】______。
已知素数p=3,q=5,则Alice的私钥d=_____【8】_______。
(第1空1分,第2空2分)
2、请回答有关数据库自主存取控制的有关问题。
(每空1分,共5分)
(1)自主存取控制可以定义各个用户对不同数据对象的存取权限,向用户授予权限的SQL命令是___【9】_______,如果指定了_____【10】_______子句,则获得某种权限的用户还可以把这种权限再授予其它的用户;向用户收回所授予权限的SQL命令是_____【11】_______。
(2)对数据库模式的授权则由DBA在创建用户时实现,如果在CREATEUSER命令中没有指定创建的新用户的权限,默认该用户拥有_____【12】_______权限。
(3)可以为一组具有相同权限的用户创建一个____【13】________,用其来管理数据库权限可以简化授权的过程。
3、在下图中,内网有两台计算机A和B,通过交换机连接到网关设备最后连入互联网,其中计算机A的IP地址为192.168.1.10,MAC地址为MACA;计算机B的IP地址为192.168.1.20,MAC地址为MACB;网关设备的IP地址为59.60.1.1,MAC地址为MACG。
(每空1分,共10分)
图网络拓扑图
其中,计算机B感染了ARP病毒,此ARP病毒向其它内网计算机发起伪装网关ARP欺骗攻击,它发送的ARP欺骗数据包中,IP地址为_____【14】_______,MAC地址为_____【15】_______。
为了防止ARP欺骗,需要在内网计算机和网关设备上进行IP地址与MAC地址的双向静态绑定。
首先,在内网中的计算机A设置防止伪装网关欺骗攻击的静态绑定:
arp_____【16】_______//清空ARP缓存表
arp_____【17】____________【18】_____________【19】______//将IP地址与MAC地址静态绑定
然后,在网关设备中对计算机A设置IP地址与MAC地址的绑定:
arp______【20】______//清空ARP缓存表
arp______【21】____________【22】___________【23】_______//将IP地址与MAC地址静态绑定
4、有些软件的漏洞存在于动态链接库中,这些动态链接库在内存中的栈帧地址是动态变化的,因而进行漏洞利用的Shellcode地址也是动态变化的。
下图是以jmpesp指令做为跳板,针对动态变化Shellcode地址的漏洞利用技术原理图,左右两部分表明了缓冲区溢出前后内存中栈帧的变化情况。
(每空1分,共5分)
5、
图漏洞利用技术原理图
请补全图中右半部分的相应内容,并填入下面【24】-【28】中。
【24】:
____________
【25】:
____________
【26】:
____________
【27】:
____________
【28】:
____________
1)【解题思路】
本题主要考察加密算法以及证书管理问题。
【参考答案】
【解析】为了安全存储用户的口令,一般采用MD5算法。
故【1】应填入MD5
【解析】SHA-1摘要比MD5摘要长32位,MD5有128位,故SHA算法的消息摘要长度为?
160位。
故【2】应填入160。
【解析】证书管理,一方信息通过证书发给对方,对方用证书的公共密钥进行验证。
故【3】应填入:
公共密钥。
【解析】要实现消息认证,产生认证码的函数类型有三类:
消息加密、消息认证码和哈希函数;故【4】应填入哈希函数。
【解析】RSA安全性要求,模数位数限制最好不要低于1024位;而计算速度要快,e的二进制表示中1要少,否则乘法会消耗大量时间。
故【5】应填入:
1024;【6】应填入:
1
【解析】加密c=m^emodn;私钥de≡1mod(p-1)(q-1);故【7】应填入12;【8】应填入:
3
2)【解题思路】
本题主要考察数据库的命令,权限授予与移除等。
【参考答案】
(1)【解析】授权命令:
GRANT;收回权限命令:
REVOKE;允许用户将权限授予其他用户命令:
WITHGRANTOPTION。
故【1】应填入GRANT;【2】应填入:
WITHGRANTOPTION;【3】应填入:
REVOKE。
(2)创建用户默认有连接的权利,故【4】应填入:
CONNECT;
(3)具有相同角色的用户具有相同的权限,权限分配面向角色;故【5】应填入:
角色。
3)【解题思路】
本题主要考虑IP地址、物理地址与ARP病毒。
arp病毒并不是某一种病毒的名称,而是对利用arp协议的漏洞进行传播的一类病毒的总称。
arp协议是TCP/IP协议组的一个协议,能够把网络地址翻译成物理地址(又称MAC地址)。
通常此类攻击的手段有两种:
路由欺骗和网关欺骗。
是一种入侵电脑的木马病毒。
对电脑用户私密信息的威胁很大。
【参考答案】
伪装网关ARP欺骗攻击,IP地址改为网关的地址,MAC地址依然为B的地址;故【1】应填入59.60.1.1;【2】应填入:
MACB。
静态绑定IP地址与MAC地址,注意命令使用,ARP-d先清空ARP缓存表;然后ARP-sIPMAC,完成IP地址与MAC地址静态绑定。
故【3】应填入:
-d;故【4】应填入:
-s
故【5】应填入:
59.60.1.1;故【6】应填入:
MACG;故【7】应填入:
-d
故【8】应填入:
-s;故【9】应填入:
192.168.1.10;故【10】应填入:
MACA
4)【解题思路】
本题主要考察Shellcode地址的漏洞利用以及缓冲区溢出的知识和攻击。
【参考答案】
【解析】利用缓冲区溢出,将一系列shellcode用NOP(不做任何操作)和想要到达的地址覆盖,故【1】应填入:
shellcode;【2】应填入:
返回地址;【3】应填入:
NOP;
当执行到返回地址时,读取到指针寄存器中,跳到指定的代码。
故【4】应填入esp;【5】应填入:
jmpesp。
试题三
1、在一个基于公钥密码机制的安全应用系统中,假设用户Alice和Bob分别拥有自己的公钥和私钥。
请回答下述问题:
(每空1分,共10分)
(1)在选择公钥密码RSA、ECC和ElGamal时,为了在相同安全性的基础上采用较短的密钥,应该选择其中的______【1】______,且应确保选取的参数规模大于_____【2】_______位。
(2)为了获得两方安全通信时所需的密钥,应用系统采用了基于中心的密钥分发,利用可信第三方KDC来实施。
图1所示的密钥分发模型是_____【3】_______模型,图2所示的密钥分发模型是_____【4】_______模型。
在客户端与服务器进行安全通信时,在Kerberos实现认证管理的本地网络环境中,把获得密钥的任务交给大量的客户端,可以减轻服务器的负担,即采用_____【5】_______模型;而在使用X9.17设计的广域网环境中,采用由服务器去获得密钥的方案会好一些,因为服务器一般和KDC放在一起,即采用_____【6】_______模型。
(3)为了预防Alice抵赖,Bob要求Alice对其发送的消息进行签名。
Alice将使用自己的___【7】_____对消息签名;而Bob可以使用Alice的____【8】________对签名进行验证。
(4)实际应用中为了缩短签名的长度、提高签名的速度,而且为了更安全,常对信息的____【9】____进行签名。
(5)实际应用中,通常需要进行身份认证。
基于____【10】________的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术,它可以存储用户的密钥或数字证书,利用内置的密码算法实现对用户身份的认证。
2、以root用户身份登录进入Linux系统后,请补全如下操作所需的命令:
(每空1分,共5分)
(1)查看当前文件夹下的文件权限。
命令:
$____【11】________
(2)给foo文件的分组以读权限。
命令:
$_____【12】_______g+rfoo
(3)查看当前登录到系统中的用户。
命令:
$_____【13】_______
(4)查看用户wang的近期活动。
命令:
$_____【14】_______
(5)用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。
命令:
$_____【15】_______
3、请完成下列有关SSL协议连接过程的题目。
(每空1分,共10分)
SL协议在连接过程中使用数字证书进行身份认证,SSL服务器在进行SSL连接之前,需要事先向CA申请数字证书,再进行SSL服务器和客户端之间的连接。
SSL协议的连接过程,即建立SSL服务器和客户端之间安全通信的过程,共分六个阶段,具体连接过程如下。
(1)SSL客户端发送ClientHello请求,将它所支持的加密算法列表和一个用作产生密钥的随机数发送给服务器。
(2)SSL服务器发送ServerHello消息,从算法列表中选择一种加密算法,将它发给客户端,同时发送Certificate消息,将SSL服务器的_____【16】_______发送给SSL客户端;SSL服务器同时还提供了一个用作产生密钥的随机数。
(3)服务器可请求客户端提供证书。
这个步骤是可选择的。
(4)SSL客户端首先对SSL服务器的数字证书进行验证。
数字证书的验证包括对下列三部分信息进行确认:
∙验证____【17】________性,通过比较当前时间与数字证书截止时间来实现;
∙验证____【18】_____性,查看数字证书是否已废除,即查看数字证书是否已经在___【19】___中发布来判断是否已经废除;
∙验证____【20】____性,即数字证书是否被篡改,SSL客户端需要下载_____【21】_____的数字证书,利用其数字证书中的____【22】________验证SSL服务器数字证书中CA的_____【23】____。
接着,客户端再产生一个pre_master_secret随机密码串,并使用SSL服务器数字证书中的___【24】____对其进行加密,并将加密后的信息发送给SSL服务器。
(5)SSL服务器利用自己的______【25】______解密pre_master_secret随机密码串,然后SSL客户端与SSL服务器端根据pre_master_secret以及客户端与服务器的随机数值,各自独立计算出会话密钥和MAC密钥。
(6)最后客户端和服务器彼此之间交换各自的握手完成信息。
4、根据提示,补全下列有关Windows操作系统中软件漏洞利用的防范技术。
(每空1分,共5分)
(1)____【26】________技术是一项缓冲区溢出的检测防护技术,它的原理是在函数被调用时,在缓冲区和函数返回地址增加一个随机数,在函数返回时,检查此随机数的值是否有变化。
(2)_____【27】______技术是一项设置内存堆栈区的代码为不可执行的状态,从而防范溢出后代码执行的技术。
(3)_____【28】_______技术是一项通过将系统关键地址随机化,从而使攻击者无法获得需要跳转的精确地址的技术。
(4)_____【29】_______技术和____【30】________技术是微软公司保护SEH函数不被非法利用,防范针对SEH攻击的两种技术。
1)
【解题思路】
本题主要考察信息安全的各方面知识,包括密钥、身份认证等。
【参考答案】
(1)【解析】提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位;160位ECC与1024位RSA具有相同的安全强度,210位ECC则与2048位RSA具有相同的安全强度。
ElGamal的一个不足之处是它的密文成倍扩张。
故【1】应填入:
ECC;【2】应填入160;
(2)【解析】如果主体A和B通信时需要一个密钥,那么A需要在通信之前从KDC获得一个密钥。
这种模式称为拉模式。
要求A和B先建立联系,然后让B从KDC获取密钥,称为推模式。
故【3】应填入:
推;【4】应填入:
拉。
为了减轻服务器负担,应该减少在通信时获得密钥的状况,故【5】应填入:
拉;而采用服务器去获得密钥,密钥在服务器那,故【6】应填入:
推。
(3)【解析】数字签名,私钥签名,公钥验证。
故【7】应填入:
私钥;【8】应该填入:
公钥
(4)【解析】实际应用中为了缩短签名的长度、提高签名的速度,而且为了更安全,需要对文件进行摘要,然后对摘要进行签名。
故【9】应填入:
摘要。
(5)【解析】基于USBKey的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术,它可以存储用户的密钥或数字证书,利用内置的密码算法实现对用户身份的认证。
故【10】应填入:
USBKey
2)【解题思路】
本题主要考察Linux下主要命令的熟悉程度。
【参考答案】
(1)【解析】ls?
-l?
命令查看一个目录下的文件和子目录的详悉信息;故【1