安全研究人員已經在GnuPG加密庫當中發現一項高危安全漏洞,并成功利用此項漏洞破解RSA-1024加密以提取機密RSA密鑰實現數據解密。
Gnu Privacy Guard(簡稱GnuPG或者GPG)是是目前最流行、最好用的加密工具之一,目前在Linux、FreeBSD、Windows乃至MacOS X等操作系統之上皆得到廣泛應用。
前NSA承包商兼知名泄密者愛德華·斯諾登就曾經利用這款軟件以保障其通信內容安全。
這項被標記為CVE-2017-7526的安全漏洞存在于GnuPG所使用的Libgcrypt加密庫當中。該密碼庫易受到本地FLUSH+RELOAD邊信道攻擊的影響。
來自埃因霍溫技術大學、伊利諾伊州立大學、賓夕法尼亞大學、馬里蘭大學以及阿德萊德大學的一組研究人員發現,Libgcrpyt庫為了實現加密所使用的“從左至右滑動窗口”方法泄露了大量除從右至左之外的階位信息,意味著惡意人士完全能夠借此徹底復原RSA密鑰。
研究人員們在其研究論文當中寫道,
“在本篇論文中,我們展示了如何徹底破解采用Libgcrypt的RSA·1024密鑰。我們的攻擊依賴于一項重要事實,即Libgcrypt會利用從左至右方法以計算滑動窗口的擴展。由左至右滑動窗口中的方格及其使用的乘法模式泄露了除由右至左外的更多階位信息。我們在示例中演示了如何擴展Heninger·Shacham算法以實現部分密鑰重構,進而利用這部分信息完整復原RSA·1024密鑰的方法。”
三級緩存邊信道攻擊要求攻擊者在使用RSA私鑰的硬件之上擁有運行任意軟件的權限。
此攻擊允許攻擊者分析解密過程當中產生的存儲器利用率或者設備的電磁輸出模式,進而從系統當中提取密碼密鑰。
Libgcrypt 在建議報告中指出:
“因此在實踐當中,訪問私鑰的方法相較于安裝此邊信道攻擊要更為便捷。然而,如果著眼于運行有虛擬機的設備,那么單一虛擬機可能會利用此種攻擊從另一虛擬機處竊取私鑰。”
備注:Libgcrypt是著名的開源加密軟件GnuPG的底層庫,是一個非常成熟的加密算法庫,支持多種對稱和非對稱加密算法。
研究人員們還提供證據表明,同樣的邊信道攻擊還適用于RSA-2048,只不過其計算量要求要遠高于RSA-1024。
研究人員們發表的這份論文題為《滑動的災難:從左至右滑動窗口引發的信息泄露》(Sliding right into disaster: Left·to·right sliding windows leak),作者包括大衛·伯恩斯坦、喬奇姆·布瑞特納、丹尼爾·格恩金、里昂·格魯特·布魯德雷克、納蒂亞·海寧格、克里斯蒂安·馮·伏萊登達爾、坦賈·拉奇以及尤瓦爾·雅羅姆。
Libgcrypt方面已經在其Libgcrypt 1.7.8版本當中發布了相關修復補丁。Debian與Ubuntu系統則已經將這款Libgcrypt的最新版本納入其更新軟件庫。
Debian:http://t.cn/RokEKyR
Ubuntu:http://t.cn/RokENUD