就在上周的KRACK與ROCA兩輪加密攻擊之后,本周新一輪名為DUHK(即‘別使用硬編碼密鑰’的縮寫)的攻擊活動接踵而至,且影響范圍同樣廣泛。DUHK攻擊結合了KRACK與ROCA二者的主要元素:
第一項為ANSI X9.31隨機數生成器(簡稱RNG)的使用。這套方案能夠生成隨機數,并利用其保護VPN連接并瀏覽會話及其它加密流量/數據。
第二項因素則要求硬件供應商在ANSI X9.31 RNG算法中使用硬編碼“種子密鑰”。通常來講,供應商應當在設備啟動時或者ANSI X9.31算法運行前生成隨機種子密鑰。
這意味著當大家使用一款整合有ANSI X9.31且部署了硬編碼種子密鑰的硬件/軟件產品時,攻擊者即可順利解密通過該設備的加密通信內容??赡苁艿饺肭值哪繕司唧w包括通過VPN連接或加密Web會話傳遞的通信內容或登錄憑證、支付信息、內網信息、企業隱私數據等。
2萬3千臺Fortinet 4.x設備易受DUHK攻擊本輪DUHK攻擊由兩位來自賓夕法尼亞大學的研究人員與一位來自約翰霍普金斯大學的研究人員所共同發現。
在今天發表的一篇題為《針對傳統RNG實現方案實施狀態恢復攻擊》的研究報告中,研究人員們表示他們已經能夠對來自世界各地企業中所使用的Fortinet FortiGate設備所負責承載的加密流量進行解密,而這套方案常被用作防火墻或者創建私有VPN網絡。
該研究團隊表示,他們保留了FortiGate的固件鏡像并從中找到了以硬編碼形式存在的種子密鑰。在此之后,他們觀察來自受影響設備的流量并使用該種子密鑰,并借此暴力破解其余加密參數。最終,他們得以成功猜測出主加密密鑰的具體內容。
采用FortiOS 4.3.0到FOrtiOS 4.3.18版本的Fortinet FortiGate設備會受到DUHK攻擊的影響(CVE-2016-8492)。但FortiOS 5.x不會受到影響,根據研究人員與該公司溝通后得到的結論,FortiOS 4.3.19之后的版本已經取消了固件當中的硬編碼種子密鑰。
在研究過程中,專家們表示,他們發現目前互聯網上暴露有超過2萬3千臺陳舊Fortinet 4.x設備,真實數量可能更夸張一些,因為一部分設備可能位于防火墻網絡當中,但其仍存在受到攻擊的風險。
面向每條連接的DUHK攻擊最長僅須4分鐘此次攻擊之所以格外值得強調,是因為研究人員們表示,使用現代計算機的攻擊者完全可以在大約4分鐘以內破解每條連接的加密密鑰。
執行DUHK攻擊并不需要進行任何用戶交互,因為所有惡意攻擊者只需要觀察來自存在漏洞的設備的具體流量。由于屬于被動性質的網絡攻擊,因此受害者也無法偵測出何時曾有人對其執行DUHK攻擊。
具體來講,“如果攻擊者以某種方式獲得該密鑰,隨后即可從PRG中獲取一條16字節原始輸出塊。接下來,其可以執行以下操作:
1)猜測時間戳;
2)恢復相應狀態值;
3)正向或逆向運行生成器,旨在獲取該生成器的對應正向與逆向輸出結果。
如此,如果一款應用程序利用ANSI生成器以生成隨機數,并利用該生成器生成密鑰,則意味著攻擊者將有可能恢復這些加密密鑰,最終徹底破解加密協議。”
該研究團隊同時警告稱,其它硬件與軟件產品同樣有可能受到DUHK攻擊的影響。研究人員們還發布了以下產品清單,其中各條目皆被證實存在硬編碼ANSI X9.31種子密鑰。
ANSI X9.31算法種子密鑰或早已泄露這是因為ANSI X9.31的普及度相當高。截至2016年1月,該算法仍被列入美國政府(FIPS)批準的RNG算法名錄。
ANSI X9.31在2016年年內仍然被認證有效,不過美國NIST早在2011年就已經淘汰了該算法。此外,科學家們亦警告稱,如果其種子密鑰真的早在1998年即遭泄露,那么潛在的安全風險將極為嚴重。
該研究團隊解釋稱,“如果您的產品是在2016年1月之后得到認證,那么其不太可能受到此次攻擊的影響。但如果其單純只是經過X9.31 RNG的認證,那么單憑FIPS證書并不足以阻止這一安全漏洞。”
這是因為供應商們可能會利用符合FIPS標準要求的ANSI X9.31實現方案,但如果固件當中存在硬編碼種子密鑰,那么其會自動淪為相關設備加密機制當中的后門。
研究人員們最后提醒稱,“為了防止此類問題的出現,我們需要更認真地檢查其實現流程,并對所有隨機數生成器算法進行細致梳理。從策略角度來看,則需要考慮如何推動整個業界避免使用這種存在安全缺陷的實現方式。”