首页> 中国专利> 使用网络动作控制列表来保护网络服务

使用网络动作控制列表来保护网络服务

摘要

提供了具有受保护的网络服务的计算机系统。计算机系统包括处理器、存储器和网络动作处理模块。网络动作处理模块处理来自在计算机系统上运行的一个或多个网络服务的网络动作。计算机系统还被配置成结合网络动作处理模块来运行执行网络动作的至少一个网络服务。在从网络服务接收网络动作之后,网络动作处理模块根据网络动作控制列表来确定该网络动作是否是有效网络动作。如果该网络动作被确定为不是有效网络动作,则该网络动作被阻塞。或者,如果该网络动作被确定为有效网络动作,则许可该网络动作完成。

著录项

  • 公开/公告号CN101501677A

    专利类型发明专利

  • 公开/公告日2009-08-05

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200680025292.8

  • 申请日2006-07-12

  • 分类号G06F15/173(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人顾嘉运

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 22:27:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-20

    专利权的转移 IPC(主分类):G06F15/173 变更前: 变更后: 登记生效日:20150430 申请日:20060712

    专利申请权、专利权的转移

  • 2012-06-13

    授权

    授权

  • 2009-09-30

    实质审查的生效

    实质审查的生效

  • 2009-08-05

    公开

    公开

说明书

背景

如几乎任何计算机用户都明白的,恶意软件是对连接至因特网的任何计算机 的恒久的威胁。恶意软件(malware)(用于串接“malicious(恶意)”和“software (软件)”的术语)指的是有害的程序或文件。因此,恶意软件包括计算机蠕虫、 病毒、特洛伊木马和间谍软件,以及误用或滥用合法计算机和/或网络系统特征和 服务的计算机系统攻击。

大多数恶意软件过去通常针对于破坏或损害计算机系统。受感染计算机系统 的典型结果是硬盘驱动器被擦除或被破坏。不幸的是,恶意软件近来版本背后的目 的包括比简单地破坏或毁坏计算机系统邪恶得多的恶意企图。更具体地,恶意软件 现在被用于窃取个人信息以便于进行欺诈和身份窃取以访问银行帐户等。现在检测 恶意软件的感染效果更困难了,因为与以往的恶意软件结果不同,目的不是使受感 染的计算机关机,而是令其继续运行使得可违法地获取更多的信息。

为了抗击恶意软件,网络连接的计算机几乎基本上都使用反病毒软件(现在 更倾向于称之为反恶意软件软件)来针对感染进行保护。此外,众多计算机用户也 依赖于结合反病毒软件的硬件和/或软件防火墙,以保护计算机。不幸的是,即使 处于反病毒软件和防火墙的保护之下,某些恶意软件威胁,尤其是新形恶意软件能 成功地感染计算机系统。而且,如本领域的技术人员所理解的,一旦恶意软件感染 了计算机系统之后,恶意软件通常使用受感染的计算机系统来感染其他计算机系 统。

计算机系统的网络服务,即形成与外部网络的来往通信信道的进程是恶意软 件的主要目标且尤其易受攻击。在某些情况中,恶意软件可强迫网络服务来执行允 许其他进程进一步损害计算机系统的动作。例如,可引导未受保护的网络服务来打 开通信端口,允许第三方访问计算机系统并从而获取对计算机系统的控制。在受感 染的电子邮件中传递的流氓应用程序可成功地引导网络服务来打开未受保护的端 口。不幸的是,一旦网络服务被损害,该计算机即向恶意软件的恶意企图开放。

如上所述,不总是可能防止恶意软件感染。然而,即使当计算机系统受到感 染时,通过阻止网络服务执行会损害或进一步损害计算机系统的网络动作来容忍感 染将是有益的。实际上,如果网络服务能被限于“好的”网络动作将是非常有用的。

概述

提供了具有受保护的网络服务的计算机系统。计算机系统包括处理器、存储 器和网络动作处理模块。网络动作处理模块处理来自在计算机系统上运行的一个或 多个网络服务的网络动作。计算机系统还被配置成结合网络动作处理模块来运行执 行网络动作的至少一个网络服务。在从网络服务接收网络动作之后,网络动作处理 模块根据网络动作控制列表来确定该网络动作是否是有效网络动作。如果该网络动 作被确定为不是有效网络动作,则该网络动作被阻塞。或者,如果该网络动作被确 定为有效网络动作,则许可该网络动作完成。

也提供了承载计算机可执行指令的计算机可读介质。当在联网计算机上运行 时,计算机可执行指令实现用于保护计算机上的网络服务的方法。该方法包括从网 络服务接收网络动作。作出该网络动作是否应被进一步确认为有效网络动作的判 断。如果该网络动作应被进一步确认,则根据网络动作控制列表来作出该网络动作 是否是用于该网络服务的有效网络动作的判断。如果根据网络动作控制列表,该网 络动作不是有效网络动作,则该网络动作被阻塞。如果根据网络动作控制列表,该 网络动作是有效网络动作,则该网络动作被许可。

还提供了用于保护连接至网络的计算设备上的网络服务的方法。该方法包括 从在该计算设备上操作的网络服务接收网络动作。作出该网络动作是否属于应被验 证为有效网络动作的类型。如果该网络动作属于应被验证为有效网络动作的类型, 则获取网络服务标识符。该网络服务标识符唯一地标识了网络服务。根据网络动作 控制列表中对应于由网络服务标识符标识的网络服务的一个或多个条目,作出该网 络动作是否是用于该网络服务的有效网络动作的判断。如果根据网络动作控制列表 确定该网络动作不是有效网络动作,则该网络动作被阻塞。

附图描述

当结合附图参考以下详细描述时,前述方面和本发明的众多附加优点将更容 易领会且更好理解,附图中:

图1是示出适于实现受保护的网络服务的计算机系统的示例性硬件组件的框 图;

图2是示出带有受保护网络服务使得仅允许计算机系统与网络之间的有效网 络活动的计算机系统的框图;

图3是示出生成网络动作控制列表以及将网络活动控制列表推广给网络活动 确认模块的过程的框图;

图4是示出用于在含有受保护的网络服务的计算机系统中处理网络动作的示 例性例程的流程图;以及

图5A和5B是示出用于根据网络活动控制列表来确定网络活动是否是有效网 络活动的示例性子例程的流程图。

详细描述

如上所述,图1是示出适于实现受保护的网络服务的计算机系统100的示例 性硬件组件的框图。尽管计算机系统可包括众多组件,但示例性计算机系统100 包括处理器102、存储器104以及用于将计算机系统100通过接口连接至网络108 的网络接口106。如本领域的技术人员所理解的,存储器104包括随机存取存储器 110和只读存储器112两者。

也示出了非易失性存储114。如本领域的技术人员所理解的,尽管某些计算设 备,包括某些手持式计算设备在内,排他地使用非易失性存储器作为其非易失性存 储介质,但典型的非易失性存储介质是磁硬盘驱动器。不论实际介质为何,存储 114一般存储操作系统116(包括操作系统提供的网络服务)以及一个或多个应用 程序,诸如应用程序118。

示例性计算机系统100也被示为包括网络接口106。网络接口106是计算机系 统中与网络108通过接口连接的硬件。尽管网络接口一般被体现为专门为网络通信 设计的硬件,但网络接口106可以是串行连接、通用串行总线(USB)连接、红外 线连接、IEEE 1394连接等。

考虑以上,提供受保护的网络服务的合适的计算机系统包括但不限于:个人 计算机、膝上型和笔记本计算机、个人数字助理(PDA)、混合PDA/移动电话设 备、带有网络连接能力的移动电话、小型机和大型机等。

图2是示出带有受保护的网络服务使得在计算机系统与网络108之间仅允许 有效网络活动226的示例性计算机系统200的框图。在示例性计算机系统200中示 出了三个网络服务202-206。当然,三个网络服务的图示仅用于显示和简明的目的, 而不应被解释为对本发明的限制。

网络服务通过执行如网络动作208-212所示的各种网络动作来提供与网络108 的来回通信,这些网络动作诸如打开通信端口、对与通信端口相关联的存储器位置 读写信息、在网络上监听定向到计算机系统200的数据包等。每一网络活动包括完 成动作所必需的信息,诸如但不限于,源地址(发起计算机系统的IP地址)、指 示通信信道的源端端口的源端口、协议、标识要被采取的动作以及与该动作有关的 数据的信息、目的地端口、目的地地址等。此外,根据本发明的各方面,网络动作 包括唯一标识发起网络服务的信息,诸如网络服务标识符。当然,本领域的技术人 员可以理解,对于所包括的标识发起网络服务的信息而言,这样的信息不必被包括 在网络动作中,而可与网络动作捆绑和/或从提交网络动作的方式中确定。在任何 情况中,为了将网络动作约束于有效网络动作,网络动作的发起网络服务必须可被 标识。因而,在网络动作中包括标识信息应被视为本发明的说明,而不被解释为对 本发明的限制。如以下进一步所述的,发起服务网络的身份是可用于确定网络动作 是否是有效网络动作的一个因素。

为了确保在计算机系统200与网络108之间仅传递有效的网络动作226,网络 动作必须经过网络动作处理模块214。当诸如网络动作208-212的网络动作被接收 时,网络动作处理模块214简要地检查每一动作,并确定该动作是否应由网络动作 确认模块216评估来确定该动作是否是有效的网络动作。

网络动作处理模块214确定不应由网络动作确认模块216确认的那些网络动 作被允许完成。或者,如果网络动作要被进一步检查,则网络动作处理模块214 向网络动作确认模块216发送有效性查询222。一般,有效性查询222可包括所述 网络动作,但也可替换地仅包括网络动作确认模块216确定网络动作是否是有效网 络动作226所必需的信息。

响应于有效性查询222,网络动作确认模块216返回有效性响应224,指示该 网络动作是否是有效网络动作。如果有效性响应224指示该网络动作是有效网络动 作,则网络动作处理模块214允许该网络动作完成。或者,如果有效性响应224 指示该网络动作不是有效网络动作,则网络动作处理模块214终止该网络动作,即 不允许该网络动作完成。

当确定网络动作是否是有效网络动作时,网络动作确认模块216将网络动作 的各个方面与网络动作控制列表218进行比较。网络动作控制列表218包括一组规 则或条件,如果满足规则或条件,即将网络动作标识为有效或无效网络动作。这些 规则/条件可包括一般或特别将某些网络动作标识为无效网络的动作的“黑列表” 规则,以及一般或特别将某些网络动作标识为有效网络动作的“白列表”规则。给 定网络动作的有效性/无效性可基于来自网络动作的众多因素之一或其组合,包括 但不限于:源或目的地IP地址、生成网络动作的网络服务(每个均有其网络服务 标识符)、动作的类型、所使用的协议、用作为源端点或目的地端点的端口等。这 些因素当被一起处理时,可被视为网络动作在其上操作的“网络对象”。该“网络 对象”可被用作网络访问控制列表的一部分。

除确认/作废网络动作以外,网络动作确认模块216也可在审计日志220中跟 踪网络动作,以及它们是否是有效网络动作。审计日志220然后可由系统管理员使 用来标识故障区,包括标识计算机系统受到恶意软件感染的可能性。

如上所述,网络动作处理模块214简要地检查每一动作并确定该动作是否应 由网络动作确认模块216来评估以确定该动作是否是有效网络动作。根据一个实施 例,这种判断是基于网络动作的类型来进行的。具体地,在某一实施例中,仅构成 “端点”创建的网络动作被发送给网络动作确认模块216来确认。如本领域的技术 人员所理解的,“端点”创建包括创建和/或打开计算机系统200与网络108之间 的通信信道的网络动作。“端点”创建网络动作可包括,但不限于:打开通信端口、 创建至远程实体的连接、监听用于连接的端口等。或者,网络动作处理模块214 可被配置成通过评估经过网络动作处理模块214的所有网络动作来执行所谓的 “深”评估。也可实现其他层次的检查。

对于网络动作处理模块214,尽管该模块可以是与其他操作系统组件(尤其是 网络相关的操作系统组件)分开的组件,但上述功能可适当地被集成到一个或多个 现有组件内。例如,微软公司的操作系统软件(以及来自其他供应商的 操作系统)包括TCP/IP堆栈处理组件(通常一般被称为TCP/IP堆栈),通过该组 件处理所有基于TCP、UDP和IP的动作/通信。因为所有的TCP、UDP和IP动作 均流经TCP/IP堆栈,因此通过将上述功能集成到TCP/IP堆栈内,网络服务202-206 不必被修改来保护它们免于执行无效网络动作。类似地,其他通信协议一般包括可 集成上述功能的中央处理模块。然而,尽管将上述网络动作处理模块214的功能集 成到一个或多个现有组件内是有益的,但本发明不应如此限制地解释。

尽管存在可导出网络动作控制列表218的各种方式,但根据一个实施例,从 由各个网络服务的开发员和/或供应商提供的信息中生成网络动作控制列表。图3 是示出生成网络动作控制列表218并将其推广给网络活动确认模块216的过程的框 图。具体地,随着开发和/或部署网络服务,诸如网络服务202-206,网络服务的开 发员或供应商也可提供相应的动作清单,诸如动作清单302-306。动作清单描述了 相应的网络服务的许可和/或预期的网络动作(以及诸如上述网络对象的相关联信 息)。例如,如果网络服务202的开发员和/或供应商预期网络服务仅打开了端口 88和144并通过它们来通信,则该信息被包括在其相应的动作清单302中。此外, 每一动作清单应包括标识相应的网络服务的信息,诸如上述网络服务标识符。

动作清单302-306由管理和配置模块308处理,其中管理员可接受由动作清单 所提供的“建议”或根据安全需求对其修改。此外,使用管理和配置模块308,管 理员可根据与管理员或流行的网络条件相关的安全策略就一个或多个网络服务添 加附加的规则和/或条件。

从这些动作清单、附加条件和规则以及管理员配置和修改中,管理和配置模 块308生成动作控制列表,并将该列表存储在网络动作控制列表存储310中。根据 一个实施例,网络动作控制列表存储310是计算机系统的注册表。使用计算机系统 的注册表的一个优点在于,注册表的某些区域受到保护而免于受到除管理员以外进 行的修改。这一安全措施保护网络动作控制列表免于被恶意软件感染破坏,这种破 坏会导致进一步破坏以及无效网络动作的允许和完成。

如本领域的技术人员所理解的,管理和配置模块308就操作系统而言在用户 模式中操作。然而,一般,网络动作处理模块214(以及网络服务202-206)将在 内核模式即管理存储器、文件和外设并运行应用程序、分配系统资源等的操作系统 核心中操作。因此,为了从网络动作控制列表存储310向网络动作确认模块216(它 与网络动作处理模块214一起在内核模式中操作)传送网络动作控制列表,包括用 户模式/内核模式通信信道的推广模块312将网络动作控制列表218传送给网络动 作确认模块。

图4是示出用于在含有受保护的网络服务的计算机系统中处理网络动作的示 例性例程400的流程图。开始于框402,网络动作处理模块214接收网络动作。在 判定框404,作出网络动作是否属于要确认的类型的判断。如上所述,根据一个实 施例,仅作为端点创建的网络动作属于要确认的类型。

如果网络动作不是要进一步确认的类型,例程400前进至框414,在那里网络 动作即假定的有效网络动作被处理,即允许其完成。或者,如果网络动作是要进一 步确认的类型,则在框406,向网络活动确认模块216转发有效性查询222(图2)。

在框408,网络动作确认模块216根据网络动作控制列表218来确定有效性查 询222的网络动作是否是请求网络服务的有效网络动作。根据网络动作控制列表 218来确定网络动作是否是有效网络动作将在以下关于图5A和5B来描述。

图5A和5B是示出用于根据网络动作控制列表218来确定网络动作是否是有 效网络动作的示例性子例程500的流程图。

开始于框502,网络活动确认模块216标识对应于作为有效性查询222的主题 的网络动作的网络服务。尽管这可由多种方式来完成,但根据一个实施例,为网络 动作获取网络服务的网络服务标识符。在一个实施例中,从容纳网络服务的进程的 进程令牌中获取网络服务标识符。例如,在微软公司的操作系统的某些 版本中,进程令牌是操作系统使其与一进程相关联的上下文,用于存储关于该进程 中运行的程序的标识和特权信息。

在判定框504,作出关于网络访问控制列表218中是否存在对应于所标识的网 络服务的特定条目的判断。如果没有找到对应于该网络服务的条目,则在框512(图 5B),向网络动作处理模块214返回指示网络活动是有效网络活动的有效性响应 224,且子例程500终止。通过在缺乏对应于所标识的网络服务的任何条目的情况 下默认有效性的假定,假定未为该网络服务生成行为清单,或行为清单未被包括在 网络动作控制列表218中。在任一情况中,许可网络动作,而非关闭对该网络资源 的所有活动,这是作出其网络动作无效的假定的效果。显然,在替换实施例中,默 认可以是无效性的假定。类似地,网络动作控制列表218中完全缺乏对应于所标识 的网络服务的条目会在审计日志220中生成特殊条目,对该网络服务进行标记以提 请管理员的特别注意。

如果在判定框504中,在网络动作控制列表218中找到了对应于该网络服务 的一个条目,则子例程500前进至框506。在框506处,标识网络动作控制列表218 中对应于所标识的网络服务的所有条目。在框508处,标识所标识的条目中最紧密 对应于该网络动作(即有效性查询222的主题)的条目。在判定框510处,根据网 络动作控制列表218中最紧密对应的条目来作出该网络动作是否被许可的判断。如 果根据之前的判断该网络动作被许可,则在框512处,向网络活动处理模块214 返回有效性响应224,指示该网络动作是有效网络动作,且子例程500终止。或者, 如果根据之前的判断,该网络动作不被许可,则在框514(图5B)处,向网络动 作处理模块214返回无效性响应224,指示该网络动作不是有效网络动作。

再次对于图4,在从网络动作有效性模块216获取了有效性响应224之后,在 判定框410处,作出该网络动作是否是有效网络动作的判断。如果该网络动作不是 有效网络动作,则在框412处,该网络动作被阻塞。或者,如果该网络动作是有效 网络动作,则在框414处,处理该网络动作(即,允许其完成)。之后,例程400 返回至框402以获取并处理其他网络动作。

尽管示出和描述了各个说明性实施例,但可以理解,可对其进行各种改变 而不背离本发明的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号