文章編號: 889741 - 上次校閱: 2007年2月6日 - 版次: 1.4

針對緩衝區溢位保護 Windows XP Service Pack 2 (第 7):

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
重要事項 本篇文章包含如何協助較低的安全性設定或如何關閉電腦上的安全性功能, 它會顯示資訊。 您可以進行這些變更,避開某個特定的問題。. 在進行這些變更之前,建議您先評估在特定環境中使用此替代解決方案的相關風險。. 如果您實作這項因應措施, 請採用任何適當的額外步驟, 以協助保護您的系統。

在此頁中

全部展開 | 全部摺疊

結論

本篇文章是組件的 Windows XP Service Pack 2 - Step by Step 指南 7。 本篇文章說明如何防止緩衝區溢位在 Microsoft Windows XP Service Pack 2 (SP 2)。

若要在本指南, Windows XP Service Pack 2 - Step by Step 檢視中的其他文件請參閱 〈 參考 〉 一節中所列 「 Microsoft 知識庫 」 文件。

Windows XP Service Pack 2 - Step by Step 指南包括下列主題:
Part 1:  Better security with Service Pack 2

Part 2:  Installing Service Pack 2

Part 3:  The new Security Center

Part 4:  Automatic Updates

Part 5:  Virus protection

Part 6:  Windows Firewall

Part 7:  Protecting against buffer overflows

Part 8:  Improvements in Internet Explorer and Outlook Express

Part 9:  Uninstalling Service Pack 2

其他相關資訊

針對緩衝區溢位保護 7 部份:

緩衝區溢位是個最昭彰形式的從網際網路攻擊。 簡單的事實上, 程式設計人員可能會使錯誤保留磁碟空間給變數時, 依賴它們。

這表示, 舉例來說, 使用者可能會接下來輸入含有許多更多字元比原先指定的資料 有使用變數來進行任何項目周圍的記憶體也可能會受到影響。 大部分時間, 程式將會停止回應。 不過攻擊者也可能會利用這項弱點, 取得電腦控制權。
摺疊此圖像展開此圖像
Buffer overflow

緩衝區溢位在什麼呢 ?

若要正確地瞭解緩衝區溢位如何運作, 您將需要某些技術知識。

電腦都有隨機存取記憶體 (RAM) 的所有程式所共用。 以方便記憶體管理, Windows XP SP 2 有一個功能控制目前正在使用哪個區段的 RAM。 如果啟動某個程式, 可用記憶體配置給該程式。

這個記憶體可分為三個區段:
  • 程式碼區段
    在這裡儲存程式特有的可執行命令。
  • 資料區段
    程式特定資料會儲存在這裡。
  • 堆疊 (一部份的資料區段)
    與程式功能相關的所有項目會儲存在這裡。 這包括參數、 緩衝區為儲存區域變數也是, 最重要、 寄件者地址。 將寄件者地址指定其中程式將繼續從函式執行之後。
    摺疊此圖像展開此圖像
    Return address
    為是, 使用者輸入資訊也會登錄為變數, 一切該使用者類型是傳送至堆疊。 通常, 這個行為不會造成問題。 不過, 如果超過緩衝區限制, 因為的程式設計錯誤, 會將堆疊變成輕鬆地控制項。 以指示覆如果攻擊者選取適當的項目為這項攻擊, 舉例來說, 指定為本機變數將整個區段可能會寫。 此外, 後續的傳回位址可以變更為指向惡意程式碼。 因此, 程式, 無法再運作但盲目地執行攻擊者的命令。
    摺疊此圖像展開此圖像
    Variable X redirecting to harmful code

資料執行防止 」 功能為何 ?

資料執行防止 (DEP) 監視程式, 以確定是否他們正在使用系統記憶體安全。 如果要執行這項操作, DEP 軟體, 單獨或以相容的微處理器, 來標記記憶體位置標示為 「 非 」 可執行檔。 如果程式嘗試執行程式碼) 或未惡意 (DEP 會關閉程式並藉由傳送一則警告訊息會通知您從這些受保護的位置, 之一

在您安裝 Windows XP SP 2, DEP 只有啟用為必要的作業系統程式和服務, 因為並非所有的軟體程式順利地執行與 DEP (資料執行防止)。 若要增強式安全性, 您可以為所有程式開啟 DEP, 然後定義為個別程式和服務例外狀況。

如何啟用 DEP 為所有程式

  1. 再按一下 [ 開始 ] , 指到 [ 控制台 ] , 及 系統 。
    摺疊此圖像展開此圖像
    System icon (Control Panel)
  2. 依序按一下 [ 進階 ] 索引標籤, 和在 [ 效能 ] 然後按一下 [ 設定 ] 。
    摺疊此圖像展開此圖像
    System Properties - Advanced tab
  3. 按一下 [ 資料執行防止 ] 索引標籤選取 [ 為所有程式和服務, 除了我選擇的這些 DEP 上 , 然後按一下 [ 確定 ] 。
    摺疊此圖像展開此圖像
    Performance Options - DEP tab - Turn on DEP for all programs...
  4. 您必須重新啟動電腦, 這個變更才會生效。 藉由按一下 確定 ] 兩次, 確認您的選項, 然後重新啟動電腦。
定義例外狀況
如果特定的程式造成問題, 它們定義為例外狀況。 如果要執行這項操作,請依照下列步驟執行。:
  1. 在 資料執行防止 ] 索引標籤, 按一下 [ 新增 ] 。
  2. 搜尋並選取程式檔案, 您要新增為例外狀況按一下 [ Open , 然後按一下 [ 確定 ] 。
  3. 按兩次, [ 確定 ] , 然後重新啟動電腦。

如果要停用資料執行防止 」

警告 這項因應措施可能會使您的電腦或網路上更容易由惡意使用者或惡意軟體 (例如病毒攻擊。 雖然不建議使用這個替代解決方案,但我們仍提供這項資訊,讓您可以自行選擇是否採用這個方案。. 請自行承擔使用此替代解決方案的風險。.

如果電腦上遇到問題 DEP, 您可以停用這個函式。 如果要執行這項操作, 您必須修改 Boot . ini 檔, 如下所示:
  1. 您必須先檢查您的 資料夾選項 ] 。 請按一下 [ 開始 ] 、 [, [ 控制台 ] 及再連按兩下 [ 資料夾選項 ] 。
    摺疊此圖像展開此圖像
    Folder Options icon (Control Panel)
  2. 請檢查所有資料夾及檔案系統, 才會顯示。
    摺疊此圖像展開此圖像
    Folder Options window - show hidden files...
  3. 以安全模式啟動電腦。 在完成開機自我測試 (POST) 後如果要執行這項操作, 按下 F 8 鍵。
  4. 使用 方向鍵 來選取 [ 安全模式 ] 選項。 然後按 ENTER。.
  5. 請選取您要啟動, 作業系統並按下 ENTER 鍵。
  6. 開啟 [ 我的電腦 ], 並按一下 [ C:\ 磁碟機 。 請搜尋為 Boot . ini 檔案。
  7. 作為預防措施, 製作備份的 Boot . ini 檔案。 再如果要執行這項操作, 在檔案上按一下滑鼠右鍵, 按一下 [ 複製 ] 、 的空白區域上, 按一下滑鼠右鍵及 貼上 ] 。
  8. 在 Boot . ini 檔案上, 按一下滑鼠右鍵, 然後按一下 [ 內容 ] 。
    摺疊此圖像展開此圖像
    C:\boot.ini - Properties in context menu
  9. 按一下以清除 Read - only , 然後再按一下 [ 確定 ]
    摺疊此圖像展開此圖像
    Read-only checkbox deactivated
  10. 請按一下 [ 開始 ] , 按一下 執行 , 型別 notepad c:\boot.ini然後按一下 [ 確定 ]
    摺疊此圖像展開此圖像
    Run - notepad c:\boot.ini
  11. 變更 NoExecute=xxxxxNoExecute=AlwaysOff.
    摺疊此圖像展開此圖像
    Boot.ini editor - NoExecute=OptIn
    摺疊此圖像展開此圖像
    Boot.ini editor - NoExecute=AllwaysOff
  12. 儲存 Boot . ini 檔案, 還原成 read - only, 然後再重新啟動電腦。

?考

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件::
875352? (http://support.microsoft.com/kb/875352/ ) 詳細說明 Windows XP Service Pack 2、Windows XP Tablet PC Edition 2005 和 Windows Server 2003 中的資料執行防止 (DEP) 功能
如需輔助線, Windows XP Service Pack 2 - Step by Step 中的其他主題的資訊請按一下下面文件編號, 檢視 「 Microsoft 知識庫 」 中的文件:
889735? (http://support.microsoft.com/kb/889735/EN-US/ ) Windows XP Service Pack 2 (部分 1)

889736? (http://support.microsoft.com/kb/889736/EN-US/ ) 安裝 Service Pack 2 (部分 2)

889737? (http://support.microsoft.com/kb/889737/EN-US/ ) 新的 「 資訊安全中心 」 (第 3)

889738? (http://support.microsoft.com/kb/889738/EN-US/ ) 「 自動更新 」 (部分 4)

889739? (http://support.microsoft.com/kb/889739/EN-US/ ) 病毒防護 (Part 5)

889740? (http://support.microsoft.com/kb/889741/EN-US/ ) Windows 防火牆 (7 一部份)

889742? (http://support.microsoft.com/kb/889742/EN-US/ ) 在 Internet Explorer 和 Outlook Express (部分 8) 改進

889743? (http://support.microsoft.com/kb/889743/EN-US/ ) 解除安裝 Service Pack 2 (部分 9)
本文譯自德文。. 如果德文版原文中有任何後續變更或新增內容,本譯文可能不會隨著更新內容。. 本產品的德文語言的版本是根據本文中所包含資訊。 精確度此資訊以其他語言版本的此產品相對不測試在這項轉譯的架構。 Microsoft 發佈此資訊,但是並不保證其正確性或功能,亦不保證譯文的完整性或正確性。.

這篇文章中的資訊適用於:
  • Microsoft Windows XP Service Pack 2?應用於:
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
關鍵字:?
kbhowto KB889741 KbMtzh kbmt
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。如果您發現錯誤,並想要協助我們進行改善,請填寫本篇文章下方的問卷。
按一下這裡查看此文章的英文版本:889741? (http://support.microsoft.com/kb/889741/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。