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 部分: 防止缓冲区溢出

缓冲区溢出是攻击的使用某种形式的臭名昭著的来自 Internet。它们依赖保留磁盘空间用于变量时程序员可能会使错误的简单事实。

这意味着,例如,用户可能会随后输入包含的字符数远远超过最初指定的数据。与变量无关的周围内存可能也会受到影响。在大多数情况下,该程序将停止响应。但是,攻击者还可能利用该漏洞,从而获得对计算机的控制。
收起这个图片展开这个图片
缓冲区溢出

缓冲区溢出是如何工作的?

若要正确地理解一个缓冲区溢出的工作原理,您将需要一些技术知识。

计算机已被共享,所有程序的随机存取内存 (RAM)。为便于内存管理,Windows XP SP2 具有控制当前正在使用的 RAM 哪些数据段的功能。如果启动了某个程序,释放内存分配到该程序。

此内存分为三个部分:
  • 代码段
    针对具体程序的可执行文件的命令存储在此处。
  • 数据段
    特定于程序的数据存储在这里。
  • 堆栈 (数据段的一部分)
    与程序相关的所有内容存储在这里。这包括参数、 缓冲区,用于存储局部变量和,最重要的寄信人地址。寄信人地址指定其中程序后,将继续从已执行该函数。
    收起这个图片展开这个图片
    寄信人地址
    由用户输入的信息作为还注册为一个变量中,用户键入发送到堆栈的所有内容。通常情况下,这种行为不会构成问题。但是,如果由于编程错误超出缓冲区限制,堆栈将成为容易控制。例如,如果攻击选择攻击的相应项时,被指定的局部变量的整段可能被覆盖说明。此外,后续的返回地址可以更改为指向恶意代码。因此,程序将不再正常工作,但是盲目执行攻击者的命令。
    收起这个图片展开这个图片
    变量 X 将重定向到的有害代码

数据执行保护有何功能?

数据执行保护 (DEP) 监视程序以验证是否安全地使用系统内存。为此,DEP 软件,单独使用或与兼容的微处理器,标记的内存位置为"不可执行。如果程序尝试运行代码 (恶意或不) 从这些受保护的位置之一,DEP 将关闭该程序,并通过发送一条警告消息,通知您。

在安装 Windows XP SP2 之后,只启用 DEP 对于有必要的操作系统的程序和服务因为不是所有软件程序平稳都运行与 dep。为了增强安全性,可以对所有程序打开 DEP,然后定义为单独的程序和服务的例外。

如何启用 DEP 对所有程序

  1. 单击开始,指向控制面板,然后单击系统
    收起这个图片展开这个图片
    系统图标 (控制面板)
  2. 单击高级选项卡,然后单击性能下的设置
    收起这个图片展开这个图片
    系统属性-高级选项卡
  3. 单击数据执行保护选项卡,请选择打开 DEP 对所有程序和服务 (我选择的除外),然后单击确定
    收起这个图片展开这个图片
    性能选项-DEP 选项卡-对所有程序打开 DEP。.
  4. 您必须重新启动计算机,此更改才能生效。单击确定两次,以确认您的选择,然后重新启动计算机。
定义的异常
如果某些程序导致了问题,可以将其定义为例外中。若要执行此操作,请执行以下步骤:
  1. 数据执行保护选项卡上,单击添加
  2. 搜索并选择要添加为例外,单击打开,然后单击确定的程序文件。
  3. 单击确定两次,然后再重新启动计算机。

若要禁用数据执行保护

警告 此替代方法可能会使您的计算机或网络更易于受到恶意用户或恶意软件 (如病毒) 的攻击。我们不建议采用这种解决方法,但我们会提供此信息,以便您可以自己决定是否实施此替代方法。使用此方法,需要您自担风险。

如果计算机遇到 DEP 问题时,您可以禁用此功能。若要执行此操作,必须按如下所述修改 Boot.ini 文件:
  1. 首先必须检查您的文件夹选项。单击开始,单击控制面板,然后双击文件夹选项
    收起这个图片展开这个图片
    文件夹选项图标 (控制面板)
  2. 检查显示所有文件夹和系统文件。
    收起这个图片展开这个图片
    文件夹选项窗口的显示隐藏的文件...
  3. 在安全模式下启动计算机。若要执行此操作,请完成开机自检 (POST) 后按F8键。
  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 = xxxxxNoExecute = AlwaysOff.
    收起这个图片展开这个图片
    Boot.ini 编辑器-NoExecute = 选择启用
    收起这个图片展开这个图片
    Boot.ini 编辑器-NoExecute = AllwaysOff
  12. Boot.ini 文件保存和还原为只读的然后重新启动计算机。

参考

有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
875352 在 Windows XP Service Pack 2、 Windows Server 2003 和 Windows XP Tablet PC 版 2005 年数据执行保护 (DEP) 功能的详细的说明
有关Windows XP Service Pack 2 的步骤的指南中的其他主题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
889735 Windows XP Service Pack 2 (第 1 部分)

889736 设置 Service Pack 2 (第二部分)

889737 新的安全中心 (第 3 部分)

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 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。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