張榆 韋安壘
摘 要:文章提出了一種在大流量網(wǎng)絡(luò)環(huán)境下的大規(guī)模網(wǎng)絡(luò)安全處理分析平臺(tái)的系統(tǒng)架構(gòu)設(shè)計(jì)方案,采用分級(jí)的思想,分為:第一級(jí)——流量匯聚分流;第二級(jí)——流量還原實(shí)時(shí)處理;第三級(jí)——文件分析處理;第四級(jí)——大數(shù)據(jù)存儲(chǔ)與挖掘分析。通過分級(jí)架構(gòu),把原本復(fù)雜的網(wǎng)絡(luò)安全處理分析流程,分為四個(gè)層面,每個(gè)層面都通過專用技術(shù)實(shí)現(xiàn)處理的優(yōu)化和加速,并且可以單獨(dú)擴(kuò)容單獨(dú)演進(jìn)。采用SDN技術(shù),通過統(tǒng)一的集中管理平臺(tái),對(duì)系統(tǒng)中的各節(jié)點(diǎn)下發(fā)策略,形成自動(dòng)化配置和呈現(xiàn)的閉環(huán)。
關(guān)鍵詞:大數(shù)據(jù)安全處理;匯聚分流;存儲(chǔ)挖掘
中圖分類號(hào):TN915.08 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言
隨著網(wǎng)絡(luò)安全的形勢(shì)越來越嚴(yán)峻,威脅和攻擊手段越來越多樣化、越來越難以察覺和抵御,傳統(tǒng)的“防火墻+入侵檢測(cè)+病毒防護(hù)”的三種防御手段已經(jīng)不足以防護(hù)諸如DDoS攻擊、APT(Advanced Persistent Threat:高級(jí)持續(xù)性威脅)攻擊、來自于內(nèi)部的攻擊以及0day漏洞利用攻擊,需要構(gòu)建立體化的縱深防御體系來抵御這些高級(jí)攻擊。
現(xiàn)有的企業(yè)級(jí)應(yīng)對(duì)高級(jí)攻擊的防護(hù)思路是以檢測(cè)為主,通常是在網(wǎng)絡(luò)出口處通過鏡像或者分光的方式將進(jìn)出網(wǎng)絡(luò)的雙向流量復(fù)制一份,發(fā)送給安全分析系統(tǒng)。安全分析系統(tǒng)進(jìn)行入侵檢測(cè)、異常流量檢測(cè)、惡意代碼檢測(cè)等工作;同時(shí),可在安全分析系統(tǒng)后面接存儲(chǔ)或者數(shù)據(jù)挖掘系統(tǒng),對(duì)安全分析結(jié)果進(jìn)行審計(jì)和存檔,進(jìn)行深度挖掘,實(shí)現(xiàn)對(duì)威脅態(tài)勢(shì)的感知和攻擊模型的分析和預(yù)警。旁路的好處是部署簡(jiǎn)單,且不會(huì)因?yàn)樾阅芎吞幚硌訒r(shí)問題造成網(wǎng)絡(luò)瓶頸,并且可以將分析的結(jié)果呈現(xiàn)給安全團(tuán)隊(duì),制定相應(yīng)的應(yīng)急響應(yīng)策略。
企業(yè)級(jí)的網(wǎng)絡(luò)安全分析系統(tǒng)架構(gòu)如圖1所示,目前通用的盒式設(shè)備可以滿足百兆到準(zhǔn)萬兆的環(huán)境,提升性能需要擴(kuò)充硬件平臺(tái)的CPU、內(nèi)存等硬件資源,現(xiàn)階段最高端的雙路Intel志強(qiáng)平臺(tái)可達(dá)雙向萬兆的實(shí)網(wǎng)吞吐量,基本適用于萬兆以內(nèi)環(huán)境。受限于進(jìn)程間通信及網(wǎng)卡收發(fā)包機(jī)制帶來的瓶頸,采用更高端的更多核心的硬件設(shè)備(如四路服務(wù)器)并不會(huì)帶來性能上過多的提升。因此,要想進(jìn)一步提升性能通常需要采用分布式的硬件平臺(tái),通過插箱式的架構(gòu),將流量經(jīng)過分流模塊按照分發(fā)給多塊業(yè)務(wù)板協(xié)同處理,可采用高端路由器架構(gòu)或者ATCA架構(gòu)。
即使采用分布式硬件平臺(tái),性能也有瓶頸,最多也就能夠處理幾十Gbps的實(shí)網(wǎng)流量,對(duì)于更大規(guī)模如1~10Tbps的網(wǎng)絡(luò)環(huán)境,如運(yùn)營(yíng)商骨干網(wǎng)、城域網(wǎng)等,并沒有很好的方案。
本文將設(shè)計(jì)一種在大規(guī)模/超大規(guī)模流量模型下的網(wǎng)絡(luò)安全處理分析平臺(tái)架構(gòu)設(shè)計(jì),要求具備性能擴(kuò)展彈性靈活、功能模塊隨意增減、部署簡(jiǎn)單、不影響現(xiàn)有網(wǎng)絡(luò)環(huán)境、不造成網(wǎng)絡(luò)瓶頸,且網(wǎng)絡(luò)兩端無感知。
2 架構(gòu)設(shè)計(jì)
對(duì)于100Gbps以上的網(wǎng)絡(luò)環(huán)境,采用擴(kuò)容CPU、內(nèi)存等硬件配置以及業(yè)務(wù)板卡的Scale-up的方式是不夠的,需要全新的集群部署的Scale-out方式。將整個(gè)集群系統(tǒng)功能分解為幾個(gè)要點(diǎn)。
(1)將大規(guī)模網(wǎng)絡(luò)流量復(fù)制并進(jìn)行收集,負(fù)載均衡分發(fā)給集群中的各個(gè)計(jì)算節(jié)點(diǎn)來進(jìn)行處理,同時(shí)需要保持同源同宿,避免同一條流分發(fā)給不同的節(jié)點(diǎn)。
(2)針對(duì)計(jì)算節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)流量的分析進(jìn)行優(yōu)化,提升單個(gè)節(jié)點(diǎn)的處理能力。
(3)對(duì)于文件的分析,需要在將流量還原成文件之后,負(fù)載均衡分發(fā)給一個(gè)大的文件資源池,進(jìn)行不同的分析。
(4)將對(duì)流量和文件的分析結(jié)果保存到大數(shù)據(jù)存儲(chǔ)分析系統(tǒng)中,進(jìn)行歸檔審計(jì)以及深度數(shù)據(jù)挖掘,最終實(shí)現(xiàn)威脅態(tài)勢(shì)感知。
根據(jù)以上功能需求,設(shè)計(jì)四級(jí)的處理架構(gòu),如圖2和圖3所示。
2.1 第一級(jí)
一般來說,如此大流量的網(wǎng)絡(luò)環(huán)境,存在于運(yùn)營(yíng)商骨干網(wǎng)絡(luò)中,如國(guó)際出口、省口互聯(lián)網(wǎng),移動(dòng)互聯(lián)網(wǎng)核心網(wǎng)出口,大型IDC機(jī)房等,而且一般都有多條等價(jià)路由的鏈路,由于同一個(gè)流的不同數(shù)據(jù)包有可能通過不同的鏈路,在做網(wǎng)絡(luò)安全分析時(shí),需要對(duì)完整的流量進(jìn)行還原,因此要將多條鏈路的雙向流量全部接入。一般都是通過分光的方式,在鏈路中接入分光器,全部復(fù)制并匯聚下來。
如果是廣域網(wǎng)的流量,接口封裝具有多樣性,一般來說,有10GE、100GE、10G POS、40G POS、100G OTN等。對(duì)于POS接口,走的不是以太網(wǎng)流量,是SDH或者HDLC流量,通用的企業(yè)網(wǎng)設(shè)備無法識(shí)別該協(xié)議。另外,廣域網(wǎng)中流量復(fù)雜,可能會(huì)有大于MTU值的巨幀(Jombo Frame)和超小幀(Runt Frame)等存在,企業(yè)網(wǎng)設(shè)備無法識(shí)別該數(shù)據(jù),會(huì)做丟棄處理,嚴(yán)重時(shí)甚至造成程序出錯(cuò);同樣,廣域網(wǎng)中會(huì)有大量的隧道報(bào)文,如QinQ、MPLS(包含多層封裝)、VPN、IPinIP、Terado、6to4等,企業(yè)網(wǎng)設(shè)備同樣無法處理。
這就要求第一級(jí)能夠?qū)⒍喾N接口的流量以及廣域網(wǎng)中各種流量進(jìn)行識(shí)別和處理,并且處理性能足夠,不會(huì)丟包。
在對(duì)流量匯聚后,第二步的工作是負(fù)載均衡分流,且能夠?qū)⑦@些流量進(jìn)行通用化處理,比如進(jìn)行切片、補(bǔ)齊、隧道頭剝離、協(xié)議轉(zhuǎn)換等,統(tǒng)一轉(zhuǎn)換成10GE接口,負(fù)載均衡分流給后端的第二級(jí)的處理集群。
關(guān)于負(fù)載均衡算法,要求保證同一個(gè)流量的所有數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)到同一個(gè)計(jì)算節(jié)點(diǎn)之上,一種常見的實(shí)現(xiàn)方式時(shí)根據(jù)五元組進(jìn)行HASH運(yùn)算。對(duì)于IPv4報(bào)文來說,HASH不均勻的情況還好,但是IPv6由于現(xiàn)在應(yīng)用較少,大部分地址都集中在某些段,如果對(duì)全部128bit的IPv6地址進(jìn)行HASH,會(huì)造成嚴(yán)重的不均勻,因此需要根據(jù)實(shí)際網(wǎng)絡(luò)環(huán)境調(diào)整HASH算法。
在第一級(jí)采用大型高端的匯聚分流設(shè)備來實(shí)現(xiàn),目前市面上最高端的大型匯聚分流設(shè)備整機(jī)可以線速處理2Tbps以上的流量,對(duì)于大于2Tbps的流量處理需求,可以采用設(shè)備堆疊或者集群的方式處理。
2.2 第二級(jí)
由于要處理分析的流量巨大,目前單臺(tái)通用雙路x86服務(wù)器的處理能力在5Gbps左右,因此就需要大量的服務(wù)器來構(gòu)建分析集群??梢詫⒕W(wǎng)絡(luò)安全的業(yè)務(wù)模型進(jìn)行劃分,如DDoS攻擊檢測(cè),入侵檢測(cè),HTTP協(xié)議檢測(cè)(WAF的功能、檢測(cè)SQL注入、跨站腳本攻擊等),郵件檢測(cè),DNS檢測(cè)等。在第一級(jí)分流時(shí)可以根據(jù)具體業(yè)務(wù)的分析內(nèi)容,進(jìn)行初步的處理,比如根據(jù)協(xié)議做過濾,過濾出HTTP、DNS、FTP等協(xié)議分發(fā)給不同的業(yè)務(wù)集群,同時(shí)還可以將不需要關(guān)心的流量進(jìn)行過濾,比如只關(guān)注某個(gè)網(wǎng)段的流量,即可將其他流量全部過濾。這樣能夠從很大程度上降低第二級(jí)計(jì)算節(jié)點(diǎn)的工作量,節(jié)省計(jì)算資源。同樣,針對(duì)多個(gè)安全分析集群,需要復(fù)制多份流量,這就要在第一級(jí)匯聚分流設(shè)備中即支持過濾又支持多份復(fù)制。
集群的單臺(tái)計(jì)算節(jié)點(diǎn)處理能力有限,每臺(tái)大概在5Gbps左右,比如要分析1Tbps的流量,則需要200臺(tái)設(shè)備,如有多套分析系統(tǒng),設(shè)備數(shù)量還需翻倍。這對(duì)于機(jī)房空間、電力能耗和資金成本等來說都是一筆小的開銷。
在架構(gòu)設(shè)計(jì)時(shí),需要考慮系統(tǒng)性能的優(yōu)化,通過技術(shù)手段提升單個(gè)節(jié)點(diǎn)的處理能力,從而減少設(shè)備使用量,提升系統(tǒng)ROI。
現(xiàn)階段CPU的處理能力已經(jīng)很強(qiáng)大,網(wǎng)絡(luò)安全分析系的瓶頸在于收發(fā)包的過程,通用網(wǎng)卡在處理網(wǎng)絡(luò)流量時(shí)存在明顯的瓶頸,如圖4所示,數(shù)據(jù)包進(jìn)入網(wǎng)卡,要發(fā)起CPU中斷,CPU響應(yīng)中斷,將數(shù)據(jù)包從內(nèi)核空間經(jīng)過協(xié)議??截惖接脩艨臻g,經(jīng)過操作系統(tǒng)協(xié)議棧的處理,最后才能交給應(yīng)用程序使用。在這一系列過程中CPU中斷和內(nèi)存拷貝占用了大量的系統(tǒng)資源。
而這些流程占用了CPU大量的資源,事實(shí)上如入侵檢測(cè)、DDoS異常流量分析時(shí),完全不需要經(jīng)過如此復(fù)雜的處理,可對(duì)其進(jìn)行優(yōu)化。在設(shè)計(jì)時(shí)可以采用兩種方式。
(1) 零拷貝技術(shù)??苫诰W(wǎng)卡自行開發(fā)零拷貝驅(qū)動(dòng)或者是使用開源的NetMAP等技術(shù),原理是網(wǎng)卡在收到數(shù)據(jù)包時(shí),直接DMA(Direct Memory Access,直接內(nèi)存存?。┑接脩魬B(tài)內(nèi)存中,應(yīng)用程序可直接調(diào)用,省去了從內(nèi)核態(tài)到用戶態(tài)的拷貝。也可以采用比較成熟的DPDK技術(shù),該技術(shù)是Intel開發(fā)的,需要Intel網(wǎng)卡和CPU的支持,可在網(wǎng)卡層面實(shí)現(xiàn)零拷貝快速收發(fā)包,并且可以采用Intel配套的用戶態(tài)協(xié)議?;蛘咦孕虚_發(fā)一套精簡(jiǎn)的協(xié)議棧,采用該技術(shù)實(shí)測(cè)可提升2~3倍的處理能力。
(2) 專用網(wǎng)卡。通過專用芯片,如Cavium、FPGA、ASIC等加速數(shù)據(jù)包的處理,與零拷貝原理一樣,可避免內(nèi)核態(tài)到用戶態(tài)的拷貝,同時(shí),作為專用硬件協(xié)處理卡,可以針對(duì)不同的安全分析系統(tǒng)進(jìn)行定制,對(duì)更多的流還原、分片重組、過濾、正則表達(dá)式匹配高負(fù)載應(yīng)用進(jìn)行卸載,進(jìn)一步提升處理能力。
無論哪種技術(shù),其核心思路均是把占CPU計(jì)算資源的收發(fā)包等簡(jiǎn)單重復(fù)的工作進(jìn)行卸載,從而釋放計(jì)算資源,使其更多的用于網(wǎng)絡(luò)安全分析。
第二級(jí)網(wǎng)絡(luò)安全分析集群也可采用虛擬化的架構(gòu)搭建,實(shí)現(xiàn)彈性擴(kuò)展,業(yè)務(wù)快速部署,但如果采用協(xié)處理卡,需要其支持SR-IOV技術(shù),以供虛擬機(jī)調(diào)用。關(guān)于虛擬化,本文不再做深入探討。
2.3 第三級(jí)
第二級(jí)的計(jì)算集群完成的是網(wǎng)絡(luò)流量的實(shí)時(shí)分析處理,對(duì)流量進(jìn)行還原,根據(jù)定義的模式或者特征庫分析攻擊行為。對(duì)于一些需要深度分析的文件,如音視頻、加密文件、可執(zhí)行程序等,比較耗費(fèi)資源和時(shí)間,在大規(guī)模網(wǎng)絡(luò)安全處理分析平臺(tái)中,將其分發(fā)到另一個(gè)集群中進(jìn)行統(tǒng)一的分析處理。
第二級(jí)將網(wǎng)絡(luò)流量還原成文件后,通過文件負(fù)載均衡平臺(tái),按照一定的規(guī)則分發(fā)給第三級(jí)文件分析處理平臺(tái)。該平臺(tái)同樣分為多個(gè)分析系統(tǒng),包括沙箱、音視頻文件解析、加密文件破解等。
對(duì)于可執(zhí)行文件、批處理文件和文本文件等,分發(fā)給沙箱系統(tǒng),文件沙箱會(huì)模擬運(yùn)行這些文件,觀察其動(dòng)作,如果發(fā)現(xiàn)對(duì)系統(tǒng)造成破壞或者大量復(fù)制,或者有非法外連行為,則定義其為惡意代碼,進(jìn)行歸檔和告警。
對(duì)于音視頻文件,可分析其內(nèi)嵌字幕、臺(tái)標(biāo)等,以及比對(duì)人臉、物品等特征。網(wǎng)上傳輸?shù)囊话愣际菈嚎s格式的視頻文件,在分析時(shí),需要將其轉(zhuǎn)換為原始的YUV格式的視頻流,從而對(duì)每一幀進(jìn)行分析。而視頻文件的格式轉(zhuǎn)換非常耗費(fèi)CPU計(jì)算資源,可采用協(xié)處理卡方式將這部分工作進(jìn)行卸載。在設(shè)計(jì)時(shí)可以考慮兩種方式。
(1) 顯卡/GPU。現(xiàn)階段應(yīng)用最廣泛的方式,顯卡輸入通用產(chǎn)品,專門用于視頻圖像處理,性能強(qiáng)勁。但是其也有一定的局限性。首先,尺寸大,全高半長(zhǎng),要占用PCIE x16的槽位,受限于機(jī)器空間,每臺(tái)通用服務(wù)器一般也就插一兩塊;其次,功耗大,都在200瓦以上;最后,采用CUDA編程,較復(fù)雜。
(2) 專用視頻加速卡。采用Tilera眾核芯片或者Xeon E3 CPU(集成GPU顯卡),在某些場(chǎng)景下對(duì)視頻文件的分析性能更強(qiáng),尺寸?。ㄍǔ槿甙腴L(zhǎng)、占用PCIE x8槽位),功耗低(幾十瓦),編程簡(jiǎn)單(C語言編程),一臺(tái)服務(wù)器能夠插4塊卡,整體方案性價(jià)比高。
對(duì)于加密文件。需要對(duì)其密碼進(jìn)行暴力破解,同樣采用協(xié)處理卡方式進(jìn)行加速,同樣有兩種技術(shù)路線:(1)顯卡/GPU;(2)FPGA。其優(yōu)缺點(diǎn)與音視頻文件的技術(shù)路線類似,此處不再贅述。
2.4 第四級(jí)
對(duì)于分析的結(jié)果,需要做歸檔和離線深度挖掘,構(gòu)建大數(shù)據(jù)安全威脅態(tài)勢(shì)感知系統(tǒng)。由于前段分析的是網(wǎng)絡(luò)中的全部流量,因此能夠掌握網(wǎng)絡(luò)中的全部信息,可以從大量的分析結(jié)果中總結(jié)出包括攻擊頻率、攻擊模型、攻擊特征等,可進(jìn)一步實(shí)現(xiàn)主動(dòng)安全防御,即安全預(yù)警。
第四級(jí)大數(shù)據(jù)存儲(chǔ)分析系統(tǒng)需要分析處理的數(shù)據(jù)包括兩部分。
(1) 文件歸檔。前端分析平臺(tái)分析日志的保存于呈現(xiàn);第三級(jí)處理后需要?dú)w檔的各種文件;原始數(shù)據(jù)包文件,將原始流量保存成Pcap文件,可以在需要時(shí)調(diào)出進(jìn)行現(xiàn)場(chǎng)還原,可以構(gòu)建流量回放取證系統(tǒng)。
(2) 大數(shù)據(jù)挖掘分析。對(duì)前端分析結(jié)果進(jìn)行匯總,通過機(jī)器學(xué)習(xí)、推理等數(shù)據(jù)挖掘手段,做安全威脅態(tài)勢(shì)感知分析。
由于數(shù)據(jù)量非常龐大,因此需要采用分布式架構(gòu)來存儲(chǔ)和分析數(shù)據(jù)。
對(duì)于文件歸檔,采用分布式并行文件系統(tǒng),將多臺(tái)低成本的通用存儲(chǔ)服務(wù)器的存儲(chǔ)空間虛擬成一個(gè)具有統(tǒng)一訪問接口和管理界面的存儲(chǔ)池(也叫統(tǒng)一命名空間)。應(yīng)用服務(wù)器通過統(tǒng)一訪問接口獲得所需得存儲(chǔ)資源。用戶的數(shù)據(jù)按照一定的負(fù)載均衡策略,條帶化的分布到后臺(tái)的多套存儲(chǔ)設(shè)備上,從而能夠?qū)崿F(xiàn)數(shù)據(jù)的并行讀寫以獲得更高的并發(fā)訪問性能,充分利用多臺(tái)存儲(chǔ)設(shè)備的性能和更大的存儲(chǔ)容量,并有效的提高存儲(chǔ)空間利用率。
對(duì)于大數(shù)據(jù)挖掘分析,采用Hadoop大數(shù)據(jù)框架來搭建。加速加載和查詢,對(duì)海量數(shù)據(jù)實(shí)現(xiàn)秒級(jí)處理。
3 應(yīng)用論證
本文設(shè)計(jì)的大規(guī)模網(wǎng)絡(luò)安全處理分析平臺(tái)適用于需要對(duì)海量流量進(jìn)行分析處理的應(yīng)用場(chǎng)景,通常都是大型的大數(shù)據(jù)分析系統(tǒng)。
(1)大型IDC數(shù)據(jù)中心及云計(jì)算數(shù)據(jù)中心的安全大數(shù)據(jù)態(tài)勢(shì)感知系統(tǒng)、不良網(wǎng)站分析系統(tǒng)。
(2)公安、國(guó)安、國(guó)防等基于骨干網(wǎng)絡(luò)的流量分析系統(tǒng)、大數(shù)據(jù)分析系統(tǒng);公安和運(yùn)營(yíng)商的網(wǎng)絡(luò)分析系統(tǒng)。
(3)運(yùn)營(yíng)商、廣電網(wǎng)絡(luò)骨干網(wǎng)的安全分析系統(tǒng)、DPI分析系統(tǒng)、網(wǎng)絡(luò)優(yōu)化系統(tǒng)、信令分析系統(tǒng)。
4 結(jié)束語
本文設(shè)計(jì)了一種通過分級(jí)處理實(shí)現(xiàn)大規(guī)模網(wǎng)絡(luò)安全處理分析平臺(tái)架構(gòu),通過高性能匯聚分流技術(shù)、DPI深度報(bào)文檢測(cè)技術(shù)、異構(gòu)計(jì)算加速技術(shù)、大數(shù)據(jù)處理分析技術(shù)、機(jī)器學(xué)習(xí)模型訓(xùn)練及推理技術(shù)等,解決Tb級(jí)海量流量接入與處理的問題,打通計(jì)算瓶頸,并應(yīng)用于骨干網(wǎng)流量的分析與處理,為網(wǎng)絡(luò)安全與信息安全保駕護(hù)航。
參考文獻(xiàn)
[1] 楊松岸,楊華,楊宇航.用于TCP/IP減荷的智能網(wǎng)卡的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2004,30(14):178-180.
[2] 曾宇,劉朝暉,云曉春,孫凝暉.一種可重構(gòu)智能網(wǎng)卡的設(shè)計(jì)及實(shí)現(xiàn)[C].全國(guó)網(wǎng)絡(luò)與信息安全技術(shù)研討會(huì),2007.
[3] 王佰玲,方濱興,云曉春.零拷貝報(bào)文捕獲平臺(tái)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)學(xué)報(bào),2005,28 (1) :46-52.
[4] 管磊,胡光俊,王專.基于大數(shù)據(jù)的網(wǎng)絡(luò)安全態(tài)勢(shì)感知技術(shù)研究[J].信息網(wǎng)絡(luò)安全,2016 (9) :45-50.
[5] 李詩旸,沈軍,劉東鑫,鄧博仁.基于大數(shù)據(jù)架構(gòu)的安全分析技術(shù)研究與實(shí)踐[J].廣東通信技術(shù),2017,37 (11) :2-7.