本地计算机区域锁定功能的作用是什么?
当 Internet Explorer 打开一个网页时,它基于该网页的 Internet Explorer 安全区域对该网页可以执行的操作加以限制。有几种可能的安全区域,每一种安全区域都具有不同的限制集。一个页面的安全区域是由其位置确定的。例如,位于 Internet 上的页面通常位于比较严格的 Internet 安全区域。它们可能不被允许执行某些操作,如访问本地硬盘驱动器。位于企业网络的页面通常位于 Intranet 安全区域,对其限制较少。与其中的大多数区域关联的精确限制可以由用户通过“工具”菜单上的“Internet 选项”来进行配置。
在 Windows XP Service Pack 2 之前,本地文件系统中的内容(Internet Explorer 缓存的内容除外)被视为是安全的,并被指派给“本地计算机”安全区域。此安全区域通常允许内容在 Internet Explorer 中运行,限制相对比较少。然而,攻击者常常试图利用“本地计算机”区域来提升特权并破坏计算机。
通过对 Windows XP SP2 中的 Internet Explorer 进行的其他更改将会缓解许多利用“本地计算机”区域的漏洞来攻击计算机的行为。然而,攻击者可能还是能够想出利用“本地计算机”区域来攻击计算机的方式。Windows XP SP2 通过默认情况下锁定 Internet Explorer 中的“本地计算机”区域来进一步保护用户。其他应用程序中托管的本地 HTML 将在“本地计算机”区域的先前且限制较低的默认设置下运行,除非该应用程序利用“本地计算机区域锁定”功能。
管理员将能使用组策略来管理“本地计算机区域锁定”功能,并且更容易将其应用到计算机组。
此功能适用于哪些用户对象?
所有应用程序开发人员都应该检查此功能。托管 Internet Explorer 中的本地 HTML 文件的应用程序都可能受到影响。托管 Internet Explorer 的独立应用程序的开发人员将需要修改他们的应用程序以利用“本地计算机区域锁定”功能。
默认情况下,“本地计算机区域锁定”功能只对 Internet Explorer 启用。开发人员需要注册他们的应用程序以利用这些更改。没有使用此缓解措施的应用程序,开发人员应该自发地检查它们的应用程序受到本地计算机区域攻击的危险程度。
托管 Internet Explorer 的应用程序的软件开发人员应该通过如文档后面所描述的那样向注册表中添加它们的进程名来使用此功能。将来,Microsoft 可能使用“opt-out”(选择排除)策略而不是“opt-in”(选择使用)策略来实现此功能。应该对托管 Internet Explorer 的应用程序进行测试,以确保在对其进程启用了“本地计算机区域锁定”的情况下,这些应用程序能够正常
地工作。
网络管理员可能具有受这些限制影响的本地脚本。管理员应该检查可用的解决方案,以便在不破坏用户
客户端计算机安全性的前提下,启用它们的本地脚本。
托管在 Internet 或本地 Intranet 区域上的网站的开发人员不应该受到本地计算机区域更改的影响。
如果应用程序与这些比较严格的限制不兼容,这些应用程序的用户可能会受到影响。
Windows XP Service Pack 2 中对哪些现有功能进行了更改?
对本地计算机区域安全设置的更改
详细说明
在 Windows XP Service Pack 2 中,对“本地计算机区域锁定”功能的限制甚至比 Internet 区域更加严格。每当内容尝试任何其中某个操作时,Internet Explorer 中都会出现信息栏,并显示下列文本:
为了帮助保护您的安全,Internet Explorer 限制此文件显示可能访问您的计算机的活动内容。有关选项,请单击这里...
用户可以单击信息栏以从受限制的内容中删除锁定。
控制将特权授予在本地计算机区域中运行的内容的安全设置被称为 URL 操作。当本地计算机区域锁定
应用于给定的进程时,会将 URL 操作的行为从以前的本地计算机区域设置“允许”更改为“禁止”。这样脚本和 Active X 控件将不会运行。更改的默认 URL 操作是:
• URLACTION_RUN_SCRIPT
INTERNET EXPLORER 无法打开• URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX
• URLACTION_ACTIVEX_RUN
• URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY
• URLACTION_CLIENT_CERT_PROMPT
• URLACTION_BEHAVIOR_RUN
• URLACTION_JAVA_PERMISSIONS
对于“本地计算机区域锁定”功能,这些设置存储在一个单独的注册表项下:
HKEY_CURRENT_USER\Software\Microsoft
\Windows\CurrentVersion\Internet Settings\Lockdown_Zones\0
默认本地计算机区域 URL 操作设置位于下列注册表项下:
HKEY_CURRENT_USER\Software\Microsoft
\Windows\CurrentVersion\Internet Settings\Zones\0
为什么此更改非常重要?它有助于缓解哪些威胁?
此更改有助于防止用户计算机上的内容提升特权。具有此类提升特权的代码然后可以通过 ActiveX 控件运行任何代码或利用脚本来读取信息。
哪些功能发生变化?是否存在任何依赖性?
如果一个网页使用前面列出的任何限制类型的内容,则 Internet Explorer 会如前所述显示信息栏。
通过 res: 协议驻留在本地计算机上的 HTML 文件将自动运行在 Internet 区域的安全设置下。有关这些模板所允许的操作的详细信息,请参阅 MSDN 网站上的“Introduction to URL Security Zones”(URL 安全区域简介),网址为 go.microsoft/fwlink/?LinkId=26003。
如何解决这些问题?
通过在出现以下消息时单击“是”,可以允许 Active X 和脚本始终运行在从 CD 启动的网页中:
活动内容可能危害您的
计算机或泄露个人信息。确实要允许 CD 在您的计算机上运行活动内容吗?
如果您的网页需要运行 ActiveX 或脚本,您可以在 HTML 代码中添加一个 Web 注释的标记。此 Internet Explorer 功能使得 HTML 文件可以强制进入除本地计算机区域以外的区域,从而使得此类文件可以基于将应用于注释中指出的 URL 的安全模板来运行脚本或 ActiveX 代码。例如,如果指定的 URL 是 so,并且该 URL 出现在您的受信任站点列表中,该网页将使用受信任的站点区域的安全模板。此设置在 Internet Explorer 4 和更高版本中起作用。要将 Web 注释的标记插入到 HTML 文件中,请添加下列注释之一:
<!-- saved from url=(0022)ururl -->
当要将 Web 标记插入到一个其域已经被标识的页中时,可以使用此注释,并用托管此页的 Internet 或 Intranet 域的 URL 替换 ururl。在 URL 之前包含用于 Web 标记的 URL 长度,并将该长度放入圆括号中,如 (0022)。
如果您希望自己的网页始终被处理,就好像它是 Internet 区域的一部分,可以使用以下 Web 标记:
<!-- saved from url=(0013)about:internet -->
一般地,当您需要插入 Web 标记时,可以使用此注释。about:internet 部分将该页放入 Internet 区域中。
作为对 Windows XP SP2 中的 Internet Explorer 的更改一部分,此 HTML 注释还可以与 .mht 文件一起使用(这种情况称为“多部分 HTML”)或与 .xml 文件一起使用。在 Internet Explorer 的早期版本中,不支持将 Web 标记用于 .mht 文件或 .xml 文件。
作为另一种方法,您可以创建一个单独的应用程序,该应用程序以 Internet Explorer Web 对象控件 (WebOC) 托管 HTML 内容。之后,HTML 不再受适用于在 Internet Explorer 中运行的内容的规则的限制。当 HTML 内容在其他进程中运行时,它可以具有如开发人员或该进程的区域策略所定义的全部权限。
达到此目的的一个简单方式是将您的内容保存为 .hta(HTML 应用程序)文件,并尝试再次在本地计算机区域中运行该文件。.hta 文件托管在一个不同的进程中,因此不会受此减轻功能的影响。然而,.hta 文件会以完全权限运行,因此不应该允许不受信任的代码以这种方式运行。
是否需要更改代码才能使用 Windows XP Service Pack 2?
开发人员应测试他们的应用程序并启用锁定,以便提供增强的安全级别。独立应用程序的开发人员应该计划在他们托管 Internet Explorer 的应用程序中采用这些更改。
以前允许在本地计算机区域中提升特权的 ActiveX 控件的开发人员不应该更改他们的控件以在另一个区域中允许提升特权。相反,这些控件应该被转换为只从 HTML 应用程序(.hta 文件)或在“本地计算机区
域锁定”功能之外运行的独立应用程序运行。
默认情况下,“本地计算机区域锁定”没有对非 Internet Explorer 进程启用。开发人员必须显式地注册他们的应用程序以利用这些更改。没有使用此缓解措施的应用程序,开发人员应该自发地检查它们的应用程序受到本地计算机区域攻击的危险程度。要对您的应用程序启用“本地计算机区域锁定”功能,请转到下列注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Internet Explorer\Main\FeatureControl
\FEATURE_LocalMachine_Lockdown
将一个 REG_DWORD 值添加到为您的应用程序命名的此项中(例如,),并将其设置为 1。此值的任何其他设置将对应用程序禁用“本地计算机区域锁定”功能。
发布评论