什么是 QUIC 協(xié)議?
QUIC 協(xié)議是一種通過互聯(lián)網(wǎng)發(fā)送數(shù)據(jù)的新方法,它比早期協(xié)議更加快速,高效和安全。QUIC 屬于傳輸協(xié)議,這意味著它會影響數(shù)據(jù)在互聯(lián)網(wǎng)上的傳輸方式。像幾乎所有互聯(lián)網(wǎng)協(xié)議一樣,QUIC 可以被惡意用來進行?DDoS 攻擊。
以更專業(yè)的術(shù)語來說,QUIC 協(xié)議是一種傳輸層協(xié)議,理論上可以取代?TCP(一種傳輸協(xié)議)和?TLS(一種加密協(xié)議)。2019 年 7 月,所有網(wǎng)站中大約 3% 在使用 QUIC,該協(xié)議的支持者希望采用率會隨著時間流逝而繼續(xù)上升。HTTP?協(xié)議的最新版本 HTTP/3 在 QUIC 的基礎(chǔ)上運行。
QUIC 協(xié)議如何工作?
QUIC 協(xié)議的目標是比傳統(tǒng)的互聯(lián)網(wǎng)連接更快,更安全。為了提高速度,它使用?UDP?傳輸協(xié)議,此協(xié)議速度比 TCP 快,但可靠性不如后者。它一次發(fā)送多個數(shù)據(jù)流,以彌補沿途丟失的任何數(shù)據(jù),這種技術(shù)稱為多路復用。
為了提高安全性,通過 QUIC 發(fā)送的所有內(nèi)容都會自動加密。通常,數(shù)據(jù)必須通過?HTTPS?發(fā)送數(shù)據(jù)才會被加密。但是,QUIC 將 TLS 加密構(gòu)內(nèi)建到普通的通信過程中。
這種內(nèi)置加密進一步加快了協(xié)議的速度。在典型的 HTTPS 中,必須在傳輸層完成三向 TCP 握手,然后才能開始多步驟?TLS 握手。完成這一切后,才能在客戶端和服務器之間發(fā)送任何實際的數(shù)據(jù)。QUIC 組合了這兩個握手,使它們一次性全部完成:客戶端和服務器確認連接已打開,并同時生成 TLS?加密密鑰。
什么是 QUIC 洪水?
QUIC 洪水 DDoS 攻擊是指攻擊者試圖通過使用 QUIC 發(fā)送的數(shù)據(jù)壓垮目標服務器以拒絕服務。受害服務器被迫處理它收到的所有 QUIC 數(shù)據(jù),從而減慢對合法用戶的服務,并在某些情況下導致服務器完全崩潰。通過 QUIC 發(fā)動的 DDoS 攻擊很難阻止,這是因為:
- QUIC 使用 UDP,為數(shù)據(jù)包接收方提供的信息非常少,不足以用來阻止數(shù)據(jù)包
- QUIC 對數(shù)據(jù)包數(shù)據(jù)進行加密,數(shù)據(jù)的接收方無法輕易辨別它是否合法
QUIC 洪水攻擊可以使用多種方法來展開,但 QUIC 協(xié)議特別容易受到基于反射的 DDoS 攻擊的破壞。
什么是 QUIC 洪水反射攻擊?
在反射式 DDoS 攻擊中,攻擊者假冒受害者的?IP 地址并向多臺服務器請求信息。當服務器做出響應時,所有信息將傳遞給受害者而非攻擊者。想象一下,有人惡意用他人的回信地址寄送信件,讓后者不得不接收大量不必要的郵件。
使用 QUIC 協(xié)議時,可以通過啟動 QUIC 連接的初始“hello”消息發(fā)動進行反射攻擊。與 TCP 連接不同,QUIC 連接打開時服務器不會發(fā)送簡單的?ACK?消息。由于 QUIC 將 UDP 傳輸協(xié)議與 TLS 加密相結(jié)合,因此服務器在對客戶端的第一次答復中附帶了其?TLS 證書。這意味著服務器的第一條消息要比客戶端的第一條消息大得多。通過假冒受害者的 IP 地址并向服務器發(fā)送“hello”消息,攻擊者誘使服務器向受害者發(fā)送大量不需要的數(shù)據(jù)。
為了部分緩解這種類型的攻擊,QUIC 協(xié)議的架構(gòu)師為初始客戶端問候消息設(shè)置了最小大小,以使攻擊者需要大量帶寬才能發(fā)送許多虛假客戶端問候消息。但是,服務器問候消息仍然大于客戶端問候消息,因此仍然有發(fā)生這種攻擊的可能。
QUIC 洪水與 UDP 洪水是否相似?
UDP 洪水是一種 DDoS 攻擊,使用不需要的 UDP 數(shù)據(jù)包壓垮目標服務器。QUIC 使用UDP,但 QUIC 洪水不一定等同于 UDP 洪水。
UDP 洪水沖垮目標服務器的一種方法是,將偽造的 UDP 數(shù)據(jù)包發(fā)送到服務器上未實際使用的特定端口。服務器必須使用?ICMP?錯誤消息來答復所有數(shù)據(jù)包,這會占用處理能力并減慢服務器速度??梢允褂?QUIC 來進行這種攻擊,但對于攻擊者來說,純粹通過 UDP 進行攻擊的成本通常較低,沒有生成 QUIC 數(shù)據(jù)包的額外開銷。