一、网络安全***重放攻击及其防御
网络安全-重放攻击及其防御
重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通信过程中都可能发生,是计算机世界黑客常用的攻击方式之一。
根据重放消息的接收方与消息的原定接收方的关系。
该方法优点是认证双方不需要时间同步,双方记住使用过的随机数,如发现报文中有以前使用过的随机数,就认为是重放攻击。缺点是需要额外保存使用过的随机数,若记录的时间段较长,则保存和查询的开销较大。
该方法优点是不用额外保存其他信息。缺点是认证双方需要准确的时间同步,同步越好,受攻击的可能性就越小。但当系统很庞大,跨越的区域较广时,要做到精确的时间同步并不是很容易。(受限于网络情况和客户机)
就是双方在报文中添加一个逐步递增的整数,只要接收到一个不连续的流水号报文(太大或太小),就认定有重放威胁。该方法优点是不需要时间同步,保存的信息量比随机数方式小。缺点是一旦攻击者对报文解密成功,就可以获得流水号,从而每次将流水号递增欺骗认证端。
nonce是仅一次有效的随机字符串,要求每次请求时,该参数要保证不同,所以该参数一般与时间戳有关,我们这里为了方便起见,直接使用时间戳作为种子,随机生成16位的字符串,作为nonce参数。
每次HTTP请求,都需要加上timestamp参数,然后把timestamp和其他参数一起进行数字签名。因为一次正常的HTTP请求,从发出到达服务器一般都不会超过60s,所以服务器收到HTTP请求之后,首先判断时间戳参数与当前时间相比较,是否超过了60s,如果超过了则认为是非法的请求。
我们常用的防止重放的机制是使用timestamp和nonce来做的重放机制。
每个请求带的时间戳不能和当前时间超过一定规定的时间(60s)。这样请求即使被截取了,你也只能在60s内进行重放攻击,过期失效。
但是攻击者还有60s的时间攻击。所以我们就需要加上一个nonce随机数,防止60s内出现重复请求。
Chrome现已支持DNS OVER HTTPS加密服务
在谷歌浏览器最新推出的Google Chrome V83稳定版中,正式推出基于HTTPS的DNS(DNS-over-HTTPS)。
HTTPS上的DNS是一种有争议的互联网隐私技术,可对DNS连接进行加密并将其隐藏在常见的HTTPS流量中,从而使第三方(例如 ISP)无法知晓您正在浏览的网站。
涉及身份认证的功能中猜解的防范措施有哪些
涉及身份认证的功能中拆解的防范措施有:
1、抵抗重放攻击。重放攻击是一种相当普遍的攻击方式,如果身份认证系统不能抵抗重放攻击,则系统基本无法投入实际应用。防止重放攻击主要是保证认证信息的可信性,其基本方法包括:为认证消息增加一个时间戳,为认证消息增加实时信息,动态实施认证消息等。
2、抵抗密码分析攻击。身份认证系统的认证过程应具有密码安全性。这种安全性可通过对称密码体制的保护、非对称密码体制的保护或者Hash函数的单向性来实现。
3、双向身份认证功能。如果在设计身份认证系统时仅实现服务器对客户端的身份认证,则说明系统是不完善的,特别是客户端具有敏感信息上传的时候,因此也应该实现客户端对服务器的身份认证。以自动取款机(ATM)为例,客户必须防止来自服务端的欺骗,因为如果存在欺骗,那么客户将会泄露自己的帐户信息。
4、多因子身份认证。为了提高身份认证服务的安全强度,一种身份认证机制最好不要仅仅依赖于某一项秘密或者持有物。如果身份认证系统仅仅依赖于用户所有,则拥有物一旦丢失,身份冒充将成为可能。如果身份认证系统仅仅依赖于用户生物特征,则一旦这个特征被模仿,身份冒充将成为可能。如果系统仅仅依赖用户所知实现对用户身份的认证,则用户所知一旦泄露,身份冒充将成为可能。
5、良好的认证同步机制。如果身份认证信息是动态推进的,则存在认证的同步问题。有许多因素可能会导致认证的不同步:确认消息的丢失、重复收到某个认证消息、中间人攻击等。身份认证系统应该具有良好的同步机制,以保证在认证不同步的情况下,能自动恢复认证同步。
6、保护身份认证者的身份信息。在身份认证过程中保护身份信息具有十分重要的意义。身份信息保护分为以下几个层次:身份信息在认证过程中不被泄露给第三方,可以通过加密进行传输。甚至连身份认证服务器也不知道认证者的身份,可以通过匿名服务进行传输。
7、提高身份认证协议的效率。一个安全的认证协议可以减少认证通信的次数,保证可靠性,降低被攻击的可能性,这是身份认证系统设计所追求的目标。
8、减少认证服务器的敏感信息。一个良好的身份认证系统应该在服务器中存放尽可能少的认证敏感信息,这样,服务器即使被攻破,也可以将损失降到最低。
Web怎样防止重放攻击
单独的随机数不能避免重放攻击,随机数一般会和签名加密技术,后台验证技术混合以提高破解和重放难度。
重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。
从重放攻击的定义上我们可以看到,重放攻击提交给服务器的数据是曾经有效的,如何防止这种数据,对特定信息给与一个特定的随机数,并且这个随机数保存在服务器内,在验证了用户信息前,首先会对随机数进行验证,如果发现提交的随机数和服务器保存的不同则,该条信息无效通过这种方法来防止重放攻击。
常用的防御重放攻击,不会直接暴露随机数,一般随机数会用在MD5,HASH(数字签名)上,比如在对有效值进行MD5加密时添加随机数,如用户名为test,密码为test的MD5加密过程可能为MD5("test","test",随机数),这样在直接传输时不会暴露出随机值,黑客在提交重放攻击时系统发现MD5签名和系统签名计算后不同则,可被认定为重放攻击。
当然矛和盾是一种存在的,有可能该值刚好又一次的分配给了该用户,可能会重放攻击成功,但这个概率在科学计算上可以被视为0,而且随着随机数的位数的提高,概率会不断降低。
nonce避免重放攻击
一:什么是nonce
: 安全工程中,Nonce是一个在加密通信只能使用一次的数字。在认证协议中,它往往是一个随机或伪随机数,以避免重放攻击。
二:举例说明
一个典型的基于 nonce的验证协议如下:
这里的 cnonce为 client nonce(后面将讨论为什么需要 cnonce)。Client并不直接发送密码(或者密码直接加密后的密文)用以避免攻击者直接窃取密码(或者密码直接加密后的密文)并冒充用户进行身份验证。
先不考虑 Client nonce。Server首先发送 nonce到 Client,Client将密码和 nonce通过 hash运算再提交到 Server进行身份验证,这样我们可以认为(而非绝对)每次用于身份验证的 hash值都不相同,即使攻击者窃取了前一次用于身份验证的 hash值也无法冒充用户进行登录。公式如下:
A= Hash(nonce, password)
在不安全的网络环境中,A、nonce、Hash算法都可以被攻击者获取,如果能够满足以下条件:
nonce仅仅被使用一次
Hash运算不出现冲突
攻击者则在理论上无法实施 Replay attack。因此 nonce在特定上下文中仅仅被使用一次以及 Hash算法尽量避免冲突是安全的关键。为了确保 nonce在特定上下文中仅仅被使用一次,可以使用以下策略生成 nonce:
nonce可以是一个时间相关变量
nonce可以是一个通过足够随机算法生成的足够长的 bits
以上算法难以避免攻击者使用字典进行密码破解。其中一个可行的方法为:攻击者可以截取 A= Hash(nonce, password)中的 A、nonce,然后通过字典破解用户的密码 password。不过破解的过程是很耗时的,使用一个中等规模的集群(medium-scale cluster)可能需要数周),如果期望破解成千上万用户的密码,那么将消耗极大量的时间。
如果攻击者能够构建一个预计算的表(例如 Rainbow tables)那么破解大量用户密码的时间将大大缩短。nonce阻止了预计算表的生成(因为 Server nonce每次都不相同),但是如果网络中传输的数据能被篡改,情况就不一样了。假定攻击者伪造一个固定的 nonce发送给网络中的 Clients并且记录 nonce和 Clients的回应(Hash(nonce, password)),由于 nonce为一个固定值,那么攻击者就可以构造一个预计算的表,此表使用此固定的 nonce。通过此表即可大大缩短破解用户密码的时间了。
为了避免攻击者通过以上手段构建预计算的表。在 Client也引入了一个 nonce。这样,每次都不同的 cnonce防止了预计算表的生成。
C#如何防止重放攻击
重播攻击,指的是原样请求的方式再次进行请求。
其实严格情况下,重播并不能当即被绝对防止,一般情况下使用的是指定时间外的重播攻击。
操作办法是,MD5摘要中对时间戳同时进行了摘要,在验证时同时验证时间戳——在指定的时间内可以处理,否则直接抛出例外就行。当然这里有一个前提条件,如果你本机请求时间与服务器时间差别大于验证时间时,无确验证。
也就是说假定了两者相同的时间,这样在规定的时间内无法到达的信息都是被认为是重播。除非别有用心的人在指定的时间内拿到你所有请求进行重播。
绝对意义上是否可以防止重播?可以的,假定我们存在一个redis之类的缓存,存储一些特定时间内的值(超出这个时间则失效),所有的请求都是被记录到该库中(超时的会删除),然后时间戳进行对比,如果在指定时间内的信息则对缓存进行请求若查询到值,则认为是重播。否则正常处理。超时的则直接认为是超时,不再进行处理。
但这种方案成本还是非常高的!即便是特别注意安全的地方,也未必使用该种方式。当然另一种防止重播机制是握手机制——请求方先请求处理序列,服务器存在这个序列,然后在MD5中针对该序列进行摘要。服务器在第一次请求时,序列会保存到缓存中,请求到达时读缓存,并同时将该序列配对处理。重播时因不存在对应的序列,所以可判定为重播。当然这种成本也是比较高的。
因为成本问题,所以在业务执行时,索性使用驼鸟策略,不再进行重播的任何处理——但用户数据处理有回复机制,只要可以恢复或撤回其中一笔交易即可。绝对保证安全有时并不是十分的需要的。
计算机网络安全技术试题
1.最有效的保护E-mail的方法是使用加密签字,如( B),来验证E-mail信息。通过验证E-mail信息,可以保证信息确实来自发信人,并保证在传输过程没有被修改。
A. Diffie-Hellman
B. Pretty Good Privacy(PGP)
C. Key Distribution Center(KDC)
D. IDEA
2.黑客要想控制某些用户,需要把木马程序安装到用户的机器中,实际上安装的是(B)
A.木马的控制端程序
B.木马的服务器端程序
C.不用安装
D.控制端、服务端程序都必需安装
3.下列不属于包过滤检查的是(D)
A.源地址和目标地址
B.源端口和目标端口
C.协议
D.数据包的内容
4.代理服务作为防火墙技术主要在OSI的哪一层实现(A)
A.数据链路层
B.网络层
C.表示层
D.应用层
5.加密在网络上的作用就是防止有价值的信息在网上被( D本题答案说法不一个人认为是D)。
A.拦截和破坏
B.拦截和窃取
C.篡改和损坏
D.篡改和窃取
6.按照可信计算机评估标准,安全等级满足C2级要求的操作系统是(D)
A. DOS
B. Windows XP
C. Windows NT
D. Unix
7.下面关于口令的安全描述中错误的是(B和D说的都不是很正确。。)`
A.口令要定期更换
B.口令越长越安全
C.容易记忆的口令不安全
D.口令中使用的字符越多越不容易被猜中
8.不对称加密通信中的用户认证是通过(B)确定的
A.数字签名
B.数字证书
C.消息文摘
D.公私钥关系
9.对于IP欺骗攻击,过滤路由器不能防范的是( D)。
A.伪装成内部主机的外部IP欺骗
B.外部主机的IP欺骗
C.伪装成外部可信任主机的IP欺骗
D.内部主机对外部网络的IP地址欺骗
10.RSA加密算法不具有的优点是(D)
A.可借助CA中心发放密钥,确保密钥发放的安全方便
B.可进行用户认证
C.可进行信息认证
D.运行速度快,可用于大批量数据加密
11.PGP加密软件采用的加密算法(C)
A.DES
B.RSA
C.背包算法
D.IDEA
12.以下说确的是(D)
A.木马不像病毒那样有破坏性
B.木马不像病毒那样能够自我
C.木马不像病毒那样是独立运行的程序
D.木马与病毒都是独立运行的程序
13.使用防病毒软件时,一般要求用户每隔2周进行升级,这样做的目的是(C)
A.对付最新的病毒,因此需要下载最新的程序
B.程序中有错误,所以要不断升级,消除程序中的BUG
C.新的病毒在不断出现,因此需要用及时更新病毒的特征码资料库
D.以上说法的都不对
14.防火墙的安全性角度,最好的防火墙结构类型是(D)
A.路由器型
B.服务器型
C.屏蔽主机结构
D.屏蔽子网结构
剩下的由高人来补。
二、IPSec 是什么
IPv4缺乏对通信双方真实身份的验证能力,缺乏对网上传输的数据的完整性和机密性保护,并且由于IP地址可软件配置等灵活性以及基于源IP地址的认证机制,使得IP层存在着网络业务流易被监听和捕获、IP地址欺骗、信息泄露和数据项被篡改等攻击,而IP是很难抵抗这些攻击的。为了实现安全IP,Internet工程任务组IETF于1994年开始了一项IP安全工程,专门成立了IP安全协议工作组IPSEC,来制定和推动一套称为IPSec(IP Security)的IP安全协议标准。其目标就是把安全特征集成到IP层,以便对Internet的安全业务提供低层的支持。IETF于1995年8月公布了一系列关于IPSec的RFC建议标准。
完整的IPsec核心文档集处在提议标准阶段。包括:
隧道
隧道就是把一个包封装在另一个新包里面,整个源数据包作为新包的载荷部分,并在前面添加一个新的IP头。这个外部头的目的地址通常是IPSec防火墙、安全网关或路由器。通过隧道技术可以对外隐藏内部数据和网络细节。对IPSec而言,IP隧道的直接目标就是对整个IP数据包提供完全的保护。IP隧道如图所示。
此外,还有一个需要说明的概念就是“变换”。在IPSec中,一个变换是指一种安全机制的特定实现,如ESP的DES-CBC实现称为“DES-CBC ESP变换”。
IP协议本身缺乏安全性,仅用IP头中的校验和域来保证IP数据报的完整性。设计认证头(AH)协议的目的是用来增加IP数据报的安全性。AH协议提供无连接的完整性、数据起源认证和抗重放保护服务。然而,AH不提供任何机密性服务,它不加密所保护的数据包。AH的作用是为IP数据流提供高强度的密码认证,以确保被修改过的数据包可以被检查出来。AH使用消息认证码(MAC)对IP进行认证,最常用的MAC是HMAC。因为生成IP数据报的消息摘要需要密钥,所以IPSec的通信双方需要有共享密钥。对于MAC不了的解可以看MAC原理
认证头格式
AH由5个固定长度域和1个变长的认证数据域组成。下图说明了这些域在一个AH中的相对位置。
下面是这些域的说明:
下一个头(Next Header):这个8比特的域指出AH后的下一个载荷的类型。例如,如果AH后面是一个ESP载荷,这个域将包含值50。如果在我们所说的AH后面是另一个AH,那这个域将包含值51。RFC1700中包含了已分配的IP协议值信息。载荷长度(Payload length):这个8比特的域包含以32比特为单位的AH的长度减2。为什么要减2呢?AH实际上是一个IPv6扩展头,IPv6规范RFC1883中规定计算扩展头长度时应首先从头长度中减去一个64比特的字。由于载荷长度用32比特度量,两个32比特字也就相当于一个64比特字,因此要从总认证头长度中减去2。保留(Reserved):这个16比特的域被保留供将来使用。AH规范RFC2402中规定这个域被置为0。安全参数索引(SPI):SPI是一个32比特的整数,用于和源地址或目的地址以及IPSec协议(AH或ESP)共同唯一标识一个数据报所属的数据流的安全关联(SA)。SA是通信双方达成的一个协定,它规定了采用的IPSec协议、协议操作模式、密码算法、密钥以及用来保护它们之间通信的密钥的生存期。关于SPI域的整数值,1到255被IANA(Internet Assigned Number Authority)留作将来使用;0被保留用于本地和具体实现使用。所以说目前有效的SPI值是从256到232-1。序列号(Sequence number):这个域包含有一个作为单调增加的计数器的32位无符号整数。当SA建立时,发送者和接收者的序列号值被初始化为0。通信双方每使用一个特定的SA发出1个数据报就将它们的相应的序列号加1。序列号用来防止对数据包的重放,重放指的是数据报被攻击者截取并重新传送。AH规范强制发送者总要发送序列号到接收者;而接收者可以选择不使用抗重放特性,这时它不理会进入的数据流中数据报的序列号。如果接收端主机启用抗重放功能,它使用滑动接收窗口机制检测重放包。具体的滑动窗口因不同的IPSec实现而不同;然而一般来说滑动窗口具有以下功能。窗口长度最小为32比特。窗口的右边界代表一特定SA所接收到的验证有效的最大序列号。序列号小于窗口左边界的包将被丢弃。将序列号值位于窗口之内的数据包将被与位于窗口内的接收到的数据包相比较。如果接收到的数据包的序列号位于窗口内并且数据包是新的,或者它的序列号大于窗口右边界且小于232,那么接收主机继续处理计算认证数据。对于一个特定的SA,它的序列号不能循环;所以在一个特定的SA传输的数据包的数目达到232之前,必须协商一个新的SA以及新的密钥。认证数据:这个变长域包含数据报的认证数据,该认证数据被称为完整性校验值(ICV)。对于IPv4数据报,这个域的长度必须是32的整数倍;对于IPv6数据报,这个域的长度必须是64的整数倍。用来生成ICV的算法由SA指定。用来计算ICV的可用的算法因IPSec的实现的不同而不同;然而为了保证互操作性,AH强制所有的IPSec实现必须包含两个MAC:HMAC-MD5和HMAC-SHA-1。如果一个IPv4数据报的ICV域的长度不是32的整数倍,或一个IPv6数据报的ICV域的长度不是64的整数倍,必须添加填充比特使ICV域的长度达到所需要的长度。
三、什么是重放攻击
重放攻击,即恶意拦截并重复传输有效数据的行为,常让网络协议误判为正常数据。攻击者利用原始信息的合法性,无需破解即可引发破坏。例如,他们可能伪造凭证,入侵受保护网络获取信息,或在金融领域进行重复交易,盗取资金。通过组合加密信息,黑客还能实施剪贴攻击,窃取更有价值的数据。
尽管重播攻击的风险明显,但其效果有限,因为攻击者无法篡改未被拒绝的数据。简单防御如添加时间戳和服务器缓存机制能有效防止大部分攻击。在加密货币领域,硬分叉时的账本分叉为攻击者提供了机会,他们可能利用重放攻击在不同链上重复交易。但大多数硬分叉会包含安全协议,如比特币现金的强制性重放保护,防止此类攻击。
防范此类攻击,不仅依赖于主账本的保护机制,个人用户也需采取措施。例如,锁定交易直到账本确认一定数量区块,可以阻止重放。然而,并非所有钱包都具备此功能。总的来说,重放攻击虽然威胁网络安全,但通过结合技术手段和用户意识,我们可以有效抵御其潜在威胁。
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/jys/153278.html
发表回复
评论列表(0条)