如果你認為HTTP2.0協議比標準HTTP(超文本傳輸協議)更安全,那你就錯了。有研究人員花費4個月的時間在HTTP2.0協議中發現4個漏洞!
去年2月,谷歌把自家的SPDY項目捆綁進HTTP2.0,意在加強網頁加載速度和用戶的在線瀏覽體驗。三個月后HTTP2.0正式發布,HTTP2.0如今已成為大部分網站最主要的HTTP協議版本。
來自Imperva(一家全球領先的新型數據應用安全的技術領導者和知名公司)的幾位安全專家在Black Hat大會上公布了至少4個高危漏洞的詳細說明。漏洞允許攻擊者通過傳輸千兆級別的數據有效載荷到目標服務器,導致服務器無限循環,使Web服務器的處理速度變慢,甚至癱瘓。
HTTP2.0協議可以分為以下三層
·傳輸層(包括數據流、幀及流控制)
·HPACK二進制編碼和壓縮協議
·語義層——HTTP 1.1推送功能的拓展版本。
研究人員分別在Apache,微軟,NGINX,Jetty和nghttp2上深入分析使用Http2協議的服務器的表現。他們發現:在所有使用HTTP2的服務器都存在可以利用的漏洞,其中兩個漏洞是HTTP1.1版本中???。
四個主要漏洞
1、 慢速連接攻擊 (CVE-2016-1546)
這種攻擊方式類似于Slowloris DDoS攻擊,Slowloris是在2009年由著名Web安全專家RSnake提出的一種攻擊方法,其原理是以極低的速度向服務器發送HTTP請求。由于Web Server對于并發的連接數都有一定的上限,因此若是惡意地占用住這些連接不釋放,那么Web Server的所有連接都將被惡意連接占用,從而無法接受新的請求,導致拒絕服務。
慢速連接攻擊在HTTP1.1版本被人們所熟知,其特點到了HTTP2依然沒有改變??蛻舳说臑g覽速度會變得很慢。
2.HPACK BOMB (CVE-2016-1544, CVE-2016-2525)
HPACK Bomb 是一種壓縮層攻擊,類似于壓縮炸彈攻擊和“解壓縮炸彈”。
HPACK主要被用來減小數據包頭部的長度。減小數據包頭部長度后,發送者會告知接收方,這個數據包的頭部需要解壓。一個專業的黑客能利用這個漏洞可以將一個數Gb大小的數據包壓縮成一條很短的消息,發送到目標服務器導致該服務器疲于處理,甚至癱瘓。
Imperva的研究人員解釋說:
我們把一個數據包頭部壓縮成4KB,然后發送向服務端服務器14個同樣的數據流,連接完成后,顯示服務端接收到了896MB的數據,最終導致該服務器崩潰。
3.依賴循環攻擊 (CVE-2015-8659)
這種攻擊利用了HTTP/ 2使用網絡流量優化的控制機制。
惡意客戶端可以制造特殊的請求,向服務器尋求依賴循環服務,從而迫使服務器進入一個無限循環。該漏洞允許攻擊者構成拒絕服務(DoS)攻擊,甚至在存在漏洞的系統上運行任意代碼。
4.數據流多路復用(CVE-2016-0150)
這種攻擊允許攻擊者利用服務器多路復用的功能,從而導致服務器崩潰實現流量反復功能。這種攻擊最終導致服務器拒絕服務(DoS)的效果。
以上四個HTTP2.0漏洞都已被修復。
Imperva的首席技術官Amichai Shulman說
對于大多數互聯網用戶來說,HTTP2.0的出現提高了網站性能、增強了移動端應用的可能性,但是短期內大量出現的新代碼也給伺機而動的攻擊者帶來了一些絕佳的機會。
雖說HTTP2.0協議繼承了HTTP1.x版本的缺陷,這很正常。但是,企業或是廠商是否有進行盡職的調查和實施保障措施是解決問題的關鍵,畢竟關系到企業能否在飛速發展的網絡威脅中延長防御體系,保護重要的客戶數據。
可以看出這些漏洞都是利用了HTTP2.0寬帶使用少、加載時間短的特點來實現攻擊。Imperva的研究員給出一個建議,企業或用戶通過建立Web應用防火墻(WAF)和打虛擬補丁,就可以在引入HTTP2.0的同時,保護他們的關鍵數據和應用。