1、. . . .专业资料第一套1、为了构建一个简单、安全的“客户机/ 服务器“模式的应用系统,要求: 能安全存储用户的口令(无须解密) ;用户口令在网络传输中需要被保护;用户与服务器需要进行密钥协商,以便在非保护信道中实现安全通信;在通信过程中能对消息进行认证,以确保消息未被篡改。 (共10分)假设要构建的应用系统允许使用MD5、AES、Diffie-Hellman算法,给定消息m,定义MD5(m)和AES(m)分别表示对m的相应处理。为了准确地描述算法,另外定义如下:给定数x、y和z,x*y表示乘法运算,x/y 表示除法运算,xy表示指 数运算,而 x(y/z)表示指数为y/z。请回答下述问题
2、:(1)为了安全存储用户的口令,服务器需要将每个用户的口令采用 _【1】_算法运算后存储。 (1分)(2)在建立安全通信前,用户需要首先提交用户名和口令到服务器进行认证,为了防止口令在网络传输中被窃听,客户机程序将采用 _【2】_算法对口令运算后再发送。 (1分)(3)为了在服务器和认证通过的用户之间建立安全通信,即在非保护的信道上创建一个会话密钥,最有效的密钥交换协议是 _【3】_算法。 (2分)(4)假定有两个全局公开的参数,分别为一个素数p和一个整数g,g是p的一个原根,为了协商共享的会话密钥:首先,服务器随机选取a,计算出A= _【4】_ mod p, 并将A 发送给用户;(1分)然后
3、,用户随机选取b,计算出B= _【5】_ mod p,并将 B发送给服务器;(1分)最后,服务器和用户就可以计算得到共享的会话密钥key= _【6】_ mod p。 (2分)(5)为了同时确保数据的保密性和完整性,用户采用AES对消息 m加密,并利用MD5 产生消息密文的认证码,发送给服务器;假设服务器收到的消息密文为c,认证码为z。服务器只需要验证z 是否等于 _【7】_即可验证消息是否在传输过程中被篡改。 (2分)2、为了增强数据库的安全性,请按操作要求补全SQL语句:(每空1分,共5分)(1)创建一个角色R1: _【8】_ R1;(2)为角色R1分配Student表的INSERT、UPD
4、ATE、SELECT权限: _【9】_ INSERT,UPDATE,SELECT . . . .专业资料ON TABLE Student TO R1;(3)减少角色R1的SELECT权限: _【10】_ ON TABLE Student FROM R1;(4)将角色R1授予王平,使其具有角色R1所包含的全部权限: _【11】_ TO 王平;(5)对修改Student表数据的操作进行审计:_【12】_ UPDATE ON Student;3)下图是 TCP半连 接扫描的原理图 。其中,图1为目标主机端口处于 监听状态时,TCP 半连接扫描的原理图;图2为目标主机端口未打开时,TCP半连接扫描的原
5、理图。请根据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更新为新栈帧基地
6、址;第六步, 给新栈帧分配空间。. . . .专业资料第二套1、为了构建一个简单、安全的“客户机/ 服务器“模式的应用系统,要求: 能安全存储用户的口令(无须解密),且对网络传输中的口令进行保护;使用第三方权威证书管理机构CA来对每个用户的公钥进行分配。 (共10分) 假设要构建的应用系统只允许使用MD5、AES、RSA算法。请回答下述 问题:(1)为了安全存储用户的口令,服务器需要将每个用户的口令采用 _【1】_算法运算后存储。为了能通过用户名和口令实现身份认证,用户将采用相同的算法对口令运算后发送给服务器。 (1分)(2)SHA算法的消息摘要长度为 _【2】_位。 (1分)(3)用户可将自
7、己的公钥通过证书发给另一用户,接收方可用证书管理机构的 _【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】_
8、。 (第1空1分,第2空2分)2、请回答有关数据库自主存取控制的有关问题。 (每空1分,共5分)(1)自主存取控制可以定义各个用户对不同数据对象的存取权限,向用户授予权限的SQL命令是_【9】_,如果指定了 _【10】_子句,则获得某种权限的用户还可以把这种权限再授予其它的用户;向用户收回所授予权限的SQL命令是 _【11】_。(2)对数据库模式的授权则由DBA在创建用户时实现,如果在CREATE USER命令中没有指定创建的新用户的权限,默认该用户拥有 _【12】_权限。(3)可以为一组具有相同权限的用户创建一个 _【13】_,用其来管理数据库权限可以简化授权的过程。3、在下图中,内网有两台
9、计算机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 地址的双向静态绑定。. . . .专业资料首先,在内网
10、中的计算机A 设 置防止伪装网关欺骗攻击的静态绑定:arp _【16】_/清空ARP缓存表arp _【17】_ _【18】_ _【19】_/将IP 地址与MAC地址静态绑定然后,在网关设备中对计算机A设置IP地址与MAC地址的绑定: arp _【20】_/清空ARP缓存表arp _【21】_ _【22】_ _【23】_/将IP 地址与MAC地址静态绑定4、有些软件的漏洞存在于动态链接库中,这些动态链接库在内存中的栈帧地址是动态变化的,因而进行漏洞利用的Shellcode地址也是动态变 化的。下图是以jmp esp指令做为跳板,针对动态变化Shellcode地址的漏洞利用技术原理图,左右两部分表
11、明了缓冲区溢出前后内存中栈帧的变化情况。 (每空1分,共5分)图 漏洞利用技术原理图请补全图中右半部分的相应内容,并填入下面【24】-【28】中。. . . .专业资料【24】: _【25】: _【26】: _【27】: _【28】: _第三套. . . .专业资料1、在一个基于公钥密码机制的安全应用系统中,假设用户Alice和 Bob分别拥有自己的公钥和私钥。请回答下述问题:(每空1分,共10分)(1)在选择公钥密码RSA、ECC和ElGamal时,为了在相同安全性的基础上采用较短的密钥,应该选择其中的 _【1】_,且应确保选取的参数规模大于 _【2】_位。(2)为了获得两方安全通信时所需的
12、密钥,应用系统采用了基于中心的密钥分发,利用可信第三方KDC来实施。图1所示的密钥分发模型是 _【3】_模型,图2所示的密钥分发模型是 _【4】_模型。在客户端与服务器进行安全通信时,在Kerberos实现认证管理的本地网络环境中,把获得密钥的任务交给大量的客户端,可以减轻服务器的负担,即采用 _【5】_模型;而在使用X9.17设计的广域网环境中,采用由服务器去获得密钥的方案会好一些,因为服务器一般和KDC放在一起,即采用 _【6】_模型。(3)为了预防Alice抵赖,Bob 要求Alice 对其发送的消息进行签名。Alice将使用自己的 _【7】_对消息签名;而Bob可以使用 Alice的
13、_【8】_对签名进行验证。(4)实际应用中为了缩短签名的长度、提高签名的速度,而且为了更安全,常对信息的 _【9】_进行签名。(5)实际应用中,通常需要进行身份认证。基于 _【10】_的身份认证方式是近几年发展起来的一种. . . .专业资料方便、安全的身份认证技术,它可以存储用户的密钥或数字证书,利用内置的密码算法实现对用户身份的认证。2、以root用户身份登录进入Linux系统后,请补全如下操作所需的命令:(每空1分,共5分) (1)查看当前文件夹下的文件权限。命令: $_【11】_ (2)给foo文件的分 组以读权限。 命令: $_【12】_ g+r foo(3)查看当前登录到系统中的用
14、户。命令: $_【13】_(4)查看用户wang的近期活动。 命令: $_【14】_(5)用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。命令: $_【15】_3、请完成下列有关SSL协议连接过程的题目。 (每空1分,共10分)SSL协议在连接过程中使用数字证书进行身份认证,SSL服务器在进行SSL连接之前,需要事先向CA申请数字证书,再进行SSL服务器和客户端之间的连接。SSL协议的连接过程,即建立SSL服务器和客户端之间安全通信的过程,共分六个阶段,具体连接过程如下。(1)SSL 客户端发送ClientHello请求,将它所支持的加密算法列表和一个用作产生密钥的随机数发
15、送给服务器。(2)SSL 服务器发送ServerHello消息,从算法列表中选择一种加密算法,将它发给客户端,同时发送Certificate消息,将SSL服务器的_【16】_发送给SSL客户端;SSL服务器同时还提供了一个用作产生密钥的随机数。(3)服务器可请求客户端提供证书。这个步骤是可选择的。(4)SSL 客户端首先对SSL 服务器的数字证书进行验证。数字证书的验证包括对下列三部分信息进行确认:. . . .专业资料 验证 _【17】_性,通过比较当前时间与数字证书截止时间来实现; 验证 _【18】_性,查看数字证书是否已废除,即查看数字证书是否已经在 _【19】_中发布来判断是否已经废除
16、; 验证 _【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)最后客户端和服务器彼此
17、之间交换各自的握手完成信息。4、根据提示,补全下列有关Windows操作系统中软件漏洞利用的防范技术。 (每空1分,共5分) (1) _【26】_技术是一项缓冲区溢出的检测防护技术,它的原理是在函数被调用时,在缓冲区和函数返回地址增加一个随机数,在函数返回时,检查此随机数的值是否有变化。(2) _【27】_技术是一项设置内存堆栈区的代码为不可执行的状态,从而防范溢出后代码执行的技术。(3) _【28】_技术是一项通过将系统关键地址随机化,从而使攻击者无法获得需要跳转的精确地址的技术。(4) _【29】_技术和 _【30】_技术是微软公司保护SEH函数不被非法利用,防范针对SEH 攻击的两种技术。