- 網(wǎng)絡(luò)服務(wù)安全與監(jiān)控
- 李雨航 徐亭 郭鵬程主編
- 9757字
- 2021-03-12 19:58:21
5.1 邊界安全
邊界安全主要介紹組織網(wǎng)絡(luò)邊界的安全控制措施,本節(jié)主要介紹防火墻、入侵防御系統(tǒng)和DDoS防護技術(shù)等內(nèi)容。
5.1.1 防火墻
談到邊界安全,通常最先會想到的就是負責網(wǎng)絡(luò)邊界防護,實現(xiàn)網(wǎng)絡(luò)區(qū)域間訪問控制功能的網(wǎng)絡(luò)防火墻。防火墻的發(fā)展經(jīng)歷了很多個階段,下面介紹常見的防火墻。
1. 防火墻概述
網(wǎng)絡(luò)安全責任部門必須保護網(wǎng)絡(luò)中的寶貴資源。這些資源包括所有與網(wǎng)絡(luò)相關(guān)的IT資產(chǎn),如網(wǎng)絡(luò)上的主機、應(yīng)用服務(wù)器及企業(yè)數(shù)據(jù),這些都是企業(yè)的IT資產(chǎn),對企業(yè)的正常運營起到重要作用。
為了保護這些資源,網(wǎng)絡(luò)必須以某種方式劃分為受信任和不受信任的部分。網(wǎng)絡(luò)的受信任部分稱為安全域。安全域內(nèi)的所有內(nèi)容都受到保護,不受域外的所有內(nèi)容的影響。舉個簡單的例子,一家小公司決定保護企業(yè)內(nèi)部網(wǎng)絡(luò)不受外部公共互聯(lián)網(wǎng)的影響。安全域是公司網(wǎng)絡(luò)與互聯(lián)網(wǎng)連接的地方,公司網(wǎng)絡(luò)中的所有內(nèi)容都位于安全邊界內(nèi)。
實現(xiàn)安全域常見的有效方法是在網(wǎng)絡(luò)的受信任部分和不受信任部分之間的邊界放置防火墻。根據(jù)定義,防火墻是在兩個或多個安全域之間強制實施訪問控制策略的設(shè)備。防火墻具有連接到網(wǎng)絡(luò)的接口。為了讓防火墻完成它的工作,所有跨越安全域邊界的流量都必須通過防火墻。實際上,防火墻是進出安全域的唯一路徑。
如圖5-1所示的簡單網(wǎng)絡(luò)架構(gòu),防火墻將位于信任邊界上,成為企業(yè)內(nèi)部可信網(wǎng)絡(luò)與不可信公共互聯(lián)網(wǎng)之間的唯一路徑,并且防火墻部署必須滿足如下條件。

圖5-1 簡單網(wǎng)絡(luò)架構(gòu)
(1)防火墻必須是安全網(wǎng)絡(luò)進出的唯一路徑。
(2)防火墻本身必須經(jīng)過加固,并且能夠抵抗攻擊。以確保防火墻不會變成攻擊者的跳板。
有時一個安全域加上一個防火墻是不夠的。很多企業(yè)都會將數(shù)據(jù)存儲在數(shù)據(jù)中心,企業(yè)的數(shù)據(jù)對企業(yè)業(yè)務(wù)的正常運營起著至關(guān)重要的作用,所以需要更強的安全保護機制。企業(yè)不能冒險讓任何人以不適當?shù)姆绞皆L問其關(guān)鍵數(shù)據(jù),或者中斷其數(shù)據(jù)中心的任何服務(wù)。因此,公司決定在數(shù)據(jù)中心周圍建立第二個安全域。
每個安全域都在其邊界上使用防火墻實現(xiàn)。在安全域或防火墻的內(nèi)部,存放被保護的資源,在安全域或防火墻的外部是不可信區(qū)域。然而,這種信任關(guān)系只在兩個區(qū)域之間具有重要意義。數(shù)據(jù)中心外的用戶不受信任(至少從防火墻的角度來看),但從互聯(lián)網(wǎng)邊界防火墻的角度來看,他們?nèi)匀皇鞘苄湃蔚摹C總€防火墻都有自己的一套安全策略和自己的信任邊界概念,或者說可信區(qū)域也好,信任級別也好,都是相對的。例如,相對外網(wǎng)來說,企業(yè)內(nèi)網(wǎng)是被保護區(qū)域或信任區(qū)域,而對于公司內(nèi)網(wǎng)來說,數(shù)據(jù)中心是被保護區(qū)域或可信區(qū)域。
通常企業(yè)在設(shè)計自己的網(wǎng)絡(luò)架構(gòu)時會考慮內(nèi)部員工的互聯(lián)網(wǎng)訪問需求,同時可能企業(yè)需要對公網(wǎng)提供互聯(lián)網(wǎng)訪問服務(wù),如企業(yè)門戶網(wǎng)站等。如果Web服務(wù)器位于安全域內(nèi)的某個位置,那么不受信任的用戶將被授予訪問受信任環(huán)境的權(quán)限。這是一個很常見的需求,但是惡意用戶可能會攻擊或破壞其中一個Web服務(wù)器。因為Web服務(wù)器已經(jīng)是受信任的資源,并且對外開放了服務(wù),通常在對外開放服務(wù)的同時往往伴隨著脆弱點,這時惡意用戶可能會利用服務(wù)器的脆弱點對該服務(wù)器進行攻擊并將其作為跳板攻擊內(nèi)部其他受信任的資源。
通常的解決方案是將Web服務(wù)器放到自己的安全域中,位于受信任的內(nèi)部網(wǎng)絡(luò)和不受信任的互聯(lián)網(wǎng)之間。這通常被稱為非軍事區(qū)(DMZ),是一種利用互聯(lián)網(wǎng)防火墻的解決方案。通過添加第三個接口或第三個Zone,防火墻可以充當受信任域、不受信任的公共網(wǎng)絡(luò)和用于部署對外提供服務(wù)的服務(wù)器區(qū)域。
每當防火墻被用來執(zhí)行網(wǎng)絡(luò)區(qū)域間訪問控制時,它必須以某種方式將網(wǎng)絡(luò)分成不同的部分。這可以通過兩種方式實現(xiàn):物理隔離或邏輯隔離。
物理隔離要求每個物理防火墻接口必須連接到不同的網(wǎng)絡(luò)基礎(chǔ)設(shè)施中。這通常需要額外的硬件和額外的成本。每個防火墻接口連接到不同的交換機。物理隔離提供了最大的安全性,因為網(wǎng)絡(luò)通信流量必須經(jīng)過防火墻的接口進入防火墻進行訪問控制策略審查,符合策略的流量才會允許放行,并且不會產(chǎn)生旁路線路的干擾。
防火墻也可以定位為提供邏輯隔離。在這種情況下,安全域存在于同一個物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施上,但邏輯上分為不同的虛擬局域網(wǎng)(VLAN)。防火墻在兩個安全域之間形成邊界,兩個安全域通過兩個單獨的VLAN承載。
雖然防火墻可以使用兩個物理接口連接到兩個VLAN,但VLAN也可以很容易地通過單個中繼鏈路或一個物理防火墻接口進行傳輸。邏輯隔離的成本較低,并且非常靈活和復雜。這使得邏輯隔離比物理隔離更不安全,因為防火墻可能由于邏輯網(wǎng)絡(luò)組件的錯誤配置故障或通過利用邏輯隔離本身而被繞過或破壞。例如,通過VLAN跳躍攻擊直接將外部區(qū)域VLAN的包發(fā)往內(nèi)部信任區(qū)域的VLAN而形成攻擊。
2. 防火墻技術(shù)
防火墻是一個硬件或軟件產(chǎn)品,或者是一種負責網(wǎng)絡(luò)區(qū)域間訪問控制的解決方案,而這種方案需要由多種不同的技術(shù)進行組合搭配,各取所長才能實現(xiàn)一個較為完整的防火墻產(chǎn)品或網(wǎng)絡(luò)區(qū)域間訪問控制的解決方案。防火墻相關(guān)技術(shù)描述如下。
1)無狀態(tài)數(shù)據(jù)包過濾
有些防火墻僅根據(jù)在網(wǎng)絡(luò)或傳輸層的數(shù)據(jù)包頭中找到的值來檢查流量。轉(zhuǎn)發(fā)或阻止數(shù)據(jù)包的決定獨立于每個數(shù)據(jù)包。因此,防火墻沒有連接狀態(tài)的概念,它只知道每個包是否符合安全策略。
無狀態(tài)數(shù)據(jù)包過濾是通過使用一組靜態(tài)配置的防火墻規(guī)則來執(zhí)行的。即使連接涉及進一步會話和協(xié)議端口號的動態(tài)協(xié)商,無狀態(tài)防火墻也不知道。無狀態(tài)數(shù)據(jù)包過濾器可以用訪問控制列表來實現(xiàn)。
從數(shù)據(jù)流的角度來看,通常防火墻的訪問控制列表應(yīng)用于客體或中間設(shè)備,用來描述允許什么主體訪問的規(guī)則。至于主體與客體的角色定義,則具體取決于這個流量對防火墻來說是抵達流量還是穿越流量。
在介紹防火墻時需要區(qū)分傳統(tǒng)防火墻(四層防火墻)和下一代防火墻(七層防火墻),因為當提到訪問控制列表時往往是以傳統(tǒng)防火墻為前提(四層防火墻)的,在下一代防火墻(七層防火墻)上,很多時候已經(jīng)摒棄了訪問控制列表的說法,而是采用安全規(guī)則(Security Rule)等名稱,因為在傳統(tǒng)防火墻上使用的訪問控制列表通常是五元組控制策略,包括四層協(xié)議,源IP和目的IP,源端口和目的端口,以及置位等。而在下一代防火墻上,由于實現(xiàn)了應(yīng)用層高可見,因此在編輯安全規(guī)則時通常可以包括四層或七層協(xié)議,源IP和目的IP,源端口和目的端口,源區(qū)域和目的區(qū)域,用戶ID,URL過濾,IPS檢測,防病毒規(guī)則等。
2)狀態(tài)化數(shù)據(jù)包過濾
狀態(tài)化數(shù)據(jù)包過濾(SPF)要求防火墻在遇到數(shù)據(jù)包時跟蹤單個連接或會話。防火墻必須為允許的每個活動連接維護一個狀態(tài)表,以驗證這對主機在通信時是否遵循預期的行為。此外,防火墻必須檢查第四層的流量,以便可以驗證和跟蹤作為現(xiàn)有連接一部分協(xié)商的任意新會話。跟蹤協(xié)商的會話需要對應(yīng)用層協(xié)議進行一些有限的檢查。
3)深度包檢測
為了超越狀態(tài)化數(shù)據(jù)包過濾,防火墻必須在應(yīng)用程序?qū)犹砑宇~外的分析。防火墻中的檢查引擎重新組裝UDP和TCP會話,并查看正在通過的應(yīng)用層協(xié)議。應(yīng)用程序檢查和控制過濾,也稱為深度包檢測,可以基于應(yīng)用程序協(xié)議頭及其內(nèi)容執(zhí)行,從而可以更好地了解用戶的活動。
為了保障應(yīng)用層協(xié)議正常工作(如對于在靜態(tài)控制信道中協(xié)商的動態(tài)數(shù)據(jù)信道的放行)和應(yīng)用層安全(如違規(guī)的FTP命令過濾)需要開啟應(yīng)用層監(jiān)控功能。當然這是有代價的,因為防火墻需要更多的處理能力和內(nèi)存來檢查和驗證應(yīng)用程序會話,所以會更多地占用防火墻資源。
注意,這里提到的應(yīng)用層指的是OSI四層傳輸層,應(yīng)用層協(xié)議主要指HTTP、FTP、IM等。
4)網(wǎng)絡(luò)入侵防御系統(tǒng)
網(wǎng)絡(luò)入侵預防系統(tǒng)(NIPS)檢查和分析網(wǎng)絡(luò)流量,并將其與已知惡意活動的數(shù)據(jù)庫進行比較。數(shù)據(jù)庫包含大量的簽名或模式,描述特定的已知攻擊或漏洞利用。當發(fā)現(xiàn)新的攻擊時,新的簽名將被添加到數(shù)據(jù)庫中。
在某些情況下,網(wǎng)絡(luò)入侵預防系統(tǒng)可以從單個數(shù)據(jù)包或數(shù)據(jù)流攻擊中檢測惡意活動。在其他情況下,必須收集、重新組裝和檢查分組或分組流。網(wǎng)絡(luò)入侵預防系統(tǒng)還可以根據(jù)數(shù)據(jù)包和會話速率檢測惡意活動,如拒絕服務(wù)TCP SYN泛洪,這與網(wǎng)絡(luò)上的正常活動有很大的區(qū)別。
網(wǎng)絡(luò)入侵預防系統(tǒng)通常以默認許可的方式運行,在這種方式下,除非檢測到可疑的流量,否則允許流量通過安全域。一旦發(fā)生這種情況,網(wǎng)絡(luò)入侵預防系統(tǒng)就可以動態(tài)生成防火墻規(guī)則來阻止或重置惡意數(shù)據(jù)包或連接。
下一代防火墻廠商通常會將入侵防御系統(tǒng)的功能以訂閱許可的形式來交付。也就是說,在購買下一代防火墻時只要追加一個入侵防御系統(tǒng)的使用許可便可獲得此功能,而不需要再購買獨立的硬件產(chǎn)品。
注意,目前很多廠商所描述的IPS簽名已經(jīng)不僅限于網(wǎng)絡(luò)行為的描述,它可能代表的是惡意代碼的HASH標簽,也可能是惡意的URL地址或攻擊者IP地址等。
5)網(wǎng)絡(luò)行為分析系統(tǒng)
網(wǎng)絡(luò)行為分析系統(tǒng)檢查網(wǎng)絡(luò)流量,隨著時間的變化,以建立正常基線活動的統(tǒng)計模型。這不是一個簡單的帶寬或平均利用率;相反,模型考慮流量、連接數(shù)、連接速率及通常使用的應(yīng)用程序協(xié)議的類型。一個網(wǎng)絡(luò)行為分析系統(tǒng)會不斷地檢查通信情況,并自動完善其模型,但通常需要人為干預來調(diào)整結(jié)果。
一旦建立了行為模型,網(wǎng)絡(luò)行為分析系統(tǒng)就可以觸發(fā)任何它認為異常的或超出正常條件的活動。實際上,網(wǎng)絡(luò)行為分析系統(tǒng)通常被稱為基于異常的網(wǎng)絡(luò)入侵防御系統(tǒng)。即使惡意活動涉及一個以前未知的方案,網(wǎng)絡(luò)行為分析系統(tǒng)通常也可以檢測它是否涉及超出正常范圍的流量模式或流量。
雖然網(wǎng)絡(luò)行為分析是防火墻功能的組成部分,但在實際環(huán)境中通常是由單獨的解決方案來實現(xiàn)的。例如,安全信息事件管理(SIEM)產(chǎn)品,因為要想實現(xiàn)網(wǎng)絡(luò)行為分析最好的做法是在一個能看到整個組織網(wǎng)絡(luò)行為最完整的位置,如核心交換;或者在網(wǎng)絡(luò)各關(guān)鍵節(jié)點部署流量收集的探針將流量收集過來進行匯總分析。如果只是在防火墻上部署網(wǎng)絡(luò)行為分析,那么通常只能看到跨越邊界的南北向訪問流量,而忽略內(nèi)部互相訪問的東西向流量。
6)應(yīng)用層代理網(wǎng)關(guān)
應(yīng)用層網(wǎng)關(guān)或代理是充當客戶端和服務(wù)器之間的網(wǎng)關(guān)或中介的設(shè)備。客戶端必須將其應(yīng)用層請求發(fā)送到代理,而不是直接發(fā)往目標服務(wù)器。代理設(shè)備收到客戶發(fā)來的請求后再偽裝成客戶機,并將客戶機的請求轉(zhuǎn)發(fā)到實際的服務(wù)器上。一旦服務(wù)器響應(yīng)了請求,代理將評估內(nèi)容并決定如何處理它們。
因為代理對應(yīng)用程序請求進行操作,所以它可以根據(jù)所涉及的IP地址、應(yīng)用程序請求的類型,以及從服務(wù)器返回的任何數(shù)據(jù)的內(nèi)容來過濾流量。
代理可以對客戶機-服務(wù)器連接執(zhí)行非常詳細和徹底的分析。可以根據(jù)第三層到第七層的協(xié)議標準驗證流量,并且可以根據(jù)需要對結(jié)果進行規(guī)范化處理或使其符合標準。
5.1.2 入侵防御系統(tǒng)
當提到入侵檢測系統(tǒng)(IDS)和入侵防御系統(tǒng)(IPS)時,很多人會問該如何區(qū)分這兩種解決方案,似乎他們存在很多共同點,同時又被描述成兩種不同的解決方案。
單從字面上理解,入侵檢測系統(tǒng)(IDS)更趨向于被動檢測,而入侵防御系統(tǒng)(IPS)更趨向于主動防御。實際上,在某些安全廠商的概念中,入侵檢測系統(tǒng)(IDS)和入侵防御系統(tǒng)(IPS)是由同一個產(chǎn)品線不同的軟件版本來定義的。例如,某廠商的產(chǎn)品在軟件4.0版本之前稱為入侵檢測系統(tǒng)(IDS),在這個版本之前只支持混雜模式(或者稱為旁路模式)部署,當設(shè)備在混雜模式下部署時,是后于攻擊流量的入侵檢測并做出響應(yīng)的(當看到攻擊告警時,攻擊流量可能已經(jīng)進入了企業(yè)網(wǎng)絡(luò)并完成了攻擊)。在軟件4.0版本之后增加了在線模式(或者稱為串接模式)部署,名稱也相應(yīng)地變更為入侵防御系統(tǒng)(IPS),當設(shè)備以在線模式部署時,可以認為這是先于攻擊流量的入侵防御的,也就是說,可以實現(xiàn)當此設(shè)備發(fā)現(xiàn)攻擊流量時將攻擊流量在本地丟棄,從而阻止攻擊流量進入企業(yè)網(wǎng)絡(luò)或制定區(qū)域。
在實際工作中也有將入侵檢測系統(tǒng)(IDS)和入侵防御系統(tǒng)(IPS)作為部署模式來區(qū)分的描述。也就是說,同一設(shè)備如果是以在線模式部署的就稱其為入侵防御系統(tǒng)(IPS),如果是混雜模式(或旁路模式)部署的就稱其為入侵檢測系統(tǒng)(IDS)。圖5-2和圖5-3分別代表了混雜模式(Promiscuous Mode)和在線模式(Inline Mode)。

圖5-2 混雜模式

圖5-3 在線模式
另外,目前很多主流安全廠商已經(jīng)將入侵防御系統(tǒng)(IPS)集成到防火墻上,作為下一代防火墻(NGFW)的重要組成部分。
網(wǎng)絡(luò)IPS穿越流量檢測主要有以下幾種方法。
1. 狀態(tài)化的內(nèi)容匹配
IPS傳感器將網(wǎng)絡(luò)中端對端的傳輸層會話進行重組,對整個會話中傳輸?shù)膬?nèi)容進行檢查。IPS傳感器可以在整個會話中搜索有效負載數(shù)據(jù),即使匹配內(nèi)容被拆分到多個數(shù)據(jù)包中進行傳輸,也可以在整個會話流中進行準確的內(nèi)容匹配。針對IP實現(xiàn)基于IP ID的分片重組,針對四層協(xié)議中的TCP實現(xiàn)基于TCP序列號的會話重組,針對UDP基于時間窗口和其承載的上層協(xié)議序列號實現(xiàn)會話重組。
狀態(tài)內(nèi)容匹配可以提高威脅檢測的質(zhì)量,并且即使攻擊者使用IP包碎片或?qū)⒐袅髁侩[藏在整個四層會話的多個IP包中都無法輕易逃避IPS引擎的檢查。這種方法對傳感器要求更高,因為傳感器必須對應(yīng)用數(shù)據(jù)進行實時的內(nèi)存緩沖。這就導致了一個相互矛盾的問題,也就是說,如果可以盡可能多地緩存重組IP包和傳輸層會話,盡可能深層次地檢查上層協(xié)議字段,將會有助于在更復雜的上下文中發(fā)現(xiàn)隱藏的攻擊流量。但同時帶來的問題就是系統(tǒng)性能的巨大開銷,不管是緩存使用的內(nèi)存還是深度包檢查使用的CPU,或者一些針對SSL會話開啟了解密功能的加解密處理組件都將面臨巨大挑戰(zhàn)。如果入侵檢測系統(tǒng)是在線部署的,并且當系統(tǒng)滿負荷運行時應(yīng)該考慮的是網(wǎng)絡(luò)通信的可用性還是安全性?所以大多廠商會在入侵檢測產(chǎn)品上設(shè)置自動旁路功能。例如,某廠商的入侵檢測系統(tǒng),當系統(tǒng)滿載荷或產(chǎn)生一定比例的丟包時,系統(tǒng)會自動切換到軟件旁路模式,在此模式下會話將直接穿越入侵檢測系統(tǒng)且不再進行任何檢查。如果是硬件故障導致的宕機,入侵檢測系統(tǒng)也可以借助硬件旁路網(wǎng)卡實現(xiàn)硬件旁路模式,在此模式下即使系統(tǒng)斷電,數(shù)據(jù)也可以正常穿越。
針對入侵防御系統(tǒng)的自動旁路模式切換特性,攻擊者也會使用泛洪等手段使入侵檢測系統(tǒng)的處理性能達到上限,從而切換旁路模式來達到攻擊流量逃避檢測的目的,所以在調(diào)優(yōu)入侵檢測系統(tǒng)的設(shè)置時,如何將有限的處理性能分配到更關(guān)鍵的檢查點上是非常重要的,比較推薦的做法是執(zhí)行網(wǎng)絡(luò)環(huán)境調(diào)研和網(wǎng)絡(luò)脆弱性評估,然后針對網(wǎng)絡(luò)脆弱點定制入侵防御系統(tǒng)的策略,以實施更加有效的保護。
2. 協(xié)議解碼
協(xié)議解碼是一種應(yīng)用層深度分析方法。傳感器除網(wǎng)絡(luò)層和傳輸層分析外,還采取額外的分析步驟,針對有狀態(tài)的傳輸層協(xié)議執(zhí)行重新組裝并進行解碼,該方法通過以下3種方式提高了檢測質(zhì)量。
(1)傳感器將IP和會話重組后對承載的上層協(xié)議進行解碼,解碼后需要檢查的內(nèi)容更少,更有針對性。
(2)傳感器可以執(zhí)行協(xié)議標準化驗證并拒絕不符合協(xié)議標準行為的協(xié)議消息。傳感器可以檢測或防止已知和未知攻擊違反協(xié)議標準(如針對HTTP的緩沖區(qū)溢出攻擊,攻擊者向主機發(fā)送過多數(shù)據(jù),違反了協(xié)議標準中規(guī)定的URL最大長度)。
(3)使用協(xié)議解碼技術(shù),使得傳感器可以針對特定協(xié)議的特定環(huán)境進行檢查。例如,可以使用user agent關(guān)鍵字來匹配特定的瀏覽器軟件,對違規(guī)的瀏覽器進行過濾,傳感器現(xiàn)在可以搜索惡意HTTP,而不是搜索整個TCP會話的數(shù)據(jù)流。這提高了傳感器的準確性,確保它不會在錯誤的上下文中發(fā)現(xiàn)有問題的內(nèi)容,從而做出錯誤的決定。
3. 傳輸流量關(guān)聯(lián)
網(wǎng)絡(luò)IPS傳感器可以看到來自不同網(wǎng)絡(luò)節(jié)點的大量數(shù)據(jù)流,因此網(wǎng)絡(luò)IPS傳感器的優(yōu)點是能夠關(guān)聯(lián)多個網(wǎng)絡(luò)會話之間的數(shù)據(jù)包。可疑或惡意活動可以通過網(wǎng)絡(luò)IPS傳感器識別,因為它們關(guān)聯(lián)不同的數(shù)據(jù)包并確定其共同屬性。例如,攻擊者將攻擊流量分別使用不同會話進行傳輸,如果網(wǎng)絡(luò)IPS傳感器不具備流量關(guān)聯(lián)功能,將無法在多個會話中拼接出完整的威脅流量并進行識別。
網(wǎng)絡(luò)IPS傳感器使用實時關(guān)聯(lián)功能主要檢測網(wǎng)絡(luò)偵察攻擊,攻擊者向少數(shù)或許多其他主機發(fā)送大量數(shù)據(jù)包,以確定其可訪問性,確定特定應(yīng)用程序的存在,或者針對特定主機所開放的服務(wù)端口進行掃描。蠕蟲使用類似的掃描技術(shù)來查找要傳播的其他系統(tǒng),并且可以在網(wǎng)絡(luò)IPS傳感器上使用相同的流量關(guān)聯(lián)機制檢測和停止這些系統(tǒng)。
數(shù)據(jù)包關(guān)聯(lián)的一個基本限制是,傳感器需要一段時間才能對數(shù)據(jù)包進行分類和關(guān)聯(lián),以確定這些數(shù)據(jù)包是否構(gòu)成敏感的事件。在達到此閾值之前,所有以前的數(shù)據(jù)包都將在前往其目的地的途中,因此無法丟棄或捕獲。
會話關(guān)聯(lián)性檢查的一個很好的例子是網(wǎng)絡(luò)傳感器在單位時間內(nèi)檢測來自單個主機IP去往單個目的主機IP的多個服務(wù)端口,或者去往多個目的主機IP的單一特定端口的連接請求數(shù)據(jù)包。這可能表示源主機正在執(zhí)行針對目標網(wǎng)絡(luò)開放的服務(wù)掃描。
4. 概率分析
網(wǎng)絡(luò)入侵防御系統(tǒng)可以分析網(wǎng)絡(luò)流量,監(jiān)視特定協(xié)議的數(shù)據(jù)包轉(zhuǎn)發(fā)速率、主機與主機之間的數(shù)據(jù)包傳輸速率、連接速率或應(yīng)用層請求和消息的發(fā)送速率。這些速率監(jiān)視器使用一組閾值進行工作,這些閾值確定正常網(wǎng)絡(luò)操作所需的最大值。這些值取自協(xié)議標準的定義或者最佳實踐,此功能稱為速率分析。閾值可以由管理員手動設(shè)置,也可以由入侵防御系統(tǒng)供應(yīng)商預配置。拒絕服務(wù)攻擊通常在OSI模型的不同級別使用泛洪,因此可以使用這些機制來檢測它們。
舉例來說,當入侵檢測傳感器開啟速率分析組件,并且該傳感器被配置為監(jiān)視攻擊者和目標主機之間的UDP通信速率,通信速率的閾值為每秒150個數(shù)據(jù)包時,達到或超過此閾值后,傳感器會發(fā)出警報并采取相應(yīng)的操作(結(jié)果可能因配置的操作或報警閾值而異)。
注意,當發(fā)生DoS或DDoS攻擊時,基于閾值的速率分析可能產(chǎn)生大量告警,而短時大量告警也會對入侵檢測系統(tǒng)的處理性能造成壓力,所以適當配置告警的匯總,將有利于系統(tǒng)處理壓力的降低。
5. 數(shù)據(jù)包頭匹配
數(shù)據(jù)包頭匹配的最簡單的方法是通過分析數(shù)據(jù)包的標頭來解決可疑或惡意活動。例如,TCP段中TCP標志位的異常字段匹配。
通過數(shù)據(jù)包頭匹配可以發(fā)現(xiàn)惡意軟件或惡意軟件感染的設(shè)備(如允許遠程控制系統(tǒng)的特洛伊木馬程序),并識別被攻擊設(shè)備所接受的網(wǎng)絡(luò)連接的基本標識。傳感器可以根據(jù)這些惡意軟件或應(yīng)用程序使用的已知傳輸層端口來識別這些連接。但是基于這種標識的判定容易出錯,因為有些應(yīng)用程序可以合法地使用這些端口。
我們可以通過對協(xié)議執(zhí)行OSI模型2~4層的低級協(xié)議驗證,來檢測格式錯誤的數(shù)據(jù)包。通常攻擊者會使用這些格式錯誤的數(shù)據(jù)包,通過利用TCP協(xié)議頭或IP包頭轉(zhuǎn)發(fā)功能中的錯誤來使受保護的系統(tǒng)或網(wǎng)絡(luò)設(shè)備崩潰。
6. 數(shù)據(jù)包內(nèi)容匹配
傳感器可以對數(shù)據(jù)包所傳輸?shù)挠行лd荷進行檢查,如果這些連接使用在單個數(shù)據(jù)包中可以識別的已知負載數(shù)據(jù)模式進行傳輸,那么傳感器可以在數(shù)據(jù)包的有效載荷中發(fā)現(xiàn)可疑的傳輸內(nèi)容。
傳感器可以檢測網(wǎng)絡(luò)中無用的應(yīng)用程序,如利用消息傳輸或使用標準應(yīng)用程序端口來傳輸?shù)姆菢藴蕬?yīng)用程序。
傳感器通過查找特定的有效負載字節(jié)序列,檢測嵌入數(shù)據(jù)包負載的已知應(yīng)用層攻擊。
很多聰明的攻擊者會使用網(wǎng)絡(luò)上的病毒庫來查詢自己編寫的惡意軟件是否已經(jīng)存在,如果不存在,那么自己編寫的軟件將會繞過大多數(shù)基于病毒庫的傳統(tǒng)殺毒軟件。同樣,攻擊者也會使用很多開源的沙箱對自己制作的惡意代碼進行可行性分析,從而找到各個安全解決方案的逃避方法。
由于傳感器針對每個單獨的數(shù)據(jù)包進行檢查,因此了解這些原理的攻擊者只需要將惡意代碼分別寫在兩個或多個數(shù)據(jù)包上傳播就可以繞過此類檢查。
針對數(shù)據(jù)包內(nèi)容的匹配方法也會導致誤報,因為合法流量有可能包含相同的流量模式。由于傳感器只檢查單個包內(nèi)容而看不到它的上下文,因此出現(xiàn)誤報就在所難免,所以有些入侵防御系統(tǒng)的生產(chǎn)商也會加入類似忠誠度這樣的參數(shù),來描述某種特征可能出現(xiàn)的誤報率。
7. 統(tǒng)計建模
網(wǎng)絡(luò)入侵防御系統(tǒng)傳感器可以使用分析技術(shù)和監(jiān)控學習來構(gòu)建描述某些流量屬性的統(tǒng)計模型,如流量傳輸?shù)哪J健挕鬏斄髁繕?gòu)成、傳輸?shù)臅r間間隔等。這種方法通常與基于異常的方法進行配合,對于發(fā)現(xiàn)未知攻擊有很大幫助,這些攻擊違反了已知的“正常”行為。使用這種方法的傳感器經(jīng)常會檢測到拒絕服務(wù)和類似的基于泛洪的攻擊。統(tǒng)計建模容易出現(xiàn)網(wǎng)絡(luò)中誤報率較高的情況,而統(tǒng)計模型無法充分描述這些誤報率。
在通常情況下,脆弱性管理平臺會對網(wǎng)絡(luò)進行掃描,定期合法地向不同的主機發(fā)送多個會話鏈接請求,但是,受感染的服務(wù)器或主機會嘗試打開更多的會話。網(wǎng)絡(luò)IPS傳感器可以檢測到此類異常并識別為攻擊。
通常入侵檢測系統(tǒng)中的攻擊識別系統(tǒng)可以分為兩類:一類是基于匹配的,如特征庫;另一類是基于異常的,如TCP正常化和統(tǒng)計建模。基于匹配的檢測方式的特點是主要針對已知攻擊,當發(fā)現(xiàn)異常流量時發(fā)布明確告警。也可以理解為定義的規(guī)則,只要匹配了就認為有攻擊產(chǎn)生。而另一類基于異常的檢測是定義什么是正常的,其他不符合正常情況的流量都認為是攻擊,這種檢測方式主要用來識別未知攻擊,通常告警不明確,只知道有違規(guī)流量產(chǎn)生,但是并不知道是哪種攻擊。
8. 事件關(guān)聯(lián)
除了流量相關(guān)性,還有一種分析方法允許傳感器提供事件相關(guān)性,在這種情況下,傳感器將多個檢測到的事件關(guān)聯(lián)起來,以便向管理員提供更高級別的整合信息,并可能使用預防措施自動對此類高級信息執(zhí)行操作。
傳感器上的事件關(guān)聯(lián)有利于更可靠地檢測復合攻擊。復合攻擊通常由多個單獨的事件或攻擊組成。傳感器需要看到攻擊的多個組件,才能將其識別為攻擊。這提高了部署預防性積極操作所需的可靠性和可信度,并向管理員提供了有關(guān)網(wǎng)絡(luò)活動的更多信息。Nimda攻擊的檢測就是一個典型的例子,為了更準確地識別Nimda病毒,可能會將多個特征簽名(Signature)進行關(guān)聯(lián),也就是說,當指定的一組特征簽名都產(chǎn)生匹配時,將會認為網(wǎng)絡(luò)遭受了Nimda攻擊。
與其他方法不同,傳感器無法使用很長的時間窗口來關(guān)聯(lián)事件。因此,如果攻擊者將攻擊行為放慢,那么攻擊者就可以逃避事件關(guān)聯(lián)的檢測。雖然可能有這種情況的存在,但事件關(guān)聯(lián)檢查依然是精確識別攻擊的方法,并且可以發(fā)現(xiàn)攻擊的各個組成部分。
5.1.3 DDoS防護技術(shù)
除前文中談到的網(wǎng)絡(luò)防火墻和入侵防御系統(tǒng)外,在邊界防護的技術(shù)領(lǐng)域不得不提到DDoS防護。因為當攻擊者完成偵查與分析,進一步對組織內(nèi)網(wǎng)實施攻擊行動時,通常會采用DoS或DDoS攻擊使邊界防護設(shè)備(如防火墻或Web應(yīng)用防火墻)過載,從而將流量切換到旁路,這使得攻擊流量有機會繞過防護設(shè)備對組織實施直接攻擊。
1. DoS和DDoS攻擊介紹
拒絕服務(wù)式攻擊(DoS)是指通過攻擊手段使得服務(wù)系統(tǒng)無法正常提供服務(wù)的攻擊,而這類攻擊的形式是多樣的,可以利用ICMP、TCP、UDP等不同的協(xié)議,針對網(wǎng)絡(luò)帶寬的惡意堵塞,針對服務(wù)線程的占用,或者通過大量分片對服務(wù)器緩存長時間占用,也可以是對系統(tǒng)脆弱性的惡意利用。拒絕服務(wù)式攻擊樣例如圖5-4所示。

圖5-4 拒絕服務(wù)式攻擊樣例
分布式拒絕服務(wù)攻擊(DDoS)屬于DoS攻擊的一種,他們的目的是相同的,都是要讓服務(wù)器無法正常提供服務(wù)。但是DDoS要比DoS更復雜,因為DDoS的攻擊者往往控制著大量的僵尸主機,在指定時間使用不同的網(wǎng)絡(luò)IP對服務(wù)器實施分布式攻擊。
在DDoS攻擊過程中通常有幾種角色,包括Attacker攻擊者、Botnet僵尸網(wǎng)絡(luò)和Server被攻擊服務(wù)器。圖5-5所示為分布式拒絕服務(wù)攻擊樣例。

圖5-5 分布式拒絕服務(wù)攻擊樣例
然而,造成服務(wù)器無法正常提供服務(wù)的不一定是惡意攻擊。這也是為什么對于DDoS攻擊的防范主要關(guān)注在流量的清洗。舉例來說,某個游戲服務(wù)提供商發(fā)出公告會在“七夕情人節(jié)”的晚上8時上線新任務(wù),然而實際上線人數(shù)遠遠超過了游戲服務(wù)上的預估人數(shù),導致服務(wù)器癱瘓,大量玩家無法上線。其實換個角度來看,雖然這些玩家不是惡意攻擊者,但是同樣實現(xiàn)了分布式拒絕服務(wù)攻擊的效果。因此可以發(fā)現(xiàn),對于DoS和DDoS的攻擊防范的解決方案是否有效,很大程度上取決于惡意流量的識別是否準確。
2. 主流解決方案介紹
目前主流的DDoS防護解決方案主要關(guān)注在分層清洗,也就是人們常說的近源和近目,通常包括ISP清洗、云清洗、網(wǎng)關(guān)防護和應(yīng)用層防C&C。本節(jié)關(guān)注的是與網(wǎng)關(guān)防護的解決方案。
參考某網(wǎng)絡(luò)安全廠商的DDoS防護解決方案可以看到網(wǎng)絡(luò)和流量泛洪保護。
(1)行為DoS:通過基于行為的自適應(yīng)檢測和保護來防止TCP、UDP、ICMP、IGMP和碎片式DDoS攻擊。
(2)DoS屏蔽:通過預先定義和定制的過濾器防止已知的DDoS攻擊工具,以阻止每種模式的速率限制的攻擊。
(3)SYN保護:通過每個受保護服務(wù)器的SYN速率閾值阻止SYN欺騙攻擊。
(4)黑名單:利用三層和四層源-目標分類和過期規(guī)則阻止一般攻擊。
(5)連接速率限制:使用基于速率的閾值阻止通用、不支持的協(xié)議(非DNS、HTTP)和應(yīng)用程序級泛洪攻擊。
基于應(yīng)用層的DoS/DDoS防護如下。
(1)Web質(zhì)詢SYN防護:通過SYN速率閾值和每個受保護服務(wù)器的Web質(zhì)詢和響應(yīng),防止基于HTTP連接的攻擊。
(2)行為DNS保護:使用基于DNS足跡阻止、速率限制和DNS挑戰(zhàn)和響應(yīng)的DNS自適應(yīng)行為檢測阻止基于DNS查詢的DoS攻擊。
(3)行為HTTP保護(簡稱“HTTP緩解措施”):通過基于服務(wù)器的HTTP自適應(yīng)行為檢測、HTTP占用空間和Web質(zhì)詢/響應(yīng)、302重定向和JS質(zhì)詢操作阻止基于HTTP連接的DoS攻擊和上游HTTP帶寬攻擊。
- CTF實戰(zhàn):技術(shù)、解題與進階
- INSTANT Netcat Starter
- 工業(yè)互聯(lián)網(wǎng)安全防護與展望
- 黑客攻防與電腦安全從新手到高手(微視頻+火力升級版)
- 大型互聯(lián)網(wǎng)企業(yè)安全架構(gòu)
- INSTANT Metasploit Starter
- 數(shù)據(jù)安全實踐指南
- 數(shù)據(jù)安全領(lǐng)域指南
- Securing Network Infrastructure
- Real-World SRE
- 2010年中國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全報告
- 大數(shù)據(jù)時代的云安全
- 數(shù)據(jù)安全實踐:能力體系、產(chǎn)品實現(xiàn)與解決方案
- 中國網(wǎng)絡(luò)空間安全前沿科技發(fā)展報告(2018)
- Python Penetration Testing Essentials