1. 程式人生 > >重放攻擊(reply attacks)

重放攻擊(reply attacks)

666

重放攻擊(Replay Attacks)

重放攻擊(Replay Attacks)
1.什麽是重放攻擊
顧名思義,重復的會話請求就是重放攻擊。
可能是因為用戶重復發起請求,也可能是因為請求被攻擊者獲取,然後重新發給服務器。

2.重放攻擊的危害
請求被攻擊者獲取,並重新發送給認證服務器,從而達到認證通過的目的。
我們可以通過加密,簽名的方式防止信息泄露,會話被劫持修改。但這種方式防止不了重放攻擊。

3.重放攻擊的防禦
1)時間戳驗證
請求時加上客戶端當前時間戳,同時簽名(簽名是為了防止會話被劫持,時間戳被修改),服務端對請求時間戳進行判斷,如超過5分鐘,認定為重放攻擊,請求無效。
時間戳無法完全防止重放攻擊。

2)序號

顧名思義,在客戶端和服務端通訊時,先定義一個初始序號,每次遞增。這樣,服務端就可以知道是否是重復發送的請求。

3)挑戰與應答的方式
我們一般采用這種方式來防禦重放攻擊。
客戶端請求服務器時,服務器會首先生成一個隨機數,然後返回給客戶端,客戶端帶上這個隨機數,訪問服務器,服務器比對客戶端的這個參數,若相同,說明正確,不是重放攻擊。
這種方式下,客戶端每次請求時,服務端都會先生成一個挑戰碼,客戶端帶上應答碼訪問,服務端進行比對,若挑戰碼和應答碼不對應,視為重放攻擊。

4)Https防重放攻擊
對於https,每個socket連接都會驗證證書,交換密鑰。攻擊者截獲請求,重新發送,因為socket不同,密鑰也不同,後臺解密後是一堆亂碼,所以https本身就是防止重放攻擊的,除非能復制socket,或者進行中間人攻擊。


重放攻擊(reply attacks)