【教學】WinXP SP2的DEP技術揭秘





mowong
2005-02-25, 06:37 PM
WinXP SP2的DEP技術揭秘

眾所周知,Windows XP SP2中增加了一項安全新功能——DEP(Date Execution Prevention資料執行保護),
可以保護電腦免受病毒的破壞。為了配合微軟的DEP技術,LNTE和AMD都開發了相應的防病毒CPU

DEP的防病毒原理

  如果你的系統升級到了SP2,啟用SP2的DEP功能即可防範病毒破壞,這是因為DEP能夠對各種程式進行監視
,阻止病毒在受保護的記憶體位置運行有害代碼。DEP通過處理器的NX(No eXecute)功能,查找記憶體中沒有明
確包含可執行代碼的資料(這些資料有時會是病毒的源代碼),找到這些資料後,NX將它們都標記為“不可執
行”。以後如果某程式在記憶體中,試圖執行這些帶“不可執行”標記的代碼,SP2將會自動關閉該程式。因此
,假如你運行了一個已經染毒的軟體,DEP就會把病毒代碼標記為“不可執行”,這樣就能阻止病毒在記憶體中
運行,保護電腦中的檔免受蠕蟲、病毒的傳染破壞。

  如果你想充分發揮DEP的保護功能,除了要把系統升級到SP2之外,你的CPU還必須支援DEP技術。目前常見
的32位處理器(例如P4 Northwood等)並不支援NX,支援該技術的CPU主要有AMD的64位處理器
(Athlon 64、AMD Opteron),以及Intel的安騰系列CPU、J系列的P4 Prescott,據說nVIDIA、VIA、全美達
等公司也計畫在其晶片中加入NX技術,不過這些廠商更新NX的步伐過於緩慢,正式推出還有待時日。

  啟用或禁用DEP的方法

  默認情況下,SP2僅對基本 Windows 程式和服務啟用了DEP。不過你也可以自己設置,讓電腦上的所有程
式都啟用DEP,以便防範病毒。

  例如除了Acrobat Reader5.0之外,要讓所有的程式和服務都啟用DEP,操作方法是:以管理員許可權帳
戶登錄SP2,然後單擊“開始→“控制台”,雙擊“系統”,單擊“進階”→“性能”下的“設定”。
http://soho.sinhk.com/photo/albums/userpics/10008/dep01.jpg

單擊“資料執行防止”選項卡,選中“為所有Windows程式和服務啟用DEP,除我選擇的這些”單擊“添加”。
http://soho.sinhk.com/photo/albums/userpics/10008/dep02.jpg

導航到“Program Files”檔夾,選擇該程式(Acrobat Reader 5.0)的可執行檔,最後單擊“確定”完成。
http://soho.sinhk.com/photo/albums/userpics/10008/dep03.jpg

這樣就除了Acrobat Reader 5.0外所有的程式都受到了DEP的保護,但以後該程式就很容易受到攻擊,病毒能
夠潛入該程式中,然後再傳染給電腦上的其他程式及Outlook中的聯繫人,並且破壞你的個人檔。如果有的程
式啟用 DEP 後無法正常運行,你可以向軟體廠商索取相容DEP的程式版本,如果沒有這樣的版本則禁用DEP。

  為了支援DEP,P4 Prescott採用了EDB 技術

  為了配合微軟的DEP功能,Intel為自己的CPU開發了“Execute Disable Bit”(EDB)記憶體保護技術。
目前Intel P4 Prescott(mPGA478與LGA775封裝)為C0或D0步進核心,最新的J系列P4 Prescott採用E0步進核
心。其中只有J系列P4 Prescott具備防病毒功能,只有它才真正支援EDB技術,能夠配合SP2的DEP防毒功能,
讓針對緩衝區溢出(buffer overrun)漏洞設計的病毒失效,預防它們複製並散播到其他系統。

  如果你使用了P4 Prescott/Celeron D(C0步進核心)的處理器,升級到SP2之後,就會發現Windows XP
作業系統鎖死在啟動畫面,但換上P4 Northwood卻不會出現這個問題。這是因為SP2能夠開啟P4 Prescott
(C0步進核心)內含的EDB 功能,但是這種型號的CPU並沒有EDB的執行能力,其內部EDB部分的電晶體不會加電
運作,因此會導致系統鎖死。為了解決這個問題,微軟已在9月14日發佈了相關修正檔,大家可以到微軟的官
方網站去下載。

  為了支援DEP,AMD的64位CPU使用EVP技術

  AMD 64位處理器最先支援微軟的DEP技術。為了配合DEP,AMD與微軟一起設計研發了AMD的新晶片功能
“Enhanced Virus Protection”(EVP增強病毒保護)。
AMD 64位處理器(包括Athlon 64/Athlon 64 FX/Athlon 64移動版本/Sempron移動版本等)都將具有EVP功能。
EVP功能可以和SP2的DEP技術配合,防範“緩存溢出”這一常見攻擊手段,打擊一些病毒和蠕蟲,對收發電子
郵件、下載檔等日常工作進行更好的保護。

  不過在AMD 64位處理器的機器上安裝SP2之後,只要你的電腦啟動了DEP功能、並且配置了要求名為
Mpegport.sys驅動程式檔的硬體設備,當你使用Sigma設計公司的Realmagic Hollywood Plus DVD解碼軟
體時,就會與DEP發生衝突。這是因為比較老的驅動程式會進行一些與病毒類似的操作,於是SP2就誤認它
為病毒,從而啟動DEP,導致電腦反復地重新啟動。為了解決這個問題,微軟建議用戶更新這個較老的驅
動程式,或者為這個解碼軟體禁用DEP,關掉SP2的病毒防護功能。




rushoun
2005-02-25, 08:04 PM
微軟真是為軟體界帶來不少商機,養活不少人。現在連硬體都可以來分杯羹了!
真是可喜可賀啊!

darkwarrior
2005-02-25, 11:49 PM
樓上的言重啦...其實這只是另一個軟硬體相互搭配的例子阿
這就好像AMD64一樣,多增加了新的CPU指令當然需要有為他調校的64BIT OS
DX9定好後自然會有廠商跟著此規格去修改顯示晶片達最佳效能

Fabian C
2005-02-26, 04:31 AM
預設的是"只為基本的Windows程式和服務開啟DEP"
不知道基本Windows程式是否有包含MSN Messenger??

一般傳毒管道幾乎都是透過微軟的 OE/IE/Windows Messenger/MSN Messenger.
我用Windows Messenger,在上次MSN病毒傳來時,
看到了病毒檔卻連存都不能存....想要玩看看都不行..
就覺得奇怪,怎麼可能會這麼多人中毒??
(但MSN會不會封鎖我就不清楚了)

eric0626
2005-07-14, 01:59 PM
受益良多~~ 謝謝分享!!