2019年上半年信息安全工程师下午案例题及解析

试题一 【说明】

访问控制是保障信息系统安全的主要策略之一,其主要任务是保证系统资源不被非法使用和非常规访问。访问控制规定了主体对客体访问的限制,并在身份认证的基础上,对用户提出的资源访问请求加以控制。当前,主要的访问控制模型包括:自主访问控制(DAC)模型和强制访问控制(MAC)模型。

问题: 1.1(6 分)

针对信息系统的访问控制包含哪三个基本要素?

问题: 1.2(4 分)

BLP 模型是一种强制访问控制模型,请问:

(1)BLP 模型保证了信息的机密性还是完整性?

(2)BLP 模型采用的访问控制策略是上读下写还是下读上写?

问题: 1.3(4 分)

Linux 系统中可以通过Is 命令查看文件的权限,例如:文件net.txt 的权限属性如下所示:

-rwx-------1 root root 5025 May 25 2019 /home/abc/net.txt

请问:

(1)文件net.txt 属于系统的哪个用户?

(2)文件net.txt 权限的数字表示是什么?

试题一答案及解析:

【问题1】

参考答案信息系统访问控制的三个基本要素为:主体、客体、授权访问。

试题解析:访问控制的三个基本概念如下。

●主体:改变信息流动和系统状态的主动方。主体可以访问客体。主体可以是进程、用户、用户组、应用等。

●客体:包含或者接收信息的被动方。客体可以是文件、数据、内存段、字节等。

●授权访问:决定谁能访问系统,谁能访问系统的哪种资源以及如何使用这些资源。方式有读、写、执行、搜索等。

【问题2】

参考答案

(1)机密性

(2)下读上写

试题解析:BLP模型的特点:

①只允许主体向下读,不能上读(简单安全特性规则);

②主体只能向上写,不能向下写(*特性规则);

③既不允许低信任级别的主体读高敏感度的客体,也不允许高敏感度的客体写入低敏感度区域,禁止信息从高级别流向低级别。这样保证了数据的机密性。

【问题3】

参考答案

(1)root

(2)700

试题解析:文件权限属性各参数含义如下所示。

文件属性  文件数 拥有者 所属group  文件大小  创建日期        文件名

-rwx------  1     root    root       5025    May25 2019   /home/abc/net.txt

所以,文件/net.txt的所有者和所属组都为root。

第一列:表示文件的属性。Linux的文件分为三个属性:可读(r)可写(w)、可执行(x)。该列共有十个位置可以填。第一个位置是表示类型,可以是目录或连结文件,其中d表示目录,1表示连结文件,“-”表示普通文件,b代表块设备文件,c代表字符设备文件。

剩下的9个位置以每3个为一组。第一列格式如下图所示。默认情况下,系统将创建的普通文件的权限设置为-rw-r-r-。

 

图中后9位每三位一组共分成了三组,每组的表达方式有两种,分别是符号形式表示与数字形式表示。以rwx这组参数为例,其两种形式的表示方法及含义如下。

1)符号形式。

第一位表示是否有读权限。“r”表示有读权限;“-”表示没有读权限。

第二位表示是否有写权限。“w”表示有写权限;“-”表示没有写权限

第三位表示是否有执行权限。“x”表示有执行权限:“-”表示没有执行权限。

2)数字形式。

第一位表示是否有读权限。“4”表示有读权限;“0”表示没有读权限。

第二位表示是否有写权限。“2”表示有写权限:“0”表示没有写权限。

第三位表示是否有执行权限。“1”表示有执行权限:“0”表示没有执行权限。

各位相加即为该组权限的数值表达。

本题的第一组的权限符号形式为rwx,则对应数字形式为4+2+1=7。

本题的其他组的权限符号形式为---,则对应数字形式为0+0+0=0。

所以,文件net.txt权限的数字表示是700。

第二列:表示文件个数。如果是文件,这个数就是1;如果是目录,则表示该目录中的文件个数。

第三列:表示该文件或目录的拥有者。

第四列:表示所属的组(group)。每一个使用者都可以拥有一个以上的组,但是大部分的使用者应该都只属于一个组。

第五列:表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte。

第六列:表示创建日期。以“月,日,时间”的格式表示。

第七列:表示文件名。

试题二 【说明】

密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用。密码学中,根据加密

和解密过程所采用密钥的特点可以将密码算法分为两类:对称密码算法和非对称密码算

法。此外,密码技术还用于信息鉴别、数据完整性检验、数字签名等。

问题: 2.1(6 分)

信息安全的基本目标包括真实性、保密性、完整性、不可否认性、可控性、可用性、可审

查性等。密码学的三大安全目标C.I.A 分别表示什么?

问题: 2.2(5 分)

仿射密码是一种典型的对称密码算法。仿射密码体制的定义如下:

令明文和密文空间M= C =Z26 ,密钥空间

K={(k1 , k2)∈Z26×Z26:gcd(k1 , 26)=1}。

对任意的密钥key=(k1 , k2)∈K , x∈M , y∈C ,定义加密和解密的过程如下:

加密: ekey(x)=(k1x+k2)mod26

解密: dkey(y)=k1-1(y-k2)mod26

其中k1-1 表示k1 在Z26 中的乘法逆元,即k1-1 乘以k1对26 取模等于1,

gcd(k1 , 26)= 1表示k1 与26 互素。

设已知仿射密码的密钥Key = (11 , 3),英文字符和整数之间的对应关系如下表。则:

 

(1)整数11 在Z26中的乘法逆元是多少?

(2)假设明文消息为“SEC”,相应的密文消息是什么?

问题: 2.3(2 分)

根据问题2给出的表的对应关系,仿射密码中,如果已知明文“E”对应密交“C",明文“T”对应密文“F”,则相应的key=(k1 , k2)等于多少?

试题二答案及解析:

【问题1】

参考答案C、I、A分别表示保密性、完整性、可用性

试题解析:密码学的安全目标至少包含以下三个方面。

保密性(Confidentiality):信息仅被合法用户访问(浏览、阅读、打印等),不被泄露给非授权的用户、实体或过程。

提高保密性的手段有:防侦察、防辐射、数据加密、物理保密等。

完整性(Integrity):资源只有授权方或以授权的方式进行修改,所有资源没有授权则不能修改。保证数据完整性,就是保证数据不能被偶然或者蓄意地编辑(修改、插入、删除、排序)或者攻击(伪造、重放)。

影响完整性的因素有:故障、误码、攻击、病毒等。

可用性(Availability):资源只有在适当的时候被授权方访问,并按需求使用。

【问题2】

参考答案

(1)19

(2)TVZ

试题解析:(1)由于k1-1表示k1在Z26中的乘法逆元,即k1-1乘以k1对26取模等于1,

gcd(k1,26)=1表示k1与26互素。

得到公式k1-1×k1≡1mod26,即(k1-1×k1-1)mod26=0。

其中,题目已知k1=11,代入求解得到k1-1=19。

(2)定义加密和解密的过程如下:

由于加密过程:ekey(x)=(k1x+k2)mod26,而密钥Key=(11,3),所以k1=11,k2=3。

SEC对应的值分别为18、4、2代入x,可以算出结果。

(11×18+3)mod26=19,查表得到T;

(11×4+3)mod26=21,查表得到V;

(11×2+3)mod26=25,查表得到Z。

【问题3】

参考答案k1=21;k2=22

试题解析:根据问题2中的表可以得到,明文E=4、T=19;对应的密文C=2、F=5。

代入加密过程ekey(x)=(k1x+k2)mod26可以得到方程组:

(k14+k2)mod26=2

(k119+k2)mod26=5

且仿射密码中k1要求与26互素,则k1只能取{1、3、5、7、9、11、15、17、19、21、23、25}中的某一个数字。

求解可得,k1=21,k2=22。

试题三 【说明】

假设用户A 和用户B 为了互相验证对方的身份,设计了如下通信协议:

 

其中: RA 、RB 是随机数, PAB 是双方事先约定并共享的口令,“||”表示连接操作。f 是哈希函数。

问题: 3.1(2 分)

身份认证可以通过用户知道什么、用户拥有什么和用户的生理特征等方法来验证。请问上述通信协议是采用哪种方法实现的?

问题: 3.2(2 分)

根据身份的互相验证需求,补充协议第3 步的空白内容。

问题: 3.3(2 分)

通常哈希函数f 需要满足下列性质:单向性、抗弱碰撞性、抗强碰撞性。如果某哈希函数具备:找到任何满足f(x)=f(y)的偶对(x,y)在计算上是不可行的,请说明其满足哪条性质。

问题: 3.4(2 分)

上述协议不能防止重放攻击,以下哪种改进方式能使其防止重放攻击?

(1)为发送消息加上时间参量。

(2)为发送消息加上随机数。

(3)为发送消息加密。

问题: 3.5(3 分)

如果将哈希函数替换成对称加密函数,是否可以提高该协议的安全性?为什么?

试题三答案及解析:

【问题1】

参考答案通过用户知道什么来验证。

试题解析:口令可以看成接收双方预先约定的秘密数据,它用来验证用户知道什么。

【问题2】

参考答案RB

试题解析:以下是本题通信过程的解释:

1. A→B:RA      //A发送随机数RA给B

2. B→A:f(PABlIRA) lIRB      //B收到RA后,使用单向函数f()对共享口令PAB和RA处理加密后,连同RB一并发送给A。

A验证B的身份:A使用f()对自己保存的PAB和RA进行加密,并与接收到的f(PABlIRA)进行比较。如果比较结果一致,则A确认B是真实的,否则,不是真实的。

3.A→B: f(PABlIRB)      //A收到RB后,使用单向函数f()对共享口令PAB和RB处理加密后,发送给B。

B验证A的身份:B使用f()对自己保存的PAB和RB进行加密,并与接收到的f(PABlIRB)进行比较,如果比较结果一致,则A确认B是真实的,否则,不是真实的。

【问题3】

参考答案抗强碰撞性

试题解析:哈希函数的三大特性:①单向性(one way):己知x,求x=h(m)的m在计算上不可行的;②弱抗碰撞性(weakly collision free):对于任意给定的消息m,如果找到另一不同的消息m',使得h(m)=h(m')在计算上是不可行的;③强抗碰撞性(strongly collision free):寻找两个不同的消息m和m',使得h(m)=h(m')在计算上是不可行的。

【问题4】

参考答案(1)和(2)

试题解析:加随机数、时间戳、序号等方法可以防止重放攻击。

【问题5】

参考答案不能 (1分)

对称加密方式密钥不具备哈希函数的单向性 (2分)

试题解析:对称加密方式密钥存在分发和管理困难问题;同时不具备哈希函数的单向性。

试题四 【说明】

防火墙类似于我国古代的护城河,可以阻挡敌人的进攻。在网络安全中,防火墙主要用于逻辑隔离外部网络与受保护的内部网络。防火墙通过使用各种安全规则来实现网络的安全策略。

防火墙的安全规则由匹配条件和处理方式两个部分共同构成。网络流量通过防火墙时,根据数据包中的某些特定字段进行计算以后如果满足匹配条件,就必须采用规则中的处理方式进行处理。

问题: 4.1(6 分)

假设某企业内部网(202.114.63.0/24)需要通过防火墙与外部网络互连,其防火墙的过滤规则实例如表4.1 所示。

 

表中“*”表示通配符,任意服务端口都有两条规则。

请补充表4.1 中的内容(1)和(2),并根据上述规则表给出该企业对应的安全需求。

问题: 4.2(4 分)

一般来说,安全规则无法覆盖所有的网络流量。因此防火墙都有一条缺省(默认)规则,该规则能覆盖事先无法预料的网络流量。请问缺省规则的两种选择是什么?

问题: 4.3(6 分)

请给出防火墙规则中的三种数据包处理方式。

问题: 4.4(4 分)

防火墙的目的是实施访问控制和加强站点安全策略,其访问控制包含四个方面的内容:服务控制、方向控制、用户控制和行为控制。请问表4.1 中,规则A 涉及访问控制的哪几个方面的内容?

试题四答案及解析:

【问题1】

参考答案(1)53(2)drop

企业对应的安全需求有:①允许内部用户访问外部网络的网页服务器;②允许外部用户访问内部网络的网页服务器(202.114.63.125):③除①和②外,禁止其他任何网络流量通过防火墙。

试题解析:

本题考查防火墙过滤规则设置的相关知识。

【问题2】

参考答案两种缺省选择是默认拒绝或者默认允许。

试题解析:两种缺省选择是默认拒绝或者默认允许。默认拒绝是指一切未被允许的就是禁止的,其安全规则的处理方式一般为reject或drop;默认允许是指一切未被禁止的就是允许的,其安全规则的处理方式一般为accept。

【问题3】

参考答案accept、reject、drop

试题解析:大多数防火墙规则中的处理方式主要包括以下三种。

●accept:允许数据包或信息通过。

●reject:拒绝数据包或信息通过,并且通知信息源该信息被禁止。

●drop:将数据包或信息直接丢弃,并且不通知信息源。

【问题4】

参考答案服务控制、方向控制和用户控制。

试题解析:防火墙的目的是实施访问控制和加强站点安全策略,其访问控制包含四个方面或层次的内容。

●服务控制:控制内部或者外部的服务哪些可以被访问。服务常对应TCP/IP协议中的端口,例如110就是POP3服务,80就是web服务,25是SMTP服务。

●方向控制:决定特定方向发起的服务请求可以通过防火墙。需确定服务是在内网还是在外网。可以限制双向的服务。

●用户控制:决定内网或者外网用户可以访问哪些服务。用户可以使用用户名、IP地址、MAC地址标示。

●行为控制:进行内容过滤。如过滤网络流量中的病毒、木马或者垃圾邮件。

试题五 【说明】

信息系统安全开发生命周期(Security Development LifeCycle(SDLC))是微软提出的从安全角度指导软件开发过程的管理模式,它将安全纳入信息系统开发生命周期的所有阶段,各阶段的安全措施与步骤如下图5.1 所示。

 

问题: 5.1(4 分)

在培训阶段,需要对员工进行安全意识培训,要求员工向弱口令说不!针对弱口令最有效的攻击方式是什么?以下口令中,密码强度最高的是(  )。

A. security2019

B. 2019Security

C. Security@2019

D. Security2019

问题: 5.2(6 分)

在大数据时代,个人数据正被动地被企业搜集并利用。在需求分析阶段,需要考虑采用隐私保护技术防止隐私泄露。从数据挖掘的角度,隐私保护技术主要有:基于数据失真的隐私保护技术、基于数据加密的隐私保护技术、基于数据匿名隐私保护技术。

请问以下隐私保护技术分别属于上述三种隐私保护技术的哪一种?

(1)随机化过程修改敏感数据

(2)基于泛化的隐私保护技术

(3)安全多方计算隐私保护技术

问题: 5.3(4 分)

有下述口令验证代码:

#define PASSWORD "1234567"

int verify_ password (char *password)

{

int authenticated;

char buffer[8];

authenticated= "strcmp(password,PASSWORD);

strcpy(buffer,password);

return authenticated;

}

Іnt mаіn(іnt аrgс,сhаr*аrg[ ])

{

int valid_ flag=0;

char password[1024]

while (1)

{

printf("please input password: ");

scanf("%s",password);

valid_ flag = verify_ password(password); /验证口令

if ( valid_ flag)  //口令无效

{

printf("incorrect password!\n\n");

}

else //口令有效

{

printf(Congratulation! You have passed the verification!\n");

break;

}

}

}

其中main函数在调用verify_ password 函数进行口令验证时,堆栈的布局如图5.2 所示。

 

请问调用verify_password 函数的参数满足什么条件,就可以在不知道真实口令的情况下绕过口令验证功能?

问题: 5.4(3 分)

S-SDLC 安全开发模型的实现阶段给出了3 种可以采取的安全措施,请结合问题3 的代码举例说明?

试题五答案及解析:

【问题1】

参考答案针对弱口令最有效的攻击方式是穷举攻击(2分)

C(2分)

试题解析:如果启用“密码必须符合复杂性要求”策略,密码必须符合下列最低要求。

●不能包含用户的账户名,不能包含用户姓名中超过两个连续字符的部分。

●至少有六个字符长

●包含以下四类字符中的三类字符:英文大写字母(A~Z),英文小写字母(a~z),10个基本数字(0一9),非字母字符(例如!、$、#、%)。

启用“密码必须符合复杂性要求”策略后,操作系统会在更改或创建密码时执行复杂性要求。

【问题2】

参考答案

(1)随机化过程修改敏感数据属于基于数据失真的隐私保护技术。

(2)基于泛化的隐私保护技术基于数据匿名化的隐私保护技术。

(3)安全多方计算隐私保护技术基于数据加密的隐私保护技术。

试题解析:从数据挖掘的角度,隐私保护技术主要可以分为以下三类:

●基于数据失真的技术:一种使敏感数据失真,但同时保持某些关键数据或数据属性不变的方法。例如,采用添加噪声、交换等技术对原始数据进行扰动处理,但要求保证处理后的数据仍然可以保持某些统计方面的性质,以便进行数据挖掘等操作。

●基于数据加密的技术:采用加密技术在数据挖掘过程中隐藏敏感数据的方法。

●基于数据匿名化的技术:根据具体情况有条件地发布数据,如不发布数据的某些域值、数据泛化等。

【问题3】

参考答案password数组长度大于等于12个字符,其中,password[8]~password[11]这部分每个字符均为空字符。

试题解析:Strepy(buffer,password),如果password数组过长,赋值给buffer数组后,就能够让buffer数组越界。而越界的buffer[8~11]将值写入相邻的变量authenticated中。

如果password[8~11]巧好内容为4个空字符,由于空字符的ASCI码值为0,这部分溢出数据恰好把authenticated改为0,则系统密码验证程序被跳过,无需输入正确的密码“1234567”。

【问题4】

参考答案(1)使用批准工具:编写安全代码。

(2)禁用不安全函数:禁用C语言中有隐患的函数。

(3)静态分析:检测程序指针的完整性。

试题解析:本题考查对S-SDLC安全开发模型的理解。S-SDLC在实现阶段给出了三种安全措施,分别是,①为主流编程语言提供了安全编码规范,②为主流编程语言饰选出了安全函数库:③提供了代码审计方法。

  • 0
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论

打赏作者

王至强

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值