12016年下半年信息安全工程师真题(案例分析题)案例分析题试题一(共20分)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】研究密码编码的科学称为密码编码学,研究密码破译的科学称为密码分析学,密码编码学和密码分析学共同组成密码学。密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用。【问题1】(9分)密码学的安全目标至少包括哪三个方面?具体内涵是什么?【问题2】(3分)对下列违规安全事件,指出各个事件分别违反了安全目标中的哪些项?(1)小明抄袭了小丽的家庭作业。(2)小明私自修改了自己的成绩。(3)小李窃取了小刘的学位证号码、登陆口令信息,并通过学位信息系统更改了小刘的学位信息记录和登陆口令,将系统中小刘的学位信息用一份伪造的信息替代,造成小刘无法访问学位信息系统。2【问题3】(3分)现代密码体制的安全性通常取决于密钥的安全,为了保证密钥的安全,密钥管理包括哪些技术问题?【问题4】(5分)在图1-1给出的加密过程中,Mi,z=1,2,…,”表示明文分组,Ci,f=1,2,…,玎表示密文分组,Z表示初始序列,K表示密钥,E表示分组加密过程。该分组加密过程属于哪种工作模式?这种分组密码的工作模式有什么缺点?试题二(共10分)阅读下列说明和图,周答问题1至问题2,,将解答填入答题纸的对应栏内。3【说明】访问控制是对信息系统资源进行保护的重要措施l适当的访问控制能够阻止未经授权的用户有意或者无意地获取资源。访问控制一般是在操作系统的控制下,~按照事先确定的规则决定是否允许用户对资源的访问。图2-1给出了某系统对客体traceroute.mpg实施的访问控制规则。【问题1】(3分)针对信息系统的访问控制包含哪些基本要素?4【问题2】(7分)分别写出图2-1中用户Administrator对应三种访问控制实现方法,即能力表、访问控制表和访问控制矩砗下的访问控制规则。试题三(共19分)阅读下列说明和图,回答问题l至问题3,将解答填入答题纸的对应栏内。【说明】防火墙是一种广泛应用的网络安全防御技术,它阻挡对网络的非法访问和不安全的数据传递,保护本地系统和网络免于受到安全威胁。图3-1给出了一种防火墙的体系结构。5【问题1】(6分)防火墙的体系结构主要有:(1)双重宿主主机体系结构;(2)(被)屏蔽主机体系结构;(3)(被)屏蔽子网体系结构;请简要说明这三种体系结构的特点。【问题2】(5分)(1)图3-1描述的是哪一种防火墙的体系结构?6(2)其中内部包过滤器和外部包过滤器的作用分别是什么?【问题3】(8分)设图3-1中外部包过滤器的外部妒.地址为j内.20.100.1,内部口地址为10.20.100.2;内部包过滤器的外部口地址为10.20.100.3,内部IP地址为192.168.0.1,DMZ中Web服务器IP为10.20.100.6,SMTP服务器IP为10,20.100.8。关于包过滤器,要求实现以下功能:不允许内部网络用户访问外网和DMZ,外部网络用户只允许访问DMZ中的Web服务器和SMTP服务器。内部包过滤器规则如表3-1所示。请完成外部包过滤器规则表3-2,将对应空缺表项的答案填入答题纸对应栏内。表3-1内部包过滤器规则表表3-2外部包过滤器规则表7试题四(共18分)阅读下列说明,回答问题l至问题4,将解答填入答题纸的对应栏内。【说明】用户的身份认证是许多应用系统的第一道防线,身份识别对确保系统和数据的安全保密极及其重要。以下过程给出了实现用户B对用户A身份的认证过程。1.A-B:A2.B-A:{B,Nb}(A)3.A-B:h(Nb)此处A和B是认证的实体,Nb是一个随机值,pk(A)表示实体A的公钥,{B,Nb}pk(A)表示用A的公钥对消息B娜进行加密处理,h(Nb)表示用哈希算法h对Nb计算哈希值。【问题1】(5分)8认证与加密有哪些区别?【问题2】(6分)(1)包含在消息2中的“Nb”起什么作用?(2):Nb“的选择应满足什么条件?【问题3】(3分)为什么消息3中的Nb要计算哈希值?【问题4】(4分)上述协议存在什么安全缺陷?请给出相应的的解决思路。试题五(共8分)阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内。【说明】9某本地口令验证函数(C语言环境,X8632指令集)包含如下关键代码;某用户的口令保存在字符数组origPassword中,用户输入的口令保存在字符数组userPassword中,如果两个数组中的内容相同则允许进入系统。.........................................................................................................................................................[...]CharorigPassword[12]=“lSecret”CharorigPassword[12];[...]Gets(userPassword);/*读取用户输入的口令*/[...]If(strncmp(origPassword,userPassword,12)!=0){Printf(“Password,doesn’tmatch!/n”);Exit(-1);}[...]/*口令认证通过时允许用户访问*/[...].........................................................................................................................................................【问题1】(4分)10用户在调用gets()函数时输入什么样式的字符串,可以在不知道的原始口令“Secret”的情况下绕过该口令验证函数的限制?【问题2】(4分)上述代码存在什么类型的安全隐患?请给出消除该安全隐患的思路。