前言:
今天我们对“弱口令攻击方式”大概比较注重,同学们都想要了解一些“弱口令攻击方式”的相关知识。那么小编也在网络上收集了一些对于“弱口令攻击方式””的相关文章,希望咱们能喜欢,大家一起来学习一下吧!试题三
假设用户A 和用户 B 为了互相验证对方的身份,设计了如下通信协议:
其中: RA 、RB 是随机数, PAB 是双方事先约定并共享的口令,“||”表示连接操作。f 是哈希函数。
问题3.1
身份认证可以通过用户知道什么、用户拥有什么和用户的生理特征等方法来验证。请问上述通信协议是采用哪种方法实现的?
解析:
这里双方都知道一个口令,因此这个口令可以看成双方约定的秘密数据,它用来验证用户知道什么。
答案:用户知道什么。
问题3.2
根据身份的互相验证需求,补充协议第 3 步的空白内容。
答案: A->B()
问题3.3
通常哈希函数f 需要满足下列性质:单向性、抗弱碰撞性、抗强碰撞性。如果某哈希函数具
备:找到任何满足f(x)=f(y)的偶对(x,y)在计算上是不可行的,请说明其满足哪条性质。
哈希函数的三大特性
①单向性(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')在计算上是不可行的。
根据定义可以知道,上述条件是满足强抗碰撞性。
答案:强抗碰撞性。
问题3.4
上述协议不能防止重放攻击,以下哪种改进方式能使其防止重放攻击?
(1)为发送消息加上时间参量。 (2)为发送消息加上随机数。 (3)为发送消息加密。
答案:(1)、(2)
问题3.5
如果将哈希函数替换成对称加密函数,是否可以提高该协议的安全性?为什么?
我的回答:不能,对称加密方式密钥不具备哈希函数的单向性。
试题四
防火墙类似于我国古代的护城河,可以阻挡敌人的进攻。在网络安全中,防火墙主要用于逻辑隔离外部网络与受保护的内部网络。防火墙通过使用各种安全规则来实现网络的安全策略。
防火墙的安全规则由匹配条件和处理方式两个部分共同构成。网络流量通过防火墙时,根据数据包中的某些特定字段进行计算以后如果满足匹配条件,就必须采用规则中的处理方式进行处理。
问题4.1
假设某企业内部网(202.114.63.0/24)需要通过防火墙与外部网络互连,其防火墙的过滤规则实例如表 4.1 所示。
表中“*”表示通配符,任意服务端口都有两条规则。
请补充表 4.1 中的内容(1)和(2),并根据上述规则表给出该企业对应的安全需求。
答案:(1)53 (2)drop
问题4.2
一般来说,安全规则无法覆盖所有的网络流量。因此防火墙都有一条缺省(默认)规则,该规则能覆盖事先无法预料的网络流量。请问缺省规则的两种选择是什么?
答案:默认拒绝或默认允许
问题4.3
请给出防火墙规则中的三种数据包处理方式。
大多数防火墙规则中的处理方式主要包括以下三种。
● accept:允许数据包或信息通过。
● reject:拒绝数据包或信息通过,并且通知信息源该信息被禁止。
● drop:将数据包或信息直接丢弃,并且不通知信息源。
答案:accept、reject、drop
问题4.4
防火墙的目的是实施访问控制和加强站点安全策略,其访问控制包含四个方面的内容:服务控制、方向控制、用户控制和行为控制。请问表 4.1 中,规则 A 涉及访问控制的哪几个方面的内容?
访问控制内容
●服务控制:控制内部或者外部的服务哪些可以被访问。服务常对应 TCP/IP 协议中的端口,例如110就是POP3 服务,80就是 web 服务,25是 SMTP 服务。
●方向控制:决定特定方向发起的服务请求可以通过防火墙。需确定服务是在内网还是在外网。可以限制双向的服务。
●用户控制:决定内网或者外网用户可以访问哪些服务。用户可以使用用户名、IP 地址、MAC地址表示。
●行为控制:进行内容过滤。如过滤网络流量中的病毒、木马或者垃圾邮件。
答案:服务控制、方向控制、用户控制。
试题五
信息系统安全开发生命周期(Security Development LifeCycle(SDLC))是微软提出的从安全角度指导软件开发过程的管理模式,它将安全纳入信息系统开发生命周期的所有阶段,各阶段的安全措施与步骤如下图 5.1 所示。
问题5.1
在培训阶段,需要对员工进行安全意识培训,要求员工向弱口令说不!针对弱口令最有效的攻击方式是什么?
答案:穷举攻击
以下口令中,密码强度最高的是(C)。
A. security2019
B. 2019Security
C. Security@2019
D. Security2019
问题5.2
在大数据时代,个人数据正被动地被企业搜集并利用。在需求分析阶段,需要考虑采用隐私保护技术防止隐私泄露。从数据挖掘的角度,隐私保护技术主要有:基于数据失真的隐私保护技术、基于数据加密的隐私保护技术、基于数据匿名隐私保护技术。
请问以下隐私保护技术分别属于上述三种隐私保护技术的哪一种?
(1)随机化过程修改敏感数据 (2)基于泛化的隐私保护技术 (3)安全多方计算隐私保护技术
答案:(1)属于基于数据失真的隐私保护技术
(2)属于基于数据匿名隐私保护技术
(3)属于基于数据加密的隐私保护技术
从数据挖掘的角度,隐私保护技术主要可以分为以下三类:
●基于数据失真的技术:一种使敏感数据失真,但同时保持某些关键数据或数据属性不变的方法。例如,采用添加噪声、交换等技术对原始数据进行扰动处理,但要求保证处理后的数据仍然可以保持某些统计方面的性质,以便进行数据挖掘等操作。
●基于数据加密的技术:采用加密技术在数据挖掘过程中隐藏敏感数据的方法。
●基于数据匿名化的技术:根据具体情况有条件地发布数据,如不发布数据的某些域值、数据泛化等
问题5.3
有下述口令验证代码:
#define PASSWORD "1234567"int verify_ password (char *password){ int authenticated; char buffer[8]; authenticated= strcmp(password,PASSWORD); strcpy(buffer,password); return authenticated;}int 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 函数的参数满足什么条件,就可以在不知道真实口令的情况下绕过口令验证功能?
解析:
首先,验证密码成功时verify_password返回0,因此咱们第一个思路是如何让authenticated结果为0,而且是在最后一次(不然即使修改了还是会变),因此咱们可以从下面的第4行到第6行之间找到攻破点,因为第4行是判断密码是否正确,第6行就返回结果了,因此猜测第5行可能是攻破点:
int verify_ password (char *password){ int authenticated; char buffer[8]; authenticated= strcmp(password,PASSWORD); strcpy(buffer,password); return authenticated;}
然后,strcpy在c语言中是字符串复制函数,第5行的代码是将password的值复制给buffer,而buffer字符串长度为8,同时根据题目给的条件:
如果buffer数组接受了超过8字符的数据,那么多余的数据就会存入与它相邻的内存地址,即
authenticated的内存地址,因此这一步咱们可以推断出password的长度要大于8个字符。
那为啥多余的字符要为空字符呢?因为在ASCI码中,空字符的ASCI值为0,这样就可以让authenticated的值为0了,因此password的8个字符后面要均为空字符。
答案:password数组大于8个字符(越大越好),其中8个字符后面的所有字符均为空字符。
问题5.4
S-SDLC 安全开发模型的实现阶段给出了3 种可以采取的安全措施,请结合问题 3 的代码举例说明?
答案:
使用批准工具:编写安全代码;
禁用不安全函数:禁用C语言中有隐患的函数;
静态分析:检测程序指针的完整性。
标签: #弱口令攻击方式