許冬燕 弭 妍 魏蜜蜜
(山東外事職業大學信息與控制工程學院,山東 乳山 264504)
在信息時代,計算機網絡安全直接決定了個人的隱私安全,同時也影響著社會經濟的發展。蠕蟲(Worm)是一種常見的惡意代碼,可以在計算機的程序文件中自動復制,并借助于網絡進行傳播、蔓延。根據其傳播途徑的不同,又可分為Email 蠕蟲、IM 蠕蟲、Internet 蠕蟲和IRC蠕蟲等若干種。近年來,網絡蠕蟲呈現出種類更加多樣、隱蔽性更強、危害后果更為嚴重等一系列特點,在這一背景下關于網絡蠕蟲的主動防御和智能檢測技術成為熱門研究課題。
蠕蟲會通過自我復制實現數量的指數式增長,決定其增長速度的主要因素有兩個:其一是網絡中存在有漏洞主機的數量,其二是被感染率。通常情況下,在蠕蟲感染初期會以指數形式快速增長,在達到一定的數量級后趨于平穩。蠕蟲增長的數學模型為:

式(1)中,a 代表某個網絡中所有存在漏洞的主機的感染率,t 代表時間,K 代表初始化感染率。由該式可以看出蠕蟲的增長率是一個隨機常量,對式(1)解微分方程后可得:

式(2)中T 代表蠕蟲開始增長時的時間常量。該增長模型可適用于大多數蠕蟲,但是不同蠕蟲的K 值存在較大差異,K 值越大,則說明這類蠕蟲在單位時間內感染主機的數量更多。但是由于同一網絡內存在漏洞的主機的數量是一定的,因此當感染規模達到一定數量級后,將不會再有新的主機被感染,不同K 值對蠕蟲增長的影響如圖1 所示。

圖1 蠕蟲增長模型圖
由圖1 可知,在K=5 時,蠕蟲大概需要25s(5s-30s)才能達到最大感染規模;在K=10 時,蠕蟲大概需要(8s-31s)23s 達到最大感染規模;而K=20 時,僅用9s(32s-41s)就達到了最大感染規模。
現階段常用的企業網絡安全架構包括了路由器、防火墻、入侵檢測系統和蜜罐系統等,如圖2 所示。

圖2 企業網絡安全架構
由圖2 可知,來自于外部Internet 上的數據流量或者訪問行為,首先經路由器到達企業級防火墻,并激活入侵檢測系統(NIDS),經過防火墻的過濾和NIDS 的檢測后,確定數據信息和訪問行為安全后,才允許進入到企業網絡。另外,為了切實維護企業商業機密的隱私和重要數據的安全,企業的內部訪問網絡和外部公共訪問網絡相互獨立,并且各自部署了蜜罐系統。除此之外,一些企業網絡系統中還會使用到黑洞技術、路由器訪問控制列表保護技術等,對防御主機遭受網絡的攻擊也有重要作用。
防火墻保護的機理是由系統默認或者用戶自定義的規則,對所有外部傳輸流量及訪問行為進行過濾,從而達到保證網絡訪問安全的目的。常用的防火墻可分為三種,一種是基于網絡流狀態跟蹤的Stateful 防火墻,它能監視應用層的協議,判斷執行該協議的各項命令是否正常。除此之外還有Nonstateful 防火墻和代理防火墻。防火墻在抵御蠕蟲感染和攻擊時,最直接的方式是關閉網絡端口,從而切斷本地主機與外部網絡之間的數據交換。通過切斷蠕蟲傳播途徑,達到保護網絡安全目的。蠕蟲進行網絡攻擊時常用的漏洞和端口如表1 所示。

表1 網絡蠕蟲利用的漏洞和對應端口
當然,防火墻本身也會存在一些漏洞,而隨著蠕蟲的不斷升級迭代,他們也會利用防火墻的漏洞進行攻擊和傳播,因此企業需要對防火墻進行不斷的升級、打補丁,從而保證防火墻在防御和檢測蠕蟲方面發揮作用。從企業安全角度考慮,僅用邊界防火墻顯然不能滿足安全需要,在將防火墻作為企業網絡安全第一道屏障的基礎上,還要綜合運用網絡入侵檢測技術、蜜罐技術等進一步提高整體安全性。
入侵檢測(IDS)是一種對網絡傳輸進行即時監視,并且在發現可疑傳輸時發出警報或采取主動防御措施的網絡安全技術。按照數據來源進行劃分,又可分成面向主機的入侵檢測系統(HIDS)和面向網絡的入侵檢測系統(NIDS)。前者的檢測數據主要是主機中的日志文件、審計記錄等,而后者以網絡流量為主。入侵檢測流程如圖3 所示。

圖3 入侵檢測示意圖
結合圖3,當用戶或者攻擊者從外部網絡訪問企業信息系統時,首先由防火墻進行初步過濾,杜絕異常訪問。然后通過特征檢測器識別訪問對象,同時向異常檢測檢測單元發送Web 請求。異常檢測器接收到該請求后,利用數學模型進行異常檢測,并判斷有無異常行為。將檢測結果反饋給訓練控制臺,最終由安全管理終端下達指令。如果經檢測無異常,則允許訪問者正常獲取審計日志等文件信息;如果經檢測發現有異常,則判斷為入侵行為,終止其訪問行為,從而保證審計日志的安全。
蜜罐(Honeypot)的機理是人為設置網絡陷阱(即蜜罐),誘騙攻擊者將主要的資源和時間都放在攻擊蜜罐系統上,并暴露自己的攻擊模式。現階段很多比較先進的蜜罐系統,還能在受到攻擊后作出相應的應答,讓攻擊者產生錯誤判斷,繼續執行攻擊行為,在這一過程中讓網絡安全員或網絡安全系統了解更多的技術細節,以便于根據攻擊模式提供針對性的防御策略,甚至逆向追溯攻擊者的IP 地址,達到打擊網絡犯罪的效果。現階段蜜罐技術已經趨于成熟,并且衍生出了多種類型,例如按照交互程度的不同,可分為高交互蜜罐與低交互蜜罐,按照蜜罐是否真實可以分為實系統蜜罐、偽系統蜜罐等。在企業網絡安全系統中,基于蜜罐的網絡拓撲結構如圖4 所示。

圖4 基于蜜罐技術的網絡拓撲結構
根據圖4,網絡安全系統在截取外部訪問行為后,可直接進行攻擊檢測,也可基于人工智能的機器學習進行引擎檢測,進一步判斷是否存在隱蔽的攻擊行為。如果發現有攻擊行為,則直接進行攻擊預警。完成攻擊檢測后,對于已經確定的攻擊行為,則引導其攻擊偽裝服務器;如果未發現攻擊行為,則正常訪問真實服務器。其中,偽裝服務器與真實服務器的服務功能相同,但是只保留了沒有保密價值的數據。即便是攻擊者最終破壞了偽裝服務器的防火墻系統,也無法得到有價值的信息,從而讓真實服務器的核心數據得到了保護。
白色蠕蟲(Ethical Worm)是利用應用補丁或者加固配置等方式,在檢測到有蠕蟲入侵,但是尚未侵占系統之間進行網絡安全漏洞的修復,從而達到保護數據安全的一種技術手段。在傳統的網絡安全管理模式下,每當發布一個新的補丁時,系統管理員首先要判斷系統是否需要安裝該補丁,然后進一步驗證補丁的真實性,以免安裝了被攻擊者偽裝成補丁的惡意代碼。驗證通過后再安裝補丁,修補系統的安全漏洞。整個過程不僅操作繁瑣,而且浪費較多時間。相比之下,利用白色蠕蟲技術則可以省略上述步驟,自動修補安全漏洞,有效遏制了蠕蟲的大規模爆發,從而以更快的速度、更少的資源消耗,達到了保護系統安全的目的。另外,白色蠕蟲技術除了可以作出主動防御外,還具備反擊功能,主動清除主機內感染的蠕蟲。
由于主機感染蠕蟲后,短時間內蠕蟲就會通過爆發式增長對其他主機造成破壞,因此必須要設計實時監控模塊,保證在蠕蟲感染初期、尚未造成嚴重損失前進行檢測、識別,進而采取主動防御或清除措施。實時監控模塊的進程操作可以用PsSetCreateProcessNotifyRoutine()函數來實現,函數原型為:

該 模 塊 的 線 程 操 作 可 以 用PsSetCreateThreadNotifyRoutine()函數來實現。以上函數由Windows 2016 server 系統的ntoskrnl.exe 提供,并支持在用戶態程序中調用。基于用戶態I/O 口的請求調用流程如圖5 所示。

圖5 I/O 請求流程圖
基于I/O 實時傳輸檢測信息,實現對計算機網絡進程和線程的全過程、動態化監控,一旦發現有蠕蟲感染或攻擊,則立即進入主動防御姿態,利用防火墻、蜜罐、Ethical 蠕蟲反擊等技術保護網絡系統安全。
掛鉤技術(Hooking)可以攔截在軟件之間傳遞的信息、時間或函數調用。當檢測到系統被蠕蟲入侵時,利用掛鉤技術可以強制暫停系統調用,從而達到終止入侵行為、保護系統安全的效果。在本系統設計中,使用了基于核心態的掛鉤模塊。針對常見的蠕蟲類型,設計不同的調用函數并存儲在系統中,利用掛鉤用戶模式下的API函數可以檢測出蠕蟲攻擊。例如,將Blaste 蠕蟲注入到wvchost.exe 進程的rpcss.dll 中,調用CreateProcesss ()函數,該函數的返回地址在棧中,由此可以檢測出Blaster蠕蟲的攻擊。
蠕蟲感染和攻擊已經成為現階段威脅網絡安全的一種主要形式,為切實保護網絡安全和用戶隱私,必須要提高對蠕蟲的檢測精度和效率,在及時、準確識別蠕蟲之后,立即采取主動防御或者清除措施,消除蠕蟲的安全威脅。目前來看,防火墻保護、入侵檢測、蜜罐技術以及Ethical 蠕蟲反擊技術等,在保護計算機網絡安全方面均發揮了積極作用。當然,隨著蠕蟲自身的不斷更新迭代,相應的防御和檢測技術也必須持續創新,才能始終發揮系統保護作用。