欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

Windows Vista五月专题系列一:您必须知道的Windows Vista安全功能(上)

不少网友甫一提及Windows Vista,所乐道者,不外乎其晶莹剔透的Glass效果,抑或超酷超炫的Flip 3D效果,还不忘加上一句“可惜硬件要求太高”……

其实这完全是一种误解,Windows Vista不但出落得姿容绝色,还有很多“内在美”,端的是“秀蕴于中”。而Vista的安全特性,尤其值得浓墨重彩、大书特书!

如今世界,不管是小布什、还是比尔.盖茨,最头痛的就是安全反恐的问题,可见安全是一个普遍关注的热门话题!

纵深安全防御

接下来的这张图片,相信大家都非常熟悉,对,这就是“臭名卓著”的纵深防御体系图。而Windows Vista则把安全理念渗透到纵深安全防御的每一个层面。本文就是以这张纵深防御的层次图为模板(实际是纵深安全防御体系结构图的一个“子集”),以目前最新的CTP Build 5381.1为范例,向读者诸君展示Windows Vista是如何武装到牙齿的!

基础结构安全

在整个Windows Vista安全体系中,基础结构安全可以说是最关键,同时又是最容易被忽略的。所以这里首先介绍这些具有“老黄牛”精神的基础安全特性。

 

1安全开发生命周期

微软对Windows Vista倾注了前所未有的心力,对整个开发过程引入了SDL(Security Development Lifecycle:安全开发生命周期)机制。耗费大量人力财力对工程师进行安全培训,据说Vista工程师有5000人,这些多人都要停工接受安全培训,可见微软投入之巨大、意念之坚决!

 

2.代码完整性

代码完整性(CICode Integrity)可以有效地防范木马、rootkit等对系统文件的恶意修改,防范不安全的第三方驱动对系统的危害。CI会检查代码的hash(内嵌于代码中的x.509证书,或者位于%windir%\system32\catroot里的编录文件),一旦发现hash值不符,就会停止加载代码。CI主要检查以下的代码:

(1) 系统启动时,检查内核、HAL和驱动的完整性

(2) 检查所有加载到内核内存空间的代码完整性

(3) 对加载到受保护进程空间里的代码进行完整性检查

 

3.服务加固(Level 300)

Windows Vista对服务进行了诸多有效的安全加固,能够极大地减少服务所带来的安全隐患。

(1) Session 0隔离

之前的操作系统,例如XP或者2003,服务和控制台登录的用户都是位于Session 0,这样用户进程只要成功对服务发起攻击,就可以提升自己的权限。而现在Vista里的所有服务都运行在Session 0里,通过鼠标、键盘(控制台)登录的用户则位于Session 1。也就是说服务和所有用户程序不可能位于一个Session,以杜绝通过应用进程向服务发动攻击。

(2) 最小特权帐户

把更多服务的启动帐户,从LocalSystem迁移到LocalService或者NetworkService。举个例子,在XP下,“Cryptographic Services”服务的启动帐户是LocalSystem,而在Vista下,则变为NetworkService,这样可以大大减少服务所需的权限,减少安全隐患。

(3) 独立SID

现在每个服务都有一个独立的SID,这样服务就可以利用该SID来控制其专属资源的ACL。可以在服务的宿主进程的访问令牌里看到其SID。例如以“Network Location Awareness”服务为例,可以在其宿主进程svchost的访问令牌里看到其SID为“NT Service\NlaSvc(NlaSvc就是该服务的KeyName),如附图所示。

我们可以借助PsGetSid命令查看该SID的具体值,如附图所示:

可以借助Subinacl命令查看“Network Location Awareness”服务本身的ACL,可以发现其中的一个ACE含有“NT Service\NlaSvc”这个SID,如附图所示:

(4) 服务的SID标记为Write-Restricted(写限制)

这样只有明确赋予某个服务SID相应权限的资源,该服务才能对该资源有写权限。默认情况下,Base Filtering Engine(BFE)Media Center Service Launcher(ehstart)Diagnostic Policy (DPS)Windows Firewall(MpsSvc)等服务的SID标记为Write-Restricted(写限制),如附图所示。

(5) 减少不必要的特权

现在大多数服务不再直接继承宿主进程的所有特权,SCM(服务控制管理器)会自动删除所有不必要的特权。还是以“Network Location Awareness(NlaSvc)服务为例,用“SC /qprivs”命令查看该服务的特权,可以发现相对其宿主进程svchost而言,少了很多不必要的特权(现在只有三个特权)

内部网络

Windows Vista在内部网络层面上亦做足安全措施,本文着重介绍其中的两大安全特性:Windows防火墙和网络访问保护。

 

1Windows防火墙

和其前任XP不同,Vista里内置的Windows防火墙则是“内外兼修”。不仅可以很好地管理入站连接,也可以通过组策略管理出站连接。

其中入站连接的管理可以通过传统的Firewall.cpl控制面板组件进行,也可以通过Administrative Tools下的“Windows Firewall with Advanced Security”管理单元进行管理,具体方法可以参考MVP刘晖的文章Windows Vista四月专题系列四:体验Windows Vista 5365

出站连接则必须通过“Windows Firewall with Advanced Security”管理单元进行配置。可以在左侧的控制台树里右键单击Outbound Rules,然后单击“New Rule”,然后指定所需指定的程序(或者端口、预设规则等),然后指定所需的操作、规则名称即可。

双击新建的规则,还可以对其进行进一步微调,如附图所示。

2.网络访问保护

如果说Windows防火墙主要是保护Vista计算机本身,则网络访问保护(NAPNetwork Access Protection)就是为了防止不健康的Vista计算机感染企业内部网络,从而提高整个内部网络的安全性。

NAP的大致原理是当一台Windows Vista客户机试图访问内部网络时,首先由企业内部网络中的健康服务器按照事先制定的策略对其进行审核,例如可以检查其是否安装了最新的Windows更新、安装了最新的病毒定义、是否安装了明令禁止的软件等。

如果发现该Vista客户机不满足健康策略(例如没有安装必要的Windows更新),则不允许该客户机联入企业内部网络,而是让其连接到安全修复服务器(例如WSUS)上,重新安装这些重要Windows更新,然后才允许该客户机访问内部网络。整个原理如附图所示。




中场休息,千万别走开,精彩马上继续!

已发表 2006年5月11日 23:53 作者 ahpeng

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

2006年5月15日 15:07 by gnaw0725

# re: Windows Vista五月专题系列一:您必须知道的Windows Vista安全功能(上)

对于服务断开继承这一点,我持谨慎的态度。这和fileserver上作目录的权限设置是一样的,太多的断开,而各自设置不同的权限,固然能够在灵活性上大大增强,但一旦需要作权限的变动,那么整个变动的过程是非常繁琐,而且难以跟踪的,这恐怕不利于安全性审计。
不知道vista在做出这样一个策略性调整的同时,是否有一个整体的安全架构来规范及维持这样的变更。
2006年5月15日 18:53 by ahpeng

# re: Windows Vista五月专题系列一:您必须知道的Windows Vista安全功能(上)

Gnaw0725兄的意见非常好,策略的改进必然会带来整体架构的随之调整。
我想这个负面影响在Vista上应该会被降至最低,微软似乎向来不乏出色的架构设计大师。
另外对于服务的安全改进,例如设立独立的SID、减少不必要的Priv,涉及到安全架构中Authentication一方,而非ACL等。微软必定仅仅删除不需要的特权,这样就不会影响到资源的Authorization。
其实服务的调整,也是体现了Vista整体安全的LUA思想,也就说,不需要的权限将会统统撤除,只需要最合适的(权限)、而不是最好的(最多的权限)。
当然这个工程相信会非常繁重,因为需要对大量的服务和应用程序进行重新梳理,找出哪些权限是必须的,哪些不是必须的。不过我相信,Vista必将是最好的。
2006年5月31日 12:26 by 盆盆的博客-Diyinside技术的乐趣

# [收藏版]Windows Vista系列专题文章汇总列表[06/05/31]

美味且可口,营养不忽悠!
本文列出了ITECN博客站点目前已经发表的Windows Vista专题文章,共计26篇,超过6万字。我们会对这些文章按照月份进行归类,同时给出内容简介、等级和相应的链接。...
2006年6月6日 10:47 by Windows Vista专题文章汇总

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...
2006年6月7日 9:19 by Windows Vista专题文章汇总

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...
2006年6月9日 11:59 by Windows Vista专题文章汇总

# 天哪,无法把Windows Vista的应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...
2006年6月9日 12:04 by Windows Vista专题文章汇总

# 天哪,难道真的无法把Windows Vista的应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...
2006年7月15日 13:42 by Windows Vista专题文章

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...

# 难道Windows Vista下就不能把应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...

# Windows Vista服务隔离深度剖析

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...
2006年9月29日 10:02 by wuzhen0000

# re: Windows Vista五月专题系列一:您必须知道的Windows Vista安全功能(上)

1.安全开发生命周期

微软对Windows Vista倾注了前所未有的心力,对整个开发过程引入了SDL(Security Development Lifecycle:安全开发生命周期)机制。耗费大量人力财力对工程师进行安全培训,据说Vista工程师有5000人,这些多人都要停工接受安全培训,可见微软投入之巨大、意念之坚决!

不是据说有9000人么?
2007年3月25日 23:42 by 深入研究Windows内部原理

# 深入理解Windows Vista内核三:服务安全改进

盆盆 译注:去年5月,盆盆写过一篇原创的 技术文章 ,曾经提到过Windows Vista的服务安全改进,读者朋友可以对照着看,可以帮助大家理解Mark的这篇文章。 以下是Mark的正文翻译: Windows服务一向是恶意软件的理想攻击目标。许多服务提供网络访问功能,这可能会给带来远程访问的相关漏洞,而且大多数服务可以比标准用户拿到更高的特权,这样一旦受到恶意软件的攻击,就可以有机会在本地系统提升权限。所以,在Windows

说说您的看法?

(必填) 
必填 
(必填)