觀點

Linux GHOST『鬼』來了,該怎辦?

2015 / 02 / 02
編輯部
Linux GHOST『鬼』來了,該怎辦?

    針對這個Linux GHOST『鬼』,本周我們請兩位專家分享該如何應對,先請最近竄起的新團隊光盾資訊,分享實際應對做法: 

    Qualys近期發佈了一個Linux的緩衝區溢位漏洞,可藉由Linux的標準配備套件GNU Glibc函式庫的功能所觸發和被攻擊,此漏洞亦稱為GHOST(CVE-2015-0235) (附註1)。


    此漏洞被觸發的原因,主要為系統主機將主機名稱反解成IP位置時,需檢查參數是否已經是IP位址,但gethostbyname函式在處理時並未限制所需儲存的空間,導致記憶體分配的空間不足,進而觸發緩衝區溢位(Buffer overflow)的漏洞,如攻擊者利用此漏洞遠端將網站名稱轉換,便可能觸發並利用此漏洞,造成資料外洩、掌控欲攻擊的系統主機(附註2)。


    此漏洞發生之主因,在於程式使用:strcpy (hostname, name);因為此處對於輸入的驗證不足,造成了問題發生的主要原因。
下為glibc-2.17含有漏洞的片段:  

 

   此次受影響的元件範圍為GNU Glibc 2.2(西元2000年)-2.17(西元2013年)版本的元件,並可影響多個版本主機(附註3),且此漏洞可以影響任何具有網路功能的軟體、Log Processing、Mail/Spam等系統軟體。gethostbyname函式使用舊版本的C/POSIX標準,用於系統上多個元件,支援IPv4位址反解、取得位址相關資訊等目前仍被廣泛的運用中,但目前並不完全支援IPv6(近期支援IPv6者已不再使用gethostbyname*(),而是使用getaddrinfo(),故沒有此問題)。


    現階段大部分的BSD(FreeBSD、OpenBSD、OS X)初始化設定版本,均不在此漏洞範圍內(須留意使否使用GNU Glibc元件),而此相關漏洞資訊可參見美國國家漏洞資料庫CVE-2015-0235(附註4)。


如要檢測主機系統中是否存在此漏洞,請參見下述檢測方式:
http://www.cyberciti.biz/faq/cve-2015-0235-patch-ghost-on-debian-ubuntu-fedora-centos-rhel-linux/
如要檢查主機所使用套件版本是否為受影響的版本,請在終端機下執行ldd –version指令,便可查詢系統主機所使用的版本是否為此漏洞所含括版本。


同時,我們也請前資安人主編余俊賢,分享他的經驗:

企業客戶面對弱點修補管理上經常有以下困擾
1. 修補資訊及修補方式公佈如何被通知到?
2. 修補方式公佈後如何確認修補檔案的穩定性,會不會產生更多問題?
3.若無法在一定時間內修補,有無其他風險轉移措施?
4. 剛做完滲透測試就出問題?如何跟老闆交代?

    余俊賢表示,之前與關貿網路資安服務課林恆生課長互動,他認為系統及應用程式弱點的挖掘及揭露已經是一個新的資安產業鏈。從最底層的資安技術研究者、中間人以及弱點交易平台及資安公司,更多數量的弱點被公佈、企業修補因應時間被縮短是必然的趨勢。面對這樣的態勢,除了被動修補之外,也可以從風險的補償措施及風險轉移的角度來思考,透過多層次的防禦、定期資安健診,例如:於資安監控機制(SOC、SIEM)中將來不及修補的弱點項目先做阻擋或偵測,同時也可以透過弱點管理系統化,將企業資產的組態及弱點做好紮實盤點、修補追蹤,避免上一個弱點還沒補上,馬上又出現新的問題。關貿網路透過值班人員輪值,一旦發現有新的威脅及弱點資訊,會先做弱點資訊與修補方法確認後,在最短時間內提供相關企業單位窗口,以此方式為客戶爭取應變時間,降低可能的衝擊。

    掌握資安威脅情報的價值與重要性不言而喻,目前市場上亦有透過資安情報服務的方式,提供弱點發現者及弱點所屬企業的接口,例如VulReport的機制,可以使企業第一時間掌握弱點資訊,使弱點通報體制更為完善。在美國總統歐巴馬今年一月的國情咨文中,宣誓強化民間企業在網際安全通報及資安情報共享的機制,責成國土安全部下轄單位執行,可作為國內相關機制借鏡。

    另外, 光盾資訊補充說道,如果已確認Debian與Ubuntu Linux系統主機存在此漏洞,請在終端機環境下執行下列指令步驟進行修復。
修復步驟 :
步驟一 : sudo apt-get upate
步驟二 : sudo apt-get upgrade
步驟三 : ldd version # << 小於 2.19 都須注意
步驟四 : sudo reboot #

上述步驟指令執行完畢,請將系統重新開機,方算完成修復步驟。 
 

附註1
Qualys漏洞實驗室總監Amol Sarwate表示,他們在glibc的 __nss_hostname_digits_dots() 功能中發現一個緩衝區溢位漏洞,只要是經由本機或遠端各種將網站名稱轉成IP位址的gethostbyname*() 功能就可觸發該漏洞,駭客可藉以掌控受駭系統,自遠端執行任何程式。
附註2
Glibc亦被稱為GNU C函式庫,為一開放源碼且被廣泛使用的C語言函式庫,它支援多種Linux平台,被視為Linux平台上的重要元件,缺乏glibc的Linux系統甚至無法運作。
附註3、此漏洞影響之主機OS版本
RHEL (Red Hat Enterprise Linux) version 5.x, 6.x and 7.x
CentOS Linux version 5.x, 6.x & 7.x
Ubuntu Linux version 10.04, 12.04 LTS
Debian Linux version 7.x
Linux Mint version 13.0
Fedora Linux version 19 or older
SUSE Linux Enterprise 11 and older (also OpenSuse Linux 11 or older versions).
SUSE Linux Enterprise Software Development Kit 11 SP3
SUSE Linux Enterprise Server 11 SP3 for VMware
SUSE Linux Enterprise Server 11 SP3
SUSE Linux Enterprise Server 11 SP2 LTSS
SUSE Linux Enterprise Server 11 SP1 LTSS
SUSE Linux Enterprise Server 10 SP4 LTSS
SUSE Linux Enterprise Desktop 11 SP3
Arch Linux glibc version <= 2.18-1
附註4、 美國國家漏洞資料庫漏洞資訊
https://access.redhat.com/security/cve/CVE-2015-0235
附註5、參考網站
http://www.cyberciti.biz/faq/cve-2015-0235-patch-ghost-on-debian-ubuntu-fedora-centos-rhel-linux/
http://blog.longwin.com.tw/2015/01/linux-glibc-ghost-vulnerability-patch-fix-2015/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235
http://www.ithome.com.tw/news/93791
https://www.youtube.com/watch?v=218JiCBpUTM
http://blog.longwin.com.tw/2015/01/linux-glibc-ghost-vulnerability-patch-fix-2015/