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