Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4826343
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类: LINUX

2010-07-06 15:23:20

什么是重放攻击

  所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。

  攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。从这个解释上理解,加密可以有效防止会话劫持,但是却防止不了重放攻击。重放攻击任何网络通讯过程中都可能发生。

  重放攻击的类型

  根据消息的来源:

  协议轮内攻击:一个协议轮内消息重放

  协议轮外攻击:一个协议不同轮次消息重放

  根据消息的去向:

  偏转攻击:改变消息的去向

  直接攻击:将消息发送给意定接收方

  其中偏转攻击分为:

  反射攻击:将消息返回给发送者

  第三方攻击:将消息发给协议合法通信双方之外的任一方 

重放攻击是计算机世界黑客常用的攻击方式之一,它的书面定义对不了解密码学的人来说比较抽象。我就通过一个故事来说明它吧!


/////////////////////////////////////////故事的分割线/////////////////////////////////////////
阿里巴巴和40大盗的故事

人物:

黑客:阿里巴巴
用户:40大盗
系统:宝库
身份认证:石门


故事情节:

话说有一天,40大盗准备把一抢来得珠宝放进他们的宝库里去。
// 用户打算登陆系统

他们来到宝库面前,准备打开石门
// 系统要求身份认证,弹出口令窗口

40大盗的首领对着石门喊道:“芝麻开门”
//用户输入口令“芝麻开门”

不巧这一幕被阿里巴巴看到
//有黑客截获用户的登陆过程

40大盗将宝物放进宝库后,就离开了
//用户退出系统

等40达盗走远后,阿里巴巴来到石门前也大喊“芝麻开门”
//黑客对系统进行了重放攻击  ------------------------------------------------重点:重放攻击

石门打开了,阿里巴巴把宝物都搬回家了
//成功入侵系统

////////////////////////////////////////////////////////////////////////////////////////////////

来源:(http://blog.sina.com.cn/s/blog_62d82c2f0100i79r.html) - 重放攻击及防御方案_samson_新浪博客

所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程。
为了抵御重放攻击,现在的身份认证一般采用挑战因答方式。

   用户                        系统
         -----申请登陆----〉

        〈---发送挑战值----

计算相应的应答值
    
         ------发送应答值--〉

                           判断应答值是否正确
      
       〈---通过认证(正确)--

                           不正确断开连接

这里要注意的是挑战值得熵值必须大(变化量要很大),若挑战值变化量不大,攻击者只需截获足够的挑战应答关系,就可以进行重放攻击了。

   
典型例子:

  重放攻击与cookie

  我们监听http数据传输的截获的敏感数据大多数就是存放在cookie中的数据。其实在web安全中的通过其他方式(非网络监听)盗取cookie与提交cookie也是一种重放攻击。我们有时候可以轻松的复制别人的cookie直接获得相应的权限。关于cookie,我想应该用单独的一篇文章来说明,在这里就不重复了。

  重放攻击的防御方案

  (1)时间戳

  “时戳”──代表当前时刻的数

  基本思想──A接收一个消息当且仅当其包含一个对A而言足够接近当前时刻的时戳

  原理──重放的时戳将相对远离当前时刻

  时钟要求──通信各方的计算机时钟保持同步

  处理方式──设置大小适当的时间窗(间隔),越大越能包容网络传输延时,越小越能防重放攻击

  适用性──用于非连接性的对话(在连接情形下双方时钟若偶然出现不同步,则正确的信息可能会被误判为重放信息而丢弃,而错误的重放信息可能会当作最新信息而接收)

  (2)序号

  通信双方通过消息中的序列号来判断消息的新鲜性

  要求通信双方必须事先协商一个初始序列号,并协商递增方法

   (3)提问——应答

  “现时”──与当前事件有关的一次性随机数N(互不重复即可)

  基本做法──期望从B获得消息的A 事先发给B一个现时N,并要求B应答的消息中包含N或f(N),f是A、B预先约定的简单函数

  原理──A通过B回复的N或f(N)与自己发出是否一致来判定本次消息是不是重放的

  时钟要求──无

  适用性──用于连接性的对话

阅读(1958) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~