摘要:終端作為信息安全的薄弱地帶,逐漸成為各類安全事件的目標和發生地。隨著信息技術的發展,網絡攻擊手段進一步豐富,大量樣本變種涌現,采用病毒庫升級、定時查殺等傳統方式,已經難以應對網絡中大規模、無差別的攻擊行為。針對未知威脅的檢測能力和響應能力,是對終端安全提出的新的要求。通過對傳統防火墻、入侵檢測技術進行研究,基于安全聯動思想提出了一套終端框架安全,并在Linux平臺下給出具體的設計方案和策略建議,為終端安全研究提供思路。
0 引言
工信部印發的《大數據產業發展規劃(2016—2020)》指出,到2020年,大數據產業體系基本形成,其相關的產品和服務業務收入突破1萬億元,年均復合增長率保持在30%左右。近年來,大數據技術的創新和發展為人們的生活帶來了極大的便利,同樣也為信息安全引入了一系列的挑戰。個人隱私泄露、終端被植入木馬等各類安全事件頻出,傳統的防御手段面臨著嚴峻挑戰,對新一代網絡安全技術的研究逐漸成為全球關注的焦點。
一個安全事件,無論在網絡中經過多少環節,使用多少技術手段,最終目的都是為了完成某些未經授權的工作,如竊取數據、破壞系統,或者潛伏下來以備后用。這些動作的完成,大多數是通過終端實現的。然而,由于終端部署具備分散性的特點,直接接觸用戶,物理環境、網絡環境復雜多變,可以說終端是最難實施有效管理的環節,可能成為信息安全體系的薄弱地帶。因此,終端逐漸成為安全事件的目標和發生地,也成為數據安全的主戰場。
本文基于Linux平臺提出了一套終端安全框架,結合傳統的主動防御機制與防火墻技術,重點探討了安全聯動功能的設計與實現。第一部分從新時代終端安全防護體系入手,介紹了終端安全框架的組成。第二、第三部分從終端的角度,分別探討Iptables防火墻規則配置策略和入侵檢測模塊的選擇。第四部分提出利用決策響應模塊,實現防火墻與入侵檢測的安全聯動功能。最后一部分對全文進行總結。
1 終端安全框架
360企業安全集團副總裁張聰認為,新時代的終端安全體系應該具備:針對已知威脅的評估能力、攔截能力,以及針對新威脅的檢測能力和響應能力[1]。因此,基于終端構建網絡安全框架,防火墻和入侵檢測是其中必不可少的組成部分。
然而,防火墻是一種靜態安全技術,需要設置規則才能起到防護作用,無法主動跟蹤入侵源,也不能對實時攻擊做出響應;入侵檢測作為主動防御機制,雖然可以監控網絡傳輸、檢測入侵行為,但無法做到實時阻斷。因此,必須有一套安全、合適的技術,在終端上將兩個功能模塊聯合起來發揮效用,做到動靜結合、優勢互補。
本方案提出的終端安全框架包括:防火墻、入侵檢測和決策響應三個組成部分。通過決策響應實現安全聯動功能,將入侵檢測同防火墻聯系起來,入侵檢測的數據不再來源于網絡,而是流經防火墻的數據包。網絡數據在通過防火墻后,拷貝一份進行入侵檢測,如果在網絡數據包中檢測到攻擊行為,則通過決策響應模塊調整防火墻的過濾規則,及時阻斷攻擊行為,將網絡安全隱患降至最低。終端安全框架的組成及流程示意如圖1所示。
圖1 終端安全框架
2 防火墻規則配置策略
Linux2.4及之后的版本集成了Netfilter/Iptables防火墻系統,該系統利用Netfilter提供可擴展的結構化底層框架,實現數據包過濾、深度包檢測、動態地址轉換、網絡地址偽裝和透明代理等功能;Iptables作為防火墻的配置、管理工具,由一組規則列表組成,用戶通過配置相應的規則,阻斷網絡層、傳輸層的非法數據包。
在Iptables結構中,鏈是作為規則的容器,串接著擁有相同標簽的規則,如INPUT、OUTPUT、FORWARD、PREROUTING和POSTROUTING等,分別代表數據包通過協議棧的各個位置點。表作為鏈的容器,包含著具有相同功能的鏈,Iptables管理著Raw(鏈接跟蹤)、Mangle(修改)、Nat(地址轉換)和Filter(過濾)4個不同的規則表,每個表的功能均由獨立的內核模塊實現。
一個合理、高效的規則集是防火墻良好工作的前提。新時代的終端安全框架,要求系統能夠根據網絡實際情況動態調整防火墻過濾規則,但規則的動態調整可能造成規則的冗余,導致系統對數據包處理時間延長、過濾效率降低,反而影響系統的性能。
優秀的防火墻配置策略可以有效減少規則的數量,降低規則冗余引入的消耗,提高防火墻的工作效率。在實際應用中,根據終端的部署環境、安全需求和業務能力的不同,防火墻配置策略一般有以下兩種: ①先允許所有的數據包通過防火墻,然后根據網絡實際情況,依次禁止有危險的數據包通過,本策略適用于功能復雜、對安全性要求較低的綜合型終端;②先禁止所有的數據包通過防火墻,然后根據業務需求和所需服務,依次允許特定的數據包通過防火墻,本策略適用于網絡環境簡單、業務穩定、對安全性要求較高的終端。
3 入侵檢測模塊的抉擇
Snort是一個輕量級的入侵檢測系統,由數據包捕獲庫Libpcap、包解碼器、預處理程序、檢測引擎和報警輸出模塊等部分組成。作為一種主動防御機制,Snort利用以太網的共享特性,對網絡中的數據包進行捕獲,通過規則匹配識別網絡攻擊行為,從而完成用戶行為監控、網絡異常分析、系統弱點探測,以及網絡攻擊報警等功能。
目前Snort已經遍布全球,成為企業級的分布式入侵檢測體系。考慮到終端資源的有限性,以及“盡量減小對網絡數據傳輸的影響”的要求,方案決定采用Snort作為終端安全框架的入侵檢測工具。
Snort將攻擊事件的行為特征定義為規則,一系列規則按照樹形結構管理稱為規則樹,即攻擊特征庫。Snort利用Libpcap函數實時捕獲數據包,經過解碼、預處理后,檢索攻擊特征庫,通過規則匹配判斷包中是否含有攻擊特征。Snort完整的工作流程示意如圖2所示。
圖2 Snort工作流程示意
在本方案的設計中,Snort部署于Iptables防火墻之后,通過防火墻的網絡數據,經過拷貝后進行分流,一份送至上層處理,一份送到入侵檢測模塊,如果在數據包中檢測到攻擊特征,則在第一時間發出告警信息。
Snort缺乏手段阻止攻擊行為,終端依然會遭受入侵,而且Snort對攻擊特征庫的依賴性較強,終端需要及時更新攻擊特征庫,以保證系統能夠識別最新的攻擊手段。鑒于入侵檢測與防火墻之間功能的互補性,終端安全框架在設計時,還需要有一套獨立的機制,不僅能夠將二者有效地聯動起來,而且能夠保證Snort攻擊特征庫的實時更新。
4 安全聯動機制設計
作為框架實施的核心和安全防護的依據,決策響應模塊主要負責安全聯動功能的實現,同時接受區域安全管理中心的統一調度,完成攻擊特征庫的更新和系統安防策略的調整等工作。決策響應模塊包括入侵行為分析、安全決策和防護策略調整三部分。
其中,入侵行為分析負責檢測Snort產生的報警信息和日志文件,通過對各類安全事件進行分析、轉換,識別具體的攻擊行為,并通知安全決策進行處理。安全決策主要負責終端防護策略的生成與下發,支持自動防御和中心干預兩種方式完成安防策略的調整。
在自動防御模式下,終端設備能夠針對各種不同的攻擊行為,制定相應的安全策略進行防護;而在中心干預模式下,終端設備接受區域安全管理中心的統一調度,接收并啟用管理中心下發的安全策略,進而構建區域分布式防火墻。防護策略調整根據安全決策制定的防護規則,更新防火墻配置,達到實時防護的目的。
在決策響應模塊的設計中,有以下要點需要關注:
( 1 ) 由于終端資源的有限性,對Snort日志文件的分析,建議采用Select多路復用機制實現,以節省系統資源,提升工作效率;如果采用定時掃描機制,則需要設定合理的掃描頻率,在處理器資源消耗和入侵響應速度之間,尋找一個可接受的平衡。
( 2 ) 安全聯動機制在設計實現過程中,盡量維持防火墻、入侵檢測兩個模塊的獨立性和完整性,避免將入侵檢測作為一個功能模塊,直接集成到防火墻中。這種高耦合的設計模式,不僅增加了防火墻的復雜程度,而且不利于終端安全框架整體的開發和維護。
( 3 ) 重視Iptables防火墻規則集的優化,在添加新規則時,建議對新添加的規則和已有的規則進行分析、比較,刪除被包含的規則,合并功能類似的規則,對于提升防火墻的工作效率、穩定設備性能至關重要。
5 結語
本方案實現的終端安全框架,充分保證了Iptables防火墻、Snort入侵檢測兩個模塊的獨立性和完整性,不僅易于移植、開發和維護,而且將二者有效地聯動起來,形成決策、防護、檢測、響應于一體的終端安全體系。同時,支持人為干預和中心干預的方式調整安防策略,在緊急情況下能夠斷開聯動,通過區域安全管理中心直接更新規則,形成區域分布式防火墻,最大限度地保證系統安全。