摘要:2019杭州雲栖大會雲安全峰會專場,由阿裡雲智能資深安全專家王昱(萊因)帶來以“以威脅為中心的漏洞管理”為題的演講。本文首先介紹了業界最普遍的漏洞管理方式是用漏洞評估工具,接着介紹了現有漏洞管理方法的為什麼無效以及原因,最後提出了更有效的漏洞管理方法--以威脅為中心的漏洞管理方法。
視訊直播回顧(請點選“9.27.PM——雲安全峰會”檢視)
以下為精彩視訊内容整理:
阿裡雲在整個漏洞管理上的實踐和思考
業界普遍的漏洞管理是怎麼做的?

大家對漏洞都不陌生,在過去的十年甚至二十年間,可以說有大量的企業安全事件産生都是跟漏洞息息相關。在漏洞治理方面,不同的公司有着不同的方法,資源豐富的公司通常選擇引入SDL以及白盒進行漏洞管理;資源不那麼豐富的公司通常購買成熟的商業漏洞評估工具來治理漏洞;資源少的公司通常選擇用開源的工具進行處理。總體來看,業界普遍治理漏洞的方法一般都以漏洞評估工具為主,對系統漏洞進行掃描後生成報告,最後參考報告對受漏洞影響的服務進行更新修複。
漏洞評估工具原了解讀
上圖中的左邊圖,是我使用了一款國内著名的商業漏掃,對内網一台裝了ORACLE資料庫的環境,進行掃描的結果,這台伺服器實際是經過安全加強過的,黑客很難攻破。掃描後發現這台伺服器居然存在這麼多漏洞。右邊圖是我在網上下載下傳的一款國際知名的掃描器,那麼這些漏洞評估工具是怎樣實作漏洞評估的呢?第一步是嘗試進行端口掃描,看某台伺服器的端口是否開放,如果是開放的,會用指紋對服務進行識别,看服務是什麼版本,接着将識别到的漏洞與漏洞庫中的漏洞條件進行對比。如果某個服務版本在曆史上出現了此漏洞,那麼就認為這個版本是存在漏洞的。
很明顯目前評估工具的核心是靠做版本對比,來發現漏洞的。那麼,現在的做法真的有效嗎?
今天掃描器的發現邏輯,如果發現某個伺服器上有個SSH服務目前版本是6.0,不管這個服務有沒有做過加強,或者有沒有其它的安全措施,漏洞工具都會基于固定的規則認為該服務存在曆史漏洞。同時漏洞評估工具的專注點在漏洞的危害評級上,而不是關注漏洞真實的威脅,那麼基于這種漏洞管理到底有沒有效果呢?
攻擊者視角
在判斷有沒效果之前,我們來看一些案例,漏洞治理的目标是為了防止漏洞被攻擊者利用進而對企業造成破壞,今天我們做漏洞治理如果連自己的對手在做什麼都摸不清楚的話,是很難保障最終效果的。
通過我們的研究,發現黑客目前主要關注點在如何将自己的技術實作變現上,是以他們的手段都是收益優先,他們的手段主要是抓殭屍電腦打DDoS、自動化的挖礦取得數字貨币、通過加密磁盤的手段來勒索匿名貨币。當然也有小部分的黑客在用0-DAY與 APT進行攻擊,但我們認為0-DAY與APT目前對于中小企業的威脅并不大,這是為什麼呢?因為這些攻擊隻針對極少數組織,例如政府機構、大型雲服務商以及一些關鍵基礎設施。
黑客是怎麼攻擊入侵的
黑客去做那麼多攻擊,目的就是将他的技術通過破壞的手段變現。那麼黑客到底是怎樣入侵的呢?上圖是全球整個端口服務開放統計的排行資料,可以看到WEB服務是占57.7%,我們都知道黑客是很聰明的,他們會考慮投入和産出比的問題,是以他們更傾向于攻擊一些容易攻擊的目标,是以WEB服務成為他們最優先的攻擊對象。
從web服務來看,全球網際網路有超過3700多萬台部署了NGINX軟體,整個網際網路就是由圖中這些元件、開發架構、第三方軟體來構成的。基于雲上大量的入侵事件來分析,發現黑客都在用這些漏洞進行攻擊,具體方式如下:
- 弱密碼爆破(SSH、RDP、MSSQL、MySQL)。
- 服務未授權通路(Redis、ElasticSearch、MongoDB)。
- WebLogic上傳&反序列化系列漏洞。
- JBoss反序列化與預設配置漏洞。
- Tomcat Web管理背景弱密碼與檔案上傳。
- ThinkPHP代碼執行漏洞。
- Apache Struts2遠端代碼執行漏洞。
- Nexus Repository Manager3遠端代碼執行漏洞。
- Jenkins Plugin 遠端指令執行漏洞。
- Confluence未授權模闆注入/代碼執行。
- Spring Data Commons遠端代碼執行漏洞。
-
Kubernetes Api Server未授權通路漏洞。
基于這些情況,我們可以得出一個結論,就是黑客利用20%的漏洞入侵了全球超過80%的伺服器。
目前的做法收效甚微
最近我們做了一個事情,阿裡雲為超過100多家企業提供滲透測試服務以及參加國家級的攻防演練行動,從中會發現一個結果,目前實戰攻防滲透成功率超過90%。就是說今天網際網路有100家企業,要是真把他們放在實戰環境,有90%的公司都是扛不住黑客攻擊的,那麼原因到底是什麼呢?
具體原因有四點,一是中間件、第三方元件、開源軟體漏洞被忽視;
二是重點關注系統OS層的高危漏洞;
三是OWASP-top-10占總量40%中低危/應用漏洞被忽視;
四是從發現漏洞到被利用的平均時間每年都在減少。
目前漏洞管理的效果為什麼不理想?
CVE漏洞連續10年披露的數量
我們可以看到2018年一年全球總共披露了16000多的漏洞,而今年2019預計将會有18000漏洞産生,CVE連續10年漏洞高達10萬到12萬,通過分析可以發現12萬漏洞裡面僅12%漏洞是存在利用代碼的。
漏洞等級不等于真實風險
在2017年和2018年漏洞的等級分布情況中,其中56%的漏洞都被标為高危和嚴重,就是說一家企業做漏洞修複的時候,如果關注在高危漏洞上面,一年大概要修8000多的漏洞,實際上我們都知道這些漏洞可以利用的是非常少的。
漏洞在不同場景下的影響
比較常見企業網絡架構如圖所示,網絡架構有公有雲、資料中心、私有雲三個過程,在不同的區域都有對應的安全措施和隔離措施。第一個場景,同一個高危漏洞在不同的區域存在的時候,風險等級是不一樣的。第二個場景是隔離場景,在私有雲中有一個财務開發環境的系統,當有一天在雲上的一台邊界伺服器被攻擊時,黑客就可以通過這個路徑一直連接配接到資料中心的開發伺服器,這個時候這個高危漏洞被認為是具備高風險的,因為是整個都被暴露在了外部。
風險等級與上下文環境強相關
一個漏洞等級跟它的上下文環境是關鍊的,判斷漏洞的危害等級可以從三個方面看,一是漏洞利用代碼是否公開及難度;二是威脅情報是否在野利用(武器化);三是資産重要度與暴露情況。
更有效的漏洞管理應該怎麼做?
聚焦迫在眉睫的漏洞威脅
聚焦漏洞管理之前會建立漏洞管理平台,聚焦漏洞的整個過程如下:
- 統一漏洞庫:識别與定義曆史存在的已知漏洞資訊。
- 漏洞評估結果:基于漏洞掃描,主機端Agent的工具,進行漏洞評估。
- 漏洞影響評分:基于漏洞的影響程度、利用條件和利用難度等規則,進行優先級評分。
- 攻擊路徑:識别網絡是否開放通路攻擊面是否對外暴露。
- 威脅情報:基于威脅情報能力,識别目前漏洞是否已有黑客在野利用,發起攻擊。
漏洞優先級評分 · 以威脅為中⼼
評估漏洞可以從四個方面來看,第一是看漏洞的本身,就看漏洞到底嚴不嚴重,看代碼有沒有公開,如果沒有公開,那麼風險就不高;第二是看攻擊路徑,就比如說一個路徑隻在伺服器本地開放,那麼就不會把端口暴露在網際網路,就不會達成遠端攻擊,此時認為是本地漏洞;第三是看權限的要求,現在很多業務系統要使用裡面的功能是需要登入的,此時産生的漏洞造成的危害一般不嚴重。除此之外,還要看利用複雜度、影響範圍、披露時間以及威脅程度,同時判斷漏洞的優先級還需要關注供給面暴露情況(程序是否啟動、端口是否監聽、網絡是否開放)。
更有效的漏洞管理方法
基于以上分析,得出了一個更有效的漏洞管理方法,就是以威脅為中心的漏洞管理方法,此方法發現漏洞後,會結合評分的算法,接着算出哪些漏洞影響最大,哪些漏洞是沒有影響的,最後優先修複漏洞大的,修複完後持續關注黑客活動,若發現還有黑客在活動就說明修複是無效的,如果沒有發現黑客在活動就說明修複是有效的。
從現在開始新的漏洞管理
阿裡雲提出了更有效的漏洞管理方法,就是以威脅為中心的漏洞管理方法,新的漏洞管理需要做到以下幾點:
- 開始了解暴露面(程序、端口、網絡)。
- 關注真實威脅,不要将注意力集中在媒體備受關注的威脅上,大多數威脅與漏洞及其利用密切相關。
- 将有限的資源集中在對組織最重要的漏洞上。
- 關注最可能在攻擊中使用的漏洞。
- 開始了解資産情況(核心元件、架構、供應鍊)。