十多名資安研究人員於周二(3/1)共同發表一份研究報告,揭露了名為DROWN的安全漏洞,該漏洞影響採用SSL與TLS等協定的HTTPS網站 ,將允許駭客進行中間人攻擊,破解加密傳輸,讀取機密流量,涵蓋密碼、信用卡號碼或金融資料等,估計全球有33%的HTTPS網站受到波及。

DROWN的全名為Decrypting RSA with Obsolete and Weakened eNcryption,指的是破解基於老舊及脆弱加密的RSA演算法,駭客利用特製的連結存取SSLv2伺服器就能截取並解密TLS流量。

密碼學專家Matt Green指出,DROWN是一個典型的跨協定攻擊(cross protocol attack),這類的攻擊透過SSLv2協定漏洞去攻擊採用TLS協定的安全連結,雖然SSLv2與TLS皆支援RSA加密,但TLS能夠防禦針對RSA加密的攻擊,SSLv2則否。

研究人員描述了駭客的可能手法:駭客先觀察客戶端與伺服器端的數百個連結,最終將得以解密其中一個連結 ,長期蒐集眾多連結除了可攔截流量外,也能哄騙使用者造訪惡意網站,以讓使用者在不知情的狀況下於背景產生與其他網站的連結。

這些連結得以使用各種版本的SSL/TLS協定,只要是基於RSA金鑰交換方法即可,包含TLS 1.2在內。在RSA金鑰交換中,客戶端選取一個隨機金鑰並將它傳送到伺服器端,利用RSA與伺服器的公開金鑰即能予以解密。

駭客反覆地連結被鎖定的SSLv2伺服器並傳送特製的交握(handshake)訊息,並變更客戶端連結的RSA密文,在不斷地試探下,伺服器終將洩露客戶端TLS連結所使用的金鑰。

要執行這類的攻擊成本並不高,根據估計,若要從900個客戶端的TLS連結中解密其中一個,大概要執行4萬次的試探連結與2^50次運算,在Amazon EC2使用這些運算資源的成本只要440美元。

此外,多數受到DROWN漏洞影響的伺服器還含有OpenSSL臭蟲,可大幅降低攻擊成本,只要1.7萬次的試探連結就能從260個TLS連結中找出其中一個的金鑰,而高階PC在1分鐘之內就能辦到。

DROWN的漏洞編號為CVE-2016-0800,而另兩個OpenSSL漏洞則會讓形勢更嚴重,這兩個OpenSSL編號分別是CVE-2015-3197與CVE-2016-0703。

研究人員指出,只要允許SSLv2連結的伺服器皆受到影響,估計有17%的HTTPS伺服器支援SSLv2,即使是在基於其他協定的伺服器上共用了來自SSLv2伺服器的私鑰也會遭到牽連,例如電子郵件伺服器支援SSLv2,但網站伺服器則否,可是雙方共享了金鑰,那麼駭客還是能藉由郵件伺服器破解網站伺服器的連結,估計有16%的伺服器受到牽連,導致有高達33%的HTTPS伺服器處於風險中。

網站業者可透過該研究團隊所建置的機制來檢查自家伺服器是否含有DROWN漏洞。


Advertisement

更多 iThome相關內容