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