摘要:信息技術的快速發展,計算機網絡的普及和應用,計算機安全變得越來越重要。基于商業目的,黑客采取多種網絡攻擊方式,對網絡安全形成很大威脅。零日攻擊是利用零日漏洞,迅速對系統或應用程序發動的網絡攻擊,這種攻擊防御難度較大。該文通過對零日漏洞攻擊原理的分析,提出一些零日攻擊的防范措施。
關鍵詞:零日漏洞;零日攻擊;網絡安全
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)33-9394-02
Principles Based on the Zero-day Attacks and Prevention
LI Dai
(Computer Department of Wuhan University of Technology, Wuhan 430070, China)
Abstract: Because of the rapid development of information technology, the popularization and application of computer networks, computer security has become increasingly important. For commercial purposes, hackers adopt a variety of network attacks, which becoming a great threat to network security. Zero-day attacks is the use of zero-day holes to quickly launch applications on the system or the network attacks that make the defense more difficult. In this paper, through the analysis of the principles of zero-day attacks, the writer gives some useful suggestions on the preventive measures.
Key words: zero-day holes; zero-day attacks; network security
隨著網絡技術的不斷更新,網絡安全問題日益嚴峻。無時不在的零日攻擊已成為企業信息安全面臨的緊迫而嚴峻的挑戰。利用用戶薄弱的安全防護意識,零日攻擊對操作系統、應用軟件中某些未被開發商知曉或未及時修補的漏洞發起攻擊往往極具破壞力。零日攻擊正成為多數企業的災難,如今那些受利益驅動的攻擊者們正不斷制造出各種專用且復雜的惡意軟件,企圖在特定應用軟件未修復那些未經發布的漏洞前利用這些漏洞。
面對與日俱增的零日威脅,目前不論系統、網絡廠商還是安全廠商,都在大聲疾呼即時更新的重要性。目前許多企業之所以未能即時完成系統或軟硬件設備漏洞的修補工作,最主要的原因在于沒有時間發掘漏洞所在,未對漏洞做進一步的評估與診斷,且無法對所有電腦或端點裝置進行修補更新等。另外還有一個更重要的原因,即無法對修補程序進行相容性測試,其結果也最為嚴重,常常造成系統不穩甚至當機的情況。也正因為如此,用戶必須認真檢視現有的更新程序管理機制,了解零日攻擊的原理,提高零日攻擊的防范意識。
1 零日漏洞攻擊的原理
零日漏洞是指被發現后立即被惡意利用的安全漏洞,包括Windows系統、Office組件和相關的制圖、視頻軟件、甚至包括安全軟件等,這種攻擊利用某些廠商缺少防范意識、不能及時更新版本或缺少修復補丁,快速利用漏洞,侵入用戶系統,從而實現數據破壞和信息竊取。
零日漏洞常常被在某一產品或協議中找到安全漏洞的黑客所發現。一旦它們被發現,零日漏洞攻擊就會迅速傳播,特別是通過嵌入到網頁中或直接通過經過“加殼”的程序包,偽裝成所謂的“美女圖片”、“激情視頻”誘使用戶運行,從而運行相關竊聽、破壞程序。在零日漏洞一旦大規模爆發的情況下,被攻擊的電腦數量就會直線上升,很難有效遏制,同時對于家庭用戶、企業用戶來說,也將面臨著巨大的災難。
目前,所有的操作系統,包括Windows、類Linux、FreeBSD和UNIX,以及所有的網絡應用程序,包括IIS、FTP、IE和SMTP等等都存在零日漏洞,也就存在被零日攻擊的風險。正是由于零日攻擊影響的范圍非常廣泛,而且,由于操作系統或應用程序在編碼過程中不可能做到百分之百的沒有錯誤,因此,零日攻擊的風險會在以后相當長的一段時間來都會存在,因而現在我們就必需了解可以通過什么樣的方法來解決零日攻擊帶來的安全風險。
2 零日漏洞攻擊的威脅
黑客善于在發現安全漏洞不久后利用它們。而在此之前,一個新的安全漏洞從被發現到被利用,一般需要幾個月甚至更長的時間。但最近,發現與利用之間的間隔已經減少到了數天,甚至不足一天(零日)。甚至通常在上午發現漏洞后,下午就會出現利用進行攻擊的事件。零日漏洞是由攻擊者自己發現的,并且不會公布,而存在零日漏洞的系統或應用程序的開發商卻并不一定知道這個新的漏洞,因此也就不會開發相應的漏洞補丁包來修補它。其實,就算開發商與攻擊者同時發現了這個漏洞,但是,開發商發布漏洞補丁必需經過開發→測試→發布這三個階段,速度再快也需要幾天時間。而攻擊者在發現零日漏洞后,會立即編寫相應的漏洞利用腳本來攻擊所有存在此漏洞的目標系統。在時間上,漏洞補丁發布速度就不可能趕上攻擊者對此漏洞的利用速度。
利用漏洞的攻擊被設計為迅速傳播,感染數量越來越多的系統。攻擊由之前被動式的、傳播緩慢的文件和宏病毒演化為利用幾天或幾小時傳播的更加主動的、自我傳播的電子郵件蠕蟲混合威脅。今天,最新出現的Warhol和Flash威脅傳播起來只需要幾分鐘。
人們掌握的安全漏洞知識越來越多,就有越來越多的漏洞被發現和利用。因此,“零日漏洞”攻擊成為多數企業的災難。一般的企業使用的安全防范設備,如防火墻,UTM網關,以及入侵檢測防御系統(IDS/IPS),主要還是利用網絡攻擊行為的攻擊特征來檢測惡意的網絡流量。而由攻擊者編寫的零日漏洞利用腳本,由于在網絡上是第一次使用,安全設備開發商就不可能知道這種零日攻擊行為的攻擊特征,因而這些安全防范設備的攻擊特征庫中也就不會存在這種攻擊特征,安全設備也就不會檢測到這種零日攻擊行為了。就算現在那些宣布具有主動防御功能的安全設備,由于目前的主動防御技術還不太完善,都存在漏報和誤報的可能,并且,攻擊者在編寫攻擊腳本時,還會通過一些手段來逃避這些安全設備的檢測,因此,主動防御設備也不可能做到百分之百地完全防御零日攻擊行為。
由于目前所有的操作系統和應用程序都會存在零日漏洞,發現它們只是早晚的問題,才使得零日攻擊每次都會攻擊成功,并且每次都會造成非常廣泛的影響,因而零日攻擊已經是目前不折不扣的最棘手的網絡安全威脅之一。
3 零日漏洞攻擊的防范
現在,我們已經了解了零日攻擊的攻擊原理,也了解了零日攻擊會給我們帶來的安全風險,并且知道了它很難對付。雖然目前不能完全防范零日攻擊,但是,使用一些安全防范手段,還是能減少我們的網絡和系統被零日攻擊的機率,降低零日攻擊造成的損失到最低水平的。
3.1 修復漏洞
雖然“零日”漏洞造成的影響非常惡劣,但也并非無法進行防范,只要我們開啟Windows系統的實時更新,及時下載相關漏洞補丁,可以有效防止黑客通過系統漏洞植入后門程序。
3.2 安裝實時監控和主動防御設備
要防范零日攻擊,降低其帶來的影響,最好的方法就是在零日攻擊活動開始進行時,就及時發現并阻止它。及時發現零日攻擊活動最好的方式就是安裝系統或網絡實時監控軟件,雖然這些設備不可能做到百分之百的將零日攻擊行為全部檢測到,但是,通過主動防御設備對網絡操作行為和網絡連接狀況進行實時監控,還是可以及時發現和阻擋相當一部分的零日攻擊行為的。
主動防御設備有時會對真正的網絡攻擊產生漏報,也會對正常的網絡流量產生誤報,因此,我們在使用主動防御設備的同時,還應當使用其它的安全防范手段來填補它的不足。
3.3 實施網絡邊界防范
實施網絡邊界防范主要是針對企業或機構中的內部局域網來說的,某個網絡的邊界都是針對其實際的內部網絡而言的。
目前主要的網絡邊界防范方法包括下面這些內容:
1) 在網絡邊界處安裝行為分析設備,它在監控網絡操作行為的同時,還能限制網絡流量的大小,這樣就能檢測到不正常的網絡操作行為,以及防止拒絕服務攻擊(DoS);
2) 在局域網內部安裝狀態包檢測防火墻;
3) 嚴格限制無線設備的網絡接入方式;
4) 加強移動存儲設備的網絡訪問;
5) 應用網絡訪問控制(NAC);
6) 加強員工權限管理和文件訪問許可制度。
3.4 加固終端系統
計算機終端通常是整個網絡環節中最薄弱的環節,對系統進行安全加固是一個減少系統被零日攻擊的一個不錯的方法。通常,我們可以通過下列的方式來加固系統:
1) 建立良好的系統或應用程序補丁更新計劃;
2) 停用系統中不需要的服務和應用程序,關閉不使用的端口;
3) 限制在瀏覽器中對JAVA和ActiveX等腳本的使用;
4) 培訓用戶的網絡操作行為,不要輕易打開電子郵件中的附件,點擊電子郵件中的超級鏈接,以及點擊其中的圖片;
5) 安裝第三方安全軟件(如基于主機的入侵防御系統(IPS))來加強系統安全;
3.5 加強網絡基礎設施的安全
加強網絡基礎設施的安全,能降低網絡被零日攻擊后造成影響的范圍和嚴重程度。我們可以使用下列的方式來加強網絡基礎設施的安全:
1) 在同一網段中使用虛擬局域網(VLAN)技術將一些重要的網絡設備隔離,防止零日攻擊對整個網段的影響;
2) 將面向互聯網的網絡服務器放到一個單獨的非軍事化區域(DMZ),將它們與內部系統隔離,減少由于公網服務器被零日攻擊后造成對內部網絡的影響;
3) 在網絡服務器上應用虛擬化技術來提供冗余系統,減少由于服務器系統被零日攻擊后造成的非正常停機時間,降低其造成的損失。
3.6 建立一個良好的網絡攻擊事件響應計劃
加強對各類事件的快速處理能力,這樣能迅速阻止零日攻擊的繼續實施,將攻擊影響的范圍和造成的損失控制在一定的水平之內。
上述給出的這些應對零日攻擊的方法,雖然不能絕對防止零日攻擊活動的發生,但是,靈活地使用它們,還是能大大減少系統和網絡被零日攻擊的機率,以及當系統或網絡被零日攻擊后將其造成的損失控制在一定的范圍之內。
4 結束語
我們已經對零日攻擊有了一個比較全面的了解,也掌握了一些應對零日攻擊的方法。但實際上,真正能解決零日攻擊問題的方法是盡量減少系統和應用程序在編寫過程中造成的編碼錯誤,以及在系統和應用程序發布之前進行嚴格的前期測試,并且在后期對它們進行持續不斷的安全檢測。但是,對于一些動則上百萬行代碼的操作系統或應用程序來說,完全消除代碼中的錯誤是一個不可能完成的任務,尤其是多人協作開發的軟件更是如此。因此,零日攻擊在今后相當長的一段時間內仍然會存在,我們應當提高防范意識,來減少被零日攻擊的機率,以及降低零日攻擊帶來的損失。
參考文獻:
[1] 陳緒乾,楊渫塵.淺析網絡安全及防范技術[J].山東水利職業學院院刊,2009.6.
[2] 許興權.網絡安全技術問題研究[J].電腦知識與技術,2009,(20).
[2] 曲鼎.名為補丁無事,實有零日之憂[J].計算機安全,2007,5.