201905信息安全真题

第 1 题

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
访问控制是保障信息系统安全的主要策略之一,其主要任务是保证系统资源不被非法使用和非常规访问。访问控制规定了主体对客体访问的限制,并在身份认证的基础上,对用户提出的资源访问请求加以控制。当前,主要的访问控制模型包括:自主访问控制(DAC)模型和强制访问控制(MAC)模型。

【问题1】(6分)
针对信息系统的访问控制包含哪三个基本要素?
【问题2】(4分)
BLP模型是一种强制访问控制模型,请问:
(1)BLP模型保证了信息的机密性还是完整性?
(2)BLP模型采用的访问控制策略是上读下写还是下读上写?
【问题3】(4分)
Linux系统中可以通过Is命令查看文件的权限,例如:文件net.txt的权限属性如下所示:
-rwx-------1 root root 5025 May 25 2019 /home/abc/net.txt
请问:
(1)文件net.txt属于系统的哪个用户?
(2)文件net.txt权限的数字表示是什么?

答案与解析

  • 试题难度:一般
  • 知识点:操作系统安全保护>UNIX/Linux操作系统安全分析与防护
  • 试题答案:

    【问题1】  
    主体、客体、授权访问
    【问题2】    
    (1)机密性
    (2)下读上写
    【问题3】   
    (1)root用户
    (2)700

  • 试题解析:

    【问题1】  
    访问控制的三个要素,即主体、客体和授权访问。
    主体:一个主动的实体,该实体造成了信息的流动和系统状态的改变,它包括商户、用户组、终端、主机或一个应用,主体可以访问客体。

    客体:指一个包含或接受信息的被动实体,对客体的访问要受控。它可以是一个字节、字段、记录、程序、文件,或者是一个处理器、存储器、网络节点等。
    授权访问:指主体访问客体的允许,授权访问对每一对主体和客体来说是给定的,决定了谁能够访问系统,能访问系统的何种资源以及如何使用这些资源。例如,授权访问有读写、执行,读写客体是直接进行的,而执行是搜索文件、执行文件。对用户的授权访问是由系统的安全策略决定的。

    【问题2】    
    (1)BLP模型是最早的一种安全模型,也是最著名的多级安全策略模型,属于状态机模型,采用线性排列安全许可的分类形式来保证信息的保密性。
    (2)上读-下写方式保证了数据的完整性;上写-下读方式则保证了信息的秘密性。

    【问题3】     
    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
    -rwx------ 1 root root 5025 May 25 2019 /home/abc/net.txt
    在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
    当为[ d ]则是目录
    当为[ - ]则是文件;

    若是[ l ]则表示为链接文档(link file);
    若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
    接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute),[ - ]代表没有权限。
    每个文件的属性由左边第一部分的10个字符来确定,如下图所示: 

     

    从左至右用0-9这些数字来表示。
    第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。
    第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
    第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
    在以上实例中,文件/net.txt的属主和属组都为root用户。
    Linux文件属性有两种设置方法,一种是数字,一种是符号;文件的权限字符为:『-rwx------』, 这九个权限是三个三个一组的,也可以使用数字来代表各个权限,各权限的分数对照表如下:
    R:4
    W:2
    X:1
    -:0
    每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwx--- ---] 分数则是:
    owner = rwx = 4+2+1 = 7
    group = ---= 0+0+0 = 0
    others= --- = 0+0+0 = 0
    所以设定权限的变更时,该文件的权限数字就是700。

第 2 题

阅读下列说明和表,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用。密码学中,根据加密和解密过程所采用密钥的特点可以将密码算法分为两类:对称密码算法和非对称密码算法。此外,密码技术还用于信息鉴别、数据完整性检验、数字签名等。

【问题1】(6分)
信息安全的基本目标包括真实性、保密性、完整性、不可否认性、可控性、可用性、可审查性等。密码学的三大安全目标C.I.A分别表示什么?
【问题2】(5分)
仿射密码是一种典型的对称密码算法。仿射密码体制的定义如下:



答案与解析

  • 试题难度:一般
  • 知识点:密码学基本理论>常见密码算法
  • 试题答案:

    【问题1】  
    保密性、完整性和可用性。
    【问题2】  
    (1)19
    (2)TVZ
    【问题3】   
    K1=21;K2=22

  • 试题解析:

    【问题1】  
    密码学的三大安全目标CIA分别表示:
    (1)保密性:保密性是确保信息仅被合法用户访问,而不被泄漏给非授权的用户、实体或过程,或供其利用的特性。即防止信息泄漏给非授权个人或实体,信息只为授权用户使用的特性。

    (2)完整性:完整性是指所有资源只能由授权方或以授权的方式进行修改,即信息未经授权不能进行改变的特性。信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失的特性。
    (3)可用性:可用性是指所有资源在适当的时候可以由授权方访问,即信息可被授权实体访问并按需求使用的特性。信息服务在需要时,允许授权用户或实体使用的特性,或者是网络部分受损或需要降级使用时,仍能为授权用户提供有效服务的特性。 

     【问题2】 
    (1)由K*K-1 ≡ 1mod(26),将11代入式中,计算11 *K^-1 -1 mod(26)=0;K^-1 为19。(2)将SEC所对应的数字代入加密表达式可得:
    (11*18+3)mod(26)=19=T;
    (11*4+3)mod(26)=21=V;
    (11*2+3)mod(26)=25=Z。

    【问题3】   
    根据表中,明文E、T所对应的数字为4、19;密文C、F所对应的数字为2、5,代入加密表达式组成二元一次方程组:
    (K1*4+K2)mod(26)=2;
    (K1*19+K2)mod(26)=5;
    求解方程组可得,K1=21;K2=22。  

第 3 题

阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
假设用户A和用户B为了互相验证对方的身份,设计了如下通信协议:

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

【问题1】(2分)
身份认证可以通过用户知道什么、用户拥有什么和用户的生理特征等方法来验证。请问上述通信协议是采用哪种方法实现的?
【问题2】(2分)
根据身份的互相验证需求,补充协议第3步的空白内容。
【问题3】(2分)
通常哈希函数f需要满足下列性质:单向性、抗弱碰撞性、抗强碰撞性。如果某哈希函数f具备:找到任何满足f(x)=f(y)的偶对(x,y)在计算上是不可行的,请说明其满足哪条性质。
【问题4】(2分)
上述协议不能防止重放攻击,以下哪种改进方式能使其防止重放攻击?
(1)在发送消息加上时间参量。
(2)在发送消息加上随机数。
【问题5】(4分)
如果将哈希函数替换成对称加密函数,是否可以提高该协议的安全性?为什么?  

答案与解析

  • 试题难度:一般
  • 知识点:认证技术原理与应用>认证类型与认证过程
  • 试题答案:

    【问题1】  
    通过用户知道什么来验证。
    【问题2】  

    【问题3】 
    抗强碰撞性。
    【问题4】   
    (1)或者“加入时间参量”。
    【问题5】   
    没有提高安全性。
    尽管加密函数也可以实现认证功能,但是从单向性要求上,加密函数显然没有哈希函数的安全性高。


  • 试题解析:

    【问题1】  
    口令是接收双方预先约定的秘密数据,它用来验证用户知道什么。  
    【问题2】   
    第3步中用户A将共享口令和随机值

  用hash函数加密后,发送给用户B,以便用户B对其身份进行验证。
【问题3】    
Hash 函数满足以下性质:
单向性:对任何给定的 hash 函数值 h, 找到满足 H(x)等于h的 x 在计算上是不可行的。 
</p>

抗弱碰撞性:对任何给定的分组 x, 找到满足y不等于x且 H(x)=H(y)的 y 在计算上是不可行的。
抗强碰撞性:找到任何满足 H(x)=H(y)的偶对(x,y)在计算上是不可行的。 

【问题4】   
重放攻击是指入侵者从网络上截取主机A发送给主机B的报文,并把由A加密的报文发送给B,使主机B误以为入侵者就是主机A,然后主机B向伪装成A的入侵者发送应当发送给A的报文。防止重放攻击的方法是使用不重数;如加随机数、加时间戳、加流水号等。 
【问题5】   
对称加密体制中,密钥的管理和分发非常困难,不够安全。在数据传送前,发送方和接收方必须商定好密钥,然后双方都必须要保存好密钥,如果一方的密钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一密钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

第 4 题

阅读下列说明和表,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
防火墙类似于我国古代的护城河,可以阻挡敌人的进攻。在网络安全中,防火墙主要用于逻辑隔离外部网络与受保护的内部网络。防火墙通过使用各种安全规则来实现网络的安全策略。
防火墙的安全规则由匹配条件和处理方式两个部分共同构成。网络流量通过防火墙时,根据数据包中的某些特定字段进行计算以后如果满足匹配条件,就必须采用规则中的处理方式进行处理。

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

 

表中“*”表示通配符,任意服务端口都有两条规则。
请补充表4.1中的内容(1)和(2),并根据上述规则表给出该企业对应的安全需求。
【问题2】(4分)
一般来说,安全规则无法覆盖所有的网络流量。因此防火墙都有一条默认(缺省)规则,该规则能覆盖事先无法预料的网络流量。请问缺省规则的两种选择是什么?
【问题3】(6分)
请给出防火墙规则中的三种数据包处理方式。
【问题4】(4分)
防火墙的目的是实施访问控制和加强站点安全策略,其访问控制包含四个方面的内容:服务控制、方向控制、用户控制和行为控制。请问表4.1中,规则A涉及访问控制的哪几个方面的内容?

答案与解析

  • 试题难度:一般
  • 知识点:防火墙技术原理与应用>防火墙类型与实现技术
  • 试题答案:

    【问题1】
    (1)53 (2)丢弃或Drop
    其安全需求为:(1)允许内部用户访问外部网络的网页服务器;(2)允许外部用户访问内部网络的网页服务器 (202.114.64.125);(3)除 1和2 外,禁止其他任何网络流量通过该防火墙。

    【问题2】 
      (1)默认拒绝:一切没有被允许的就是禁止的;

      (2)默认允许:一切没有被禁止的就是允许的。
    【问题3】  
    (1)Accept:允许数据包或信息通过;

    (2)Reject :拒绝数据包或信息通过,并且通知信息源该信息被禁止;

    (3)Drop:直接将数据包或信息丢弃,并且不通知信息源。

    【问题4】  
    服务控制和方向控制。


  • 试题解析:

    【问题1】
    规则 A 和 B 允许内部用户访问外部网络的网页服务器。规则 C 和 D 允许外部用户访问内部网络的网页服务器。规则 E 和 F 允许内部用户访问域名服务器。规则 G 是缺省拒绝的规则。规则E中目的端口为53;规则G中动作为Drop。
    其安全需求为:①允许内部用户访问外部网络的网页服务器;②允许外部用户访问内部网络的网页服务器 (202.114.64.125);③除 1 和 2 外,禁止其他任何网络流量通过该防火墙。
    【问题2】
    缺省规则有两种选择:默认拒绝或者默认允许。默认拒绝是指一切未被允许的就是禁止的,其安全规则的处理方式一般为 Accept;默认允许是指一切未被禁止的就是允许的。其安全规则的处理方式一般为 Reject 或 Drop。
    【问题3】
    防火墙规则中的处理方式主要包括以下几种:
    (1)Accept:允许数据包或信息通过。
    (2)Reject:拒绝数据包或信息通过,并且通知信息源该信息被禁止。
    (3)Drop:直接将数据包或信息丢弃,并且不通知信息源。
    【问题4】
    防火墙的目的是实施访问控制和加强站点安全策略,其访问控制包含四个方面或层次的内容:
    (1)服务控制:决定哪些服务可以被访问,无论这些服务是在内部网络还是在外部网络。常见的网络服务有邮件服务、网页服务、代理服务、文件服务等,这些服务往往是系统对外的功能。在计算机网络中,服务往往就是指 TCP/IP协议中的端口值,如 25 是指 SMTP 服务,110是指 POP3 服务,80是指网页服务等。当然,服务控制也包括服务的位置控制,如 E 地址。
    (2)方向控制:决定在哪些特定的方向上服务请求可以被发起并通过防火墙,也就是服务是位于内部网络还是外部网络。通过规则控制,可以限定一个方向的服务,也可以同时限定两个方向的服务。
    (3)用户控制:决定哪些用户可以访问特定服务。该技术既可以应用于防火墙网络内部的用户(本地用户),也可以被应用到来自外部用户的访问。可以采用用户名、主机的 IP、主机的 MAC 等标识用户。
    (4)行为控制:决定哪些具体的服务内容是否符合安全策略。如防火墙可以通过过滤邮件来清除垃圾邮件,以及网络流量中是否含有计算机病毒、木马等恶意代码。
    规则A只规定了内部网访问外部网络的80端口的特定服务的过滤规则,设计服务控制和方向控制。


第 5 题

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
信息系统安全开发生命周期(Security Development Life Cycle(SDLC))是微软提出的从安全角度指导软件开发过程的管理模式,它将安全纳入信息系统开发生命周期的所有阶段,各阶段的安全措施与步骤如下图5.1所示。


【问题1】(4分)
在培训阶段,需要对员工进行安全意识培训,要求员工向弱口令说不!针对弱口令最有效的攻击方式是什么?以下口令中,密码强度最高的是(  )。
A. security2019
B. 2019Security
C. Security@2019
D. Security2019
【问题2】(6分)
在大数据时代,个人数据正被动地被企业搜集并利用。在需求分析阶段,需要考虑采用隐私保护技术防止隐私泄露。从数据挖掘的角度,隐私保护技术主要有:基于数据失真的隐私保护技术、基于数据加密的隐私保护技术、基于数据匿名隐私保护技术。
请问以下隐私保护技术分别属于上述三种隐私保护技术的哪一种?
(1)随机化过程修改敏感数据
(2)基于泛化的隐私保护技术
(3)安全多方计算隐私保护技术
【问题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* аrgv[ ]) 
    {
       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函数的参数满足什么条件,就可以在不知道真实口令的情况下绕过口令验证功能?
【问题4】(3分)
SDLC安全开发模型的实现阶段给出了3种可以采取的安全措施,请结合问题3的代码举例说明?

答案与解析

  • 试题难度:一般
  • 知识点:网络安全漏洞防护技术原理与应用>网络安全漏洞处置技术与应用
  • 试题答案:

    【问题1】  

     (1)穷举攻击   (2) C

    【问题2】 
    (1)基于数据失真的隐私保护技术;
    (2)基于数据匿名化的隐私保护技术;
    (3)基于数据加密的隐私保护技术。

    【问题3】  
    参数password的值满足:12个字符的字符串,前面8个字符为任意字符,后面4个字符为空字符;或者输入完整的8个任意字符。

    【问题4】 
    使用批准的工具来编写安全正确的程序;禁用不安全的函数来防范因数组没有边界检查而导致的缓冲区溢出;通过静态分析进行程序指针完整性检查。

  • 试题解析:

    【问题1】  

    (1)弱口令可以通过穷举攻击方式来破解。

    (2)密码必须符合复杂性要求:启用此策略,用户账户使用的密码必须符合复杂性的要求。
    密码复杂性必须符合下列最低要求:
    不能包含用户的账户名;
    不能包含用户姓名中超过两个连续字符的部分;
    至少有六个字符长;
    密码总必须包含以下4类字符中的三类字符:
    1、英文大写字母(A-Z)
    2、英文小写字母(a-z)
    3、10个基本数字(0-9)
    4、特殊符号(!@#¥%等)

    【问题2】

    (1)基于数据失真的隐私保护技术:它是使敏感数据失真但同时保持某些关键数据或者属性不变的隐私保护技术,例如,采用交换 (Swapping)、添加噪声等技术对原始数据集进行处理,并且保证经过扰动处理后的数据仍然保持统计方面的性质,以便进行数据挖掘等操作。
    (2)基于数据加密的隐私保护技术:它是采用各种加密技术在分布式环境下隐藏敏感数据的方法,如安全多方计算 (SMC)、分布式匿名化、分布式关联规则挖掘和分布式聚类等。
    (3)基于数据匿名化的隐私保护技术:它是根据具体情况有条件地发布数据,例如,不发布原始数据的某些值、数据泛化等。

    【问题3】  
    该代码按正常流程走下来,函数verify-password()会返回变量authenticated的值,而只有当其值为0时,会绕过口令。
    再来分析strcpy() 函数这个函数,该用来复制字符串,其原型为:
    char *strcpy(char *dest, const char *src);
    【参数】dest 为目标字符串指针,src 为源字符串指针。
    注意:src 和 dest 所指的内存区域不能重叠,且 dest 必须有足够的空间放置 src 所包含的字符串(包含结束符NULL)。
    【返回值】成功执行后返回目标数组指针 dest。
    strcpy() 把src所指的由NULL结束的字符串复制到dest 所指的数组中,返回指向 dest 字符串的起始地址。
    注意:如果参数 dest 所指的内存空间不够大,可能会造成缓冲溢出。
    主函数中,当valid—flag为0时,会绕过口令,而valid—flag是函数verify-password()的返回值,在函数verify-password()中,其返回值是变量authenticated的值,在返回该值时,使用了strcpy函数将password的值复制到数组buffer中,buffer数组的长度为8个字符,一旦用户输入数据长度大于8个字符就会溢出,溢出部分就会覆盖其他变量的值,从上图堆栈中的数据存储方式可以看出,buffer数组一旦溢出,溢出部分就会覆盖authenticated的值;根据题目意思,只要令溢出部分的值为0即可令authenticated=0,最终使得valid—flag为0,从而满足条件。所以可以先任意输入8个字符堆满buffer数组,再输入时就是溢出部分,可以输入空字符,因authenticated为整形数据,所以将字符赋给整形变量时,会按其ASCII码值进行处理,空字符的ASICC值为0,从而可以把authenticated值变成0满足条件;或者输入完整的任意8个字符,再加上复制结束自动加入的字符串结束标志“\0”,也可导致authenticated值变成0满足条件。

    【问题4】  

    使用批准的工具来编写安全正确的程序,只要在所有拷贝数据的地方进行数据长度和有效性的检查,确保目标缓冲区中数据不越界并有效,则就可以避免缓冲区溢出,更不可能使程序跳转到恶意代码上。禁用不安全的函数来防范因数组没有边界检查而导致的缓冲区溢出,C 语言中存在缓冲区溢出攻击隐患的系统函数有很多。例如 gets(),sprintf(),strcpy(),strcat( ),fscanf( ),scanf( ), vsprintf( )等。可以禁用这些不安全函数。通过静态分析进行程序指针完整性检查,在每次在程序指针被引用之前先检测该指针是否已被恶意改动过,如果发现被改动,程序就拒绝执行。


results matching ""

    No results matching ""