複製鏈接
請複製以下鏈接發送給好友

重放攻擊

鎖定
重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊,是指攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的,主要用於身份認證過程,破壞認證的正確性。重放攻擊可以由發起者,也可以由攔截並重發該數據的敵方進行。攻擊者利用網絡監聽或者其他方式盜取認證憑據,之後再把它重新發給認證服務器。重放攻擊在任何網絡通信 [6]  過程中都可能發生,是計算機世界黑客常用的攻擊方式之一。 [1] 
中文名
重放攻擊
外文名
Replay Attacks
別    名
重播攻擊
回放攻擊 [1] 
類    型
計算機術語 [2] 
作    用
身份認證過程,破壞認證的正確性 [1] 
基本原理
把以前竊聽到的數據原封不動地重新發送給接收方 [3] 

重放攻擊原理

重放攻擊的基本原理就是把以前竊聽到的數據原封不動地重新發送給接收方。很多時候,網絡上傳輸的數據是加密過的,此時竊聽者無法得到數據的準確意義。但如果他知道這些數據的作用,就可以在不知道數據內容的情況下通過再次發送這些數據達到愚弄接收端的目的。例如,有的系統會將鑑別信息進行簡單加密後進行傳輸,這時攻擊者雖然無法竊聽密碼,但他們卻可以首先截取加密後的口令然後將其重放,從而利用這種方式進行有效的攻擊。再比如,假設網上存款系統中,一條消息表示用户支取了一筆存款,攻擊者完全可以多次發送這條消息而偷竊存款。 [3] 

重放攻擊類型

1.根據重放消息的接收方與消息的原定接收方的關係,重放攻擊可分為3種: [4] 
第一種是直接重放,即重放給原來的驗證端,直接重放的發送方和接收方均不變。 [4] 
第二種是反向重放,將原本發給接收方的消息反向重放給發送方。 [4] 
第三種是第三方重放,將消息重放給域內的其他驗證端。 [4] 
2.基於重放法發生在什麼回合,可以將重放攻擊分為兩類: [5] 
(1)在當前回合外攻擊中,重放的消息來自協議當前回合之外,因此至少涉及協議的兩個回合運行,可以併發也可以順序地實現。 [5] 
①交錯攻擊需要兩回合或多回合同時執行協議,著名的例子是Lowe對NSPK協議的攻擊。 [5] 
②經典重放也涉及當前回合外執行協議,但不要求同時執行協議。攻擊者存儲在前面的回合中所傳送的消息,並抓住機會重放它們,對協議的當前回合進行攻擊。Denning和Sacco對NSSK協議的攻擊,就是經典重放的一個著名例子。 [5] 
(2)在當前回合內攻擊中,重放的消息來自協議當前回合。 [5] 
3.考查攻擊者對消息重定向,這種分類法稱為目的地分類法。分類如下。 [5] 
(1)偏轉重放攻擊:重放消息重新定向,發送給不同於原接收者的第三方。這種情形可進一步分為如下子類: [5] 
①重放消息重定向,發送給原發送者,稱為反射重放攻擊。 [5] 
②重放消息重定向,發送給第三方,即不同於原發送者和原接收方的第三方。 [5] 
(2)攻擊者通過延時的方法(可能涉及不同的協議回合),將消息傳送給目的地,稱為直接重放攻擊。 [5] 

重放攻擊防禦方案

(1)隨機數。該方法優點是認證雙方不需要時間同步,雙方記住使用過的隨機數,如發現報文中有以前使用過的隨機數,就認為是重放攻擊。缺點是需要額外保存使用過的隨機數,若記錄的時間段較長,則保存和查詢的開銷較大。 [4] 
(2)時間戳。該方法優點是不用額外保存其他信息。缺點是認證雙方需要準確的時間同步,同步越好,受攻擊的可能性就越小。但當系統很龐大,跨越的區域較廣時,要做到精確的時間同步並不是很容易。 [4] 
(3)流水號。就是雙方在報文中添加一個逐步遞增的整數,只要接收到一個不連續的流水號報文(太大或太小),就認定有重放威脅。該方法優點是不需要時間同步,保存的信息量比隨機數方式小。但是一旦攻擊者對報文解密成功,就可以獲得流水號,從而每次將流水號遞增欺騙認證端。 [4] 
在實際中,常將方法(1)和方法(2)組合使用,這樣就只需保存某個很短時間段內的所有隨機數,而且時間戳的同步也不需要太精確。 [4] 
對付重放攻擊除了使用本以上方法外,還可以使用挑戰一應答機制和一次性口令機制,而且似乎後面兩種方法在實際中使用得更廣泛。 [4] 

重放攻擊應用案例

重放攻擊重放操作

一個電子商務網站,要求客户對電子訂單簽名以防止非授權用户下訂單。攻擊者如要冒充某位客户下訂單,最好可以獲得他的私鑰,如果不成功,攻擊者可以監聽這位顧客的通信,將顧客以前發送的訂單記錄下來,然後他就可以直接將這些訂單發給網站了。因為這些訂單的確是合法客户簽名過的,如果網站沒有一種識別重放訂單的機制,它就會不加猶豫地接收這些訂單。 [2] 

重放攻擊防止操作

可以在訂單內設置時間字段,標識下訂單的時間。網站檢查下訂單的時間,早前的訂單可以可以當作重放攻擊訂單丟掉。假如時間的精度是秒,在一秒內發送多個訂單是可能的,所以單憑時間也許是不夠的。可以為訂單增加一個隨機數數值,如果發現同一秒內出現兩個隨機數相同的訂單,有理由懷疑後面那個訂單是重放攻擊訂單。利用隨機數,可以有效地防範短時間內地重放攻擊。 [2] 
參考資料
  • 1.    河南省電力公司電力科學研究院編.電力系統信息安全知識問答.北京:中國水利水電出版社,2012.9:155
  • 2.    劉文林,李梅,吳譽蘭.計算機系統安全.北京:北京郵電大學出版社,2009:43
  • 3.    李仁發主編; 喻飛 朱淼良 周洲儀等編著.計算機網絡安全.北京:科學出版社,2004.11:60
  • 4.    唐四薪主編.電子商務安全.北京:清華大學出版社,2013.5:108-109
  • 5.    卿斯漢編著.安全協議.北京:清華大學出版社,2005.3:85-86
  • 6.    林連進,謝懷民.軟件測試技術:北京理工大學出版社,2018.08:291