用EMET防范0day漏洞溢出攻擊
要說最恐怖的黑客攻擊是什么,答案肯定是緩沖區溢出攻擊。當年Windows爆發RPC溢出漏洞后,網絡上每天有數百萬臺計算機被黑客入侵。黑客利用溢出漏洞無需復雜的技術,只需利用工具一個命令即可進入目標的計算機中,史上最強計算機病毒“震蕩波”也正是利用PRC溢出漏洞進行傳播的。而殺毒軟件面對溢出攻擊,卻束手無策,這就是溢出攻擊的恐怖之處。那么什么是溢出攻擊?我們又該如何防范溢出攻擊呢?請看本文。
什么是溢出攻擊?
溢出,顧名思義和水溢出的原理相當。我們來舉個簡單的例子:有一桶干凈的水,水面剛好和桶口齊平,我們將一杯污水倒入到這個桶中,這時水會發生溢出,但這不是重要的,重要的是已經有部分污水混入了干凈的水,這時這桶水已經不再是一桶干凈的水了。
把這個原理搬到溢出攻擊中后可以這樣理解:我們將一段惡意代碼通過漏洞插入到程序正常的代碼當中,由于代碼長度是固定的,這段代碼會有一部分正常代碼被溢出,也就是說我們的惡意代碼代替了正常的程序代碼。在程序要調用這段代碼的時候,它會將我們插入的惡意代碼當作正常代碼調用,這時溢出攻擊就完成了。這段惡意代碼可實現的作用是任意的,例如提升用戶權限、造成程序崩潰等等。
本文相關軟件
Enhanced Mitigation Experience Toolkit
軟件版本:2.0.0.3
軟件大小:4.66MB
軟件語言:中文
應用平臺:Windows XP/Vista/7
注:在安裝之前,首先要安裝.net framework 2.0。
下載軟件:http://down.51cto.com/data/169420
由于溢出攻擊屬于黑客攻擊行為,并不是什么病毒木馬,因此殺毒軟件在溢出攻擊面前毫無招架之力,所以在電腦上安裝殺毒軟件并不能防御溢出攻擊,而必須借助一些專業的防溢出安全軟件。
防范溢出是一項比較復雜的工作,如果對系統進行防溢出配置,那需要花費大量的時間,并且需要一定的技術,因此借助于防溢出安全工具無疑是最好的選擇。微軟的防溢出工具Enhanced Mitigation Experience Toolkit(簡稱EMET)可以說是配置最簡單也最有效的防溢出工具(誰讓Windows是溢出漏洞大戶呢)。EMET不僅可以防范Windows上的各種0day漏洞,還能防范第三方軟件的0day漏洞,在漏洞補丁沒有發布之前,EMET可以有效保護計算機不被黑客攻擊。
EMET主界面
EMET可以提供數據執行保護功能(DEP),這是自XP SP2起加入的安全功能。DEP可以強制阻止位于內存中的可執行代碼運行,僅允許純數據內容,這樣就能預防常見的漏洞利用方式。而通過EMET就可以讓原本不具備DEP功能的應用程序獲得這項功能。#p#
安裝完畢后我們雙擊運行,EMET的界面可以說是相當之簡潔。上半部分為系統全局狀況,下半部分則是當前所有運行中的進程,可以查看是否支持DEP,是否被EMET強化過。上半部分的系統全局設置Configure System選項,對于Windows 7用戶采用默認設置即可;對于XP用戶,建議采用“Maximum Security Settings”,因為XP本身不具備SEHOP和ALSR(克服地址空間布局隨機化限制,防止dll溢出)功能。
全局保護設置
而應用程序方面,鑒于目前被利用的絕大多數0day都來自與網絡有關的應用程序,比如IE,所以我們要重點關照一下這些程序。點擊“Configure Apps”,接著點“Add”,添加你希望保護的程序。完成后運行你剛才添加的程序(如果該程序添加前已經在運行則需要關閉重啟之),此時,在EMET主界面上就會看到受保護的程序在“Running EMET”一欄里有了標識。
添加對單個程序的保護
以后只要網絡上公布了Windows或某軟件的0day漏洞,我們就可以通過EMET對其進行設置,這樣即可臨時解決溢出問題。當然,最終的解決辦法還是安裝漏洞補丁,這樣才能一勞永逸。
【編輯推薦】