Windows XP Service Pack 2 (組件 7): 保護對抗緩衝區溢位

文章翻譯 文章翻譯
文章編號: 889741
重要 本文將告訴您,如何幫助較低的安全性設定或如何關閉電腦上的安全性功能的資訊。若要暫時略過特定的問題,您可以進行這些變更。在進行這些變更之前,我們建議您先評估在特定環境中實作此因應措施的相關風險。如果您決定此因應措施,採用任何其他的適當步驟,以協助保護您的系統。
全部展開 | 全部摺疊

在此頁中

結論

本文是Windows XP Service Pack 2 逐步指南 》 中的組件 7。本文說明如何保護對抗緩衝區溢位,在 Microsoft Windows XP Service Pack 2 (SP2)。

若要檢視Windows XP Service Pack 2 逐步指南 》 中的其他文件,請參閱 〈 參考 〉 一節所列出的 Microsoft 知識庫 」 文件。

Windows XP Service Pack 2 逐步指南 》 包含下列主題:
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 部-: 保護對抗緩衝區溢位

緩衝區溢位是一種來自網際網路攻擊的最少的形式。它們都依賴程式設計人員可能會使錯誤,所以保留變數的磁碟空間的簡單事實。

這表示,例如,使用者可能會接著輸入包含多字元數超過原先指定的資料。與變數無關的周圍記憶體可能也會受到影響。大多數情況下,程式會停止回應。然而,攻擊者可能也會利用這項弱點,取得電腦控制權。
摺疊此圖像展開此圖像
緩衝區溢位

緩衝區溢位是如何運作的?

若要正確地瞭解緩衝區溢位的運作方式,您需要一些技術的知識。

電腦有共用的所有程式的隨機存取記憶體 (RAM)。若要讓記憶體管理更容易,Windows XP SP2 會有一個功能,控制目前正在使用哪一個區段的 RAM。如果啟動程式時,會將可用的記憶體配置給該程式。

此記憶體可分為三個區段:
  • 程式碼片段
    進入以某個 office 程式的可執行命令都會儲存在此。
  • 資料區段
    程式特定的資料儲存在此處。
  • 堆疊 (資料區段的一部份)
    與程式功能相關的所有項目儲存在此處。這包括參數、 緩衝區儲存本機變數,最重要的寄件人地址。寄件人地址指定位置程式將繼續從函式執行之後。
    摺疊此圖像展開此圖像
    寄件人地址
    做為使用者所輸入的資訊集也登錄為變數,所有使用者輸入傳送至堆疊的項目中。一般而言,這種行為不會造成問題。不過,如果緩衝區上限超出的程式設計錯誤,堆疊會變成容易控制。例如,如果攻擊者選取適當的項目,此弱點,指定給本機變數的整個區段可能會覆寫指示。此外,後續傳回位址可以變更為指向惡意程式碼。因此,程式無法再運作正確,但盲目地執行攻擊者的命令。
    摺疊此圖像展開此圖像
    變數 X 將重新導向到有害的程式碼

資料執行防止的作用何在?

資料執行防止 (DEP) 監視程式來確認是否他們安全地使用系統記憶體。若要執行這項操作,DEP 軟體,不論是單獨或是與相容的微處理器搭配執行,標示的記憶體位置為 「 不能執行 」。如果程式嘗試執行程式碼 (惡意與否) 的其中一個受保護位置,DEP 關閉程式,並會傳送一則警告訊息的方式通知您。

在安裝 Windows XP SP2 之後,DEP 僅適用於所需的作業系統程式和服務因為並非所有的軟體程式執行順暢的相依性若要增強安全性,您可以為所有程式開啟 dep,,然後定義個別的程式和服務的例外狀況。

如何啟用 DEP 的所有程式

  1. 按一下 [開始],指向[控制台],然後按一下 [系統
    摺疊此圖像展開此圖像
    系統] 圖示 (控制台)
  2. 按一下 [進階] 索引標籤,然後按一下 [效能] 下的 [設定
    摺疊此圖像展開此圖像
    系統內容-進階索引標籤
  3. 按一下 [資料執行防止] 索引標籤,選取 [為所有的程式及除了我選擇的這些服務開啟 DEP,,然後按一下[確定]
    摺疊此圖像展開此圖像
    效能選項-DEP] 索引標籤-會為所有程式開啟 dep...
  4. 您必須重新啟動電腦,這個變更才會生效。按一下[確定]兩次,確認您的選項,然後重新啟動電腦。
定義例外狀況
如果特定程式會造成問題,請將其定義為例外狀況。若要這樣做,請依照下列步驟執行:
  1. 按一下 [資料執行防止] 索引標籤的 [新增]。
  2. 搜尋並選取您想要新增為例外狀況,按一下 [開啟],然後按一下 [確定的程式檔案。
  3. 按一下[確定]兩次,然後重新啟動電腦。

若要停用資料執行防止

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

如果電腦遇到 DEP 的問題,您可以停用此函式。若要這麼做,您必須修改 Boot.ini 檔如下所示:
  1. 您必須先檢查您的資料夾選項。按一下 [開始] 及 [控制台]中,然後按兩下 [資料夾選項
    摺疊此圖像展開此圖像
    資料夾選項] 圖示 (控制台)
  2. 顯示所有資料夾及系統檔案檢查。
    摺疊此圖像展開此圖像
    資料夾選項] 視窗的顯示隱藏的檔案...
  3. 以安全模式啟動電腦。若要執行這項操作,請按F8鍵,完成電源上自我測試 (POST) 之後。
  4. 使用方向鍵來選取 [安全模式] 選項。然後,按 ENTER 鍵。
  5. 選取您要啟動的作業系統,然後按 ENTER 鍵。
  6. 開啟 [我的電腦],然後按一下 [磁碟機 C:\。[搜尋],將 Boot.ini 檔案。
  7. 為求安全起見,製作一份備份 Boot.ini 檔案。若要執行這項操作,以滑鼠右鍵按一下檔案,按一下 [複製]、 空白區域,以滑鼠右鍵按一下,然後按一下
  8. Boot.ini 檔案中,按一下滑鼠右鍵,然後按一下 [屬性
    摺疊此圖像展開此圖像
    C:\boot.ini-快顯功能表中的屬性
  9. 按一下以清除唯讀,然後按一下[確定]
    摺疊此圖像展開此圖像
    唯讀核取方塊停用
  10. 按一下 [開始],按一下 [執行] 型別 [記事本] c:\boot.ini然後按一下[確定]
    摺疊此圖像展開此圖像
    執行-記事本 c:\boot.ini
  11. 變更 NoExecute = xxxxx 若要 NoExecute = AlwaysOff.
    摺疊此圖像展開此圖像
    Boot.ini 編輯器-NoExecute = OptIn
    摺疊此圖像展開此圖像
    Boot.ini 編輯器-NoExecute = AllwaysOff
  12. 儲存 Boot.ini 檔案,返回唯讀狀態,並再重新啟動電腦。

?考

如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
875352 在 Windows XP Service Pack 2,Windows XP Tablet PC 版 2005 和 Windows Server 2003 的 「 資料執行防止 (DEP) 」 功能的詳細的說明
如需有關Windows XP Service Pack 2 逐步指南 》 中的其他主題的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
889735 Windows XP Service Pack 2 (第 1 部分)

889736 安裝 Service Pack 2 (第 2 部)

889737 新資訊安全中心 (第三部分)

889738 自動更新 (第 4 部分)

889739 病毒防護 (第 5 部分)

889740 Windows 防火牆 (第 7 部)

889742 改良 Internet Explorer 和 Outlook Express (第 8 部)

889743 解除安裝 Service Pack 2 (第 9 部份)
本文是譯自德文。任何後續變更或加入德文版原文的項目可能不會反映在本譯文中。本文中所包含的資訊根據本產品的德文語言版本。本產品其他語言版本與此資訊的正確性不會在此譯本架構內測試。Microsoft 發佈此資訊不保證其正確性或功能的情況下並不擔保的完整性或正確性的轉譯。

屬性

文章編號: 889741 - 上次校閱: 2013年10月10日 - 版次: 1.0
關鍵字:?
kbhowto kbmt KB889741 KbMtzh
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:889741
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com