在眾多的網(wǎng)絡安全設施中,,防火墻是行之有效的重要網(wǎng)絡安全設備,通過對網(wǎng)絡通信進行篩選屏蔽以防未經(jīng)授權的訪問進出計算機網(wǎng)絡,。防火墻是位于可信網(wǎng)絡和不可信網(wǎng)絡之間的一道安全屏障,,其最核心的任務就是管理和控制進出網(wǎng)絡的通信量,它可以截獲中途傳輸?shù)臄?shù)據(jù)包并進行處理,,然后與事先定義好的安全策略規(guī)則相比較,,并最終決定轉發(fā)或丟棄該數(shù)據(jù)包。傳統(tǒng)的防火墻通常位于一段網(wǎng)絡的邊界,,它可以很好的過濾外界用戶對內(nèi)部網(wǎng)絡的訪問,,但對內(nèi)部網(wǎng)絡的攻擊卻無能為力。針對此問題近年來關于新型防火墻的研究有很多,,如分布式防火墻系統(tǒng),,嵌入式防火墻系統(tǒng)等。這些系統(tǒng)的目的是將防火墻的邊界延伸,,使其能夠遍布網(wǎng)絡的每一個終端設備,,構建全方位的安全防護網(wǎng)絡。
現(xiàn)有防火墻系統(tǒng)大多是針對于IPv4開發(fā)的,,由于IPv4地址空間不足,,且安全性較差,,現(xiàn)有網(wǎng)絡升級到IPv6是大勢所趨,。IPv6 作為下一代網(wǎng)絡的基礎以其海量的地址空間和較強的安全特性得到廣泛的認可,因此研究支持IPv6協(xié)議的防火墻是很有必要的,。
以Intel Xscale IXP425 為核心處理器設計的嵌入式IPv6 防火墻,,較好的實現(xiàn)了對網(wǎng)絡中的數(shù)據(jù)包進行動態(tài)過濾。但其成本較高,,且IXP425 強勁的網(wǎng)絡處理性能在網(wǎng)絡終端的應用中無法得以完全發(fā)揮,。
基于U盤的嵌入式防火墻使用方便,,設計新穎,但其需要依附于x86 電腦硬件平臺,,且U盤的可靠性較差,,不適于長期使用。
通用ARM 處理器有較高的性價比和較多的軟件支持,,已廣泛應用于生產(chǎn)生活的各個領域,。本文通過對IPv6協(xié)議、IPv6安全機制和防火墻技術等方面的分析和研究,,結合現(xiàn)有防火墻的特點,,設計并實現(xiàn)了一個基于S3C2440 的嵌入式IPv6 防火墻系統(tǒng)。下面從硬件設計,、軟件設計和核心模塊設計幾個方面介紹該基于S3C2440的嵌入式IPv6防火墻,。
2 嵌入式IPv6防火墻的硬件設計
嵌入式IPv6防火墻的硬件設計如圖1所示,其主控芯片采用三星公司的32 位嵌入式處理器S3C2440.該處理器以ARM920T RISC 為核心,,標準工作頻率為400MHZ(最高工作頻率:533MHZ),,運算能力為450MIPS,有強勁的處理能力。
圖1 嵌入式IPv6防火墻硬件框圖
S3C2440處理器內(nèi)部結構復雜,,功能強大,,片上集成了很多硬件資源。如:外部存儲控制器,,USB 接口,,UART接口,內(nèi)部定時器,,130 個通用I/O接口,,24 通道外部中斷源等。如此豐富的接口資源,,可以很方便實現(xiàn)硬件電路的擴展,。此外S3C2440 支持ARM920T 強大的指令集系統(tǒng),具有獨立的內(nèi)存管理單元(MMU),,支持NAND Flash啟動引導,,可以方便的實現(xiàn)Bootloader和嵌入式操作系統(tǒng)的移植。
系統(tǒng)的存儲單元主要包括SDRAM 存儲器和Flash存儲器,。SDRAM為系統(tǒng)程序的運行提供內(nèi)存空間,,本系統(tǒng)采用兩片HY57V561620FTP-H(32M)并聯(lián),容量可達64MB.Flash用來存儲程序,,F(xiàn)lash分為NOR型和NAND型2種,。NOR型Flash工藝復雜,成本較高,,其優(yōu)點是片內(nèi)可執(zhí)行應用程序,,多用于存儲系統(tǒng)的Bootloader 引導程序,。NAND 型Flash 具有極高的存儲密度和較快的寫入和擦除速度且成本較低,適用于存儲大容量數(shù)據(jù)和文件,??紤]到S3C2440支持NAND Flash 啟動引導,故本系統(tǒng)選用K9F1208U0M-YCB0(64MB)的NAND型Flash作為系統(tǒng)的Flash存儲器,。
系統(tǒng)的以太網(wǎng)接口單元采用2 顆10M/100M 自適應以太網(wǎng)控制器DM9000A.DM9000A 芯片是DEVICOM 公司研發(fā)的一款低功耗,,高度集成,成本較低的單芯片快速以太網(wǎng)芯片,,在嵌入式領域中使用非常廣泛,。它集成了物理層接口(PHY)、以太網(wǎng)媒體介質(zhì)訪問控制器(MAC)和外部處理器總線接口等,。3.3V的工作電壓,,降低了系統(tǒng)的功耗。DM9000A 的高度集成簡化了系統(tǒng)以太網(wǎng)電路的硬件設計,,特別適合作為嵌入式IPv6防火墻的網(wǎng)絡接口,。
3 嵌入式IPv6防火墻的軟件設計
嵌入式IPv6 防火墻系統(tǒng)的軟件編寫采用了模塊化程序設計的方法。模塊化編程有利于程序設計任務的劃分,,使程序易于編寫和調(diào)試,,便于檢驗和維護。
本系統(tǒng)將啟動代碼(Bootloader),,Linux 操作系統(tǒng)(網(wǎng)卡驅(qū)動,、協(xié)議棧),防火墻模塊(智能包過濾,,狀態(tài)跟蹤等)和WEB管理模塊(Boa服務器)都編寫成獨立模塊,。
系統(tǒng)軟件層次結構如圖2所示。
圖2 嵌入式IPv6防火墻軟件層次結構圖,。
第一層:啟動代碼(Bootloader),。它是芯片復位后進入操作系統(tǒng)之前執(zhí)行的一段代碼,主要是為操作系統(tǒng)的啟動提供基本的運行環(huán)境,,如初始化CPU,、初始化存儲器系統(tǒng)等。本系統(tǒng)選用U-Boot 作為系統(tǒng)的Bootloader.
第二層:Linux 操作系統(tǒng),,屏蔽了對底層硬件的具體操作,,為上層應用提供了豐富的支持,包括底層設備驅(qū)動,,網(wǎng)卡驅(qū)動和網(wǎng)絡協(xié)議棧等,。在Linux操作系統(tǒng)下,,開發(fā)者只需關注于應用軟件編程,,大大節(jié)省了系統(tǒng)的開發(fā)時間,。
第三層:防火墻模塊(智能包過濾,狀態(tài)跟蹤等),,該模塊是嵌入式防火墻系統(tǒng)的核心,,其包括動態(tài)NAT 模塊:負責對進出防火墻的數(shù)據(jù)包進行地址翻譯;狀態(tài)跟蹤模塊:維護網(wǎng)絡的會話連接信息,,協(xié)助智能包過濾模塊進行連接狀態(tài)的跟蹤,,是實現(xiàn)狀態(tài)檢測包過濾(動態(tài)包過濾)的關鍵模塊;智能包過濾模塊:根據(jù)訪問控制表(ACL)對進出網(wǎng)絡的數(shù)據(jù)包進行過濾,,并對過濾規(guī)則進行統(tǒng)計,,記憶和決策,動態(tài)優(yōu)化過濾規(guī)則優(yōu)先級列表,,實現(xiàn)高速高效的包過濾處理功能,。
第四層:WEB管理模塊,以CGI語言為基礎,,構建Boa服務器平臺,。通過該模塊用戶可以方便地查看防火墻日志,添加或修改過濾規(guī)則,,調(diào)整過濾規(guī)則的優(yōu)先級,,監(jiān)控防火墻網(wǎng)絡狀態(tài)等。
4 防火墻核心模塊設計
一個防火墻能否起到較好的過濾效果關鍵在于防火墻的核心過濾模塊設計,。本防火墻的核心過濾模塊整體工作流程如圖3所示,。
圖3 嵌入式IPv6防火墻工作流程圖。
嵌入式IPv6防火墻的工作流程:
(1) 當IPv6 數(shù)據(jù)包通過網(wǎng)絡接口進入防火墻之后,,首先將經(jīng)過動態(tài)NAT模塊進行網(wǎng)絡地址翻譯,,其目的是將外部公網(wǎng)IP與內(nèi)部私網(wǎng)IP相互映射。
(2) 在完成動態(tài)NAT 之后,,防火墻會遍歷連接狀態(tài)跟蹤信息表判斷該數(shù)據(jù)包是否屬于一個已經(jīng)存在連接,。此連接狀態(tài)跟蹤信息表記錄著已存在連接的源IP 地址、目的IP 地址,、傳輸層的源端口號,、目的端口和TCP 序列號等,通過這些信息防火墻可以高效快速的識別出該數(shù)據(jù)包是否屬于一個已經(jīng)存在的連接,。
(3) 如果該數(shù)據(jù)包不屬于一個已經(jīng)存在的連接,,系統(tǒng)會調(diào)用智能數(shù)據(jù)包過濾規(guī)則集,并逐條遍歷整個規(guī)則集,。與此同時防火墻會動態(tài)地建立并更新過濾規(guī)則匹配信息表,,根據(jù)該信息表,系統(tǒng)采用統(tǒng)計、記憶,、概率和決策的智能方法對數(shù)據(jù)進行識別,,動態(tài)地優(yōu)化過濾規(guī)則優(yōu)先級。智能的數(shù)據(jù)識別方法,,消除了匹配檢查所需要的海量計算,,高效發(fā)現(xiàn)網(wǎng)絡行為的特征值,直接進行訪問控制,,由于這些方法多是人工智能學科采用的方法,,因此又稱為智能訪問控制技術。
(4) 如果該數(shù)據(jù)包通過了過濾規(guī)則集的審查,,或者該數(shù)據(jù)包屬于一個已經(jīng)存在的連接,,防火墻會對數(shù)據(jù)包是否含有特定內(nèi)容進行檢測,此時防火墻僅僅對數(shù)據(jù)包的關鍵信息進行檢測,,因此大大加快了檢測的效率和速度,。
(5) 如果該數(shù)據(jù)包未能通過狀態(tài)跟蹤安全策略,或者未能通過智能包過濾規(guī)則集,,防火墻會拒絕或者丟棄該數(shù)據(jù)包,,并進行日志記錄。
(6) 在數(shù)據(jù)包通過了上述的過濾和審查后,,防火墻就會將該數(shù)據(jù)包轉發(fā)到最終的目的地址,,并且防火墻會在其連接狀態(tài)跟蹤信息表中為此次會話創(chuàng)建或者更新一個連接信息。防火墻將會使用這個連接項對返回的數(shù)據(jù)包進行過濾,。
5 結束語
本文對防火墻技術做了深入研究,,設計了基于S3C2440 處理器的嵌入式IPv6 防火墻。該防火墻實現(xiàn)了支持IPv6 協(xié)議的狀態(tài)跟蹤與智能包過濾相結合的動態(tài)包過濾,。并成功搭建了遠程WEB 管理平臺,,方便地管理過濾規(guī)則、防火墻日志和網(wǎng)絡狀態(tài)等,。隨著IPv6 網(wǎng)絡的逐漸推廣,,包括防火墻在內(nèi)的網(wǎng)絡設備對IPv6網(wǎng)絡的支持將成為必然趨勢。因此基于ARM的嵌入式IPv6防火墻的應用前景也會越來越廣闊,。