网络攻击的类型多种多样,仿佛永远都会出现新的攻击方式,小编也都讲过好几种典型的攻击方式了,在这里,小编再来和大家分享一个攻击方式——重放攻击。不知道大家有没有听过或者学过呢?
重放攻击也叫被叫做是重播攻击、回放攻击或者是新鲜性攻击,具体是指攻击者发送一个目的主机已经接收过的包来达到欺骗系统的目的。重放攻击主要是在身份认证的过程时使用,它可以把认证的正确性破坏掉。
重放攻击可以是由发起者或者是拦截数据后重新发送的对立方来进行,这种类型的攻击会不断恶意或欺诈性地重复一个有效的数据传输。攻击者通过利用网络监听以及其他方式来盗取认证凭据,然后再将它重新发送到认证服务器当中。
重放攻击的类型
1.根据消息的来源可以分为:
协议轮内攻击:一个协议轮内消息重放
协议轮外攻击:一个协议不同轮次消息重放
2.根据消息的去向可分为:
偏转攻击:改变消息的去向
直接攻击:将消息发送给意定接收方
其中偏转攻击分为:
反射攻击:将消息返回给发送者
第三方攻击:将消息发给协议合法通信双方之外的任一方
在以上对于重放攻击的概念上理解,加密虽然是可以有效地防止会话劫持,但对于重放攻击,它是无可奈何的,根本就防止不了。在任意的网络通信过程中,重放攻击都有可能发生。很多计算机世界黑客都会选用重放攻击来作为们常用的攻击手段,如果是不了解密码学的人,他们对于重放攻击的书面定义是比较抽象的,因此黑客使用其来攻击用户网络比较容易。
防御重放攻击的几个手段
虽然加密的方法无法防止重放攻击,但依然可以采取一下的几个手段来对重放攻击进行预防。
(1)时间戳
“时戳”──代表当前时刻的数
基本思想──A接收一个消息当且仅当其包含一个对A而言足够接近当前时刻的时戳
原理──重放的时戳将相对远离当前时刻
时钟要求──通信各方的计算机时钟保持同步
处理方式──设置大小适当的时间窗(间隔),越大越能包容网络传输延时,越小越能防重放攻击
适用性──用于非连接性的对话 (在连接情形下双方时钟若偶然出现不同步,则正确的信息可能会被误判为重放信息而丢弃,而错误的重放信息可能会当作最新信息而接收)
(2)序号
通信双方通过消息中的序列号来判断消息的新鲜性
要求通信双方必须事先协商一个初始序列号,并协商递增方法
(3)提问——应答
“现时”──与当前事件有关的一次性随机数N(互不重复即可)
基本做法──期望从B获得消息的A事先发给B一个现时N,并要求B应答的消息中包含N或f(N),f是A、B预先约定的简单函数
原理──A通过B回复的N或者f(N)与自己发出是否一致来判定本次消息是不是重放的
时钟要求──无
适用性──用于连接性的对话
(4)HttPS防重放攻击
对于https,每个socket连接都会验证证书,交换密钥。攻击者截获请求,重新发送,因为socket不同,密钥也不同,后台解密后是一堆乱码,所以https本身就是防止重放攻击的,除非能复制socket,或者进行中间人攻击。
重放攻击的概念学习起来其实并不难,相信大家通过分析后也会有这样的想法,而且学习后大家也应该掌握了如何防御重放攻击的方法,这样你的电脑遭遇黑客进行重放攻击的概率就会减少,纳闷大家上网也会更安全。本文的所有内容已经讲完了,欢迎大家给小编留言提意见。编程学习网教育有更多的学习内容等着您来学习哦,赶紧加入我们吧!