近日,Google、AWS等主要云服務(wù)商披露HTTP/2協(xié)議中的一個隱藏很久的漏洞被廣泛用于實施大規(guī)模DDoS攻擊。
其利用HTTP/2流重置漏洞的DDoS攻擊仍在繼續(xù),Google已經(jīng)監(jiān)測到多種變體,其中一些可能是為了應(yīng)對緩解措施。例如,一種攻擊變體會分批打開和重置流,在發(fā)送RST_STREAM幀之前等待,然后打開另一批。這可能是為了挫敗那些通過檢測同一TCP連接上出現(xiàn)大量RST_STREAM幀來關(guān)閉連接的緩解措施。
另一種變體根本不使用RST_STREAM重置功能,而是嘗試打開盡可能多的并發(fā)流,忽略服務(wù)器通告的限制。HTTP/2標準規(guī)定,在這種情況下,超過限制的流應(yīng)由服務(wù)器無效,但不應(yīng)取消完整的TCP連接。因此,這種攻擊變體允許攻擊者始終保持請求管道滿載。
谷歌工程師表示:“我們并不認為簡單地阻止單個請求就能有效緩解此類攻擊,相反,當檢測到濫用行為時,需要關(guān)閉整個TCP連接!
措施:
HTTP/2 DDoS攻擊的緩解策略并不簡單,因為RST_STREAM流重置有合法的用途,每位服務(wù)器用戶都需要根據(jù)連接統(tǒng)計信息和業(yè)務(wù)邏輯來確定何時發(fā)生濫用以及采取何種力度的響應(yīng)措施。例如,如果一個TCP連接有超過100個請求,并且客戶端取消了其中超過50%的請求,該連接可能被視為濫用。緩解措施的力度范圍可以從發(fā)送強制的GOAWAY幀到立即關(guān)閉TCP連接。
Nginx(一種流行的反向代理和負載均衡器)的開發(fā)人員也提供了基于服務(wù)器內(nèi)置功能(例如keepalive_requests、limit_conn和limit_req)的緩解措施。在接下來的幾天里,他們還將發(fā)布一個補丁,以進一步緩解此類攻擊的影響。
Web服務(wù)器或負載均衡軟件開發(fā)商都已經(jīng)發(fā)布了緩解措施或補丁。用戶可以關(guān)注CVE漏洞跟蹤器中的官方條目,獲取有關(guān)供應(yīng)商更新響應(yīng)的鏈接進行補救。