查看單個文章
舊 2005-09-02, 01:53 PM   #3 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9927小時 | 升級還需:69小時級別:97 | 在線時長:9927小時 | 升級還需:69小時級別:97 | 在線時長:9927小時 | 升級還需:69小時級別:97 | 在線時長:9927小時 | 升級還需:69小時級別:97 | 在線時長:9927小時 | 升級還需:69小時級別:97 | 在線時長:9927小時 | 升級還需:69小時級別:97 | 在線時長:9927小時 | 升級還需:69小時
註冊日期: 2002-12-07
文章: 13379
精華: 0
現金: 26614 金幣
資產: 3024524 金幣
預設

http://www.microsoft.com/taiwan/whdc...e/default.mspx
http://www.microsoft.com/taiwan/whdc...AE/PAEdrv.mspx

執行保護
執行保護 (NX,或不執行) 是作業系統的功能,其中依靠處理器硬體以屬性來標記記憶體,表示不可由該記憶體執行程式碼。執行保護的功能,是以每一虛擬記憶體分頁為基礎,通常會在分頁表項目 (PTE) 中使用一個位元來標記該記憶體分頁。

執行保護使程式碼無法從儲存資料的記憶體分頁 (例如預設堆積、各種堆疊和記憶體集區) 執行。此保護功能可以套用於使用者模式與核心模式。執行保護會使資料無法從堆疊執行,如此一來,最近肆虐的 MSBlaster 蠕蟲就會導致記憶體存取違規而終止處理序。在有執行保護的系統上,MSBlaster 就會被侷限於拒絕服務 (Denial-of-Service,DOS) 的攻擊,而不會有能力複製和散佈至其他系統。當然,如此也就能大幅縮減蠕蟲的影響範圍。雖然此執行保護功能可以限制原始形式之 MSBlaster 的破壞能力,但是執行保護並無法廣泛地抵禦所有的病毒、蠕蟲和其他惡意程式碼。

執行保護的實際硬體實作和虛擬記憶體分頁的標記,還會因處理器架構而異。不過,只要有支援執行保護的處理器,就可以在程式碼由標記適當屬性組的分頁執行時擲出例外狀況。32 位元版本的 Windows 目前已經可以使用 NX 處理器功能,如《AMD64 架構程式設計手冊》中所定義。若要使用此處理器功能,處理器必須以實體位置延伸 (Phsical Address Extension,PAE) 模式下執行。

雖然目前市面上具有 Windows 相容硬體支援執行保護的處理器只有 AMD K8 和 Intel Itanium 處理器家族,但是未來 32 和 64 位元處理器應該都將加入執行保護功能。Microsoft 已經準備在所有的旗艦 Windows 作業系統中提供執行保護功能,以推動此功能的支援。

Microsoft 將由 SP2 開始,在 Windows 中添加執行保護功能的支援,以搭配即將問世的處理器。執行保護對於緩衝區滿溢的風險有明顯的防範優勢,而且可以為 Microsoft 和協力廠商的開發人員建立優良的程式碼編寫守則。



總而言之就是
AMD K8 + XP-SP2 = 記憶體執行保護
mini 目前線上  
送花文章: 2027, 收花文章: 8020 篇, 收花: 26845 次
回覆時引用此帖