黑客利用 Libgcrypt 加密漏洞使目標計算機執行任意代碼
自由源代碼庫中的漏洞可能已移植到多個應用程序中。
Libgcrypt項目已經發布了針對免費源碼加密庫1.9.0版中一個嚴重漏洞的修復程序。利用此漏洞,攻擊者可以將任意數據寫入目標計算機并執行代碼。
該安全漏洞是Libgcrypt 1.9.0中的堆緩沖區溢出漏洞(于1月19日發布,以前的版本不受影響),研究人員說,僅解密數據塊即可利用此漏洞。該問題已在Libgcrypt版本1.9.1中修復(CVE等待中)。
Libgcrypt是一個通用的密碼庫,供開發人員在構建應用程序時使用,最初是基于GNU Privacy Guard的代碼(GnuPG是Symantec的PGP加密軟件套件的免費軟件替代品)。Libgcrypt是POSIX兼容的,這意味著它可以在Linus,Unix和macOSX應用程序中使用,并且可以使用適用于Microsoft Windows的交叉編譯系統來啟用。
據發現并報告了這個問題的Google Project Zero研究人員Tavis Ormandy稱,該漏洞“易于利用”。
“由于塊緩沖區管理代碼中的漏洞假設,Libgcrypt中存在堆緩沖區溢出。只是解密一些數據可能會使攻擊者控制的數據溢出堆緩沖區,在漏洞發生之前沒有任何驗證或簽名得到驗證。” Ormandy在他的報告中解釋說,該報告是Libgcrypt上周五的通報的一部分。
盡管該漏洞版本不再可供下載,但尚不清楚有多少開發人員在將其撤下之前下載了該版本以用于構建其應用程序。Libgcrypt的作者指出,開發人員應該用最新版本替換有漏洞的庫。
密碼學家Filippo Valsorda指出,自制軟件受到有漏洞的庫的影響。Homebrew是一種開源軟件包管理系統,可簡化在Apple macOS操作系統和Linux上的軟件安裝。Homebrew的經理確認了該漏洞并解決了該問題。
他還發布了一條推文,指出該修復程序在Intel CPU計算機上存在問題。

第三方開放源代碼:供應鏈問題
部署修補程序后,第三方庫中的漏洞往往會在應用程序中徘徊。實際上,根據Veracode最新的《軟件安全狀況報告》,當今使用的應用程序中有70%至少具有一個由于使用開源庫而產生的安全漏洞。
“僅通過較小的版本更新就可以解決應用程序中大多數庫引入的漏洞(將近75%)。根據Veracode報告,通常不需要對主要庫進行升級。“這個數據點表明,這個問題是發現和跟蹤的問題之一,而不是大量的代碼重構。”
網絡犯罪分子也明白,代碼庫和第三方庫是通過向其植入惡意代碼來發起供應鏈型攻擊的誘人途徑。在上個月的最新示例中,三個惡意軟件包被發布到npm,npm是JavaScript開發人員共享和重用代碼塊的代碼存儲庫。
這些軟件包可能已被用作各種Web應用程序中的構建塊。研究人員說,任何被代碼破壞的應用程序都可以從Discord用戶那里竊取令牌和其他信息。
去年12月,RubyGems,一個用于Ruby Web編程語言的開源軟件包存儲庫和管理器,在發現其中兩個軟件包被惡意軟件包圍后,不得不將其兩個軟件包脫機。
這些gems包含的惡意軟件會在受感染的Windows機器上持續運行,并將它在用戶剪貼板上找到的任何比特幣或加密貨幣錢包地址替換為攻擊者的地址。
Sonatype研究員Axa Sharma說:“我們屢次看到…GitHub,npm和RubyGems受到了開源惡意軟件的攻擊 ,攻擊者可以利用開源社區內部的信任來提供幾乎所有惡意軟件,從復雜的間諜特洛伊木馬程序(例如njRAT)到CursedGrabber…… ”