上醫治未病:雲上入侵檢測安全啓示錄

兩千多年前,《黃帝內經》提到 “上醫治未病,中醫治欲病,下醫治已病”。雲安全也是同理,未雨綢繆、防患於未然,這雖是老生常談,但真正能具備這一能力的企業卻不多,各種各樣的安全事件仍在頻頻上演。

—— 01 ——

雲安全拒絕 “事後諸葛亮”


2017 年 5 月,WannaCry 勒索病毒在全球爆發,百餘個國家遭受大規模攻擊,是史上波及範圍最廣的病毒之一。這次安全事件爲各行各業敲響了警鐘,但卻並沒有 “長鳴”。

圖:近兩年部分重大網絡安全事件一覽

可以看到,黑客入侵攻擊是無處不在的。而沒有防護的雲計算環境相當於裸奔,只要任意一點遭受攻擊,便有可能波及雲上所有業務。在黑客威脅日益嚴重的情況下,雲主機又該如何應對呢?


UHIDS 是 UCloud 爲保護用戶雲主機安全而設計的一套基於主機的安全檢測體系。該體系能夠實時監控雲主機的安全性,及時發現安全隱患,幫助用戶瞭解雲主機的安全狀況並有針對性地進行加固。UHIDS 能在事前做好風險檢測並加以告警,也就是我們所說的 “上醫治未病”。


那麼,UHIDS 又是如何 “治療” 雲安全 “未病” 的呢?

—— 02 ——

從入侵時間鏈看 “未病”


入侵受害者有兩類人,一種是知道自己已經被入侵了,可此時亡羊補牢,爲時晚矣;另一種是不知道自己被入侵了,等到大廈將傾時才發現。


其實,還可以存在第三類人:在系統受到危害前便已接收到警告,因而可以做到防患於未然。
如何才能做到在系統受到危害前便可有效檢測出入侵方式呢?未知攻,焉知防,如下圖,基於 Cyber-Kill-Chain 網絡攻擊殺傷鏈模型,我們首先還原出了一個簡化的入侵攻擊流程。

圖:一個簡化的入侵攻擊流程

每個階段的攻擊詳情如下:


① 偵察階段:以掃描、信息收集爲主,通常包含 IP 收集、域名收集、端口掃描等步驟,黑客進行這些步驟的目的是儘可能探測出攻擊目標的資產信息,例如使用什麼軟件,什麼版本等。 攻擊階段:收集到足夠的信息後,黑客會嘗試使用一些手段來探測目標是否存在可利用的漏洞,這些嘗試有的是手工精確實施,有的是使用大量攻擊手段來進行遍歷嘗試。 分發階段:主要以留後門、下載木馬等爲主,黑客會利用獲取到的系統權限,在服務器上安裝後門、Botnet、挖礦程序等。 安裝維持階段:主要以替換服務器關鍵配置爲主,例如隱藏木馬進程,對木馬進程進行保護等。


UHIDS 的整體設計思路就是在每一個攻擊步驟的關鍵點設置檢測手段,這樣設計的好處是避免單點失效,且儘可能的提前知曉黑客入侵手段從而採取相應的防禦措施。此外,在越早的攻擊環節阻止入侵,修復漏洞的成本和時間損耗也會越低。


—— 03 ——

UHIDS 全流程入侵檢測設計


根據入侵攻擊鏈不同階段的特點,UHIDS 雲上入侵檢測有三種思路,可提供對各類攻擊的有效防禦。


| 登錄安全風險檢測
登錄安全是所有服務器最基礎的安全內容,代表了服務器的入口。登錄安全通常存在的安全風險包括:密碼泄露、弱密碼、暴力破解、不安全的配置、漏洞利用等。作爲雲上用戶,我們遇到最常見造成入侵的風險往往是弱口令,弱口令帶來的風險也是不容小覷的。


2015 年春運前夕爆發了 12306 數據泄露事件,烏雲網發佈漏洞報告稱,大量 12306 用戶數據在網絡上瘋狂傳播。本次泄露事件被泄露的數據達 131653 條,弱密碼在其中就佔據了舉足輕重的地位。


通常,針對弱口令的攻擊方式包括異地登錄和暴力破解。傳統的檢測方式一般按照非黑即白的策略去檢測,即讓用戶添加一個白名單列表,只要不在白名單列表中的地點 / IP 均告警,然而該方法的缺點在於需要用戶在維護白名單列表上投入大量人力,往往造成用戶使用上的麻煩。

 

圖:黑白名單策略示意


☛ 基於機器學習的檢測機制

UHIDS 提出了一種基於機器學習的檢測機制。基於機器學習模型強大的自學習及泛化能力,通過學習大量的數據,挖掘出潛在的登錄風險爲業務決策提供支撐。


機器學習都需要一個訓練階段,從數據收集到模型建立通常會面臨諸多難題,下面是我們遇到的典型問題與解決思路。

  • 樣本類別不平衡


在入侵檢測的場景中,由於黑名單數據(黑樣本)的數量遠少於白名單數據(白樣本),因此會出現樣本類別不平衡的問題,進而導致機器算法模型失效。


爲解決該問題,我們通過 SMOTE 算法在相似樣本中進行 feature 的隨機選擇並拼接出新的樣本。SMOTE 算法的思想是合成新的少數類樣本,合成的策略是對每個少數類樣本 a,從它的最近鄰中隨機選一個樣本 b,然後在 a、b 之間的連線上隨機選一點作爲新合成的少數類樣本,如下圖所示。

圖:SMOTE 算法原理示意

  • 模型過擬合問題


在模型建立後,後續的數據清洗和預處理、數據分析到合併稀疏特徵、One-hot 編碼處理離散型特徵、隨機森林選擇特徵、標準化、歸一化、正則化也都會對模型的最終效果也會產生較大影響。因此還需研究如何根據登錄 IP、登錄時間、登錄地點、登錄方式等字段構建出不影響模型擬合問題的特徵工程。


針對該問題,我們採用交叉驗證的方法評估模型的預測性能,並通過網格搜索進行模型參數選擇,在後期還會通過 bagging、stacking 等模型集成手段進一步提升效果。


最終,通過機器學習和業務經驗的結合,UHIDS 的檢測模型大大提高了異地登錄的檢測準確率,降低了誤報率,提升了用戶體驗。

圖:UHIDS 異地登錄檢測功能示意


| 應用安全風險檢測


應用安全風險通常由三部分構成:
 漏洞風險:程序是人爲寫的,只要是人爲參與的就一定會有 Bug,這類漏洞被黑客分析出來後,加以利用就構成了入侵服務器的殺手鐗。 不安全的配置:這類問題通常是某種特性使用不當造成的,比如最常見的 Redis 空密碼的問題。Redis 本身提供了一個配置,使得用戶可以不使用密碼就能登錄 Redis,很多用戶有意或無意間設置了這個選項,被黑客利用造成 Redis 被入侵,並以 Redis 爲跳板又可以進一步入侵至整個服務器。 設計問題:這類問題基本爲開發人員的不規範操作導致的。例如開發人員一次性返回 API 所有字段,放鬆了對前端人員的管控,造成敏感字段數據泄露。再比如在公網開遠程 debug 接口,導致被黑客攻擊。這個問題的解決需要企業的代碼規範與前端開發管理,提高人員安全意識。


針對應用安全漏洞風險,UHIDS 的應對方案如下:
 UHIDS 採集服務器上應用的特徵信息,送往後端數據集羣和漏洞庫進行比對,並將比對結果進行入庫,在 UHIDS 控制檯上用戶也可看到漏洞檢測結果。如果發現系統存在漏洞風險,便會向用戶發出告警,以此便可規避黑客的無差別漏洞掃描。

圖:UHIDS 漏洞庫匹配功能示意


 UHIDS 繼續通過分析進程確定配置文件路徑,再對配置文件內容按照標準語法樹進行解析。解析後,使用預先定義好的通用數據模型將其一一填充送往服務端進行再次分析檢測,一旦發現不安全的配置,便會向用戶發出告警及修復建議。


| 木馬安全風險檢測


雲計算場景中最常見的木馬類型是殭屍網絡 Botnet 和挖礦木馬。近年來,隨着區塊鏈技術和數字貨幣的火爆,無數黑客及黑產組織盯上了雲端充足的計算資源,據統計,今年挖礦木馬已經超越 Botnet 成爲造成用戶損失最多的病毒。挖礦木馬通常會佔用用戶全部服務器帶寬和 CPU 資源,導致正常業務中斷。


這類木馬通常是利用成熟已公開的漏洞或者簡單的安全問題進行全球範圍內的無差別掃描,一般不會涉及到特別複雜的技術原理。預防此類木馬,需要用戶加強對應用安全中未修復的安全漏洞和不安全的配置的關注。


目前,UHIDS 針對木馬查殺主要使用以下三種手段:


 分析關鍵系統配置:在這裏 UHIDS 更多關注的是深層次的系統基礎配置,比如內核模塊加載等問題,通過分析上述問題來確認用戶是否被感染木馬。 清除殘餘頑固木馬:由於 Linux 的特性,即使木馬進程的可執行文件被刪除了,其進程如果仍在運行,那麼 Linux 中仍殘存有頑固木馬文件。對此,UHIDS 會還原出該文件進行分析,分析後送往大數據集羣進行檢測。一旦檢測到某個進程和特徵庫中的木馬相匹配,便會向用戶發出告警。 Webshell 漏洞檢測:Webshell 作爲 Web 入侵後留下的後門,在入侵過程中非常常見。UHIDS 首先對 Webserver 的進程進行分析,確定好 Web 目錄後,進而解析 Web 目錄中的文件。然後進行特徵匹配,將匹配到的內容上傳到大數據集羣,進行打分模型判斷,當分數權重超過一定值後就會告警。

圖:UHIDS 控制檯木馬檢測功能示意


—— 04 ——

預見雲上安全風險


最後,從安全防禦的角度來講,安全防禦是一個與黑客競爭的過程,只有搶佔先機,在攻擊者利用漏洞攻擊前修復漏洞,纔可以有效防止此類攻擊。而搶佔先機的前提就是關注雲廠商發佈的漏洞和事件預警,在第一時間做好防範工作。


以一個 ThinkPHP 漏洞爲例。ThinkPHP 是一款國內流行的開源 PHP 框架,2018 年 12 月 9 日 ThinkPHP 官方發佈一則安全更新,內容爲修復了一個嚴重的遠程代碼執行漏洞,該漏洞可導致(php / 系統)代碼執行,由於框架對控制器名沒有進行足夠的檢測,最終會導致出現在沒有開啓強制路由的情況下可能的 Getshell 漏洞。


在官方預警發佈後,UHIDS 也在第一時間更新漏洞特徵庫並開啓入侵檢測模式。此後,在該漏洞大規模爆發時,UHIDS 及時向用戶發佈了漏洞告警,免於遭受入侵攻擊。

圖:UHIDS 檢測到 ThinkPHP 漏洞

結語


需要明確的是,UHIDS 入侵檢測只是 UCloud 雲安全防護體系中的一環。在實際業務中,還需針對具體需求明確具體防護手段,例如 DDoS 防護、Web 安全防護等。此外,在與黑客暗中較量的賽場上,最重要的還是安全意識的建立,產品可以提供外力的輔助,但內在安全的構建仍需企業鞏固提高自身安全意識。

發佈了65 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章