CN101326510B - 对等补救 - Google Patents

对等补救 Download PDF

Info

Publication number
CN101326510B
CN101326510B CN200680046044.1A CN200680046044A CN101326510B CN 101326510 B CN101326510 B CN 101326510B CN 200680046044 A CN200680046044 A CN 200680046044A CN 101326510 B CN101326510 B CN 101326510B
Authority
CN
China
Prior art keywords
client computer
software
client
patch
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200680046044.1A
Other languages
English (en)
Other versions
CN101326510A (zh
Inventor
C·C-H·乔伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101326510A publication Critical patent/CN101326510A/zh
Application granted granted Critical
Publication of CN101326510B publication Critical patent/CN101326510B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

一种网络,其中提供了对等补救来保持网络中的客户机最新。当网络客户机建立对等连接时,它们交换状态信息。该状态信息允许客户机互相标识一个客户机与另一客户机相比是否较新。该较新的客户机向较过时的客户机提供更新信息。为保持更新过程的完整性,更新作为签名二进制文件来提供,并且仅在该二进制文件可由接收方认证时由接收该更新的客户机来应用。

Description

对等补救
背景
随着计算机系统的职责在现代生活的所有方面中的扩展,维持计算机系统的完整性已变为一个越来越重要的功能。同时,对计算机系统的威胁也已增长。联网计算机系统特别易受一心要盗取计算机系统的信息或中断其操作的“病毒”、“间谍软件”和“黑客”造成的威胁的攻击。
增加联网计算机系统的完整性的一种方法是通过使用保护性软件。要连接到网络的每一客户机配备了能检测并阻碍对联网计算机系统的威胁的软件。防火墙、反病毒软件和反间谍软件的软件是在网络客户机上广泛使用的保护性软件的示例。这种保护性软件的一个缺点是,为了成为完全有效,当产生新威胁时,这类软件必须被更新以解决这些新威胁。
为便于容易更新,保护性软件通常包括保持关于该软件能检测或防止的威胁的描述的数据文件。这些数据文件可以诸如通过从服务器下载描述新威胁的新文件来容易地更新。然而,连接到网络的每一客户机的操作员必须采取动作来保持客户机更新到最新。操作员可直接采取动作,诸如通过周期性地下载新数据文件。或者,操作员可将保护性软件配置成自动下载新数据文件。有时候,操作员没有正确地更新、操作或配置保护性软件,从而留下了漏洞。
因对保护性软件的不正确使用而造成的漏洞有时通过“隔离”方法来解决。如果试图访问网络的客户机没有最新的保护性软件,则它们可被拒绝访问或被“隔离”。隔离的客户机可被给予足以允许计算机被“补救”的对网络的有限访问,诸如从服务器下载对保护性软件的更新。
发明概述
本发明涉及在网络中的客户机计算机之间共享更新信息。
在一方面,本发明涉及启动第一客户机和第二客户机之间的通信。确定第一客户机和第二客户机的相对更新状态。基于该相对更新状态,第一客户机可以向第二客户机发送更新信息。
在另一方面,本发明涉及一种操作计算机系统的方法,其中第二客户机与第一客户机进行关于其更新状态的信息的通信。如果第二客户机相对于第一客户机是过时的,则第二客户机可从第一客户机接收可被安装在第二客户机上的更新信息。
在又一方面,本发明涉及具有控制客户机的计算机可执行指令的计算机可读介质,这些指令在该客户机中执行。该客户机从第二客户机接收更新状态。如果第二客户机相对于第一客户机是过时的,则第一客户机传递更新信息。
以上是本发明的非限制概述,本发明由所附权利要求书来限定。
附图简述
附图并不旨在按比例绘出。在附图中,在各图中示出的每一相同或几乎相同的组件由相同的标号来表示。为清楚起见,并非每一组件都在每一附图中标出。附图中:
图1是根据本发明的一个实施例的网络的略图;
图2是在图1的网络中实现隔离强制实施策略的软件的软件框图;
图3是根据本发明的一个实施例在能够执行对等补救的两个客户计算机中使用的软件的软件框图;以及
图4是示出图3所示的客户计算机可用于建立通信的过程的流程图。
详细描述
通过增加系统补救因不包含或使用最新的软件而造成对网络的风险的客户机的能力来提高联网计算机系统的完整性是合乎需要的。然而,保护等级的任何增加不应对网络或网络用户带来不合理的负担,并且应被容易地管理。如以下所描述的,提供了一种改进的隔离管理系统,其中客户计算机比较作为对等通信的一部分的状态和补救信息。
如此处所使用的,隔离强制实施策略指的是用于基于一客户机上的软件的状态(也称为客户机“健康状况”)来确定该客户机是否可被给予对网络的访问的逻辑的实施。该策略可作为客户机为被授予网络访问而必须满足的一组准则或规则被储存在数据结构中。然而,可以使用定义隔离强制实施策略的任何适当的方法。此外,隔离强制实施策略可以仅是更大的访问控制策略的一部分。因此,基于该隔离强制实施策略对网络访问的授予或拒绝的叙述并不排除客户机将出于其它原因而被拒绝或授予访问的可能性。
图1示出了可从在常规计算机系统中使用的设备构造的计算机系统100的略图。然而,计算机系统100与常规计算机系统的不同之处在于,计算机系统100内的设备被编程为实现一改进的隔离管理系统,其中客户机可以在“对等”通信中交换补救信息。
如此处所使用的,“对等”通信指的是网络内的两个客户机之间的通信。该通信可以直接在客户机之间传递,或者可以通过其它网络设备来路由。此外,由于网络中连接的设备可被编程为在不同的时刻执行不同的功能,因此网络“对等点”并不受任何特定的硬件配置的限制。在某些情况中,硬件被编程为用作网络中的服务器或扮演另一角色,而在其它情况中,硬件可被便成为用作网络对等点。
计算机系统100包括受管网络120。在此示例中,受管网络120可以是公司或企业内的网络。或者,受管网络120可以是更大网络的域或其它部分。受管网络120由提供用于网络的访问策略的个人或实体来管理。提供这些网络管理功能的个人或实体一般被称为“网络管理员”。在联网的计算机系统中,可以有提供网络管理功能的多个人或实体,并且其中任何一个或全部一般都可以被称为网络管理员。
如图1所示,受管网络120包括诸如服务器124和客户机110B和110C等网络设备。此处,示出了将网络设备互连的广域网(WAN)122。该配置是出于图示的简单而示出的。受管网络可包含比图1所示的更多的设备。同样,示出了单个WAN 122,但是受管网络可包含不同或其它的互连体系结构。
设备可以通过接入点116连接到受管网络120。受管网络120内的客户机110B和110C中的每一个类似地可以通过接入点116或其它类似的接入点来连接。图1的示例示出客户机110B和110C已经被给予对受管网络120的访问。因此,其通过接入点的连接没有明确示出。客户机110B和110C在网络120内是彼此的对等点。
图1示出了试图通过接入点116连接到受管网络120的客户机110A。接入点116可以是无线接入点、硬连线接入点或任何其它类型的接入点,无论是现在已知的还是以后开发的。在图1的示例中,接入点116包括交换设备118和服务器112。
交换设备118表示可以被结合到接入点中的多种类型的交换设备中的任一种。交换设备118可以是诸如路由器、交换机、集线器、网关或任何其它何时的交换设备等设备。
在操作中,服务器112用作访问控制服务器。服务器112A可以是服务器,并且被方便地称作“RADIUS”服务器、“IAS”服务器或二级访问控制服务器。然而,可使用任何适当编程的服务器。服务器112被编程为根据一隔离强制实施策略来授予或拒绝网络访问。当诸如客户机110A等客户机试图接入受管网络120时,服务器112确定客户机110A是否应被给予对受管网络120的访问。
接入点116此处被示为替换地或另外地允许客户机110A连接到受管网络120外部的网络或设备,即使其被拒绝了对受管网络120的访问(即,客户机被“隔离”)。在图1所示的实施例中,交换设备118可允许客户机110A访问因特网130。通过因特网130,客户机110A可到达诸如服务器150等设备。
服务器150用作更新服务器。在所示的实施例中,服务器150耦合到数据库152。数据库152可包含用于在客户机110A上执行的软件的软件更新。储存在数据库152中的更新可以包括对可更改客户机110A的“健康状况”的反病毒软件、反间谍软件的软件或其它软件的更新。如果客户机110A因其保护性软件过时而被拒绝了对受管网络120的访问,则客户机110A仍可连接到更新服务器150来获得对其保护性软件的更新。
数据库152可包含可被下载以对客户机110A上的保护性软件操作的数据文件形式的软件更新。例如,包含病毒签名或其它威胁签名的数据文件可被下载以用于反病毒或反间谍软件程序。或者,数据库152可包含用于在客户机110A上执行的保护性软件的补丁。补丁是已更新软件的表示,通常采用压缩形式并且通常通过对软件程序的一个版本与稍后版本之间的差异进行编码来产生。
此外,数据库152可以包含用于在客户机110A上执行的操作系统或其它通用软件的补丁。尽管操作系统软件一般不被视为保护性软件,但是操作系统软件的状态可能对客户计算机110A的健康状况有很大的影响。例如,黑客可能试图发现并恶意利用操作系统软件中的弱点。作为响应,当标识出通用软件中的漏洞时,软件厂商可发布修改该软件以去除这些漏洞的补丁或其它更新。因此,客户机安装补丁,尤其是针对去除漏洞的补丁的程度可被视为客户机的健康状况的指示。在某些实施例中,访问服务器112被编程为实现一隔离强制实施策略,其中对受管网络120的访问至少部分地基于针对通用软件中的漏洞的补丁是否已被安装在客户机上来授予或拒绝。在以下示例中,对操作系统软件的补丁将被用作可被应用于客户机以改进客户机的健康状况的软件更新的一个示例。然而,更新可被提供给软件的可执行部分或被提供给由该软件使用的数据。
客户机110A可以响应于来自操作客户机110A的用户的命令来访问来自更新服务器150的软件更新。或者,客户机110A可以被编程为响应于被拒绝对受管网络120的网络而自动访问更新服务器150。以此方式,缺少足够的健康状况来允许进入受管网络120的客户机仍可被“补救”,以使其有资格访问受管网络120。
转向图2,示出了客户机110A和访问服务器112内的软件的软件框图。在所示的实施例中,该软件被实现为多个组件。每一组件可被实现为储存在计算设备可访问的计算机可读介质中的多个计算机可执行指令。组件可以用任何适当的语言来实现,并且可以在任何适当的计算设备上运行。可使用常规的编程技术来实现此处更详细描述的功能。
该软件控制网络中的设备根据一隔离强制实施策略来操作,该策略可由网络管理员来指定。在给出的示例中,客户机软件的更新状态是在确定客户机是否保证根据该策略来访问网络时所考虑的至少一个因素。如果访问服务器112确定客户机110A内的软件的更新状态不符合隔离强制实施策略,则服务器112将对客户机110A拒绝访问。客户机110A然后可从更新服务器150下载补丁以使其符合隔离强制实施策略。为获得补丁,客户机110A包括更新代理214。
更新代理214是访问更新服务器150以获得并安装用于客户机110A内的操作系统软件的补丁的软件组件。更新代理214可以例如周期性地提示客户机110A的用户以获得访问更新服务器150的许可来检查尚未安装在客户机110A中的新补丁。或者,更新代理214可用自动的方式来操作,从而周期性地获得补丁而不要求客户机110A的用户采取任何动作来启动更新过程。
在所示的实施例中,客户机110A包括隔离代理210A。隔离代理210A收集关于客户机110A的状态的信息,并将该状态信息作为健康状况陈述230提供给在访问服务器112内操作的隔离代理210B。健康状况陈述230可以包含隔离代理210B为确定客户机110A是否具有授权其根据隔离强制实施策略来访问受管网络120的健康状况所必需或所期望的任何信息。
在所示的实施例中,在健康状况陈述230中反映的状态信息定义了在客户机110A的操作系统中的软件的更新状态。在该示例性实施例中,健康状况陈述230中的信息的一部分描述了已被安装到客户机110A的操作系统的补丁。然而,隔离强制实施策略可以考虑代替操作系统软件的更新状态或除这些更新状态之外的因素。因此,健康状况陈述230可包含定义多种类型的信息的多个字段。尽管为简明起见,仅明确描述了软件的补丁状态作为健康状况陈述230中的更新信息的一个示例。
在图2所示的示例中,采用了模块化体系结构。示出了多个系统健康状况代理(SHA)216A、216B和216C。每一SHA获得一特定类型的状态信息。例如,一个SHA可以获取关于防火墙软件的状态信息,而另一SHA可获得关于反间谍软件的软件的信息。又一SHA可获得关于客户机110A内的操作系统软件的补丁状态的信息。
每一SHA获得的状态信息通过安全中心212来传递。安全中心212累积状态信息,并将其提供给隔离代理210A。以此方式,可通过加入被设计成获得来自或关于客户机110A内的任何保护性软件的状态信息的SHA来获得关于该保护性软件的状态信息。
至少一个SHA获得关于客户机110A内的操作系统软件的补丁状态信息。这一SHA可以基于更新代理214所生成的信息来确定补丁的状态。可使用确定客户机的补丁状态的任何适当的方法。在图2的示例中,使用补丁注册表222。补丁注册表222可被实现为客户机110A内的数据结构。在安装补丁之后,更新代理214可以在补丁注册表222中形成一条目。除了储存更新代理214应用的补丁的指示之外,补丁注册表222还可储存可用于跟踪客户机110A的补丁状态的其它信息,诸如创建、获得或安装补丁的时间。
关于安装在客户机110A中的补丁的信息的可用性允许SHA通过读取更新代理214在其安装补丁时储存的信息来生成补丁状态信息。因此,关于已安装补丁的信息可被包括在作为客户机110A用于请求对受管网络120的访问的交互的一部分从客户机110A发送到访问服务器112的健康状况陈述230中。
更新代理214可被构造成在安装补丁之前认证它们。在所示的示例中,更新代理214下载作为签名二进制文件220的补丁。签名是一种用证明代理发布的“私钥”来编码数字文件的常规过程。证明代理使得“公钥”可用。公钥不提供足以生成进一步的签名文件的信息。但是,公钥的持有者可以将公钥应用于签名文件来确定该签名文件是用特定私钥生成的,且自从其生成以来没有被更改。
客户机110A可以具有与一个或多个证明代理相关联的多个公钥224。这些密钥可从任何适当的源获得,诸如从证明代理下载它们。或者,来自多个证明代理的公钥通常随操作系统软件一起提供。
当更新代理214下载签名二进制文件220时,它向该文件应用公钥。如果更新代理214成功地将公钥224应用于签名二进制文件220,则验证了该文件的真实性。在验证了签名二进制文件220之后,更新代理214可安装包含在签名二进制文件220中的补丁。在某些实施例中,公钥224是从客户机110A的用户信任的源获得的。通过向用相应的私钥签名的更新应用可信公钥,更新代理214可以确定它应当“信任”该更新,因为它源自一可信源,并且随后没有被修改。
一旦更新代理214安装了补丁,它可储存该签名二进制文件以供将来使用。
服务器112包括适用于对访问请求作出响应的类似的模块化体系结构。服务器112包括从客户机110A接收健康状况陈述230的隔离代理210B。服务器112可包括一个或多个健康状态陈述验证符(SHV),其各自处理包含在陈述230中的信息的一部分。在某些实施例中,服务器112将包括对应于客户机110A中的每一SHA的SHV。在图2的示例中,示出了SHV 226A、226B和226C。在此示例中,服务器112中的一个SHV对应于客户机110A中的一个SHA。然而,客户机110A和服务器112B内的软件可以用任何适当的方式来模块化,并且并不要求每一SHV都对应于一SHA。
在此示例中,服务器112内的SHV接收来自健康状况陈述230的、定义客户机110A内的操作系统软件的补丁状态的信息。该SHV基于该补丁状态来确定客户机110A是否符合隔离强制实施策略。SHV所作出的确定被提供给隔离代理210B。隔离代理210B累积来自所有SHV的输出,并生成指示客户机110A是否有资格根据隔离强制实施策略来进行访问的响应。该判定可由隔离代理210B提供给访问服务器112内根据常规的访问控制技术来管理对受管网络120的访问的其它软件。
另外,隔离代理210B生成健康状况陈述响应232,该响应被发送到客户机110A内的隔离代理210A。如果隔离代理210B确定客户机110A没有被授权访问,则健康状况陈述响应232可指出客户机110A为何不符合隔离强制实施策略的原因。
接收到指示客户机110A被隔离的健康状况陈述响应232之后,隔离代理210A可启动补救。如果客户机110A由于其操作系统软件的补丁状态而被隔离,则隔离代理210A可触发更新代理214以从更新服务器150获得补丁,以便使客户机110A符合隔离强制实施策略。
仅当客户机在最初请求对受管网络120的访问时是过时的情况下,图2所示的软件组件可用于检测不具有最新软件的客户机(称为“过时客户机”)。图2所示的方法不能用于检测因更新在客户机连接到网络120之后变得可用而过时的客户机。此外,根据所示方法的补救要求试图访问网络的每一客户机从服务器下载信息。要求每一客户机从服务器获得更新可能会不合需要地增加网络由于下载而引起的网络通信量的增加在每一客户机通过网关或其它网络瓶颈访问更新服务器150的情况下尤其是不合需要的。图2所示的用于检测和补救过时客户机的方法可通过允许对等更新来改进。
图3示出了更新管理系统的一个替换实施例。作为迫使客户机在试图访问受管网络120时更新软件的替代或补充,对过时客户机的检测和补救可作为在已经被授予对受管网络120的访问的客户机之间建立对等通信的一部分来发生。例如,客户机110B和110C在图1中被示为已经被授予了对受管网络120的访问。此时,在客户机110B和110C被授予对受管网络120的访问,因此每一客户机实际上都符合隔离强制实施策略。然而,如果在客户机110B或110C的任一个被授予对受管网络120的访问的事件之后或者隔离强制实施策略改变,或者有另外的更新变得可用,则客户机110B或110C之一可能包含过时软件。
作为在客户机110B和110C之间建立连接的一部分,客户机可交换健康状况信息,从而允许每一客户机确定另一客户机是否较新。如果一个客户机被确定为与另一客户机相比较新,因此该较新的客户机可将其接收到的更新提供给该较过时的客户机。当网络中的一个客户机从更信服务器或其它源获得更新时,该更新将随着网络中的客户机参加对等通信而从一个客户机传播到另一客户机。以此方式,客户机可在除了最初请求对受管网络120的访问的时间之外的其它时间时常接收更新。
此外,通过在受管网络120内进行对等传递,对更新服务器150施加了较少的负担。部署更新在受管网络120和更新服务器150之间的路径不大会产生瓶颈。
可使用对等更新而不管用于客户机110B和110C之间的通信的特定协议是什么。在所描述的实施例中,客户机110B和110C通过首先经一系列握手消息建立连接来通信。不同的协议以不同的方式建立连接。例如,使用TCP协议的通信建立称为“会话”的连接。或者,使用UDP协议通信的客户机分配之后在通信中使用的端口。其它协议和软件系统以不同的方式建立连接,并且用不同的术语来描述这些连接。连接可以例如被描述为“管道”或“套接字”。不论连接或网络分层结构中建立连接之处的层的具体名称或格式是什么,健康状况陈述的交换都可被结合到建立连接的过程中。
现在转向图3,提供了可用于促进对等更新的软件体系结构的一个示例。在所示的实施例中,每一客户机包含相同的软件。在任何给定时刻,客户机可以或者提供或者接收更新。因此,两个客户机中的软件都适用于提供或接收更新,作为对等更新的一部分。
如图3所示,客户机110B包括生成健康状况陈述330B的隔离代理310B。健康状况陈述330B作为建立连接的过程的一部分被发送到客户机110C。类似地,客户机110C包括生成被发送到客户机110B内的隔离代理310B的健康状况陈述330C。
隔离代理310B和310C的每一个可生成一般如以上结合图2所描述的健康状况陈述。在所示的示例中,客户机110B包括SHA 316B,它可获得来自补丁注册表220B的关于安装在客户机110B中的补丁的数据。该信息可以通过安全中心312B提供给隔离代理310B,以便用于生成健康状况陈述330B。类似地,客户机110C包括SHA 316C,它可获得来自客户机110C中的补丁注册表222C的数据。该信息可通过安全中心312C传递给隔离引擎310C以便用于生成健康状况陈述330C。
在此实施例中,健康状况陈述330B和健康状况陈述330C包含相同的格式,其可以是与健康状况陈述230B(图2)相同的格式。然而,结合发起对等通信而作出的更新状态的确定可涉及检验作为应用结合图2所描述的隔离强制实施策略的一部分而检查的客户机110B和110C中的每一个的操作的更少元素的状态。在其中仅将每一客户机的操作系统的补丁状态认为是对等更新的一部分的实施例中,健康状况陈述330B和330C可以仅包含涉及补丁状态的数据。
在生成健康状况陈述时,隔离代理310B和310C中的每一个执行与客户机110A中的隔离代理210A(图2)的功能可比的功能。因此,每一客户机310B和310C包括至少一个SHA,被示为SHA 316B和316C,以获得关于客户机的状态信息。
另外,隔离代理310B和310C中的每一个处理它接收到的健康状况陈述,并生成响应。因此,隔离代理310B和310C中的每一个执行类似于包含在服务器112中的隔离代理210B的功能的功能。如在图2的实施例中一样,关于由隔离代理生成的响应的信息从SHV中获得。因此,客户机110B和110C分别包括SHV 326B和SHV 326C。在接收到健康状况陈述330B之后,隔离代理310C将来自健康状况陈述330B的状态信息提供给SHC 326C。如同结合图2所描述的SHV一样,SHV 326C将健康状况陈述中的状态信息与准则进行比较,从而允许SHV 326C确定发送健康状况陈述330B的客户机是否需要更新。
SHV 326C可应用与图2中的SHV所应用的算法相比的算法,以确定客户机110B是否符合隔离强制实施策略。或者,SHV 326可应用依照对等更新策略的算法,该算法确定客户机110B或客户机110C中的任一个是否应由另一个更新。在某些实施例中,对等更新策略规定较过时的客户机从较新的客户机接收更新。
例如,如果健康状况陈述330B包含标识客户机110B内的软件的最新近更新时间的字段,可应用这一策略。在接收到这一信息之后,SHV 326C可将客户机110B的最新近更新时间与储存在补丁注册表222C中的最新近更新时间进行比较。然而,SHV 326C可执行任何其它适当的处理来生成由隔离代理310C用于实现对等更新策略的状态信息。
基于由SHV 326C返回给隔离代理310C的状态信息,隔离代理310C生成响应332C。健康状况陈述响应332C将关于客户机110B的更新状态的信息传递给隔离代理310B。在所描述的实施例中,健康状况陈述响应332C向客户机110B指示客户机110B中的软件与客户机110C中的软件相比是否是较过时的。
客户机110B内的隔离代理310B执行类似于隔离代理310C的功能的功能。具体地,隔离代理310B接收描述客户机110C的更新状态的健康状况陈述330C。基于包含在健康状况陈述330C中的信息以及补丁注册表222B中的信息,SHV 336B向隔离代理310B返回关于客户机110C的更新状态的信息。隔离代理310B使用该信息来生成被发送给隔离代理310C的健康状况陈述响应332B。健康状况陈述响应332B向客户机110C指示其软件与客户机110D中的软件相比是否较过时。
如果作为交换状态信息的结果,客户机110B和110C确定一个客户机包含与另一客户机相比较过时的软件,则包含较新软件的客户机可发送所储存的包含该较过时客户机所需的更新的二进制文件。例如,如果客户机110B与客户机110C相比较新,则SHV 326B可读取补丁注册表222B以标识在客户机110C被最后一次更新之后安装在客户机110B中的补丁。SHV 326B然后可向隔离代理310B提供对应于这些补丁的签名二进制文件列表。隔离代理310B可将该补丁列表提供给更新代理310B。
更新代理314B可按类似于更新服务器150上的更新代理的方式来操作,并提供二进制文件。在这一配置中,更新代理314B为更新代理314C提供二进制文件。更新代理314C可接收该二进制文件,并以如同这些更新是从服务器150中下载的相同方式将这些更新安装到客户机110C的软件中。
即使更新文件是通过对等来发送的,但是进行认证以保持更新过程的完整性是可行的。由于客户机110B和110C中的每一个都包括公钥,诸如224B和224C,因此任一客户机可以认证签名二进制文件。更新代理314C可确认二进制文件的来源,并且可确认该二进制文件自从生成以来没有被更改。当客户机是用可信公钥来配置的时候,更新代理314C可以确定是否信任该更新。
更新代理314C可以被配置成仅当从另一客户机接收到的二进制文件为可信的时候安装来自这些文件的更新。
提供包含更新的二进制文件的过程可以在客户机110C包含与客户机110B相比较新的软件时反向执行。在这一情形中,更新代理314C用作更新代理314B的源。更新代理314B接收文件、认证它、并应用包含在该文件中的更新。
图3所示的系统可根据任何适当的对等更新策略来操作。例如,该策略可在确定一个客户机包含过时软件时需要有限形式的隔离。具体地,一个客户机可拒绝与包含过时软件的另一客户机建立连接。然而,其它策略也是可行的,并且关于客户机之一包含与另一客户机相比较过时的软件的判定不一定要导致迫使该过时客户机更新的隔离。过时客户机的更新可以是“自愿”的,使得第一客户机和第二客户机之间的连接不论较过时的客户机是否更新其软件都可以进行。作为替换策略的进一步示例,较过时的客户机缺少的更新的特性可指示更新是通过隔离来强制实施的还是自愿的。例如,某些更新可被提供这些更新的软件厂商分类为“关键的”。最新的客户机可以拒绝与缺少关键更新的过时客户机建立连接,但是也可用其它方式来建立连接。
不论使用了什么对等更新策略,较新的客户机都不一定要向较过时的客户机提供二进制文件。向一客户机指示与其正在建立连接的客户机相比较过时的健康状况陈述响应可以替换地触发该过时客户机以激活其更新代理来从更新服务器下载更新。在另一替换实施例中,该较新的客户机可在其用于更新的二进制文件可用时提供这些文件,但是在较过时的客户机没有二进制文件可用时向过时客户机发送指示该较过时的客户机应从更新服务器进行更新的健康状况陈述响应。作为又一替换,较过时的客户机可以在二进制文件可用时从较新的客户机接收并安装这些文件。但是,如果较过时的客户机没有接收到或不能认证该二进制文件,则该较过时的客户机可自己启动从更新服务器的更新下载。
现在转向图4,示出了图3所示的客户机可用于操作的示例性过程。该过程在框410处开始,在那里客户机1和客户机2启动一对等IPsec连接。尽管图4所示的过程可以与任何格式的通信一起使用,但是使用IPsec连接可能是有利的。IPsec协议要求在建立连接之前认证对等点。认证启动对等通信的客户机是受管网络120的合法部分增加了更新过程管理的完整性。此外,IPsec协议指定了其间可容易地适应状态信息的交换的认证阶段。
不论使用的具体通信协议是什么,该过程都继续到框412,在框412处,从至少一个客户机向另一客户机发送健康状况陈述信息。如图3所示,每一客户机都能够或者作为健康状况陈述信息的源,或者作为接收方。如果客户机交换健康状况陈述信息,两者均可确定哪些客户机是较新的。或者,如果健康状况陈述信息是仅从一个客户机发送到另一个的,则该健康状况陈述信息的接收方可标识哪一客户机是较新的。如果对哪一客户机是较新的判定是由一个客户机作出的,则该判定可在健康状况陈述响应中传递给另一客户机。
不论哪一客户机处理该健康状况陈述信息,都在判定框414处将两个客户机的补丁状态进行比较。如果每一客户机具有相同的补丁状态,则该处理前进到框430。在框430处,客户机可在没有更新任一客户机的进一步工作的情况下进行通信。
或者,如果在判定框414处的处理确定客户机之一与另一客户机相比较新,则处理前进到判定框416。在判定框416处,该过程取决于哪一客户机较过时而进行分支。如果客户机1并不是较过时的,则处理前进到框418。在框418处,客户机1向客户机2发送补丁信息,使得客户机2可获得与客户机1相同的更新状态。
在从客户机1接收到补丁之后,客户机2试图验证该补丁。验证可涉及确定该补丁的原始来源以及该补丁自从创建以来是否被修改。验证可涉及任何适当的过程,诸如使用由证书代理分发的公钥。如果客户机2能够验证该补丁,则处理前进到框424,在框424处,将该补丁安装到客户机2上。之后,客户机2达到了与客户机1相同的更新状态,并且该过程前进到框430,在那里可发生客户机1和客户机2之间的通信。
或者,如果在客户机2处接收的补丁不能被验证,则处理前进到框422。在图4所示的过程中,如果出于任何原因客户机2不能验证由客户机1提供的补丁,则客户机2从下载服务器下载补丁。作为框422中的处理的一部分,客户机2安装该下载的补丁。之后,处理前进到框430,在那里客户机1和客户机2进行通信。
或者,如果在判定框416处的处理确定客户机1相对于客户机2是过时的,则处理前进到框440。在框440处,客户机2向客户机1发送补丁,使得客户机1可获得与客户机2相同的更新状态。在判定框442处,客户机1试图验证由客户机2提供的补丁。如上结合判定框420所描述的,客户机1可使用任何适当的用于验证补丁的方法。如果客户机1能够验证该补丁,则该过程前进到框446,在那里将该补丁安装到客户机1上。另外,如果客户机1不能验证该补丁,则该过程从判定框442前进到框444。在框444处,客户机1从更新服务器下载补丁。
不论客户机1是从客户机2还是下载服务器接收补丁,该过程都前进到框430,在那里客户机1和客户机2进行通信。
如此描述了本发明的至少一个实施例的若干方面之后,可以理解,本领域的技术人员将容易想到各种更改、修改和改进。
例如,定义了其中将更新从一个计算机提供给另一的对等更新策略。对操作系统软件的补丁被描述为可被提供的一种类型的更新的示例。可以提供任何更新信息作为对等更新过程的一部分。对其它软件,不论是完全新的软件还是数据文件的更新,诸如包含在病毒签名中的那一些,都可从一个客户机提供给另一个。
此外,提供了替换的对等更新策略的示例。软件可被构造成根据这些策略中的任何一个来操作。或者,软件可被构造成可由网络管理员来配置,从而允许网络管理员选择这些策略中的任一个或任何组合。
此外,描述了建立连接的客户机基于状态信息的交换来确定一个客户机相对于另一客户机是过时的。可采用任何其它方法来确定一个客户机缺少可以由另一客户机提供的更新。例如,任一客户机或两者都可向诸如更新服务器等外部信息源咨询可用更新。
此外,描述了当两个客户机启动连接时应用对等更新策略。该更新策略可以在两个或更多客户机交互的任一时刻应用。此外,可强制交互,以使客户机应用对等更新策略。这一连接可以通过周期性地使得每一客户机联系网络中的其它客户机来强制进行。这一方法在作为网络中的客户机中的后台进程来执行时是合乎需要的。
这些更改、修改和改进旨在成为本公开的一部分,并且旨在落入本发明的精神和范围之内。因此,以上描述和附图仅作为示例。
以上描述的本发明的实施例可以用多种方式中的任一种来实现。例如,各实施例可使用硬件、软件或其组合来实现。当用软件实现时,软件代码可在任意适当的处理器或处理器集合上执行,不论其是在单个计算机中提供的还是分布在多个计算机之间。
并且,此处所略述的各种方法或过程可被编码为在采用各种操作系统或平台中的任一种的一个或多个处理器上执行。另外,该软件可以使用多种合适的编程语言和/或常规编程或脚本工具中的任一种来编写,并且还可被编译为机器语言代码或在框架或虚拟机上执行的中间代码。
在这一方面中,本发明可被实施为用一个或多个程序编码的计算机可读介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、紧致盘、光盘、磁带等),这些程序当在一个或多个计算机或其它处理器上执行时执行实现以上讨论的本发明的各实施例的方法。计算机可读介质或媒体可以是可转移的,使得其上储存的一个或多个程序可被加载到一个或多个不同计算机或其它处理器上以实现以上讨论的本发明的各方面。
术语“程序”或“软件”在此以一般的意义用于指代可用于对计算机或其它处理器编程以实现以上讨论的本发明的各方面的任何类型的计算机代码或计算机可执行指令集。另外,应当认识到,根据本实施例的一方面,当被执行时执行本发明的方法的一个或多个计算机程序无需驻留在单个计算机或处理器上,而是可以按模块化的方式分布在多个不同的计算机或处理器之中以实现本发明的各方面。
计算机可执行指令可以采用许多形式,诸如由一个或多个计算机或其它设备执行的程序模块等。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可按各实施例中所需地组合或分布。
本发明的各方面可以单独地、组合地、或以以上描述的实施例中未具体讨论的各种安排来使用,并且因此其应用不限于以上描述中所阐明或附图中所示的组件的细节和排列。例如,一个实施例中所描述的各方面可以用任何方式与其它实施例中描述的各方面组合。
在权利要求书中使用诸如“第一”、“第二”、“第三”等序数词来修饰一权利要求要素本身并不意味着一个权利要求要素相对于另一权利要求要素的任何优先级、优先次序或顺序,也不意味着执行一方法的各动作的时间顺序,而是仅用作将具有特定名称的一个权利要求要素与具有相同名称(但使用了序数词)的另一要素进行区分以区分各权利要求要素的标记。
并且,此处使用的措词和术语是出于描述的目的,不应被认为是限制。此处对“包括”、“包含”、“具有”、“含有”、“涉及”及其变体的使用意在包含其后列出的项目及其等效项目以及附加项目。

Claims (20)

1.一种操作具有第一客户机和第二客户机的计算机系统的方法,所述方法包括:
a)启动所述第一客户机和所述第二客户机之间的通信,启动通信包括在所述第一客户机处从所述第二客户机接收更新状态;
b)查明所述第一客户机和所述第二客户机之间的相对更新状态;以及
c)基于所述相对更新状态,将更新信息从所述第一客户机传递到所述第二客户机。
2.如权利要求1所述的方法,其特征在于,传递更新信息包括发送签名文件。
3.如权利要求2所述的方法,其特征在于,所述签名文件包括用于在所述第二客户机上操作的软件的补丁。
4.如权利要求1所述的方法,其特征在于,传递更新信息包括发送可由所述第二客户机用于执行更新的信息。
5.如权利要求1所述的方法,其特征在于,传递更新信息包括发送所述第二客户机相对于所述第一客户机为过时的指示。
6.如权利要求1所述的方法,其特征在于,启动所述第一客户机和所述第二客户机之间的通信包括启动IPsec会话。
7.如权利要求1所述的方法,其特征在于,还包括:
d)确定与在所述第一客户机上操作的软件上安装的补丁有关的状态信息;以及
其中:
i)从所述第二客户机接收所述更新状态包括接收标识所述第二客户机上安装的补丁的第二状态信息;以及
ii)查明所述第二客户机是否过时包括将所述状态信息与所述第二状态信息进行比较。
8.如权利要求7所述的方法,其特征在于,还包括在启动通信之前,从一更新服务器下载补丁到所述第一客户机。
9.一种操作具有第一客户机和第二客户机的计算机系统的方法,所述方法包括:
a)启动所述第一客户机和所述第二客户机之间的通信,启动通信包括从所述第二客户机发送关于所述第二客户机的更新状态;以及
b)在所述第二客户机处从所述第一客户机接收更新信息,其中所述更新信息是基于在所述第一客户机和第二客户机之间查明的相对更新状态来通信的。
10.如权利要求9所述的方法,其特征在于,接收更新信息包括接收签名文件。
11.如权利要求10所述的方法,其特征在于,还包括在所述第二客户机处:
d)检验所述签名文件是否可信;以及
e)如果所述签名文件可信,则使用所述签名文件来将一更新安装在所述第二客户机上。
12.如权利要求10所述的方法,其特征在于,还包括在所述第二客户机处:
d)检验所述签名文件是否可信;以及
e)如果所述签名文件不可信,则从一更新服务器下载更新到所述第二客户机。
13.如权利要求9所述的方法,其特征在于,还包括:
d)确定与在所述第一客户机上操作的软件上安装的补丁有关的所述第一客户机的状态信息;以及
e)基于关于所述第二客户机的更新状态和所述第一客户机的状态信息,从所述第一客户机向所述第二客户机发送所述第二客户机相对于所述第一客户机为过时的指示。
14.如权利要求13所述的方法,其特征在于,还包括在启动通信之前从一更新服务器更新所述第一客户机。
15.一种控制具有第一客户计算机和第二客户计算机的计算机系统中的第一客户计算机的方法,包括:
a)在所述第一客户计算机上查明第一客户计算机的更新状态;
b)从第二客户计算机接收一更新状态;
c)确定所述第二客户计算机相对于所述第一客户计算机是否过时;以及
d)将一更新传递到所述第二客户计算机。
16.如权利要求15所述的方法,其特征在于,还包括在所述第一客户计算机将更新信息储存在一更新文件中,其中传递更新包括发送所述更新文件。
17.如权利要求16所述的方法,其特征在于,所述更新文件包括病毒签名。
18.如权利要求16所述的方法,其特征在于,还包括:
e)从所述第二客户计算机接收第二更新;以及
f)确认所述第二更新文件的真实性。
19.如权利要求18所述的方法,其特征在于,确认真实性包括向所述第二更新文件应用一密钥。
20.如权利要求19所述的方法,其特征在于,所述第二更新文件包括用于所述第一客户计算机上的操作系统软件的补丁。
CN200680046044.1A 2005-12-08 2006-12-08 对等补救 Expired - Fee Related CN101326510B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/297,681 US8291093B2 (en) 2005-12-08 2005-12-08 Peer-to-peer remediation
US11/297,681 2005-12-08
PCT/US2006/047019 WO2007067763A1 (en) 2005-12-08 2006-12-08 Peer-to-peer remediation

Publications (2)

Publication Number Publication Date
CN101326510A CN101326510A (zh) 2008-12-17
CN101326510B true CN101326510B (zh) 2015-07-22

Family

ID=38123226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680046044.1A Expired - Fee Related CN101326510B (zh) 2005-12-08 2006-12-08 对等补救

Country Status (6)

Country Link
US (3) US8291093B2 (zh)
EP (1) EP1958093B1 (zh)
JP (1) JP5009303B2 (zh)
KR (1) KR20080081262A (zh)
CN (1) CN101326510B (zh)
WO (1) WO2007067763A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370092B2 (en) * 2002-09-12 2008-05-06 Computer Sciences Corporation System and method for enhanced software updating and revision
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
US8291093B2 (en) * 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8943488B2 (en) * 2007-12-31 2015-01-27 Activision Publishing, Inc. Video game forward compatibility including software patching
US8219983B1 (en) * 2008-03-31 2012-07-10 Symantec Corporation Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system
EP2136530B1 (en) * 2008-05-28 2019-04-03 ABB Research Ltd. Collaborative defense of energy distribution protection and control devices
JP5159466B2 (ja) * 2008-06-24 2013-03-06 キヤノン株式会社 画像処理装置、その制御方法、プログラム及び記憶媒体
KR100989082B1 (ko) * 2008-08-07 2010-10-25 한국전자통신연구원 이동 단말간 보안 상황 정보 교환 방법 및 그 장치
US20100057910A1 (en) * 2008-09-02 2010-03-04 International Business Machines Corporation Concept for trusting client-side storage and distribution of asynchronous includes in an application server environment
US8019857B2 (en) * 2008-09-10 2011-09-13 Microsoft Corporation Flexible system health and remediation agent
JP5394704B2 (ja) * 2008-11-25 2014-01-22 三星電子株式会社 情報通信システム、及びソフトウェア更新方法
US8745735B2 (en) * 2008-11-26 2014-06-03 Panasonic Corporation Monitoring system, program-executing device, monitoring program, recording medium and integrated circuit
US8549626B1 (en) * 2009-03-20 2013-10-01 Symantec Corporation Method and apparatus for securing a computer from malicious threats through generic remediation
US8924956B2 (en) * 2010-02-03 2014-12-30 Yahoo! Inc. Systems and methods to identify users using an automated learning process
US20120131566A1 (en) * 2010-11-23 2012-05-24 Microsoft Corporation Efficient virtual application update
US9420065B2 (en) * 2013-01-18 2016-08-16 Google Inc. Peer-to-peer software updates
US9201642B2 (en) 2013-03-15 2015-12-01 International Business Machines Corporation Extending platform trust during program updates
US20140280604A1 (en) * 2013-03-15 2014-09-18 Yavuz Ahiska Adaptive distributed application streaming
US10860303B2 (en) * 2013-04-24 2020-12-08 Nintendo Co., Ltd. Selective operating system patching/updating
KR20150087988A (ko) * 2014-01-23 2015-07-31 한국전자통신연구원 단말용 응용 프로그램 관리 시스템 및 방법
US9575741B2 (en) * 2014-03-20 2017-02-21 Google Technology Holdings LLC Methods and devices for wireless device-to-device software upgrades
CN105306505A (zh) * 2014-07-11 2016-02-03 腾讯科技(深圳)有限公司 数据更新方法、终端及服务器
US10721267B1 (en) * 2014-07-18 2020-07-21 NortonLifeLock Inc. Systems and methods for detecting system attacks
US10558449B2 (en) * 2016-12-06 2020-02-11 Vmware, Inc. Distribution and execution of instructions in a distributed computing environment
US10862915B2 (en) 2018-02-06 2020-12-08 Bank Of America Corporation Exception remediation logic routing and suppression platform
US10812502B2 (en) 2018-02-06 2020-10-20 Bank Of America Corporation Network device owner identification and communication triggering system
US10819731B2 (en) 2018-02-06 2020-10-27 Bank Of America Corporation Exception remediation logic rolling platform
US11089042B2 (en) 2018-02-06 2021-08-10 Bank Of America Corporation Vulnerability consequence triggering system for application freeze and removal
US11265340B2 (en) 2018-02-06 2022-03-01 Bank Of America Corporation Exception remediation acceptable use logic platform
US11336658B2 (en) 2018-04-27 2022-05-17 Dell Products L.P. Information handling system threat management
US11595407B2 (en) 2018-04-27 2023-02-28 Dell Products L.P. Information handling system threat management
US10637876B2 (en) 2018-04-27 2020-04-28 Dell Products L.P. Information handling system threat management
US10616974B2 (en) 2018-04-27 2020-04-07 Dell Products L.P. Ambience control managed from an information handling system and internet of things network interface
US11120135B2 (en) * 2018-09-28 2021-09-14 International Business Machines Corporation Updating security information on multiple computing machines
US10997208B2 (en) 2019-02-13 2021-05-04 Sap Se In-memory database-managed container volume replication
US11422973B2 (en) * 2019-03-06 2022-08-23 Sap Se Peer-to-peer delta image dispatch system
US11403320B2 (en) 2019-03-06 2022-08-02 Sap Se Elastic in-memory database provisioning on database-as-a-service
US11588848B2 (en) 2021-01-05 2023-02-21 Bank Of America Corporation System and method for suspending a computing device suspected of being infected by a malicious code using a kill switch button
US11539783B1 (en) * 2021-12-09 2022-12-27 Citrix Systems, Inc. Efficient downloading of files to multiple users in proximity of one another

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701427A (en) * 1989-09-19 1997-12-23 Digital Equipment Corp. Information transfer arrangement for distributed computer system
DE4497149B4 (de) * 1993-09-24 2005-02-10 Oracle Corp., Redwood City Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US6074434A (en) * 1996-06-07 2000-06-13 International Business Machines Corporation Selection of code updates, data updates or new data for client
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6035423A (en) * 1997-12-31 2000-03-07 Network Associates, Inc. Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6205551B1 (en) * 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
US5987610A (en) * 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
DE69907709T2 (de) * 1998-10-09 2004-03-25 Sun Microsystems, Inc., Santa Clara Prozessüberwachung in einem rechnersystem
JP3329301B2 (ja) 1999-02-26 2002-09-30 日本電気株式会社 インターネットを用いたプログラムパッチ投入方法ならびにシステム及び同方法がプログラムされ記録された記録媒体
US6453404B1 (en) * 1999-05-27 2002-09-17 Microsoft Corporation Distributed data cache with memory allocation model
US6381631B1 (en) * 1999-06-03 2002-04-30 Marimba, Inc. Method and apparatus for controlling client computer systems
US6754664B1 (en) * 1999-07-02 2004-06-22 Microsoft Corporation Schema-based computer system health monitoring
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
JP2001119478A (ja) 1999-10-20 2001-04-27 Oki Electric Ind Co Ltd 呼接続方法
US6990591B1 (en) * 1999-11-18 2006-01-24 Secureworks, Inc. Method and system for remotely configuring and monitoring a communication device
US20020010866A1 (en) * 1999-12-16 2002-01-24 Mccullough David J. Method and apparatus for improving peer-to-peer bandwidth between remote networks by combining multiple connections which use arbitrary data paths
US6892317B1 (en) * 1999-12-16 2005-05-10 Xerox Corporation Systems and methods for failure prediction, diagnosis and remediation using data acquisition and feedback for a distributed electronic system
US6816900B1 (en) * 2000-01-04 2004-11-09 Microsoft Corporation Updating trusted root certificates on a client computer
AU2001261141A1 (en) 2000-05-02 2001-11-12 Sun Microsystems, Inc. Method and system for achieving high availability in a networked computer system
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
JP2002082907A (ja) 2000-09-11 2002-03-22 Nec Corp データ通信におけるセキュリティ機能代理方法、セキュリティ機能代理システム、及び、記録媒体
US6493891B1 (en) * 2000-09-21 2002-12-17 Lucy J. Livingston Combination pillow and tote bag
FR2815800B1 (fr) * 2000-10-24 2003-01-17 Netcelo Procede et systeme de communication de donnees
WO2002065282A2 (en) 2001-02-09 2002-08-22 Microsoft Corporation Distribution of binary executables and content from peer locations/machines
US20030115251A1 (en) * 2001-02-23 2003-06-19 Fredrickson Jason A. Peer data protocol
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
US7114175B2 (en) * 2001-08-03 2006-09-26 Nokia Corporation System and method for managing network service access and enrollment
EP1413119B1 (en) 2001-08-04 2006-05-17 Kontiki, Inc. Method and apparatus for facilitating distributed delivery of content across a computer network
US7130921B2 (en) * 2002-03-15 2006-10-31 International Business Machines Corporation Centrally enhanced peer-to-peer resource sharing method and apparatus
JP2003288225A (ja) 2002-03-28 2003-10-10 Anritsu Corp 公衆通信端末,端末管理装置及びメインプログラム更新システム
US20030233455A1 (en) * 2002-06-14 2003-12-18 Mike Leber Distributed file sharing system
US8233893B2 (en) * 2002-08-22 2012-07-31 Hewlett-Packard Development Company, L.P. Mobile handset update package generator that employs nodes technique
JP2004118482A (ja) 2002-09-26 2004-04-15 Toshiba Corp 記憶装置、および、キャッシュ方法
US7188369B2 (en) * 2002-10-03 2007-03-06 Trend Micro, Inc. System and method having an antivirus virtual scanning processor with plug-in functionalities
US7278019B2 (en) * 2002-11-04 2007-10-02 Hewlett-Packard Development Company, L.P. Method of hindering the propagation of a computer virus
US7287068B1 (en) * 2002-12-13 2007-10-23 Bmc Software, Inc. System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
JP4233328B2 (ja) 2003-01-08 2009-03-04 日立ソフトウエアエンジニアリング株式会社 ピアツーピア技術を用いたファイルダウンロード方法及びシステム
US8091117B2 (en) * 2003-02-14 2012-01-03 Preventsys, Inc. System and method for interfacing with heterogeneous network data gathering tools
US20040205419A1 (en) * 2003-04-10 2004-10-14 Trend Micro Incorporated Multilevel virus outbreak alert based on collaborative behavior
US7437763B2 (en) * 2003-06-05 2008-10-14 Microsoft Corporation In-context security advisor in a computing environment
US20040261071A1 (en) * 2003-06-23 2004-12-23 Macronix International Co., Ltd. Peer version control system
JP4256218B2 (ja) 2003-07-30 2009-04-22 株式会社東芝 通信システム、通信装置、プログラム並びに通信方法
US20050050337A1 (en) * 2003-08-29 2005-03-03 Trend Micro Incorporated, A Japanese Corporation Anti-virus security policy enforcement
JP2005107803A (ja) * 2003-09-30 2005-04-21 Hitachi Ltd システム更新方法、および、それを実行するための計算機システム
US20050076325A1 (en) * 2003-10-02 2005-04-07 International Business Machines Corporation Automatic software update of nodes in a network data processing system
US20050086526A1 (en) * 2003-10-17 2005-04-21 Panda Software S.L. (Sociedad Unipersonal) Computer implemented method providing software virus infection information in real time
US7448070B2 (en) * 2003-10-17 2008-11-04 Microsoft Corporation Network fingerprinting
US7509636B2 (en) 2003-12-15 2009-03-24 Microsoft Corporation System and method for updating files utilizing delta compression patching
US20050166198A1 (en) * 2004-01-22 2005-07-28 Autonomic Software, Inc., A California Corporation Distributed policy driven software delivery
JP4265431B2 (ja) 2004-02-09 2009-05-20 日本電気株式会社 パッチ管理システムおよびパッチ管理プログラム
US7360237B2 (en) 2004-07-30 2008-04-15 Lehman Brothers Inc. System and method for secure network connectivity
US8234705B1 (en) * 2004-09-27 2012-07-31 Radix Holdings, Llc Contagion isolation and inoculation
US20060075103A1 (en) * 2004-10-05 2006-04-06 International Business Machines Corporation Systems, methods, and media for providing access to clients on a network
US7716660B2 (en) 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
US20060184651A1 (en) 2005-02-11 2006-08-17 Srikanthan Tirnumala Architecture for general purpose trusted virtual client and methods therefor
US7984493B2 (en) * 2005-07-22 2011-07-19 Alcatel-Lucent DNS based enforcement for confinement and detection of network malicious activities
US8291093B2 (en) * 2005-12-08 2012-10-16 Microsoft Corporation Peer-to-peer remediation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer

Also Published As

Publication number Publication date
EP1958093B1 (en) 2014-03-12
EP1958093A4 (en) 2013-03-06
KR20080081262A (ko) 2008-09-09
US20070136297A1 (en) 2007-06-14
US20130019238A1 (en) 2013-01-17
EP1958093A1 (en) 2008-08-20
JP5009303B2 (ja) 2012-08-22
JP2009520252A (ja) 2009-05-21
US8924577B2 (en) 2014-12-30
US8291093B2 (en) 2012-10-16
WO2007067763A1 (en) 2007-06-14
CN101326510A (zh) 2008-12-17
US20130007295A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
CN101326510B (zh) 对等补救
US8869142B2 (en) Secure content publishing and distribution
Nikitin et al. {CHAINIAC}: Proactive {Software-Update} transparency via collectively signed skipchains and verified builds
Lee et al. Blockchain-based secure firmware update for embedded devices in an Internet of Things environment
JP4550147B2 (ja) コンポーネントをロードするための方法、システム及び記録媒体
Bellissimo et al. Secure Software Updates: Disappointments and New Challenges.
EP3577591B1 (en) Security for a software container
KR101353725B1 (ko) 무선 네트워크내의 보안 키 관리 방법 및 시스템
EP2141625B1 (en) System and method to secure boot UEFI firmware and UEFI-aware operating systems on a mobile internet device (mid)
US8104077B1 (en) System and method for adaptive end-point compliance
US20130055369A1 (en) System and method for day-zero authentication of activex controls
US6633978B1 (en) Method and apparatus for restoring computer resources
US20050166041A1 (en) Authentication in a distributed computing environment
US20100318789A1 (en) Method and system for license management
WO2011006997A1 (en) System and method for providing secure virtual machines
US20130014098A1 (en) Image install of a network appliance
WO2008030629A1 (en) Method and apparatus to establish routes based on the trust scores of routers withtn an ip routing domain
JP4987180B2 (ja) サーバコンピュータ、ソフトウェア更新方法、記憶媒体
US20240126886A1 (en) Trusted Computing for Digital Devices
Zheng et al. Secure distributed applications the decent way
Carvalho et al. Using mobile agents as roaming security guards to test and improve security of hosts and networks
US11765155B1 (en) Robust and secure updates of certificate pinning software
Zheng et al. Building secure distributed applications the DECENT way
Joshi et al. Secure Firmware Update Architecture for IoT Devices using Blockchain and PUF
Teo et al. Secure and automated software updates across organizational boundaries

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150720

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150720

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150722

Termination date: 20201208

CF01 Termination of patent right due to non-payment of annual fee