當前位置:
首頁 > 新聞 > 解析現代防火牆如何分析網路流量

解析現代防火牆如何分析網路流量

作為一種安全工具,防火牆已經證明了它們能夠有效保護網路免受惡意攻擊者的入侵。正確配置的防火牆可以顯著降低感染惡意軟體或泄露敏感數據的風險。

本文介紹了現代防火牆如何分析網路流量,基於主機的防火牆是必備的安全解決方案。我們仔細研究了基於主機的防火牆體系結構,並用真實案例解釋了防火牆背後的原理。

一、現代防火牆如何分析網路流量

安裝在主機上的防火牆,其目的是控制網路流量。基於主機的現代防火牆執行多層次的流量分析,其中包括開放系統互連(OSI)模型各層的數據包分析。在網路層和傳輸層執行基本過濾。防火牆檢查MAC和IP地址以及數據包源和目標埠,以確定是否允許數據包通過。更高級的檢查是使用多種狀態過濾方法來分析包序列。狀態過濾器保存一系列數據包,以確定整個會話是否是惡意的,並驗證數據包是否屬於真實連接。最後,完成應用層數據包分析,驗證數據包的有效載荷。

現在,防火牆通常與防病毒軟體集成在一起,因此在數據包分析中涉及更多的邏輯來防禦主機免於木馬,rootkit以及其他類型病毒的攻擊。

二、Windows的防火牆體系結構

有多種方式可以監視Windows中的網路流量。但是,Windows操作系統的通用防火牆體系結構由以下組件組成:

1.驅動

2.服務

3.UI 應用

1.Firewall 驅動

監視網路的傳統方法是實現網路驅動程序介面規範(NDIS)驅動程序,該驅動程序註冊一個協議。新的網路協議在系統中註冊,以便操作系統通過驅動程序中的協議處理函數中繼所有網路流量。

監視網路的現代方法是在驅動程序中註冊Windows Filtering Platform子層。也就是驅動程序嵌入Windows防火牆體系結構以提供額外過濾的方式。

防火牆可能還需要檢測是否有其他協議自己註冊,因此也需要監控協議註冊。

當流量通過驅動程序時,防火牆決定是否讓它通過。如果檢測到異常,防火牆應通知用戶。但是,如果防火牆只是提供有關某些埠的特定傳出數據包的原始信息,那麼它對用戶沒有任何意義,因為沒有上下文。

用戶關心的上下文是發送此數據包的進程,啟動進程的模塊以及模塊的文件路徑。因此,現代防火牆需要監控操作系統事件,從啟動到結束進程,載入和卸載模塊,並且能夠在數據包在驅動程序中被過濾的時刻將這些信息鏈接到數據。因此,防火牆驅動程序還必須為系統事件註冊通知處理程序。

防火牆規則

防火牆必須具備的下一步是規則。防火牆規則指定哪些進程的流量必須被阻止,哪些不能被阻止。用戶可以創建防火牆規則,告訴軟體對符合規則的入站和出站流量做出以下決策之一:

· 允許連接

· 只允許那些通過IPsec協議進行保護的連接

· 阻止連接

例如,防火牆可以允許來自可信網路的所有流量或允許來自任何IP地址的HTTP或SSH連接或阻止所有傳入TCP和UDP流量。

根據計算機、用戶、程序和服務的需求,這套規則相當大。因此,規則通常由作為Windows服務實現的防火牆組件提供給驅動程序。

2.Firewall 服務

Windows服務控制過濾器驅動程序,可在運行時暫時禁用過濾或更新規則。有時,流量阻止和過濾邏輯被放入服務中,而不是在驅動程序中。在這種情況下,驅動程序充當事件提供程序,服務決定是否阻止流量,然後將此決定傳遞給驅動程序。使用這種方法,由於業務邏輯在用戶模式下運行,測試業務邏輯將變得更加容易。

但是,如果驅動程序要求服務做出決定的請求過多,則該服務可能成為整個操作系統的瓶頸。發生這種情況的原因是,作出決定的用戶模式進程沒有專用的CPU。因此,防火牆服務可能會被佔用,驅動程序可能無法及時做出決定以釋放其保持的流量。這可能會降低流量,並可能導致系統陷入癱瘓。

3.Firewall UI 應用程序

最後,防火牆需要用戶界面來顯示警報並讓用戶編輯規則。由於防火牆能夠過濾流量,即使UI已關閉,也需要單獨的應用程序來顯示通知,這是通過服務進程實現的。此外,終止Windows服務進程比常規Windows應用程序更難,這正是UI的用途。

下面,我們來看幾個防火牆體系結構實例,來了解一下這些體系結構如何防範惡意軟體。

三、防火牆體系結構的實例

對防火牆架構的分析,我們選擇了兩個應用程序:ZoneAlarm Free Firewall 2018和Comodo Free Firewall。這兩個防火牆都具有上面討論的典型Windows防火牆體系結構的所有組件。

1.ZoneAlarm Free Firewall 2018

ZoneAlarm Free Firewall 2018是適用於所有Windows平台的個人防火牆解決方案。該防火牆可以隱藏開放埠,識別可疑流量並禁用惡意程序。為了理解它的工作原理,讓我們來看看它的主要架構組件。

使用Wincheck工具(分析對Windows內核組件所做的更改),找到以下行:

Export addr C:Windowssystem32driversNDIS.SYS.NdisCloseAdapter patched by SystemRootSystem32driversvsdatant.sys !

Export addr C:Windowssystem32driversNDIS.SYS.NdisDeregisterProtocol patched by SystemRootSystem32driversvsdatant.sys !

Export addr C:Windowssystem32driversNDIS.SYS.NdisOpenAdapter patched by SystemRootSystem32driversvsdatant.sys !

Export addr C:Windowssystem32driversNDIS.SYS.NdisRegisterProtocol patched by SystemRootSystem32driversvsdatant.sys !

進程通知:

[9] 8EB383BC SystemRootSystem32driversvsdatant.sys

線程通知:

[1] 8EAE9B06 SystemRootSystem32driversvsdatant.sys

鏡像通知:

[1] 8EAE973C SystemRootSystem32driversvsdatant.sys

註冊表通知:

[2] 8EB38A3E SystemRootSystem32driversvsdatant.sys

通過DumpBin檢查vsdatant.sys的導入表,我們發現它使用了NDIS API,如NdisRegisterProtocol,NdisAllocatePacket和NdisCopyFromPacketToPacket。

因此ZoneAlarm使用vsdatant.sys驅動程序,該驅動程序使用NDIS流量過濾方法並在系統中設置掛鉤和處理程序。

使用Mark Russinovich的Process Explorer,我們可以找到並檢查ZoneAlarm服務:

我們在這些字元串中找到了對vsdatant驅動程序的引用:

它有一個vsdatant驅動程序創建的連接設備的句柄:

接下來是UI進程,它與vsmon服務進行通信。很明顯,zatray.exe是一個UI進程,因為它在托盤中有一個圖標。在vsmon保持打開的句柄中,有一個名為ZLCommDB的Section對象的句柄,通過進程管理器搜索其他句柄可以發現:

由於zatray和vsmon進程都支持該句柄,因此很可能用於進程間通信。

2. Comodo Free Firewall

Comodo Free Firewall是為Microsoft Windows平台開發的另一種免費的基於主機的防火牆。此安全解決方案阻止未經授權的連接,允許用戶指定允許訪問互聯網的程序並隱藏埠。

通過Wincheck工具進行的操作系統檢查顯示,與ZoneAlarm不同,Comodo使用多個驅動程序,其中三個涉及防火牆活動:cmdguard.sys,cmdhlp.sys和inspect.sys。

Cmdguard.sys顯然用於監視操作系統事件。

進程通知:

[7] 8E1B016A SystemRootsystem32DRIVERScmdguard.sys

線程通知:

[1] 8E1C8742 SystemRootsystem32DRIVERScmdguard.sys

鏡像通知:

[1] 8E1C8306 SystemRootsystem32DRIVERScmdguard.sys

註冊表通知:

[1] 8E1B1C6E SystemRootsystem32DRIVERScmdguard.sys

對cmdhlp.sys導入表的分析表明,這是在Windows過濾平台中註冊的驅動程序:

inspect.sys導入表分析顯示,這是通過NDIS監控流量的驅動程序:

Comodo Firewall的Windows服務進程是CmdAgent:

該服務並不總是與驅動程序保持連接,但是它的映像中有對驅動程序的引用:

Comodo的UI進程是cis.exe,它通過CisSharedMemBuff Section對象與服務進行通信:

四、總結

基於主機的防火牆是一項重要的安全工具,可以保護系統抵禦各種病毒。清楚了解防火牆體系結構各組件的工作方式將有助於更好地配置防火牆以防止惡意軟體的入侵。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

被植入惡意代碼的Emotet Downloader細節分析
Kardon Loader惡意軟體出現在地下論壇的廣告中

TAG:嘶吼RoarTalk |