试题一 【说明】
访问控制是保障信息系统安全的主要策略之一,其主要任务是保证系统资源不被非法使用和非常规访问。访问控制规定了主体对客体访问的限制,并在身份认证的基础上,对用户提出的资源访问请求加以控制。当前,主要的访问控制模型包括:自主访问控制(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在实现阶段给出了三种安全措施,分别是,①为主流编程语言提供了安全编码规范,②为主流编程语言饰选出了安全函数库:③提供了代码审计方法。