Linux中國

影響 Linux 系統安全基石的 glibc 嚴重漏洞

glibc,或 GNU C 庫,是一個開放源碼的 C 和 C++ 編程語言庫的實現,是每一個主流 Linux 發行版的一部分。谷歌工程師們在他們試圖連接到某個主機系統時發生了一個段錯誤導致連接崩潰,偶然發現了 CVE-2015-7547 問題。進一步的研究表明, glibc 有缺陷而且該崩潰可能實現任意遠程代碼執行的條件。

谷歌在一篇博客文章中寫道, 「當 getaddrinfo() 庫函數被使用時,glibc 的 DNS 客戶端解析器易受基於堆棧緩衝區溢出的攻擊,使用該功能的軟體可能通過攻擊者控制的域名、攻擊者控制的 DNS [域名系統] 伺服器,或通過中間人攻擊方式(MITM)進行破壞。」

其實利用 CVE-2015-7547 問題並不簡單,但它是可能的。為了證明這個問題能被利用,谷歌發布了論證一個終端用戶或系統是否易受攻擊的概念驗證(POC)代碼到 GitHub 上。

GitHub 上的 POC 網頁說「伺服器代碼會觸發漏洞,因此會使客戶端代碼崩潰」。

Duo Security 公司的高級安全研究員 Mark Loveless 解釋說 CVE-2015-7547 的主要風險在於依賴於 DNS 響應的基於 Linux 客戶端的應用程序。

Loveless 告訴 eWEEK 「需要一些特定的條件,所以不是每個應用程序都會受到影響,但似乎一些命令行工具,包括流行的 SSH[安全 Shell] 客戶端都可能觸發該漏洞,我們認為這是嚴重的,主要是因為對 Linux 系統存在的風險,但也因為潛在的其他問題。」

其他問題可能包括一種通過電子郵件觸發調用易受攻擊的 glibc 庫 getaddrinfo() 攻擊的風險。另外值得注意的是,該漏洞被發現之前已存在於代碼之中多年。

谷歌的工程師不是第一或唯一發現這個 glibc 安全風險的團體。這個問題於 2015 年 7 月 13 日首先被報告給了 glibc 的 bug跟蹤系統。該缺陷的根源可以更進一步追溯到在 2008 五月發布的 glibc 2.9 的代碼提交時首次引入缺陷。

Linux 廠商紅帽也獨立找到了 glibc 中的這個 bug,而且是在 2016 年 1 月 6 日,谷歌和紅帽開發人員證實,他們作為最初與上游 glibc 的維護者私下討論的部分人員,已經獨立在為同一個漏洞工作。

紅帽產品安全首席軟體工程師 Florian Weimer 告訴 eWEEK 「一旦確認了兩個團隊都在為同一個漏洞工作,我們會合作進行可能的修復,緩解措施和回歸測試,我們還會共同努力,使測試覆蓋儘可能廣,捕捉代碼中的任何相關問題,以幫助避免今後更多問題。」

由於缺陷不明顯或不易立即顯現,我們花了幾年時間才發現 glibc 代碼有一個安全問題。

Weimer 說「要診斷一個網路組件的漏洞,如 DNS 解析器,當遇到問題時通常要看抓到的數據包的蹤跡,在這種情況下這樣的抓包不適用,所以需要一些實驗來重現觸發這個 bug 的確切場景。」

Weimer 補充說,一旦可以抓取數據包,就會投入大量精力到驗證修復程序中,最終完成回歸測試套件一系列的改進,有助於上游 glibc 項目。

在許多情況下,安全增強式 Linux (SELinux) 的強制訪問安全控制可以減少潛在漏洞風險,但是這個 glibc 的新問題例外。

Weimer 說「由於攻擊者提供的任意代碼的執行,會對很多重要系統功能帶來風險。一個合適的 SELinux 策略可以遏制一些攻擊者可能會做的損害,並限制他們訪問系統,但是 DNS 被許多應用程序和系統組件使用,所以 SELinux 策略只提供了針對此問題有限的遏制。」

在揭露漏洞的今天,現在有一個可用的補丁來減少 CVE-2015-7547 的潛在風險。

via: http://www.eweek.com/security/linux-systems-patched-for-critical-glibc-flaw.html

作者:Michael Kerner 譯者:robot527 校對:wxy

本文由 LCTT 原創翻譯,Linux 中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國