當前位置:才華齋>IT認證>Linux認證>

關於Linux Glibc幽靈漏洞緊急修補的方案

Linux認證 閲讀(3.1W)

幽靈漏洞是Linux glibc庫上出現的一個嚴重的安全問題,他可以讓攻擊者在不瞭解系統的任何情況下遠程獲取操作系統的控制權限。目前他的CVE編號為CVE-2015-0235。

關於Linux Glibc幽靈漏洞緊急修補的方案

  什麼是glibc

glibc是GNU發佈的libc庫,即c運行庫。glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。glibc 囊括了幾乎所有的 UNIX 通行的標準。

  出現了什麼漏洞

代碼審計公司Qualys的研究人員在glibc庫中的__nss_hostname_digits_dots()函數中發現了一個緩衝區溢出的漏洞,這個bug可以經過 gethostbyname*()函數被本地或者遠程的.觸發。應用程序主要使用gethostbyname*()函數發起DNS請求,這個函數會將主機名稱轉換為ip地址。

  漏洞危害

這個漏洞造成了遠程代碼執行,攻擊者可以利用此漏洞獲取系統的完全控制權。

  漏洞證明

在我們的測試中,我們編寫了一個POC,當我們發送一封精心構造的電子郵件給服務器後,我們便可以獲得遠程Linux服務器的shell,這繞過了目前在32位和64位系統的所有保護(如ASLR,PIE和NX)。

  我們能做什麼?

給操作系統及時打補丁,我們(Qualys)已與Linux發行商緊密合作,會及時發佈補丁。

  為什麼叫做GHOST?

因為他通過GetHOST函數觸發。

  哪些版本和操作系統受影響?

第一個受影響的版本是GNU C庫的glibc-2.2,2000年11月10號發佈。我們已找出多種可以減輕漏洞的方式。我們發現他在2013年5月21號(在glibc-2.17和glibc-2.18發佈之間)已經修復。不幸的是他們不認為這是個安全漏洞。從而導致許多穩定版本和長期版本暴露在外,其中包括Debian 7 (wheezy),Red Hat Enterprise,Linux 5 & 6 & 7,CentOS 5 & 6 & 7,Ubuntu 12.04等

  修復方案

升級glibc庫:

RHEL/CentOS : sudo yum update glibc

Ubuntu : sudo apt-get update ; sudo apt-get install libc6

  漏洞測試方法:

wget

編譯:

gcc -o GHOST GHOST.c

執行:

./GHOST

如果輸出:

[root@localhost home]# ./GHOST

not vulnerable

表示漏洞已經修復,如果僅輸出“vulnerable”字樣,表示漏洞依然存在。

  腳本測試漏洞

wget -O

bash

[root@localhost ~]# bash

Vulnerable glibc version <= 2.17-54

Vulnerable glibc version <= 2.5-122

Vulnerable glibc version <= 2.12-1.148

Detected glibc version 2.12 revision 149

Not Vulnerable.