王超WANG Chao
(遼寧建筑職業學院,遼陽111000)
互聯網帶給人們便利的同時,各種非法信息也迅速蔓延,為有效地屏蔽網絡上的非法信息,本文提出了在Linux平臺下對接收到的網絡數據包進行分析,過濾各種不良信息的一種解決方案。
1.1 系統結構設計 基于網絡監聽的數據包捕獲技術廣泛應用于各種有關網絡信息安全的軟件設計中。本系統是由一個Mirroring Tap、一個L4 switch和四個服務器(攔截服務器、分配服務器、消息服務器和NMI服務器)等部分組成。
1.2 功能模塊設計 本系統采用由上到下的模塊化的設計思想,將系統劃分為:網絡數據包捕獲、數據分析、響應、存儲、規則解析、界面管理等模塊。系統結構圖如圖1所示。
1.2.1 網絡數據包捕獲模塊 此模塊將采用BPF捕獲機制,借助Libpcap庫函數,從以太網中捕獲數據包,并負責對數據進行簡單的過濾,以方便分析模塊進行處理。主要包括開啟網絡設備、接受網絡數據包兩部分。首先找到當前機器可用的網絡接口,注冊網卡接口。同時,設置過濾條件,設置網卡為混雜工作模式。經過網卡混雜模式的設置,當一個數據包到達網絡接口時,利用套接字接口可以將網絡低層數據包捕獲,并將數據包信息寫入緩存區,為后續的功能模塊的實現提供條件。

圖1 系統結構圖
1.2.2 數據分析模塊 此模塊可以通過簡單網絡協議分析和模式匹配與狀態協議分析,并結合規則解析模塊比對規則特征數據庫中的規則特征,分析出兩類數據包。一種是對不良信息的請求數據包,另一種是網絡上的惡意數據包。此模塊分析的結果將是響應模塊的依據。
該模塊下又分為提取數據包信息子模塊、獲取用戶請求URL子模塊、判斷用戶請求數據子模塊、IP數據包重組子模塊和TCP協議狀態分析處理子模塊。
提取數據包信息子模塊就是通過簡單協議分析,判定數據包中各層協議的類型,依據不同的協議類型提取數據包中的信息,再交由不同的分析函數作進一步處理。對于URL黑名單模式,則提取出數據包中的應用層信息。獲取用戶請求URL子模塊是獲取用戶請求URL完成對應用層數據的處理,對HTTP請求報文進行處理。通過對GET后的URL和Host首部字段值的提取,按照定義格式得到用戶請求的URL。判斷用戶請求數據子模塊是對于URL黑名單模式,通過比對URL黑名單,對用戶請求URL的安全性進行判斷。對于入侵檢測模式,要對數據包的行為做出分析判斷。IP數據包重組子模塊對于因在網路傳輸中出現的IP分片,能夠實現重組操作,還原原有信息。TCP協議狀態分析處理子模塊可以對TCP報文的行為狀態做出判斷處理,能夠應對常見的SYN Flooding攻擊。
1.2.3 響應模塊 此模塊將實現兩項主要功能。一是對于不良信息請求的HTTP重定向,以實現對于不健康網站、網頁等的屏蔽。二是對于入侵事件作出相應的處理,如發出警報、切斷鏈接等。該模塊又包含以下四個模塊:創建套接字接口子模塊、創建HTTP重定向報文子模塊、切斷TCP請求子模塊和事件報警模塊。
創建HTTP重定向報文子模塊是在攔截模塊中,需要創建一個TCP原始套接字,用來向用戶和有害網站服務器發送攔截消息數據包和TCP Reset數據包。
創建HTTP重定向報文是調整套接字層參數,包括調整錯誤處理、數據緩沖、地址處理、端口處理和收發數據的超時參數等。在網絡協議的不同層次對參數進行調整,使用 AF_INET(如 IPv4、UDP、TCP、ICMP 等協議)的特定方面進行調整。填充頭部信息是按照IP數據報格式和TCP數據報格式來填充攔截消息數據包和TCP Reset數據包的IP頭部和TCP頭部字段,保證數據包發送的可靠性。最后向用戶發送攔截消息數據包,使用戶在瀏覽器看到攔截消息頁面,使用戶瀏覽器重定向到健康的網站。
切斷TCP請求是當系統處于URL黑名單模式時,系統會向不良網站的服務器發送為RST的TCP報文,以切斷已經建立的連接。
事件報警模塊是當發生入侵事件,系統會采用兩種方式報警,一是寫日志記錄,二是采用聲音報警。
1.2.4 存儲模塊 該模塊實現添加記錄和讀取記錄兩項功能。添加記錄可以保存經過分析網絡信息。讀取記錄是讀出入侵規則,URL黑名單等。
1.2.5 規則解析模塊 該模塊中包含初始化規則模塊和規則匹配模塊。規則解析模塊是當開機時將保存在文件中的規則逐條讀入內存。規則匹配是依據模式匹配與協議分析技術判斷入侵事件。
1.2.6 界面管理模塊 系統可以以圖形界面的方式提供使用,為用戶操作給予便利。
1.3 工作流程 首先明確系統的需求,根據系統需求完成系統的硬件結構設計、功能模塊設計和數據結構設計。設計好系統每個模塊中各個功能的完整工作流程,使這些功能都能作為一個完整的程序框架,然后編寫代碼,使之完善。
1.4 結果輸出 依據用設定的模式不同,系統的結果輸出部分分為兩種:一是在URL黑名單模式中,若用戶訪問URL存在攔截目錄中,系統輸出的是一個發給用戶的攔截消息(Web Direction)和一個發給有害網站的TCP Reset,內容就是一個網絡數據包,客戶在瀏覽器上看到的是一個攔截頁面;二是在入侵檢測模式中,當檢測到入侵事件時,系統能夠給出應對措施,并做好日志記錄。
本文描述了網上偵聽與分析系統的總體結構和整體設計概念,解析了系統實現的流程,給出了模塊之間的相互關系,對各個模塊的功能進行了描述,體現了系統的設計思想。該系統實現了對于各種不良信息的屏蔽;能實現入侵檢測分析和處理。
[1]蘭超,王靜.網絡攻擊中的監聽技術分析[J].兵工自動化,2007(07).
[2]趙謙.基于Linux下的網絡監聽技術[J].貴州科學,2007(S1).
[3]魏文清,王長征.Linux下的TCP/IP架構與網絡監聽技術[J].計算機與現代化,2005(12).
[4]姚越.Linux環境下防火墻功能的實現[J].北京勞動保障職業學院學報,2008(02).