Linux glibc幽靈漏洞檢測及修復方案

摘要:昨日Linux glibc庫曝出高危緩衝區溢出漏洞GHOST(幽靈),漏洞CVE編號爲CVE-2015-0235,通過該漏洞,***者可以遠程獲取linux服務器的最高控制權限。

昨日Linux glibc庫曝出高危緩衝區溢出漏洞GHOST(幽靈),漏洞CVE編號爲CVE-2015-0235,通過該漏洞,***者可以遠程獲取linux服務器的最高控制權限。glibc是linux系統中最底層的API,幾乎其它運行庫都會依賴於glibc,因此該漏洞的危害巨大,衆多linux發行版本將受影響。漏洞發現者已經利用該漏洞,成功遠程獲取了一臺郵件服務器的最高權限,並稱該漏洞將會有更大的影響,Redhat在昨日發佈的緊急安全通告裏,也將該漏洞定義爲“高危”。

    ghosot1.jpg

    受影響操作系統版本
    CentOS 6 、7
    Debian 7
    Red Hat Enterprise Linux 6 、 7
    Ubuntu 10.04 、12.04
    等衆多使用glibc庫2.2-2.17版本的Linux發行版本

    漏洞檢測方法
    漏洞檢測方式由freebuf、360安全播報平臺提供    
    編譯以下測試代碼

1.      #include .h>  

2.      #include .h>  

3.      #include .h>  

4.      #include .h>  

5.      #include .h>  

6.         

7.      #define CANARY "in_the_coal_mine"  

8.         

9.      struct {  

10.    char buffer[1024];  

11.    char canary[sizeof(CANARY)];  

12.  } temp = { "buffer", CANARY };  

13.     

14.  int main(void) {  

15.    struct hostent resbuf;  

16.    struct hostent *result;  

17.    int herrno;  

18.    int retval;  

19.     

20.   /*** strlen (name) = size_needed - sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/  

21.   size_t len = sizeof(temp.buffer) - 16*sizeof(unsigned char) - 2*sizeof(char *) - 1;  

22.    char name[sizeof(temp.buffer)];  

23.    memset(name, '0', len);  

24.    name[len] = '\0';  

25.     

26.   retval = gethostbyname_r(name, &resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);  

27.     

28.    if (strcmp(temp.canary, CANARY) != 0) {  

29.      puts("vulnerable");  

30.      exit(EXIT_SUCCESS);  

31.    }  

32.    if (retval == ERANGE) {  

33.      puts("not vulnerable");  

34.      exit(EXIT_SUCCESS);  

35.    }  

36.    puts("should not happen");  

37.    exit(EXIT_FAILURE);  

38.  }  

然後在服務器上執行:

1.      gcc gistfile1.c -o CVE-2015-0235  

2.      ./CVE-2015-0235  

如果提示:vulnerable 就說明存在漏洞.


     解決方案                                                                   
     解決方案一:執行glibc升級命令
 —RH、Fedora、CentOS系統
     yum install glibc && reboot
 —Debian、Ubuntu系統
     apt-get clean && apt-get update && apt-get upgrade

     update之後,要重啓依賴glibc的進程,目前部分linux發行商已經發布相關補丁,不過仍有相當數量的linux版本無補丁可打。

     解決方案二:安裝linux版安全軟件
     目前還沒有補丁的linux版本建議儘快安裝雲鎖(免費的linux安全軟件很好用),打完補丁的用戶也建議部署雲鎖,加固服務器安全。

     該軟件的防護機制:通過內核虛擬安全域技術,控制網站權限,將WEB及數據庫進程放置在受控安全域內,限制其權限,有效降低漏洞風險,阻止***者通過幽靈漏洞提權。同時雲鎖採用內核級安全防護技術與web訪問控制技術向結合,能有效防禦病毒、***、webshell、後門等惡意代碼和CC***、Sql注入、XSS跨站***、網頁篡改、掛黑鏈等***行爲,有效保護服務器和網站安全。

     雲鎖Linux版下載地址:
      http://www.yunsuo.com.cn/ht/software/ 
     或者直接按照官方提供的安裝教程wget安裝:
      http://www.yunsuo.com.cn/help/center#/qs/qs-03 

      原文鏈接:Linux glibc幽靈漏洞檢測及修復方案

      聲明:CSDN登載此文出於傳遞更多信息之目的,並不意味着贊同其觀點或證實其描述。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章