近期國內資安攻擊事件頻傳,尤其是高科技製造業屢屢成為駭客攻擊目標,企業資安防護應如何自保,今年資安大會中,曾任美國賽門鐵克核心研究實驗室總監的工研院資通所所長的闕志克認為,企業應建立零信任的安全機制,白名單即是一個相當重要的手段。

「零信任就是一開始對任何行為都不信任」,闕志克直接點出零信任安全機制的精神,所有系統行為都需經過批准,唯有通過批准的行為才能被執行,這點正和白名單的安全機制不謀而合,白名單概念是只有正面列出的應用可被允許,其他未被列入者則不被允許。

傳統資安攻擊手法可歸納為三步驟,駭客利用軟體漏洞入侵裝置,員工在不覺之下將被入侵的BYOD裝置帶到企業環境內使用,導致惡意程式攻擊在企業內部橫向擴散。換言之,只要中止這個過程中的步驟,就能降低攻擊造成的損害。資安攻擊過程大多是,駭客利用漏洞將shellcode植入系統,進而讓系統下載安裝惡意程式,可能造成任何的損害,例如破壞系統的正常運行或是竊取資料等等。

闕志克指出,傳統防毒軟體多運用黑名單機制,建立禁止執行的惡意程式名單,一旦發現黑名單中的程式即中止執行;相反地,應用程式白名單機制,只有被允許者能夠執行,名單外的程式都禁止。

白名單適合保護特定功能的系統

對個人使用的電腦或筆電採取白名單機制,可能因太嚴格的限制,造成使用者的不便,但闕志克指出,白名單非常適合無線路由器、無人機、自駕車等特定用途的裝置採用,其他例如企業工業控制系統等OT的保護,也相當適合。

美國NCCIC(國家安全暨通訊整合中心)曾對工業控制系統保護提出7項建議,應用程式白名單機制名列第一,重要性可見一斑。「白名單機制雖然不是萬靈丹,卻是最需要先做的事」,闕志克說。

要對特定功能的伺服器建立白名單,得先知道這臺伺服器提供哪些功能,先設妥哪些應用程式必需執行或可允許,將其列入白名單中。他以工研院這幾年所開發的Windows-based AWL為例,針對可執行的二元碼(Binary Code)、共享函式、核心模組、驅動程式,甚至是Script程式進行檢查,建立應用程式白名單機制

「白名單從哪裡來」,闕志克點出這個機制第一個挑戰,當一臺全新、從來沒有連接過網路的Windows server 2020,最初的白名單如何設定,才能確保Windows server必要的應用被允許執行。

當建立白名單機制後,接下來的問題是如何維護?白名單上的應用如有任何更新,白名單沒有同步調整,就可能發生應用更新後無法執行的問題,目前工研院致力於研究如何讓白名單保護機制與時俱進,例如讓白名單的調整和Windows Update流程結合,或是企業以AD主機安裝的應用,也能同時更改應用程式白名單。否則,當Chrome瀏覽器自動更新版本,若白名單沒有同步調整,就可能出現更新後無法執行的問題。

即使建立應用程式白名單,但闕志克提醒,白名單中的程式也不代表就是安全,如同前面所說的,當駭客利用應用程式的漏洞植入shellcode,仍舊會造成損害,簡言之,如何發現白名單內的應用程式已經「變質」,是強化白名單機制安全性的一大挑戰。

目前工研院已研發一套檢查工具,針對白名單應用程式的系統呼叫行為模式進行檢查,比對編譯期和runtime的系統呼叫行為是否出現異常,作為判別被植入shellcode的依據。

另外,也可用Android Kernel框架慣用的控制流程(control flow)檢查,透過檢查比對執行時的控制流程是否異常,來判斷白名單所允許的應用程式是否被駭。

以正面表列規範應用程式應有的行為

闕志克表示,白名單機制不應只是設定哪些應用程式可執行,還應包括程式的正常行為模式,例如系統呼叫、控制流程行為也一併記錄,這麼做的好處是,只要描述好的應用程式應有的行為,不需去定義壞的應用程式有哪些不好的行為。在一般資安系統設計思維裡,多傾向思考壞人有哪些不好的行為,較少思考好人應有的好行為是什麼。「這就是正面表列、零信任的精神」。

他認為,正面表列的安全機制尤其適合ATM、無人機、自駕車這類固定功能的系統,這些系統因為特定用途,可採用多層次的白名單檢查,包括允許安裝執行的應用程式二元碼檢查,事先定義每個程式對系統資源的使用行為,還有程式的系統呼叫、控制流程圖等,就能降低被攻擊風險。「在多層次的保護機制下,即使白名單允許的程式因漏洞遭植入shellcode,也能阻斷攻擊過程」。

企業資安防護使用白名單機制時,闕志克建議,不只是一臺伺服器上有哪些應用可執行,這些應用能用哪些系統資源,還有哪些外部伺服器或用戶端電腦被允許和這一臺伺服器的應用互動等,都要列入白名單中。

同樣地,對員工的BYOD裝置也應採取零信任的態度,只允許裝置上的少數應用能用企業資源,例如在員工手機上部署虛擬行動基礎架構(VMI),僅允許虛擬手機使用企業內部的資源。

闕志克建議企業可將白名單視為一種通用的資安防護策略,並採取層層定義的方式,對應用程式、程式應有資源使用行為、網路通訊、可與之互通的BYOD裝置程式定義清楚:

若是不幸地,惡意程式入侵,為了阻擋惡意程式在企業內部擴散,並進一步限縮可能造成的損害,他也建議,企業應建立應用感知的網路切片(Application-aware network segment),讓不同的應用使用個別的網路切片,甚至進一步對虛擬機器或容器間的網路通訊行為模式,建立應用層級的白名單機制,以形成防火牆規則,限縮惡意攻擊的影響性。

闕志克總結,企業規畫資訊系統應納入零信任精神,先考慮想提供那些功能,這些功能可允許哪些行為,包括哪些程式可允許執行,允許哪些裝置和這些程式互動等等。

「企業應將白名單機制視為一種通用資安防禦策略,多數企業規畫資安系統時,不斷嚐試找出哪裡有漏洞,但漏洞是人為錯誤的結果,漏洞是無限的挑戰,企業反而應該思考,允許哪些行為就足以滿足營運需要,同時將影響限縮到最小」,他說。

 

熱門新聞

Advertisement