本文將介紹入侵偵測及入侵防禦系統的基本元件,包含傳感器、管理伺服器、資料庫伺服器以及控制台介面,然後說明如何抉擇網路架構,善用各種安全性能,探討實務上經常出現的各種管理議題,最後說明如何持續維護。
先前已討論了入侵偵測暨防禦的原則、入侵偵測暨防禦系統主要性能、常見之偵測技術,緊接著就來探究入侵偵測暨防禦系統技術,包含了其基本元件、網路架構、安全性能、管理等議題。
認識入侵偵測暨防禦系統基本元件
入侵偵測暨防禦系統通常會包含一些重要的元件,以下分別說明:
傳感器
傳感器(Sensor)負責監控並分析活動,通常被入侵偵測暨防禦系統用來監控網路,不管是網路型、無線型,或者網路行為分析型都有傳感器。
管理伺服器
管理伺服器(Management Server)是一個中央化的設備,接收從傳感器而來的資訊並且管理它們。某些管理伺服器會分析並識別事件,這是某些個別傳感器辦不到的。將眾多傳感器而來的事件資訊(例如找到被某些IP位址觸發的事件)配對起來,就是所謂的關聯化。管理伺服器產品能夠以硬體裝置的型態,或者純粹軟體的型態呈現。某些小型的入侵偵測暨防禦系統部署並不會採用任何管理伺服器,但大部分入侵偵測暨防禦系統部署都會有。而在較大型入侵偵測暨防禦系統部署,通常有多個管理伺服器,在某些案例中,甚至有兩層的管理伺服器。
資料庫伺服器
資料庫伺服器(Database Server)負責將傳感器、管理伺服器的事件相關資訊記錄起來,許多入侵偵測暨防禦系統都提供資料庫伺服器。
控制台介面
所謂的控制台介面(Console),就是提供一個介面給入侵偵測暨防禦系統的使用者和管理者。控制台介面軟體通常被安裝到桌機或筆電裡面。某些控制台介面被用來入侵偵測暨防禦系統管理,例如設定傳感器並且套用軟體更新,然而其他控制台介面僅被用來監控和分析。此外,某些入侵偵測暨防禦系統的控制台介面,則同時提供了管理和監控功能。
決定網路架構
入侵偵測暨防禦系統各個元件可以彼此被連接,看是要讓它走組織的標準網路或走所謂的管理網路(Management Network)的個別網路(這設計是為了安全上的管理)。如果有用到管理網路,各個傳感器主機就有額外的網路介面,亦即管理介面(Management Interface),負責連接到管理網路。而且,各個傳感器主機無法在管理介面之間或者與其他網路傳送任何流量。管理伺服器、資料庫伺服器和控制台介面,都只會被加到管理網路。
這樣的架構可以有效地把管理網路從公司的正式網路隔離開來,而且這麼做能夠隱藏入侵偵測暨防禦系統的存在和身分,這樣駭客就看不到,可以保護入侵偵測暨防禦系統避免受到攻擊。
但是,採用管理網路的缺點包含了需要付出網路設備和其他硬體(例如電腦這樣才有控制台介面可用),以及入侵偵測暨防禦系統使用者和管理者為了使用分離的電腦來管理並監控入侵偵測暨防禦系統的不方便等等。
如果入侵偵測暨防禦系統被部署的方式是沒有分離的管理網路,另一個增進入侵偵測暨防禦系統安全性的方式是,在公司的標準網路之中用VLAN打造一個管理網路。
採用VLAN,會替入侵偵測暨防禦系統的通訊提供保護,但這樣的保護還不及隔離出來的管理網路。
舉例來說,VLAN的錯誤組態設定,可能會導致入侵偵測暨防禦系統資料的暴露。另一個考量是,在惡劣環境下,例如DDoS攻擊或重大惡意軟體事故,被組織從主要網路分享出來的網路設備和VLAN可能會變成完全飽和,負面衝擊入侵偵測暨防禦系統的可用性與效能。
常見的安全性能
大部分入侵偵測暨防禦系統都可以提供廣泛的安全能力。緊接著,就來探究一般常見的安全性能,將分成資訊收集、Logging、偵測、防禦四大面向進行說明。
資訊收集
某些入侵偵測暨防禦系統提供資訊收集能力,例如從觀察到的活動當中收集主機或網路資訊,例如識別出他們使用的主機、OS和應用系統,以及識別出網路的一般特徵。
Logging
入侵偵測暨防禦系統通常會對偵測到的事件執行廣泛及其相關的資料Logging,這個資料可以被用來確認警告的真實性、分析事故,並且把入侵偵測暨防禦系統和其他Logging來源的事件資料進行關連化。
通常會被入侵偵測暨防禦系統採用的資料欄位,包含事件日期和時間、事件種類、重要性等級(例如優先順序、嚴重性、衝擊性、信心等等)以及採取的預防行動。
特定種類的入侵偵測暨防禦系統會去Log額外的資料欄位,例如網路型入侵偵測暨防禦系統會擷取封包、主機型入侵偵測暨防禦系統會記錄User ID。入侵偵測暨防禦系統通常允許管理者去儲存當地Log,並且傳送Log副本給中央的Logging Server,例如Syslog、SIEM。
一般來說,Log應該要被儲放在本地端和中央端,以支援資料的完整性和可用性(例如入侵偵測暨防禦系統被滲透,可能會讓駭客得以變更或破壞Log)。而且,入侵偵測暨防禦系統應該要用NTP來鐘訊同步,或者透過頻繁的人工調整,這樣Log才會有準確的時戳。
偵測
入侵偵測暨防禦系統通常提供廣泛的偵測能力。大部分產品使用綜合型的偵測技術,通常都會支援更精確的偵測和更多彈性的調校和客製化。而入侵偵測暨防禦系統所偵測到的事件種類以及偵測的準確度,理所當然地,會因為入侵偵測暨防禦系統種類不同而有所差異。
大部分入侵偵測暨防禦系統需要有某些程度的調校和客製化,以精進它們的偵測精確度、實用性、有效性,例如設定防禦行動以利在特定警告出現時能夠被執行。各種入侵偵測暨防禦系統的技術在各自的調校和客製化能力差異都頗大。通常越強大產品的調校和客製化能力,就伴隨著它本身的預設組態設定,在偵測精確性上需要進步的空間就更多。每當評估產品的時候,組織應該小心考慮入侵偵測暨防禦系統的調校和客製化能力。
設定正常和異常行為的範圍。門檻通常會具體說明最大可接受等級,門檻絕大部分都會被用在異常偵測法和協定狀態分析法。
黑名單是個離散清單,例如主機、TCP或UDP Port號、ICMP種類和代號、應用系統、使用者名稱、URL、檔案名稱或副檔名,在先前就預先被判定與某些惡意活動相關了。黑名單通常被用來允許入侵偵測暨防禦系統去辨別並封鎖那些高度可能是惡意的活動,並且也可能被用來指定若符合黑名單的話就優先發出警告。某些入侵偵測暨防禦系統產生動態的黑名單,被用來暫時封鎖最近偵測到的威脅,例如從駭客IP位址而來的活動。
而白名單亦是個離散清單,裡面登載著無害的。白名單通常被用在更細緻的基礎上,例如Protocol-by-protocol,以降低或忽略那些來自受信任的主機的無害活動的型一錯誤。白名單和黑名單最常被用在特徵偵測和協定狀態分析法。
大部分入侵偵測暨防禦系統允許管理者客製化各種警告種類,而各種警告對應到可以被執行的行動,包括以下幾種例子:設定預設優先權或者嚴重等級、具體說明甚麼資訊應該被記錄起來以及該採用甚麼通知方法(例如E-mail、即時通訊等)、具體說明哪一種防禦能力應該被採用。如果駭客在短時間內產生太多警告,某些產品也壓抑警告,而且可能也會暫時忽略接下來短時間內來自該駭客的全部流量,這是為了避免入侵偵測暨防禦系統被警告給淹沒。
某些入侵偵測暨防禦系統允許管理者去查看那些偵測相關程式碼的部分或全部,這通常會限制在特徵上,但有些入侵偵測暨防禦系統允許管理者查看額外的程式碼,例如被用來執行協定狀態分析的程式碼。檢視程式碼可以幫助分析人員去判斷為什麼特定的警告會被產生出來,幫助核實警告以及識別型一錯誤。編輯全部偵測相關之程式碼的能力以及編寫新的程式碼(例如新的特徵),對於完整客製化某些種類的偵測能力是有必要的。
舉例而言,特定的警告可能會因為許多程式碼的一連串複雜事件而被產生;如果沒有直接去編撰程式碼的話,卻想要將入侵偵測暨防禦系統客製化去了解組織特定的特徵就不太可行。編輯程式碼需要寫程式的技巧和入侵偵測的技巧;而且,某些入侵偵測暨防禦系統使用私人的程式語言,這可能就有必要讓程式人員去學習新的程式語言。而且寫程式的Bug可能導致入侵偵測暨防禦系統無法正常運作,所以管理者應該要把客製化的程式碼看作其他資訊系統要正式上線一樣來對待。
管理者應該要定期檢視調校和客製化,以確保它們仍然正確。舉例而言,白名單和黑名單應該要經常被檢查,而且重要的是,每一筆都應該被徹底核實,以確保它們仍然正確而且必須。門檻和警告設定可能需要被定期性調整,以彌補環境中各種威脅的變化。每當產品被更新的時候,偵測程式碼也需要被複製起來。管理者也應該要確保任何收集基準線給異常偵測的產品,有定期地重新打造它們各自的基準線,以支援正確地偵測。
防禦
大部分入侵偵測暨防禦系統提供多種預防能力;特定的能力會因為入侵偵測暨防禦系統種類不同而有所差異。入侵偵測暨防禦系統通常允許管理者具體說明預防能力組態設定給各個警告種類,這通常包含打開或關閉預防功能,以及具體說明哪一種,預防能力應該被採用。某些入侵偵測暨防禦系統傳感器有學習模式或模擬模式,可以抑制所有的預防行動,而非直接執行預防行動。
這樣一來,就允許管理者監控並且好好地去調校預防能力的組態設定,在打開預防行動之前,這也降低了不小心封鎖無害活動的可能性。
進行管理
大部分入侵偵測暨防禦系統產品提供類似的管理能力。以下篇幅將討論實作、操作以及維護三個主要的管理面向,並且提供一些有效和有效率的執行建議。然後,簡短地討論入侵偵測暨防禦系統管理所需的技能,並提供一些獲取這些技能的建議。
開始實作
一旦選定入侵偵測暨防禦系統產品,管理者需要設計一個架構、執行入侵偵測暨防禦系統元件測試,以及部署並保全入侵偵測暨防禦系統元件。
架構設計
入侵偵測暨防禦系統實作的第一個步驟是設計一個架構。架構上的考量包含以下幾項:
1. 傳感器應該被放在哪裡。
2. 該解決方案應該要多可靠、該採用怎樣的措施來達成這樣的可靠度?例如讓許多傳感器監控相同活動以防其中一個傳感器失效,或者採用多個管理伺服器,如此一來就有備援機制。
3. 入侵偵測暨防禦系統的其他元件應該要放在哪裡(例如管理伺服器、資料庫伺服器、控制台介面),以及需要多少這些元件,以達成必要的實用性、冗餘、負載平衡目標。
4. 入侵偵測暨防禦系統要跟其他那些系統介接?例如提供資料的系統(好比SIEM、Log Server、郵件伺服器、即時通訊系統等等)、發起防禦回應的系統(如防火牆、路由器、交換機)以及管理入侵偵測暨防禦系統元件的系統(如網路管理軟體或是更新管理軟體)。
5. 考量管理網路是否將會被使用。如果會,該如何設計?如果不會,該如何保護入侵偵測暨防禦系統在標準網路上的通訊?
6. 有那些其他的安全控管措施需要被變更,以適應入侵偵測暨防禦系統的部署?例如變更防火牆政策去允許入侵偵測暨防禦系統元件可以通訊。
元件測試與部署
組織應該考慮在測試環境裡面先實作元件,而非直接在正式環境裡面實作,以減少實作的問題中斷正式網路環境的可能性。當元件被部署到正式網路的時候,組織應該初步啟動入侵偵測暨防禦系統的部分傳感器,並且把防禦能力關閉。因為在完全調校和客製化之前,新的部署可能會產生大量的型一錯誤。一次啟動許多傳感器,可能會把管理伺服器和控制台介面壓垮,讓管理者難以執行調校和客製化。
許多出現在傳感器的型一錯誤可能是相同的,所以識別出這種型一錯誤是有幫助的,要在測試中發現,或者在部署的初期就發現,所以那些型一錯誤可以在被廣泛部署之前就被掌握。也就是說,傳感器階段性的部署有助於識別潛在問題。
實作一個入侵偵測暨防禦系統可能需要短暫的網路或系統中斷來進行組件安裝。如同上述,在測試環境中執行部署,對於識別出可能的實作問題是有幫助的,這樣一來,如果在正式的部署環境中發生相同情況,就可以較快速被解決。
硬體設施類的入侵偵測暨防禦系統元件,通常很容易部署。管理者可能需要執行軟體更新或特徵更新,以確保入侵偵測暨防禦系統軟體處於最新狀態。否則,管理者通常只需要提供電力和網路線、開機、執行某些基本的組態設定而已。
比起硬體設施類,軟體類的入侵偵測暨防禦系統元件通常花費更多時間部署。組織首先需要取得適當的硬體,這可能包含採購高頻寬的網路卡,以及其他確保硬體足夠強壯的基本配備。接著,管理者需要安裝一個和入侵偵測暨防禦系統軟體相容的OS,然後儘量強化主機。強化本身,應該包含更新OS、服務和應用系統,包含入侵偵測暨防禦系統軟體。管理者也需要執行入侵偵測暨防禦系統軟體的基本組態設定,就如同針對硬體設施類的入侵偵測暨防禦系統元件所做的一樣。
在部署硬體設施類或軟體類的入侵偵測暨防禦系統元件之後,可能還需要根據被部署的入侵偵測暨防禦系統種類,設定產品的偵測和防禦功能。若沒執行這個組態設定的工作,某些入侵偵測暨防禦系統可能只能夠偵測到少量、老舊、最容易被識別出來的攻擊而已。
保全偵測暨防禦系統元件
保全入侵偵測暨防禦系統元件非常重要,因為入侵偵測暨防禦系統通常都會被駭客鎖定。如果駭客可以滲透入侵偵測暨防禦系統,它可以被搞成無法偵測後續攻擊的。而且,入侵偵測暨防禦系統通常包含敏感資訊,例如主機組態設定和已知的弱點,這些都對於規劃額外或後續攻擊來說都是有幫助的。
除了強化軟體類的入侵偵測暨防禦系統元件,以及確保所有入侵偵測暨防禦系統元件有完整更新之外,管理者應該執行額外的行動以確保入侵偵測暨防禦系統元件自身是有妥適被保全的,以下提出「安全建議行動123」。
除此之外,某些組織也需要對於遠端存取入侵偵測暨防禦系統元件採用強驗證,例如2FA,如此就可以提供額外的安全層級。
操作和維護
幾乎所有的入侵偵測暨防禦系統產品都被設計成可以在圖形化介面上操作和維護,而這個圖形化介面也把它叫做Console。此圖形化介面通常允許管理者設定及更新傳感器和管理伺服器,並且監控它們的狀態,例如傳感器失效、封包掉了等等。
管理者也可以透過圖形化介面去管理使用者帳號、客製化報表、執行許多其他功能。入侵偵測暨防禦系統使用者也能夠透過這個圖形化介面執行許多功能,包含監控及分析入侵偵測暨防禦系統資料並產出報表。
大部分入侵偵測暨防禦系統允許管理者設立個別的使用者帳號給各個管理者和使用者,並且授權各個帳號只能有必要的特權去對應到各自的角色。圖形化介面通常會反映這個,透過呈現不同的選單和選項,根據當下被驗證過的帳號所被指定的角色。某些產品也提供更精細的存取管控,例如告訴傳感器具體說明哪一位使用者可以監控或分析資料或產出報表,或者特定的管理者能夠變更組態設定。這允許一個大型的入侵偵測暨防禦系統部署,可以為不同操作目的分割成多個邏輯單位。
某些入侵偵測暨防禦系統產品也有提供指令行介面(Command-line Interfaces,CLI)。而指令行介面通常被用在本地端管理。有時候指令行介面可以從遠端進來,透過SSH的加密連線或是其他方法。圖形化介面操作起來比較簡單,而且指令行介面提供的功能通常比圖形化介面少一些。
接下來,說明入侵偵測暨防禦系統的操作和維護。使用者在入侵偵測暨防禦系統的日常任務中可以如何善用控制台介面、持續地維護,取得並套用更新。
典型的運用
大部分入侵偵測暨防禦系統的圖形化介面提供許多特色,協助使用者每天的任務。舉例而言,大部分圖形化介面提供細部資訊拆解功能,這意思是說,當使用者檢查某個警告,會有更多細節資訊會跑出來。這就讓使用者能夠一次看到許多警告的一些基本資訊,以及針對特定事件來呈現出額外資訊。
某些產品允許使用者去看廣泛的支援性資訊,例如封包擷取和相關的警告(例如某些來源或目的其他警告),以及警告本身的文件。一般來說,入侵偵測暨防禦系統記錄的資料愈多,分析人員就更容易判斷到底發生甚麼事情。某些圖形化介面也提供事故回應特色,例如把某個警告轉變成一個事故,並且提供工作流,允許使用者記錄警告的額外資訊,並且把警告導向特定的使用者或群組以供進一步檢視。
大部分控制台介面也提供不同的報表功能。舉例而言,管理者或使用者可能可以使用圖形化介面,讓特定報告在特定時間執行後並郵寄出去。許多圖形化介面也允許使用者產生所需要的報表(包含特定事件的報表)和客製化報表。如果一台入侵偵測暨防禦系統產品將Log儲存在資料庫或儲存在一個簡單的檔案格式中(例如XML),資料庫查詢或Script也可以被用來產生客製化報表,尤其是當圖形化介面不提供足夠的報表客製化彈性的時候。
持續維護
管理者應該要持續地維護入侵偵測暨防禦系統。這應該包含「持續維護5要點」。
取得並套用更新
入侵偵測暨防禦系統更新,有軟體更新和特徵更新兩種。
軟體更新修復了入侵偵測暨防禦系統軟體的Bug,或者增加新的功能;而特徵更新則增加新的偵測能力或是將既有的偵測能力精煉,例如減少型一錯誤對許多入侵偵測暨防禦系統而言,特徵更新導致程式碼變更或整個被替換掉,所以它們是一個專業性的軟體更新。對於某些入侵偵測暨防禦系統而言,特徵並未被寫在程式碼內,所以特徵更新就會變成入侵偵測暨防禦系統的組態資料變更。
軟體更新可以包含任何或所有的入侵偵測暨防禦系統更新,包含傳感器、管理伺服器、控制台介面。大部分軟體更新需要管理者安裝軟體或套用補丁,若非在各台主機上手動,就是透過入侵偵測暨防禦系統管理軟體自動化執行。廠商通常會讓買家從官網下載軟體更新檔案和特徵更新檔;入侵偵測暨防禦系統的管理者介面有下載和安裝這種更新的功能。
入侵偵測暨防禦系統通常被設計成,套用軟體更新和特徵更新後不會對現存的設定造成影響。但有一個例外是,如果有客製化程式碼的話,每當程式碼從廠商那邊更新的時候就必須將客製化程式碼重複更新。對任何入侵偵測暨防禦系統來說,在套用軟體更新或特徵更新之前,管理者應該定期備份組態設定檔案,以確保現存的設定不會遺失。
在套用之前,管理者應該測試軟體更新和特徵更新,除非是相當緊急的情況(例如某個新的特徵識別到一個新的、主動型的威脅,正在破壞組織並且無法被偵測或被封鎖)。在這種情況下,至少就應該有一個傳感器主機被測試更新。
新的偵測能力通常會觸發大量警告,所以在單一傳感器上測試特徵更新,就算只有簡短地測試(例如載入更新和觀察入侵偵測暨防禦系統在監控典型活動的時候是如何運作的),都可以幫助識別出可能有問題的特徵並且應該將其關閉。
在非緊急情況下,軟體更新和特徵更新應該被測試並且部署,採用和其他重大安全控管措施相同的更新實務,例如防火牆和防毒軟體更新。當更新被部署到正式環境,如果需要的話,管理者應該要準備好關閉特定特徵,或是執行其他小型的重新設定。
專業素養的打造及維護
入侵偵測暨防禦系統的實作、操作和維護,需要不同的技能,包含以下幾項:
1. 管理者實作入侵偵測暨防禦系統元件,需要了解系統管理的基本學能、網路管理的基本學能、資訊安全的基本學能。
2. 管理者調校並客製化入侵偵測暨防禦系統,需要相當廣泛的資安知識,以及對於入侵偵測暨防禦系統原理的熟悉,而了解事故回應原則以及組織的事故回應政策和程序也是有其必要性。管理者應該也要對於入侵偵測暨防禦系統將要監控的網路通訊協定、應用系統、作業系統有所瞭解。
3. 可能也會需要撰寫程式的技能,以利程式碼客製化、撰寫報告以及其他任務。
對於入侵偵測暨防禦系統的原理原則的技能,可以透過多種方法來建立和維持,包含訓練、技術研討會、書籍或其他技術參考文獻等等。
對於特定入侵偵測暨防禦系統產品的知識,也可透過多種方式取得,包含廠商教育訓練、產品文件、技術支援、專業顧問諮詢服務、專業性社團或論壇。
結語
本文章介紹了入侵偵測及入侵防禦系統的基本元件,包含傳感器、管理伺服器、資料庫伺服器、控制台介面,並且也介紹網路架構、各種安全性能、各種管理議題、以及如何持續維護。下一回將針對第一種入侵偵測暨防禦系統「網路型入侵偵測暨防禦系統」進行探討。
<本文作者:黃信智,目前為久揚科技服務有限公司營運總監,提供資安管理、隱私保護、營運持續管理等顧問諮詢服務、以及滲透測試、源碼檢測等資安服務。擁有CEH、ECIH、CISSP、ISO 27001 LA等資安證照。>