科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Vista服务强化为系统增加保护层

Vista服务强化为系统增加保护层

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Windows运行的各种服务为用户提供了各种功能,但是它们也提供了潜在的攻击目标,因为黑客对它们简直太熟悉了,而且在过去的日子里,事实也已证明了它们很容易被攻破。

作者:ZDNet China 2007年3月5日

关键字: 防火墙 蠕虫病毒 防病毒 Windows Vista

  • 评论
  • 分享微博
  • 分享邮件
Windows运行的各种服务为用户提供了各种功能,但是它们也提供了潜在的攻击目标,因为黑客对它们简直太熟悉了,而且在过去的日子里,事实也已证明了它们很容易被攻破。

网络安全专家长期以来一直推荐系统管理员应当在服务器和工作站上关闭一切不必要的服务,以降低受到针对服务进行攻击的机会。不过,依旧还是有相当多的服务你无法关闭,因为它们对于计算机的正确运行来说是必不可少的。而这里,就正好是“Windows服务强化”大显身手的地方了。

“服务强化”主要着眼于增加破坏分子侵入Windows服务进而破坏系统或网络的行为困难度,而这也是微软Windows Vista之中内置的众多安全机制之一。

Windows服务:为何容易遭受攻击
Windows的服务也是程序,很多情况下内置于操作系统之中。但是它们和普通的程序又有诸多不同之处:

  • 服务通常是自动运行,连续运行,而一般的程序则需要用户进行启动和关闭。

  • 服务由Windows的服务控制管理器(SCM,Service Control Manager)管理,SCM维护一个已安装的服务数据库,并通过控制请求来管理每一个服务的状态。

  • 服务一般都使用一个优先权很高的帐户来运行(一般是LocalSystem帐户)。

    恶意软件常常被设计通过“寄生”攻击(Piggybacking)来侵入服务,从而获取和被侵入服务相同的高优先级。在过去的日子里,攻击者们多次利用了这一点——比如Slammer,红色代码(Code Red),以及震荡波(Blaster)蠕虫等。

    服务强化:它做不了的
    你可能会认为服务强化是设计用于阻止攻击者危害服务安全的,但实际上这并不是它的目的。在Vista中有其他安全机制,比如Windows防火墙,它们才是用来执行“外层”保护的。

    而服务强化,则在另一方面,削弱了那些已经侵入某个服务的攻击者所能造成的危害性。你可以这么考虑:在一个多层物理安全规划之中,你可能已经有了一圈篱笆,篱笆里养了一条大狗,这样可以将窃贼从你的大门口吓走。不过如果他们已经打定了主意要闯入,你还是有门窗上的防盗锁等着他们。即便他们又设法打开了这些锁,你还有安全报警系统可以吓退他们。警报系统本身对于阻止它们闯入你的家没有任何作用——阻止闯入是由篱笆,狗,防盗锁完成的。但是一旦闯入者突破了你的外层安全防护,因为警报系统的存在,他们却不大可能造成破坏(带走你的贵重物品)。服务强化更类似警报系统,它是一个多层安全策略中的内层部分。

    服务强化:它是什么
    正如UAC(用户帐户控制,User Account Control)被设计出来以确保用户帐户,即便是管理员帐户也是如此——只以最低限度的优先权来运行,以减小任何帐户一旦被入侵所能造成的相应危害一样,Windows服务强化则是用于确保Windows中的服务只以最低可用的帐户权限来运行。举例来说,以往总是使用LocalSystem帐户来运行的许多服务,现在则都运行在了权限更低的NetworkService或LocalService帐户之下。另外,和服务运行无关的帐户特权,比如调试特权,也被移除了,以减弱攻击面。

    运行在较低权限帐户之下的服务,一般被认为是“受限服务”。但是UAC和Windows服务强化的相应行为,正是“使用最低特权理念”的最好示例,为我们每个用户(以及每个程序)做出一个良好的榜样——那就是只使用最低的权限集来完成我们的工作。

    服务强化:运作过程
    Windows Vista使用了“隔绝(isolation)”技术来保护服务免遭攻击。“会话0隔绝”可以防止服务以及用户应用程序运行在同一会话之中,而“服务隔绝”则可以让服务通过一个安全识别符(SID,security identifier)将自己同其他服务以及应用程序区分开来。“会话0(Session 0)”则是当Windows一启动时所建立的会话。在以前的操作系统中,用户的程序可以运行在会话0之中(在支持快速用户切换的Windows XP之中,第一个登录的用户就会被赋予会话0)。而在Vista之中,仅有那些不和任何用户会话相关联的服务或应用程序,才被允许运行在会话0之中。

    每个服务被赋予一个SID,而该SID是独一无二的。你可能早已熟悉了SID,因为他们被赋予了Windows之中的所有用户和用户群。这意味着你所熟悉的,被用于用户帐号以及用户群的Windows存取控制模型,现在可以同样被用于控制对服务以及对资源的存取之上了。换句话说,存取控制列表(ACL,access control list)现在可以被赋予给服务了。一个ACL是多个存取控制进口(ACE,Access control entrie)的集合。每一个资源都有一个安全描述符,内含了赋予它的ACL。在ACL中,则保存了关于谁,以及什么可以对该目标进行存取的相关权限指定。

    通过将策略连接到不同的服务SID,网络防火墙策略同样也可以应用到服务上,这样那些不应该访问网络的服务就彻底无法接触网络了。Vista的防火墙集成了服务强化功能。在服务强化平台中定义了相关规则,诸如一个特定服务如何获取对网络,对注册表,对文件系统的存取权等等。防火墙强制执行这些规则,并拦截所有违反规则的通信。不像Windows XP的防火墙,Vista的防火墙可以同时执行进出两个方向的规则。

    特定的服务可以进行限制,这样它们就不能对注册表进行编辑,也不能对系统文件进行写操作了。或者也可以对一个服务进行限制,这样它就只能对注册表或文件系统的特定区域进行改写,甚至还可以设置让它根本无法发送朝外的网络通信。可以禁止服务执行诸如修改配置,或其他可能造成危害的相关动作。

    在Vista操作系统中,每一个服务都已经被赋予了一个服务强化配置文件,其中定义了它可以做以及不可以做的一切。SCM会根据它的需求赋予对应的权限——那些仅够完成工作的必要权限。这样,就无需再消耗配置管理或系统管理的费用了。

    总结
    Windows服务强化是Vista新安全军火库中的一个部件,基于“最低权限”的理念开发。通过和其他全新安全机制的合作,比如用户帐户控制以及Vista防火墙,它可以提供给我们一个包含广泛的,多层次的防御系统,以对抗恶意软件所可能造成的侵害。

    服务强化功能大大增强了现有的Windows安全机制,比如安全识别符,以及存取控制列表等,从而大大拓展了它们在增强防护方面的功能。也许所有的一切中,最棒的就是——无论是对用户,还是对系统管理员来说,服务强化都是透明的;它仅仅在后台进行工作,而无需任何管理员的干预。

    术语表

  • 存取控制列表(ACL,Access control list): 一个关于存取控制入口(ACE)的列表,保存了关于谁,以及什么可以对该目标进行存取的相关权限指定。

  • 寄生(Piggybacking): 一种病毒或其他恶意软件所使用的一种方法,通过攻击一个合法帐户或进程,从而获取和帐户或进程同等的优先权。

  • 最低权限理念: 一种安全模型,要求所有的帐户都只以仅够完成工作任务的最低可能权限运行。

  • 限制服务: 以较低权限运行的服务。

  • 安全识别符(SID,Security Identifier): 赋予目标的独一无二的数值,以便目标可以据此被识别。

  • 服务控制管理器(SCM,Service Control Manager): Windows的一个部件,维护了一个有关已安装服务的数据库,并对每一个服务的状态进行管理。

  • 服务隔绝(Service isolation): 一种Vista安全机制,让服务可以将自己同其他服务相隔绝。

  • 服务: 在Windows中,由服务控制管理器(SCM,Service Control Manager)所管理的程序。

  • 会话0隔绝(Session 0 isolation): 一种Vista安全机制,阻止用户帐户或者用户程序在会话0之中运行,仅当服务和应用程序和用户帐户(登录)无关时才允许其运行在会话0之中。

  • 用户帐户控制(UAC,User Account Control): 一种Vista安全机制,设计以确保用户帐户,包括系统管理员帐户,仅以完成工作所必须的最低权限运行,从而最小化受到入侵的机会。

    (责任编辑:陈毅东

      • 评论
      • 分享微博
      • 分享邮件
      邮件订阅

      如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

      重磅专题
      往期文章
      最新文章