三级信息安全技术新题型综合应用
第一套
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分)
为了安全存储用户的口令,需要对用户口令进行加密,采用MD5算法。
(2)在建立安全通信前,用户需要首先提交用户名和口令到服务器进行认证,为了防止口令在网络传输中被窃听,客户机程序将采用 _____【2】______算法对口令运算后再发送。(1分)
MD5算法对信息进行摘要,防止被篡改。
(3)为了在服务器和认证通过的用户之间建立安全通信,即在非保护的信道上创建一个会话密钥,最有效的密钥交换协议是 _____【3】_______算法。(2分)
Diffie-Hellman:一种确保共享KEY 安全穿越不安全网络的方法。
(4)假定有两个全局公开的参数,分别为一个素数p 和一个整数g ,g 是p 的一个原根,为了协商共享的会话密钥: 首先,服务器随机选取a ,计算出A= ____ g^a ________ mod p ,并将A 发送给用户;(1分)
Diffie-Hellman 密钥交换算法1、有两个全局公开的参数,一个素数P 和一个整数g ,g 是P 的一个原根。2、假设用户A 和B 希望交换一个密钥,用户A 选择一个作为私有密钥的随机数a
3、用户产生共享秘密密钥的计算方式是K=g^(a*b) mod p。
然后,用户随机选取b ,计算出B= _______ g^b _____ mod p,并将B 发送给服务器;(1分)
最后,服务器和用户就可以计算得到共享的会话密钥key= _______ g^(a*b) _____ mod p。(2分)
(5)为了同时确保数据的保密性和完整性,用户采用AES 对消息m 加密,并利用MD5产生消息密文的认证码,发送给服务器;假设服务器收到的消息密文为c ,认证码为z 。服务器只需要验证z 是否等于 ______【7】______即可验证消息是否在传输过程中被篡改。(2分)
用MD5算法对获得消息的摘要,然后和原摘要比较。因此【7】应填入:MD5(c)。
2、为了增强数据库的安全性,请按操作要求补全SQL 语句:(每空1分,共5分)
(1)创建一个角色R1: _____【8】_______ R1;
创建角色语句CREATE ROLE
(2)为角色R1分配Student 表的INSERT 、UPDATE 、SELECT 权限: _____【9】_______ INSERT,UPDATE,SELECT ON TABLE Student TO R1;
为用户分配角色权限指令GRANT +权限 to 某用户;
(3)减少角色R1的SELECT 权限: _____【10】_______ ON TABLE Student FROM R1;
减少权限指令REVOKE+权限名
(4)将角色R1授予王平,使其具有角色R1所包含的全部权限: ____GRANT R1______ TO 王平;
(5)对修改Student 表数据的操作进行审计:_____【12】_______ UPDATE ON Student;
审计指令AUDIT
3) 下图是TCP 半连接扫描的原理图。其中,图1为目标主机端口处于监听状态时,TCP 半连接扫描的原理图;图2为目标主机端口未打开时,TCP 半连接扫描的原理图。请根据TCP 半连接扫描的原理,补全扫描过程中各数据包的标志位和状态值信息。(每空1分,共10分)
请在下表中输入A-J 代表的内容
第一次握手:建立连接时,客户端发送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 连接,在扫描主机和目标主机的一指定端口建立连接时候只完成了前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,这样的端口扫描称为半连接扫描,也称为间接扫描。
4、 一个程序运行中进行函数调用时,对应内存中栈的操作如下:(每空1分,共5分)
首先,主调函数把EAX ,ECX 和EDX 压栈。这是一个可选的步骤,只在这三个寄存器内容需要保留的时候执行此步骤。接着把传递给被调函数的参数一一进栈,最后的参数最先进栈。最后,主调函数用call 指令调用子函数;当call 指令执行的时候,EIP 指
令指针寄存器的内容被压入栈中。因为EIP 寄存器是指向主调函数中的下一条指令,所以现在返回地址就在栈顶了。在call 指令执行完之后,下一个执行周期将从被调函数的标记处开始。EBP 寄存器现在正指向主调函数的栈帧中的某个位置,这个值必须被保留,因此,EBP 进栈。然后ESP 的内容赋值给了EBP 。这使得函数的参数可以通过对EBP 附加一个偏移量得到,而栈寄存器ESP 便可以空出来做其他事情。
第一步, ____【23】________入栈;
第二步, ____【24】________入栈;
第三步, _____【25】_______跳转;
第四步,ebp 中母函数栈帧 ____【26】________ 入栈;
第五步, _____【27】_______值装入ebp ,ebp 更新为新栈帧基地址;第六步,给新栈帧分配空间。
第二套
1、为了构建一个简单、安全的" 客户机/服务器" 模式的应用系统,要求:①能安全存储用户的口令(无须解密),且对网络传输中的口令进行保护;②使用第三方权威证书管理机构CA 来对每个用户的公钥进行分配。(共10分)
假设要构建的应用系统只允许使用MD5、AES 、RSA 算法。请回答下述问题:
(1)为了安全存储用户的口令,服务器需要将每个用户的口令采用 _____【1】_______算法运算后存储。为了能通过用户名和口令实现身份认证,用户将采用相同的算法对口令运算后发送给服务器。(1分)
(2)SHA 算法的消息摘要长度为 _____【2】_______位。(1分) SHA-1摘要比MD5摘要长32 位,MD5有128位,故SHA 算法的消息摘要长度为160位。
(3)用户可将自己的公钥通过证书发给另一用户,接收方可用证书管理机构的 _____【3】_______对证书加以验证。(2分) 证书管理,一方信息通过证书发给对方,对方用证书的公共密钥进行验证。
(4)要实现消息认证,产生认证码的函数类型有三类:消息加密、消息认证码和 ______【4】______。(1分)
要实现消息认证,产生认证码的函数类型有三类:消息加密、消息认证码和哈希函数
(5)为了确保RSA 密码的安全,必须认真选择公钥参数(n,e):模数n 至少 _____【5】_______位;为了使加密速度快,根据" 反复平方乘" 算法,e 的二进制表示中应当含有尽量少的 _____
【6】_______。(每空1分)
RSA 安全性要求,模数位数限制最好不要低于1024位;而计算速度要快,e 的二进制表示中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分)
加密c = m^e mod n;私钥d*e≡1mod(p-1)(q-1)
2、请回答有关数据库自主存取控制的有关问题。(每空1分,
共5分)
(1)自主存取控制可以定义各个用户对不同数据对象的存取权限,向用户授予权限的SQL 命令是___【9】_______,如果指定了 _____【10】_______子句,则获得某种权限的用户还可以把这种权限再授予其它的用户;向用户收回所授予权限的SQL 命令是 _____【11】_______。
授权命令:GRANT ;收回权限命令:REVOKE ;允许用户将权限授予其他用户命令:WITH GRANT OPTION
(2)对数据库模式的授权则由DBA 在创建用户时实现,如果在CREATE USER命令中没有指定创建的新用户的权限,默认该用户拥有 _____【12】_______权限。
创建用户默认有连接的权利,故【4】应填入:CONNECT ;
(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分)
图 网络拓扑图
arp 病毒并不是某一种病毒的名称,而是对利用arp 协议的漏洞
进行传播的一类病毒的总称。arp 协议是TCP/IP协议组的一个协议,能够把网络地址翻译成物理地址(又称MAC 地址)。通常此类攻击的手段有两种:路由欺骗和网关欺骗。是一种入侵电脑的木马病毒。对电脑用户私密信息的威胁很大。
其中,计算机B 感染了ARP 病毒,此ARP 病毒向其它内网计算机发起伪装网关ARP 欺骗攻击,它发送的ARP 欺骗数据包中,IP 地址为 _____【14】_______,MAC 地址为 _____【15】_______。 伪装网关ARP 欺骗攻击,IP 地址改为网关的地址,MAC 地址依然为B 的地址
为了防止ARP 欺骗,需要在内网计算机和网关设备上进行IP 地址与MAC 地址的双向静态绑定。
首先,在内网中的计算机A 设置防止伪装网关欺骗攻击的静态绑定:
arp _____【16】_______//清空ARP 缓存表
arp _____【17】_______ _____【18】_______ ______
【19】______//将IP 地址与MAC 地址静态绑定
静态绑定IP 地址与MAC 地址,注意命令使用,ARP -d先清空ARP 缓存表;然后ARP -s IP MAC,完成IP 地址与MAC 地址静态绑定。
然后,在网关设备中对计算机A 设置IP 地址与MAC 地址的绑定:
arp ______【20】______//清空ARP 缓存表
arp ______【21】______ ______【22】______ _____
【23】_______//将IP 地址与MAC 地址静态绑定
4、有些软件的漏洞存在于动态链接库中,这些动态链接库在内存中的栈帧地址是动态变化的,因而进行漏洞利用的Shellcode 地址也是动态变化的。下图是以jmp esp指令做为跳板,针对动态变化Shellcode 地址的漏洞利用技术原理图,左右两部分表明了缓冲区溢出前后内存中栈帧的变化情况。(每空1分,共5分)
图 漏洞利用技术原理图
请补全图中右半部分的相应内容,并填入下面【24】-【28】中。 利用缓冲区溢出,将一系列shellcode 用NOP (不做任何操作)和想要到达的地址覆盖,故【1】应填入:shellcode ;【2】应填入:返回地址;【3】应填入:NOP ;
当执行到返回地址时,读取到指针寄存器中,跳到指定的代码。故【4】应填入esp ;【5】应填入:jmp esp。
第三套
1、在一个基于公钥密码机制的安全应用系统中,假设用户Alice 和Bob 分别拥有自己的公钥和私钥。请回答下述问题:(每空1分,共10分)
(1)在选择公钥密码RSA 、ECC 和ElGamal 时,为了在相同安全性的基础上采用较短的密钥,应该选择其中的 ______【1】______,且应确保选取的参数规模大于 _____【2】_______位。 提高保密强度,RSA 密钥至少为500位长,一般推荐使用1024位 ;160位ECC 与1024位RSA 具有相同的安全强度,210位ECC 则与2048位RSA 具有相同的安全强度。ElGamal 的一个不足之处是它的密文成倍扩张。故【1】应填入:ECC ;【2】应填入160;
(2)为了获得两方安全通信时所需的密钥,应用系统采用了基于中心的密钥分发,利用可信第三方KDC 来实施。图1所示的密钥分发模型是 _____【3】_______模型,图2所示的密钥分发模型是 _____【4】_______模型。在客户端与服务器进行安全通信时,在Kerberos 实现认证管理的本地网络环境中,把获得密钥的任务交给大量的客户端,可以减轻服务器的负担,即采用 _____【5】_______模型;而在使用X9.17设计的广域网环境中,采用由服务器去获得密钥的方案会好一些,因为服务器一般和KDC 放在一起,即采用 _____【6】_______模型。
如果主体A 和B 通信时需要一个密钥,那么A 需要在通信之前从
KDC 获得一个密钥。这种模式称为拉模式。要求A 和B 先建立联系,然后让B 从KDC 获取密钥,称为推模式。故【3】应填入:推;【4】应填入:拉。为了减轻服务器负担,应该减少在通信时获得密钥的状况,故【5】应填入:拉;而采用服务器去获得密钥,密钥在服务器那,故【6】应填入:推。
(3)为了预防Alice 抵赖,Bob 要求Alice 对其发送的消息进行签名。Alice 将使用自己的 ___【7】_____对消息签名;而Bob 可以使用Alice 的 ____【8】________对签名进行验证。 数字签名,私钥签名,公钥验证。
(4)实际应用中为了缩短签名的长度、提高签名的速度,而且为了更安全,常对信息的 ____【9】____进行签名。
实际应用中为了缩短签名的长度、提高签名的速度,而且为了更安全,需要对文件进行摘要,然后对摘要进行签名。
(5)实际应用中,通常需要进行身份认证。基于 ____【10】________的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术,它可以存储用户的密钥或数字证书,利用内置的密码算法实现对用户身份的认证。
基于USB Key的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术,它可以存储用户的密钥或数字证书,利用内置的密码算法实现对用户身份的认证。
2、以root 用户身份登录进入Linux 系统后,请补全如下操作所需的命令:(每空1分,共5分)
(1)查看当前文件夹下的文件权限。
命令: $____ ls -l _______
(2)给foo 文件的分组以读权限。
命令: $_____【12】_______ g+r foo
chmod 用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
语法:chmod [who] [+ | - | =] [mode] 文件名 命令中各选项的含义为:
操作对象who 可是下述字母中的任一个或者它们的组合: u 表示" 用户(user )" ,即文件或目录的所有者。
g 表示" 同组(group )用户" ,即与文件属主有相同组ID 的所有用户。 o 表示" 其他(others )用户" 。
a 表示" 所有(all )用户" 。它是系统默认值。
操作符号可以是:
+ 添加某个权限。 - 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。 设置 mode 所表示的权限可用下述字母的任意组合: r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录
时才追加x 属性。
s 在文件执行时把进程的属主或组ID 置为该文件的文件属主。
方式"u +s" 设置文件的用户ID 位,"g +s" 设置组ID 位。 t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
故【2】应填入:chmod
(3)查看当前登录到系统中的用户。
命令: $_____【13】_______
who :显示目前登入系统的用户信息
(4)查看用户wang 的近期活动。
命令: $_____【14】_______
last(选项)(参数) wang
选项:
-a :把从何处登入系统的主机名称或ip 地址,显示在最后一行; -d:将IP 地址转换成主机名称;
-f :指定记录文件。
-n 或-:设置列出名单的显示列数; -R :不显示登入系统的主机名称或IP 地址;
-x :显示系统关机,重新开机,以及执行等级的改变等信息。 参数: 用户名:显示用户登录列表;
终端:显示从指定终端的登录列表。
故【4】应填入:last wang
(5)用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。
命令: $_____【15】_______
users 命令用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。
3、请完成下列有关SSL 协议连接过程的题目。(每空1分,共10分)
SSL 协议在连接过程中使用数字证书进行身份认证,SSL 服务器在进行SSL 连接之前,需要事先向CA 申请数字证书,再进行SSL 服务器和客户端之间的连接。
SSL 协议的连接过程,即建立SSL 服务器和客户端之间安全通信的过程,共分六个阶段,具体连接过程如下。
(1)SSL 客户端发送ClientHello 请求,将它所支持的加密算法列表和一个用作产生密钥的随机数发送给服务器。
(2)SSL 服务器发送ServerHello 消息,从算法列表中选择一种加密算法,将它发给客户端,同时发送Certificate 消息,将SSL 服务器的_____数字证书______发送给SSL 客户端;SSL 服务器同时还提供了一个用作产生密钥的随机数。
服务器启动SSL 握手第2阶段,是本阶段所有消息的唯一发送方,客户机是所有消息的唯一接收方。该阶段分为4步:
(a )证书:服务器将数字证书和到根CA 整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器。 (b )服务器密钥交换(可选):这里视密钥交换算法而定 (c )证书请求:服务端可能会要求客户自身进行验证。
(d )服务器握手完成:第二阶段的结束,第三阶段开始的信号,故【1】应填入:数字证书;
(3)服务器可请求客户端提供证书。这个步骤是可选择的。
(4)SSL 客户端首先对SSL 服务器的数字证书进行验证。数字证书的验证包括对下列三部分信息进行确认:
∙ 验证 ____【17】________性,通过比较当前时间与数字证书截止时间来实现;
∙ 验证 ____【18】_____性,查看数字证书是否已废除,即查看数字证书是否已经在 ___【19】___中发布来判断是否已经废除;
查看数字证书是否已废除确认信息是否可用,而废除的数字证书都存放在证书黑名单中
∙ 验证 ____【20】____性,即数字证书是否被篡改,SSL 客户端需要下载 _____【21】_____的数字证书,利用其数字证书中的 ____【22】________验证SSL 服务器数字证书中CA 的 _____【23】____。
数字证书是否被篡改,是其真假,需要利用CA 的数字证书对其签名进行判断。加密是用公钥,解密用私钥。
【5】应填入:真实;【6】应填入:CA ;【7】应填入:公钥;
【8】应填入:数字签名
接着,客户端再产生一个pre_master_secret随机密码串,并使用SSL 服务器数字证书中的___公钥____ 对其进行加密,并将加密后的信息发送给SSL 服务器。
(5)SSL 服务器利用自己的______私钥。______解密pre_master_secret随机密码串,然后SSL 客户端与SSL 服务器端根据pre_master_secret以及客户端与服务器的随机数值,各自独立计算出会话密钥和MAC 密钥。
(6)最后客户端和服务器彼此之间交换各自的握手完成信息。
4、根据提示,补全下列有关Windows 操作系统中软件漏洞利用
的防范技术。(每空1分,共5分)
(1) ____【26】________技术是一项缓冲区溢出的检测防护技术,它的原理是在函数被调用时,在缓冲区和函数返回地址增加一个随机数,在函数返回时,检查此随机数的值是否有变化。
GS (缓冲区安全检查)检测某些改写返回地址的缓冲区溢出,这是一种利用不强制缓冲区大小限制的代码的常用技术。编译器在包含本地字符串缓冲区的函数中或(在 x86 上)包含异常处理功能的函数中插入检查。字符串缓冲区被定义为元素大小为一两个字节的数组(整个数组的大小至少为五个字节),或定义为使用?_alloca?分配的任何缓冲区。在所有的平台上,编译器都插入一个 Cookie,以便在函数具有本地字符串缓冲区时保护函数的返回地址。在以下情况下检查此 Cookie:在退出函数时;在 64 位操作系统或 x86 上针对具有某种异常处理的函数展开帧的过程中。在 x86 上,编译器还插入一个 Cookie 以保护函数的异常处理程序的地址。在展开帧的过程中会检查此 Cookie。
(2) _____【27】______技术是一项设置内存堆栈区的代码为不可执行的状态,从而防范溢出后代码执行的技术。
数据执行保护技术是一项设置内存堆栈区的代码为不可执行的状态,从而防范溢出后代码执行的技术。数据执行保护有助于防止电脑遭受病毒和其他安全威胁的侵害,与防病毒程序不同,硬件和软件实施 DEp 技术的目的并不是防止在计算机上安装有害程序。 而是监视您的已安装程序,帮助确定它们是否正在安全地使用系统内存。 为监视您的程序,硬件实施 DEp 将跟踪已指定为" 不可执行" 的内存区域。 如果已将内存指定为" 不可执行" ,但是某个程序试图通过内存执行代码,Windows 将关闭该程序以防止恶意代码。 无论代码是不是恶意,都会执行此操作。 因此【2】处应填入:数据执行保护。
(3) _____【28】_______技术是一项通过将系统关键地址随机化,从而使攻击者无法获得需要跳转的精确地址的技术。
地址空间分布随机化技术是一项通过将系统关键地址随机化,从而使攻击者无法获得需要跳转的精确地址的技术。ASLR (Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。据研究表明ASLR 可以有效的降低缓冲区溢出攻击的成功率,如今Linux 、FreeBSD 、Windows 等主流操作系统都已采用了该技术。
(4) _____【29】_______技术和 ____【30】________技术是微软公司保护SEH 函数不被非法利用,防范针对SEH 攻击的两种技术。
SEH 是Windows 异常处理机制所采用的重要数据结构链表,而SafeSEH 就是一项保护SEH 函数不被非法利用的技术。
结构化异常处理覆盖保护(SEHOP)是微软公司针对SEH 攻击提出的一种安全防护方案,即保护SEH 不被非法利用。
第四套
1、在一个基于公钥密码机制的安全应用系统中,假设用户Alice 和Bob 分别拥有自己的公钥和私钥。请回答下述问题。(共10分)
(1)在产生Alice 和Bob 的密钥时,如果采用RSA 算法,选取的模数n 至少要有__1024______位,如果采用椭圆曲线密码,选取的参数p 的规模应大于_____160_____位。(每空1分)
(2)基于公钥证书的密钥分发方法是目前广泛流行的密钥分发机制,用户可将自己的公钥通过证书发给另一用户,接收方可用证书管理机构的_____公钥______对证书加以验证。(1分)
(3)为了预防Alice 抵赖,Bob 要求Alice 对其发送的消息进行签名。Alice 将使用自己的_____私钥______对消息签名;如果要求对消息保密传输,Alice 将使用Bob 的____公钥_______对消息加密。(每空1分)
(4)实际应用中为了缩短签名的长度、提高签名的速度,而
且为了更安全,常对信息的_____【6】______进行签名。(1分)
(5)实际应用中,通常需要进行身份认证。基于口令的认证协议非常简单,但是很不安全,两种改进的口令验证机制是:利用_____单向函数______加密口令和一次性口令。(1分)
(6)基于公钥密码也可以实现身份认证,假定Alice 和Bob 已经知道对方的公钥,Alice 为了认证Bob 的身份:
首先,Alice 发送给Bob 一个随机数a ,即 Alice → Bob :a ; 然后,Bob 产生一个随机数b ,并将b 及通过其私钥所产生的签名信息发送给Alice, 假设用SignB 表示用Bob 的私钥产生数字签名的算法,即 Bob → Alice :b || SignB( a||b );
最后,为了认证Bob 的身份,Alice 得到随机数b 和签名信息之后,只需要使用Bob 的_____【8】______对签名信息进行解密,验证解密的结果是否等于____【9】______即可。
(空 1分,空 2分)
在公钥密码实现身份认证过程中,Alice 在接收到Bob 发送来的信息后,应该使用Bob 的公钥进行解密。由于Bob 使用自己的私钥进行加密,所以Alice 只要验证解密之后的结果是否是a||b。因此【8】【9】处应填入:公钥、a||b
2、请补全下列有关Windows 的安全实践: (每空1分,共5分)
(1)Winlogon 调用____【10】_______DLL,并监视安全认证序列,所调用的DLL 将提供一个交互式的界面为用户登陆提供认证请求。
GINADLL 被设计成一个独立的模块,它被Winlogon 调用,并监视安全认证序列。GINADLL 提供一个交互式的界面为用户登陆提供认证请求。
(2)为了防止网络黑客在网络上猜出用户的密码,可以在连
续多次无效登录之后对用户账号实行___【11】___策略。
(3)在Windows 系统中,任何涉及安全对象的活动都应该受到审核,审核报告将被写入安全日志中,可以使用" ____【12】_______查看器" 来查看。
(4)为了增强对日志的保护,可以编辑注册表来改变日志的存储目录。点击" 开始" →" 运行" ,在对话框中输入命令" ____
【13】_______",回车后将弹出注册表编辑器。
(5)通过修改日志文件的访问权限,可以防止日志文件被清空,前提是Windows 系统要采用 ____【14】_______文件系统格式。
修改了日志文件的存放目录后,日志还是可以被清空的,下面通过修改日志文件访问权限,防止这种事情发生,但是前提是Windows 系统要采用NTFS 文件系统格式。
3、下图为一个单位的网络拓扑图。根据防火墙不同网络接口连接的网络区域,将防火墙控制的区域分为内网、外网和DMZ 三个网络区域。为了实现不同区域间计算机的安全访问,根据此单位的访问需求和防火墙的默认安全策略,为防火墙配置了下面三条访问控制规则。请根据访问控制规则表的要求,填写防火墙的访问控制规则(表1)。其中," 访问控制" 中Y 代表允许访问,N 代表禁止访问。(每空1分,共10分)
内网可访问Web 服务器,由图可知,源区域是内网;目的区域
是DMZ ;目的IP 是DMZ 的IP 地址,即57.65.120.10;web 服务器的协议时HTTP 协议;访问控制应该为Y 。
外网可访问Mail 服务器, 由图可知,源区域是内网;目的区域是DMZ ;目的IP 是DMZ 的IP 地址,即57.65.120.20。Mail 服务器使用的协议有SMTP 和POP3协议;访问控制应该为Y 。
表1 防火墙访问控制规则表
4、 根据要求,请完成下列题目。(每空1分,共5分)
(1)根据软件漏洞在破坏性、危害性和严重性方面造成的潜在威胁程度,以及漏洞被利用的可能性,可对各种软件漏洞进行分级,所分为的四个危险等级是:
第一级: ____【25】______ ;
第二级: ____【26】_____ ;
第三级: ____【27】______ ;
第四级: ____【28】______ 。
根据软件漏洞在破坏性、危害性和严重性方面造成的潜在威胁程度,以及漏洞被利用的可能性对软件漏斗划分为以下等级:紧急级、重要级、中危级、低危级。
(2)为了对软件漏洞进行统一的命名和管理,多个机构和国家建立了漏洞数据库。其中,极少的漏洞库提供了检测、测试漏洞的样本验证代码。我们往往用漏洞样本验证代码的英文缩写 ____【29】______ 来称呼漏洞样本验证代码。
漏洞样本验证代码的英文缩写为POC
第五套
1、顾客Alice 计划通过某电子商务网站购买商家Bob 的商品,为了认定顾客的购买信息并防止顾客事后抵赖,要求顾客对订单信息进行签名;为了防止信息传输过程中泄密,要求顾客将信息加密后再发送给商家。假设Alice 的公钥为PKA 、私钥为SKA ,Bob 的公钥为PKB 、私钥为SKB ;公钥密码的加密算法为E ,加密
密钥为K1,待加密的数据为M ,加密结果为C ,则有C=E(K1, M);公钥密码的解密算法为D ,解密密钥为K2,待解密的数据为C ,解密结果为M ,则有M=D(K2, C)。(共10分)
(1)请基于公钥密码的数字签名体制,补全签名和验证签名过程所执行的基本操作。
① 假设顾客Alice 需要签名的信息为MSG ,签名的结果为S_MSG,签名过程所执行的操作为:S_MSG= ______【1】_______。(2分)
签名过程我们可以看作一个公钥密码解密的过程,给出的待解密数据为MSG ,根据题中给出的信息公钥密码解密过称为:M=D(K2,C),而已知alice 的私钥为SKA, 所以【1】处因填入D(SKA,MSG)。验证签名的过程就是恢复明文的过程,那么恢复签名的信息则执行的是加密的步骤,给出了签名信息S_MSG,由题中的公钥加密算法C=E(K1,M),故【2】中因填入E(PKA,S_MSG)。
② 验证签名的过程就是恢复明文的过程。商家Bob 收到签名S_MSG后,恢复签名的信息所执行的操作为:MSG= _____【2】________。(2分)
(2)请基于公钥密码的加密体制,补全保密通信所执行的基本操作。
① 假设顾客Alice 需要将明文消息MSG1加密后发送给商家Bob ,加密的结果为C_MSG,加密过程所执行的操作为:C_MSG= ______【3】_______。(2分)
② 商家Bob 收到密文C_MSG后,通过解密得到保密传输的明文,解密过程所执行的操作为:MSG1= _____【4】________。(2分)
给出了加密的信息,此时要解决的是要采用哪个公钥,由于是
顾客alice 将明文发送给商家Bob ,所以因采用Bob 的公钥,故【3】处因填入E(PKB,MSG1)。Bob 收到密文C_MSG后需进行解密,采用解密算法得到相关密文,所以【4】处因填入D(SKB,C_MSG)。
(3)实际应用中,为了能对恢复出的签名信息进行验证,并防止Alice 用以前发送过的签名信息冒充本次签名,需要合理地组织明文的数据格式,一种可行的格式如下:
形式上可将Alice 发给Bob 的第I 份报文表示为:M = ,并定义附加包头数据为H = 。这样,Alice 将以作为最终报文发送给Bob 。Bob 收到报文后,通过报文第二部分恢复出M ,并与报文第一部分信息进行比对,实现对签名信息的验证。(1分) 通过对报文附加包头,然后接受者通过包头与报文的的信息对比,实现对签名信息的验证
(4)实际应用中,为了缩短签名的长度、提高签名的速度,常对信息的______信息摘要_______进行签名,即使用M 的哈希值代替M 。(1分)
2、已知关系模式:学生(学号,姓名,年龄,班级,性别)。请基于数据库的自主存取控制及视图机制,依据操作要求补全SQL 语句。(每空1分,共5分)
(1)将学生表的SELECT 权限授予王平、张明:
__GRANT SELECT__ ON TABLE 学生 TO 王平, 张明; SQL 语言用GRANT 语句向用户授予操作权限,GRANT 语句的一般形式为:GRANT To [WITH GRANT OPTION];将对指定操作对象的指定操作权限授予指定的用户。
(2)收回张明对学生表的SELECT 权限:
__REVOKE SELECT__ ON TABLE 学生 FROM 张明;
(3)建立学生表中性别为" 男" 的所有学生的视图,视图名字为VIEW_学生:
______CREATE VIEW____ VIEW_学生
AS
____SELECT * FROM 学生___
WHERE
_____性别=’男’ ____
3、如下图所示,A 计算机和B 计算机之间部署了防火墙进行安全防护,A 计算机的IP 地址为192.168.20.100,B 计算机是Web 服务器,其IP 地址为58.64.152.20,仅对外开放了443端口的访问服务。
防火墙的安全配置要求为:
(1)仅允许B 计算机接收A 计算机发来的对443端口的访问请求,禁止接收A 计算机的其它访问请求;
(2)禁止B 计算机对A 计算机的访问请求。
请按照上述安全配置要求,完成下面的防火墙包过滤规则表。(每空1分,共10分)
要求:(1)" 操作" 的规则设置可选项为:通过、阻断;(2)" 标志位" 的规则设置格式为" 标志位=数值" ,比如RST=0,如果有多个标志位请以逗号隔开;如果不设置标志位,请填写" 无" 。
表 包过滤规则表
和外部网之间、专用网与公共网之间的界面上构造的保护屏障。是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet 与Intranet 之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成。
TCP (Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、基于IP 的传输层协议。对于两个计算机进行连接所采用的协议应该是TCP 协议。
因为一般1-1023端口属于系统保留端口,所以用户使用的端口一般是介于1023和65535之间,因此【2】处因填大于1023。 由于是计算机A 向计算机B 发出申请进行访问,而题中给出仅允许B 计算机接收A 计算机发来的对443端口的访问请求,故目标端口为443。
由于计算机A 是对计算机B 的特定端口进行访问,所以无需用到标志位,故【4】处因填无。
由于是计算机A 对计算机B 的443端口进行申请访问,故给出的操作是通过。
ACK=1表示给出的数据无误,访问成功,返回访问数据
4 )
根据题目要求,完成下列题目。(每空1分,共5分)
(1)根据漏洞生命周期的不同阶段,漏洞可分为如下三类:
______【22】_______漏洞,指处于未公开阶段的漏洞;
∙ ______【23】_______漏洞,通常指发布补丁时间不长的漏洞。
0day 漏洞,是已经发现但是官方还没发布补丁的漏洞。如果黑客利用了此0day 漏洞进行攻击,用户则将面临在官方发布补丁之前这段时间,没有安全防范的危险期。
1day 漏洞是指那些已经公布的但厂商或用户因为安全意识、时间等多种原因还未及时修补的漏洞。(因此应当及时为操作系统、应用程序打补丁,防止遭受攻击)。
∙ 已公开漏洞,指厂商已经发布补丁的漏洞。
(2)在整数溢出漏洞中,造成整数溢出的三种原因是:
∙ ______【24】_______溢出,使用另外的数据类型来保存整型数造成的;
∙ ______【25】_______溢出,对整型变量的操作没有考虑其边界范围;
∙ ______【26】_______问题。
由于计算机中整数都有一个宽度(本文中为32位),因此它就有一个可以表示的最大值。当我们试图保存一个比它可以表示的最大值还大的数时,就会发生整数溢出。第一种整数溢出是存储溢出,使用错误的数据类型保存整数型造成。
第二种整数溢出是运算溢出,即对整数类型变量操作时没有考虑边界范围。导致出现越界的情况,造成整数溢出。 第三中整数溢出是符号问题,符号使用错误造成bug, 例如:无符号数被解释成有符号数或有符号数被解释成无符号数都可能造成符号bug 。
第六套
1、根据要求,完成下列题目。(共10分)
(1)RSA 算法基于数论事实:将两个大素数相乘十分容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,具体算法描述如下:
∙ 随机选择两个大素数p 和q ,p 和q 都保密;
∙ 计算n= ______pq _______,将n 公开; (1分)
(要求:A 和B 的乘积表示为AB )
∙ 计算φ(n)= _____(p-1)(q-1)________,将φ(n)保密;(1分)
∙ 随机选取一个正整数e ,1
RSA 算法中产生公钥和私钥过程描述如下:随意选择两个大的质数p 和q ,p 不等于q ,计算N=pq;根据欧拉函数,求得r = (p-1)(q-1);选择一个小于 r 的整数 e,求得 e 关于模 r 的模反元素,命名为d ;将 p 和 q 的记录销毁。(N,e)是公钥,(N,d)是私钥。因此【1】【2】【3】处应填入:pq 、(p-1)(q-1)、p, q, e, φ(n)。对消息M 进行加密运算,密文C= M^e mod n;因此【4】处填写M^e。对密文C 进行解密运算,明文M= C^d mod n;因此
【5】处填写C^d。
这样,就确定了RSA 密码的公开加密密钥Ke= (1分)
∙ 根据ed ≡1 mod φ(n),计算出d ,d 保密;
这样,就确定了RSA 密码的私有解密密钥Kd=
∙ 对消息M 进行加密运算:C= ___M^e_______ mod n;(2分)
(要求:A 的B 次方表示为A^B)
∙ 对密文C 进行解密运算:M= _____C^d________ mod n 。(2分)
(2)RSA 算法既可用于加密,又可用于数字签名,已成为目前应用最广泛的公开密钥密码之一。在应用中,为了确保RSA 密码的安全,必须认真选择RSA 密码的参数:
∙ 应当采用足够大的整数n ,普遍认为,n 至少应取 ______1024_______位;(1分)
∙ 为了使加密速度快,根据" 反复平方乘" 算法,e 的二进制表示中应当含有尽量少的1,有学者建议取e= ______65537_______,其二进制表示中只有两个1,它比3更安全,而且加密速度也很快;(1分)
∙ 与e 的选择类似,为了使解密(数字签名)速度快,希望选用小的d ,但是d 太小也是不好的。当d 小于n 的 ______1/4_______时,已有求出d 的攻击方法。(1分)
2、今有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号);
部门(部门号,名称,经理名,地址,电话)。
请基于数据库的自主存取控制及视图机制,根据操作要求补全SQL 语句。(每空1分,共5分)
(1)将职工表的INSERT 权限授予王平:
____GRANT INSERT_____ ON TABLE 职工 TO 王平;
(2)将职工表和部门表的所有权限授予王明,并授予其将权限授予其余用户的权力:
______GRANT ALL PRIVELEGES _______
ON TABLE 职工, 部门 TO 王明
______ WITH GRANT OPTION ____ ;
(3)建立部门号为"01" 的部门中年龄大于30的所有职工信息的视图"VIEW_职工" ,以便为用户杨兰分配SELECT 权限:
_____CREAT VIEW_______ VIEW_职工
AS
SELECT X.*, Y.名称FROM 职工 X, 部门Y
WHERE ____ X.年龄>30____ AND Y.部门号='01' AND X.部门号=Y.部门号
3、如图1所示,A 计算机和B 计算机之间部署了防火墙进行NAT 地址翻译,A 计算机的IP 地址为172.16.20.10,防火墙的IP 地址为54.60.122.20,B 计算机的IP 地址为210.64.102.30。对于A 计算机访问B 计算机的网络请求,防火墙进行NAT 地址翻译,请根据NAT 地址翻译的原理,将图1中(1)、(2)、(3)、(4)四个数据包的源IP 、源端口、目标IP 、目标端口信息填入"NAT 地址翻译表"
中的相应位置。(每空1分,共10分)
NAT 是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。当A 计算机访问B 计算机时,数据包的源地址和端口是自己的地址和端口,分别为172.16.20.10、2025;目的地址和端口为210.64.102.30、8080。当经过防火墙时,源IP 地址和端口就会变为防火墙的IP 地址和端口,分别为54.60.122.20、3680;而目的IP 地址和端口不变。
表 NAT 地址翻译表
当B 计算机访问A 计算机时,源地址和端口为B 计算机的地址和端口,分别为210.64.102.30、8080,目的地址为防火墙的地址和端口,分别为54.60.122.20、3680。当经过防火墙时,地址需要转化,源地址和端口变成防火墙的地址和端口,而目的地址
变为A 计算机的地址和端口。
4、Web 应用系统安全涉及到安全防护技术和安全检测技术,请完成下列题目。(每空1分,共5分)
(1)根据Web 安全防护的不同区域划分Web 的安全防护技术,可分为如下三种:
∙ ______【24】_______端安全防护,指浏览器的安全防护;
Web? 客户端的防护措施,重点对Web 程序组件的安全进行防护,严格限制从网络上任意下载程序并在本地执行。可以在浏览器进行设置,如Microsoft?Internet?Explorer 的Internet 选项的高级窗口中将Java 相关选项关闭。所以【1】处因填入客户。
∙ ______【25】_______安全防护,指保护明文数据在网络中传输的安全;
通信信道的防护措施,可在安全性要求较高的环境中,利用HTTPS 协议替代HTTP 协议。利用安全套接层协议SSL 保证安全传输文件,SSL 通过在客户端浏览器软件和Web 服务器之间建立一条安全通信信道,实现信息在Internet 中传送的保密性和完整性。故【2】处因填入通信信道。
∙ ______【26】_______端安全防护,指对Web 应用程序的各种安全威胁的防护。
。服务器端安全防护是限制在Web 服务器中账户数量,对在Web 服务器上建立的账户,在口令长度及定期更改方面作出要求,防止被盗用。Web 服务器本身会存在一些安全上的漏洞,需要及时进行版本升级更新。
(2)针对Web 的应用程序进行安全检测时,根据是否有源代码,可分为如下两种安全检测技术:
∙ ______【27】_______检测技术,没有Web 系统源代码的安全检测技术;
∙ ______【28】_______检测技术,针对W eb 系统源代码的安全检测技术。
白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。
试题七
1、在一个基于公钥密码机制的安全应用系统中,假设用户Alice 和Bob 分别拥有自己的公钥和私钥。请回答下述问题:(共5分)
1)基于难解问题设计密码是非对称密码设计的主要思想,其中ElGamal 基于求解困难的问题设计。(1分)
2)为了防止抵赖,Alice 在购买完商品后,应用系统要求Alice 使用她的私钥对购买信息进行签名。(1分)
3)为了发送保密信息给Bob ,Alice 将使用Bob 的对消息加密; Bob在收到消息后,可以使用自己的私钥对消息进行解密。(每空1分)
4)假设Alice 的RSA 公钥为(e=3,n=20)。Bob 发送消息m=4给Alice ,则Bob 对消息加密后得到的密文是。(2分)
2、为了构建一个简单、安全的" 客户机/服务器" 模式的应用系统,且假设要构建的应用系统只允许使用MD5、AES 、RSA 算法。请回答下述问题:(共5分)
1)在网络中需要传输大量数据,考虑到加密性能,对这些数据加密应该采用的算法是算法。(1分)
2)为了安全存储用户的口令,服务器需要将每个用户的口令采用MD5算法运算后存储。为了能通过用户名和口令对身份认证,用户将采用相同的算法对口令运算后发送给服务器。(1分)
3)属于单向函数的算法是算法。(1分)
4)假设Alice 的RSA 公钥为(e=3,n=15)。Bob 发送消息m=2给Alice ,则Bob 对消息加密后得到的密文是。已知素数p=3,q=5,则Alice 的私钥d=。(第1空1分,第2空2分)
3、Kerberos V5协议是属于层的安全协议。Kerberos V5协议的参与者共三方:Client (用户计算机)、Server (用户计算机希望访问的应用服务器)和Kerberos 服务器(为Client 访问Server 提供身份鉴别和权限许可的服务器)。其中,Kerberos 服务器包括:AS 服务器和TGS 服务器。AS 服务器用于鉴别Client 用户身份的真实性,TGS 服务器用于鉴别Client 是否具有访问Server 的权限。
1)请根据上述各参与方的名称,补充完整图中Kerberos V5协议的【2】-【5】。 2)Kerberos V5协议通过6步实现对用户的认证,其中的第1步已在图中标为
(1),请将后续第2步到第6步的序号2至6,填写到对应的
【6】-【10】中正确的位置。
4、某公司网络拓扑图如下图所示。
现需要通过设置防火墙的包过滤规则,达到如下要求: 1)内
网计算机的网段是10.102.50.*; 2)外网计算机不允许访问内网;
3)限制内网计算机只能访问IP 为65.20.30.105的外网Web 服务器,且仅允许访问该服务器上采用SSL 协议(利用443端口提供服务)对外服务的网站。请补充完整下面的包过滤规则表,其中" 操作" 可填选项包括" 允许" 和" 拦截" 两项。(每空1分,共10分)
试题八
车载GPS 导航仪(示意图如图3-1所示) 用于在汽车行驶过程中定位导航、防盗防劫等。其基本功能要求有:
a 、能够接收GPS 卫星发送的数据,计算出用户的三维位置、方向以及运动速度等信息。 b、能在LCD 显示屏上显示电子地图,并显示车辆运行状况。
c 、具有语音提醒功能,即能够在转弯、高速公路匝道等处,用语音进行提醒。
d 、具有无线通信功能,可以将车辆的位置及速度等信息传输给监控中心。此功能主要用于车辆的防盗防劫。
根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该GPS 导航仪的硬件平台,请完善下面的叙述(程序)和回答有关的问题。(完善程序或回答问题所需的寄存器格式见题后的附录)。 所需的寄存器格式见题后的附录)。
(1)若硬件设计时,选用专用的、具有SPI 接口的GPS 模块,并采用S3C2410芯片GPE 端口的(1)引脚(注:通过题目后面附录中相关表格来确定,给出引脚或引脚范围均可)连接到GPS 模块相关SPI 信号引脚上,用于传输位置、方向、运动速度等信息。在相关驱动程序中,用下面语句来初始化它们作为SPI 引脚使用。
rGPECON=((rGPECON|0x0A800000)& (2));// rGPECON是GPE 端口的控制寄存器
(2)设计时选择彩色LCD 作为显示屏,用于显示电子地图及车辆运行状况等。电路设计时,选择S3C2410芯片的专用LCD 端口:GPC 端口和(3)端口,并外加驱动电路连接彩色LCD
屏。在相关驱动程序中,用下面语句来初始化GPC 端口作为专用LCD 端口使用。 rGPCCON=(4); // rGPCCON是GPC 端口的控制寄存器
S3C2410芯片的专用LCD 端口可以方便地设计成真彩色LCD 屏的接口。接口电路中对应传送R 、G 、B 颜色的数据线分别需要(5)根引脚,若LCD 屏的分辨率是1024×768的,那么,一幅满屏显示的地图至少需 (6)MB (注:1KB=1024B)的缓存空间。
(3)在设计语音提醒功能时,若采用一个16位D/A转换器芯片,再加上功率放大电路及扬声器等来构成语音播报电路。需播报的语音可以事先进行语音波形采样、编码。因为人的语音频率范围是300Hz~3400 Hz。因此,对语音波形采样时,采样频率至少为 (7)KHz (请取整数频率值),所采得的数字语音信号才不至于失真。假设,播音员读" 前方100米右转" 的这段语音波形持续8秒,采用该采样频率进行采样,数字语音信号编码采用16位二进制数,那么存储该段语音信号约需要 (8)KB (1KB=1024B)的存储容量。语音回放时,按照采样频率要求,定时从所存储的单元中逐次读出数字语音信号,输出给D/A转换器,然后通过扬声器播出。因此,在相关的驱动程序中,用S3C2410芯片中的Timer2部件来产生该定时信号,Timer2部件的初始化函数编写如下,请补充完善。(注:系统主频参数PCLK 为600MHz ,分割器值选择为1/4,预分频器值选择为1,下面程序中所有参数请用十六进制表示)。 void Timer2Int(void) {
//设置定时器配置寄存器0(TCFG0)
rTCFG0=(9); //dead zone=0, Timer2预分频器值设1 //设置定时器配置寄存器1(TCFG1)
rTCFG1=(10); //都工作在中断方式,分割器值,即mux2=1/4 //设置计数常数 rTCNTB2=(11); //设置控制寄存器TCON rTCON=(12); //仅更新TCNTB2和TCMPB2 rTCON=(13); //仅Timer2启动 }
(4)设计无线通信接口时,选用3G 模块通过I2C 总线功能与S3C2410芯片的专用引脚连接,即把3G 模块上的SDA 和SCL 引脚连接到S3C2410芯片的(14)和 (15)引脚上。通过I2C 总线把需要发送的信息传送给3G 模块,再由3G 模块发送给后台服务器。
(5)若车载GPS 导航仪的应用程序以Linux 操作系统为软件平台,系统集成时,需要进行软件平台的构建工作。软件平台的构建步骤通常是:首先移植启动引导程序(Bootloader ),然后完成Linux (16)的移植,随后还需构建(17)文件系统。在启动引导程序中通常完成设置异常向量表、设置堆栈指针、引导操作系统等工作。按照ARM9体系结构的规定,启动引导程序代码的存储单元首址应该是(18),它对应复位异常向量。各异常向量之间相差(19)个字节。因此,需要在各异常向量处设计一条(20)指令。