详细了解Windows Vista内核的安全性

哎呀网 | 发布: 2008-1-03 12:09 | 作者: 佚名 | 来源: 网络转载 | 浏览次数: 39 | 评论数: 0

哎呀网 Vista安全】Windows Vista通过许多新功能和改进提高了系统的可靠性和您对系统与应用程序问题的诊断能力。例如,内核Windows事件跟踪(ETW)记录程序总是处于运行状态,能够生成有关文件注册表、中断以及其他活动类型的跟踪事件,并保存在循环缓冲区中。当出现问题时,新的Windows诊断基础结构(WDI)会捕获缓冲区快照,并进行本地分析或上载到Microsoft支持进行故障排除。哎呀网V*e!}.S*Wa R

  新的Windows性能和稳定性监视器可以帮助用户通过更改系统配置将错误(如崩溃和挂起)相互关联。强大的系统修复工具(SRT)取代了故障恢复控制台,用于不可启动系统的离线恢复。哎呀网!~1\iW|c

  有三个方面依靠对系统进行的内核级更改,即需要您认真阅读的本文中的以下方面:内核事务管理器(KTM)、改进的崩溃处理和以前的版本。

u4{)nXZ.mm:o  1.内核事务管理器

]1\4C9pYV  软件开发中最繁琐的一个方面就是处理错误条件。特别是在进行高级操作的过程中,应用程序完成了一个或多个导致文件系统或注册表更改的子任务。例如,应用程序的软件更新服务可能要进行几次注册表更新,替换应用程序的可执行文件之一,而在它尝试更新第二个可执行文件时被拒绝访问。如果服务不想将应用程序留在因此导致的不一致状态,就必须跟踪所有更改并为撤销它们做好准备。测试错误恢复代码很困难,并经常跳过,因此恢复代码中的错误会让努力徒劳无功。哎呀网N.d.fDlL

  为 Windows Vista编写的应用程序通过使用NTFS中新的事务支持和使用内核事务管理器的注册表,不费吹灰之力即可获得自动错误恢复能力。当应用程序想进行许多相关更改时,可以创建分布式事务处理协调器(DTC)事务和KTM事务处理,或直接创建KTM处理,并将对文件和注册表项的修改与事务关联起来。如果所有的更改成功,应用程序会提交事务同时更改生效,但是在此之前任何时候,应用程序可以回滚事务,然后放弃更改。哎呀网4~/RO-pPo

  其有利因素在于,其他应用程序在提交事务后才能看到事务中的更改,而在Windows Vista和即将问世的Windows Server(代号名为“Longhorn”)中使用DTC的应用程序会通过SQL Server、Microsoft Message Queue Server(MSMQ)以及其他数据库协调其事务。因此,使用KTM事务的应用程序更新服务永远不会将应用程序留在不一致的状态。这就是Windows Update和系统还原使用事务的原因。

7KE [\gU%s {\pX  作为事务支持的核心,KTM 允许事务资源管理器(如NTFS和注册表)对应用程序所做的特定更改协调其更新。在Windows Vista中,NTFS使用称为TxF的扩展来支持事务。注册表使用称为 TxR 的类似扩展。这些内核模式资源管理器与KTM一起协调事务状态,正如用户模式资源管理器使用DTC跨多用户模式资源管理器协调事务状态一样。第三方也可以使用 KTM 实施其自己的资源管理器。哎呀网"C i+nS7}:Ww

  TxF和TxR都定义了一套新的文件系统和注册表API(与现有的类似,只不过它们包含事务参数)。如果应用程序想在事务中创建文件,首先要使用KTM创建事务,然后将引起的事务处理传递给新文件创建 API。

;\0p/FJ S3U P%nZTxF和TxR都依赖在Windows Server 2003 R2中引入的公用日志文件系统或CLFS(%SystemRoot%\System32\Clfs.sys)的高速文件系统记录功能。TxR和TxF使用CLFS永久性地存储提交事务之前的事务状态更改。这样可以让它们提供事务恢复并确保即使在断电时也可以恢复。除了CLFS日志,TxR还创建了一组相关的日志文件,跟踪%Systemroot%\System32\Config\Txr中系统注册表文件的事务更改,同时还为每个用户注册表配置单元单独创建几组日志文件。TxF在名为\$Extend\$RmMetadata的卷的隐藏目录中存储每个卷的事务数据。哎呀网P!T,^0u#Ci9Oa

哎呀网8ffs2hY m;yY

  2.增强的崩溃支持哎呀网/G"zx'LV$ia W U5E

  当Windows遇到不可恢复的内核模式错误时(无论是由于设备驱动程序错误、硬件故障还是操作系统问题),在出现“蓝屏死机”现象和将物理内存的部分或所有内容写入崩溃转储文件(如果配置为执行此操作)后,它会尝试终止系统来防止磁盘数据的损坏。转储文件非常有用,因为当您在系统崩溃后重启时,Microsoft在线崩溃分析(OCA)服务会分析这些文件找出根本原因。如果愿意,您也可以使用面向Windows的Microsoft调试工具自已进行分析。哎呀网4IHyVAQ

  不过在以前的Windows版本中,只有在会话管理器(%Systemroot%\System32\Smss.exe)进程初始化分页文件后才会启用对崩溃转储文件的支持。这意味着在此之前任何严重错误会导致蓝屏,但没有转储文件。由于在Smss.exe启动之前,会出现大量的设备驱动程序初始化,所以早期的崩溃永远不会引起崩溃转储,因此使原因诊断极为困难。哎呀网'~/FZF2^%MQQ8v!n

  在所有引导启动设备驱动程序初始化之后,但在系统启动驱动程序加载之前,Windows Vista通过初始化转储文件支持,可减少无转储文件生成的时间窗口。由于这一更改,如果在引导过程开始时出现崩溃,系统就可以捕捉崩溃转储,让OCA帮助您解决问题。此外,Windows Vista使用64KB块将数据存储到转储文件中,而以前的Windows版本使用4KB块写入文件。这一更改使得大型转储文件的写入速度最多可提高10倍。

$]gw-O~v"SrR  应用程序崩溃处理功能在Windows Vista中也得以改进。在以前的Windows版本中,当应用程序崩溃时,它会执行未处理的异常处理程序。处理程序启动Microsoft应用程序错误报告(AER)进程(%Systemroot%\System32\Dwwin.exe),显示对话框,指明程序崩溃,并询问您是否要向Microsoft发送错误报告。不过,如果崩溃时进程主线程的堆栈损坏,未处理的异常处理程序执行时会崩溃,导致内核终止进程、程序窗口立即消失,并且没有错误报告窗口。

uk"{+I PP u  Windows Vista将错误处理从崩溃进程的上下文移至新服务,即Windows错误报告(WER)。此服务由服务托管进程中的DLL(%Systemroot%\System32\Wersvc.dll)实施。在应用程序崩溃时,它仍然会执行未处理的异常处理程序,但是该处理程序会向WER服务发送消息,并且服务会启动WER错误报告进程(%Systemroot%\System32\Werfault.exe) 以显示错误报告对话框。如果堆栈损坏并且未处理的异常处理程序崩溃,处理程序会再次执行并且再次崩溃,最终消耗所有线程的堆栈(使用内存区域),此时内核会介入,并向服务发送崩溃通知消息。

#zm3Opd'J2aBj ~

qS0f{e Zh U0?k4r
若您对该文章还有其它疑问,请到问吧提出。我们会全力为您解答。本站承诺:

TAG: Vista 安全

字号: | 推荐给好友

哎呀网加入收藏 哎呀网打印本页 哎呀网关闭窗口 哎呀网返回顶部 哎呀网进入博客 哎呀网进入论坛 哎呀网点击复制本页地址发给QQ/MSN好友
上一篇:Vista下系统恢复后数据丢失的解决方法
下一篇:拒绝被微软“强迫”妙招自定义Vista更新

51/512345>
 

评分:0

我来说两句

seccode

请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论。
用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的),本站管理员有权保留或删除评论内容。
软件信息
最新版本:V3.0.4
发布日期:2008年12月30日
全能精灵是一款系统辅助工具,包含系统检测,系统优化,系统美化,系统清理,系统维护,IE管理,任务管理器等模块,是您优化系统的好帮手。
软件信息
最新版本:V1.5
发布日期:2008年12月08日
截图精灵是一款屏幕截图软件。可轻松截取全屏,活动窗口,自定义窗口等的图像。
软件信息
最新版本:V2.2
发布日期:2008年11月26日
该工具可对文件进行MD5,CRC32的批量校验,同时支持文件拖放,您可以直接拖动文件到校验窗口。

网络推荐