什麼是重放攻擊?
重放攻擊是一種網路攻擊,攻擊者會發現並惡意延遲或重複資料事務。傳送者或惡意行為者會攔截資料並重新傳輸,導致資料傳輸延遲或重複。換句話說,重放攻擊是一種安全協議攻擊,它利用來自不同傳送者的資料傳輸重放來欺騙參與者,使其相信資料通訊已成功。攻擊者可以使用重放攻擊來訪問網路、獲取本來無法獲取的資訊或執行重複事務。
如果不緩解重放攻擊,遭受攻擊的網路和計算機將把攻擊過程視為有效的通訊。
攻擊者重放授權使用者先前傳送到網路的訊息就是一個重放攻擊的例子。
即使通訊已加密且攻擊者無法訪問真正的金鑰,重新傳輸合法資料或登入訊息也可能幫助他們獲得足夠的網路訪問許可權。
透過複製身份驗證訊息,重放攻擊可以訪問資源,同時混淆目標主機。
重放攻擊是如何運作的?
讓我們來看一下這個現實生活中的攻擊場景。公司員工透過向公司財務管理員傳送加密訊息來請求資金轉移。此訊息被攻擊者攔截,攻擊者捕獲該訊息,現在可以重新發送它。由於這是一條只是被重新發送的真實訊息,因此該訊息已正確加密,對財務管理員來說看起來有效。
在這種情況下,除非財務管理員有理由懷疑,否則他或她很可能會響應新的請求。大量資金可能會作為報復被髮送到攻擊者的銀行賬戶。
如何防止重放攻擊?
防止此類攻擊的關鍵在於使用正確的加密技術。加密通訊包含“金鑰”,在傳輸結束時解碼金鑰才能開啟訊息。
在重放攻擊中,攔截初始傳輸的攻擊者是否能夠讀取或解釋金鑰並不重要。他或她只需要捕獲並傳輸整個內容,包括訊息和金鑰。
為了減輕這種風險,傳送方和接收方都應該生成一個完全隨機的會話金鑰,這是一種僅對一次事務有效的程式碼,不能再次使用。
對所有通訊使用時間戳是針對此類攻擊的另一種保護策略。它阻止駭客重新發送超過特定時間之前傳輸的通訊,從而縮小攻擊者監聽、竊取訊息並重新發送訊息的機會視窗。
另一種防止成為受害者的方法是為每個事務使用唯一的密碼,該密碼僅使用一次然後銷燬。這確保即使攻擊者記錄並重新發送通訊,加密程式碼也已過期且不再有效。