CN1856781A - 用于创建和使用自适应参考模型的系统及方法 - Google Patents

用于创建和使用自适应参考模型的系统及方法 Download PDF

Info

Publication number
CN1856781A
CN1856781A CN 200480027940 CN200480027940A CN1856781A CN 1856781 A CN1856781 A CN 1856781A CN 200480027940 CN200480027940 CN 200480027940 CN 200480027940 A CN200480027940 A CN 200480027940A CN 1856781 A CN1856781 A CN 1856781A
Authority
CN
China
Prior art keywords
reference model
assets
adaptive reference
value
asset
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.)
Pending
Application number
CN 200480027940
Other languages
English (en)
Inventor
大卫·尤金·胡克斯
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.)
Chorus Systems Inc
Original Assignee
Chorus Systems Inc
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 Chorus Systems Inc filed Critical Chorus Systems Inc
Publication of CN1856781A publication Critical patent/CN1856781A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

描述了用于创建和使用自适应参考模型的系统及方法。所描述的一种方法包括:从多个计算机接收多个快照,所述多个快照中的每一个都包括多个成对的资产名和资产值;以及至少部分地基于所述多个快照自动创建自适应参考模型。

Description

用于创建和使用自适应参考模型的系统及方法
相关申请的交叉引用
本申请要求享有2003年8月11日提交的美国临时申请号60/494,225以及名称为“用于自动化计算机支持的系统和方法”的同此提交的美国申请序列号10/916,956、代理人标号52270/302838的权益,所述两个申请整体在此并入作为参考。
技术领域
本发明一般涉及用于自动化计算机支持的系统和方法。更加具体地,本发明涉及用于创建并使用自适应参考模型的系统及方法。
背景技术
随着信息技术复杂性持续增加,问题管理成本会逐步升高,因为支持事件的频率上升,并且对于人工分析员的技能设置要求变得更为苛求。传统的问题管理工具被设计用来通过增加执行这些支持任务的人工效率来减少成本。这典型地通过至少部分地使事故单信息的捕获自动化以及通过使访问知识库便利来完成。尽管有用,但是这种类型的自动化已到达收益递减点,因为它未能处理支持模型本身中的根本弱点——它对人工的依赖。
表1显示了和传统的基于人工的支持模型中的事件解决有关的人工成本分布。显示的数据由帮助桌面软件的主要供应商MotiveCommunications Inc.of Austin,Texas(www.motive.com)提供。最高成本项目是与需要人工分析和/或交互的任务(例如诊断、调查、解决)有关的那些。
表1:
支持任务     %人工成本
简单和重复的问题(30%)
桌面配置(用户造成)     4%
桌面环境(软件故障)     9%
网络与连接     7%
基本知识(问题)     10%
复杂&动态问题(70%)
筛余(识别用户和支持权利)     7%
诊断(分析机器状态)     11%
调查(发现问题来源)     35%
解决与修复(通过修复送走用户)     18%
用于自动化问题管理的传统软件解决方案试图减少这些成本并跨越服务水平的宽范围添加价值。Forrester Research,Inc.of Cambridge,MA( www.forrester.com)提供了这些服务水平的有用表征。ForresterResearch将传统自动化计算机支持解决方案分成5个服务水平,包括:(1)集中恢复(Mass-Healing)——事件发生之前解决;(2)自动恢复(Self-Healing)——事件发生时解决;(3)自动服务(Self-Service)——用户呼叫之前解决事件;(4)辅助服务(Assisted-Service)——用户呼叫时解决事件;以及(5)台面访问(Desk-side Visit)——当所有其他失败时解决事件。根据Forrester,使用传统的自动恢复服务的每个事件的成本小于1美元。然而,如果最终需要台面访问的话,则成本迅速逐步升高,达到每个事件多于300美元。
集中恢复的目标是要在事件发生之前解决它们。在传统的系统中,通过使所有的PC配置相同,或者最低程度上确保在一台PC上发现的问题不能在任何其他PC上重复,来实现这个目标。典型地与这种服务水平有关的传统产品由软件分布工具和配置管理工具组成。诸如反病毒扫描程序、入侵检测系统和数据完整性检验程序之类的安全产品同样被认为是这个水平的部分,因为它们集中在防止事件发生上。
试图处理这种服务水平的传统产品,通过将管理的群体限制到少量的已知正确配置,并且通过检测并消除相对少量的已知错误配置(例如病毒签名),来进行操作。这种方法的问题在于它假定:(1)能够提前知道所有正确和错误的配置;以及(2)一旦它们已知,它们保持相对稳定。随着计算机和网络系统复杂性增加,网络中任何特定节点的稳定性趋于减少。任何特定节点上的硬件和软件都可能频繁变化。例如,许多软件产品能够使用经由内部网络或因特网访问的软件补丁自动更新自己。由于存在无限数量的正确与错误配置,并且由于它们经常变化,所以这些传统自动恢复产品永远不能多于部分有效。
进一步,病毒作者持续开发越来越聪明的病毒。传统病毒检测与根除软件依赖于识别已知模式的能力以检测并根除病毒。然而,随着病毒的数目和复杂性增加,维持已知病毒的和用于那些病毒的修理的数据库所需的资源,连同将所述修理分发给网络上的节点群体所需的资源,变得势不可挡。另外,使用微软视窗操作系统的传统PC包括7,000以上的系统文件和全都是多值的100,000以上的注册表项。因此,对于所有的实际目的,可能存在无限数量的正确状态和无限数量的错误状态,使得识别错误状态的任务更加复杂。
自动恢复水平的目标是,在问题导致呼叫帮助台之前,理想地在用户恰好明白问题存在之前,感应并自动校正它们。自从80年代末以来,当时Peter Norton引进了一套PC诊断与修复工具( www.Svmantec.com),传统自动恢复工具就已存在。这些工具还包括下述工具,所述工具允许用户将PC恢复到安装新产品之前的恢复点集(restore point set)。然而,没有传统工具在现实条件下工作良好。
这些传统工具的一个根本问题是以下方面的困难:创建参考模型,其具有足够的范围、间隔尺寸和柔性,以允许“正常”与“异常”可靠地区分。使该问题增加的是下述事实:“正常”的定义必须随着新软件更新和部署应用程序而经常改变。这是个艰难的技术挑战,并且尚未被任何传统工具所攻克。
自动服务水平的目标是,通过提供使最终用户能够帮助他们自己的自动化工具和知识库的集合,来减少帮助台呼叫的业务量。传统自动服务产品由“基本知识的”知识库和软件解决方案的集合组成,所述软件解决方案使诸如重置遗忘的密码之类的低风险、重复的支持功能自动化。这些传统解决方案具有以下显著的不利方面:它们增加了自我造成的损害的可能性。因为这个原因,它们限于特定类型的问题和应用。
辅助服务水平的目标是,通过提供用于管理服务请求的自动化基础设施,并且通过提供远程控制个人计算机和与最终用户交互的能力,来增强人工效率。传统辅助服务产品包括帮助台软件、在线参考资料以及远程控制软件。
尽管这种服务水平的产品也许是在此描述的传统产品和解决方案中最成熟的,但是它们仍然未能充分满足用户和组织的需要。特别地,这些产品自动诊断问题的能力,在能够正确识别的问题的类型方面,以及诊断准确性(通常多重选择)方面,都严重受限。
当所有其他都失败时,桌面访问就变得必要。这种服务水平包括任何“实地”活动,其可能变得有必要,以恢复不能远程诊断/修复的计算机。它还包括跟踪和管理这些活动以确保及时解决。在所有的服务水平中,这种水平最有可能需要来自高度训练的并从而是昂贵的人力资源的大量时间。
这种水平的传统产品由专门诊断工具和软件产品组成,所述软件产品随着时间的过去并潜在地跨越多个顾客服务代表跟踪并解决顾客问题。
这样一来,所需要的就是范式转换(paradigm shift),其有必要显著减少支持成本。这种转换会用新的支持模型的出现来表征,在所述新的模型中,机器将充当用于进行决定和发起行动的主要代理。
发明内容
本发明的实施例提供了用于创建和使用自适应参考模型的系统和方法。根据本发明的一个实施例的一种方法包括:从多个计算机接收多个快照(snapshot),所述多个快照中的每一个都包括多个成对的资产名(asset name)和资产值(asset value);以及至少部分基于所述多个快照,自动创建自适应参考模型。在另一个实施例中,计算机可读介质(像例如随机存取存储器或计算机磁盘之类)包含用于执行这样的方法的代码。
提及这些实施例并不是为了限制或规定本发明,而是为了提供本发明实施例的例子以有助于理解。在详细说明中讨论了示范性的实施例,并且在那里提供了本发明的进一步的说明。通过检查这个详细说明可以进一步理解本发明的各种实施例提供的优点。
附图说明
当参考附图阅读以下详细说明时,可以更好地理解本发明的这些以及其他的特征、方面和优点,其中:
图1显示了用于执行本发明的一个实施例的示范性环境;
图2是显示本发明的一个实施例中的信息和行动流程的方框图:
图3是显示本发明的一个实施例中的异常检测的总体过程的流程图;
图4是显示本发明的一个实施例中的自适应参考模型的部件的方框图;
图5是显示本发明的一个实施例中的规范化客户机上的注册表信息的过程的流程图;
图6是显示本发明的一个实施例中的用于识别和响应异常的方法的流程图;
图7是显示本发明的一个实施例中的用于识别一定类型的异常的过程的流程图;
图8是显示本发明的一个实施例中的用于生成自适应参考模型的过程的流程图;
图9是显示本发明的一个实施例中的用于主动异常检测的过程的流程图:
图10是显示本发明的一个实施例中的用于异常检测的反应过程的流程图;
图11是本发明的一个实施例中的用于创建自适应参考模型的用户界面的屏幕截图;
图12是本发明的一个实施例中的用于管理自适应参考模型的用户界面的屏幕截图;
图13是本发明的一个实施例中的用于选择快照以用于创建识别过滤器的用户界面的屏幕截图;
图14是本发明的一个实施例中的用于管理识别过滤器的用户界面的屏幕截图;
图15是显示本发明的一个实施例中的用于选择“黄金系统”供策略模板之用的用户界面的屏幕截图;以及
图16是本发明的一个实施例中的用于选择策略模板资产的用户界面的屏幕截图。
具体实施方式
本发明的实施例提供了用于创建和使用自适应参考模型的系统及方法。现在参考附图,其中遍及多个附图相同的数字指示相同的元件,图1是显示用于执行本发明的一个实施例的示范性环境的方框图。显示的实施例包括自动化支持设施102。尽管自动化支持设施102在图1中被显示为单个设施,但是它可以包含多个设施,或者被并入到管理群体所在的地点。自动化支持设施包括防火墙104,其与网络106通信,用于向存储在自动化支持设施102之内的数据提供安全。自动化支持设施102还包括收集部件108。收集部件108除了其他特征之外还提供一种机制,用于传送自动化支持设施102的进进出出的数据。传送程序可以使用标准协议,诸如文件传送协议(FTP)或超文本传送协议(HTTP)之类,或者可以使用私有协议。收集部件还提供下载、解压缩和解析进来的快照所需的处理逻辑。
显示的自动化支持设施102还包括分析部件110,其与收集部件108通信。分析部件110包括硬件和软件,用于执行在此说明的自适应参考模型,并将自适应参考模型存储在数据库部件112中。分析部件110从数据库部件112中提取自适应参考模型和快照,在参考模型的环境中分析快照,识别并过滤任何异常,并且在适当时传输(一个或多个)响应代理程序(response agent)。分析部件110还向系统提供用户界面。
显示的实施例还包括数据库部件112,其与收集部件108以及分析部件110通信。数据库部件112提供用于存储数据的手段,所述数据来自代理程序,并且用于本发明实施例执行的过程。数据库部件的主要功能可以是存储快照和自适应参考模型。它包括一组数据库表格以及自动管理那些表格所需的处理逻辑。显示的实施例仅包括一个数据库部件112和一个分析部件110。其他实施例包括许多数据库和/或分析部件112、110。一个实施例包括一个数据库部件和多个分析部件,允许多个支持人员共享单个数据库,同时执行并行的分析任务。
本发明的实施例将自动化支持提供给管理群体114,其可以包含多个客户计算机116a、b。管理群体经由网络106向自动化支持设施102提供数据。
在图1显示的实施例中,在每个监视的机器116a、b之内部署代理部件202。代理部件202从客户机116搜集数据。以预定的时间间隔(例如每天一次)或响应来自分析部件110的命令,代理部件202获取它驻留的机器的状态的详细快照。这个快照包括以下的详细检查:所有的系统文件、指定的应用文件、注册表、性能计数器、进程、服务、通信端口、硬件配置以及日志文件。每次扫描的结果然后被压缩并以快照的形式传输给收集部件108。
图1中显示的服务器、计算机和网络部件中的每一个都包含处理器和计算机可读介质。如本领域技术人员众所周知的那样,通过将多种功能组合到单个计算机中,或者可选择地,通过使用多个计算机执行单个任务,可以以无数方式配置本发明的实施例。
本发明的实施例使用的处理器可以包括例如数字逻辑处理器,其当支持根据本发明的过程必要时,能够处理输入、执行算法并生成输出。这样的处理器可以包括微处理器、ASIC和状态机。这样的处理器包括或者可以与例如计算机可读介质的介质通信,所述介质存储这样的指令,当所述指令由处理器执行时,使处理器执行在此说明的步骤。
计算机可读介质的实施例包括但不限于电子、光学、磁性或其他存储或传输装置,其能够将计算机可读指令提供给处理器,诸如与触摸感应输入装置通信的处理器之类。合适的介质的其他例子包括但不限于软盘、CD-ROM、磁盘、存储芯片、ROM、RAM、ASIC、配置的处理器、所有的光学介质、所有的磁带或其他磁性介质、或者计算机处理器能够从其中读取指令的任何其他介质。同样,各种其他形式的计算机可读介质可以向计算机传输或运送指令,包括路由器、专用或公用网络、或者其他传输装置或信道,既包括有线又包括无线。指令可以包含来自任何计算机编程语言的代码,包括例如C、C#、C++、Visual Basic、Java以及JavaScript。
图2是显示本发明的一个实施例中的信息和行动流程的方框图。显示的实施例包含代理部件202。代理部件202是在每个监视的机器之内部署的系统的部分。它可以执行3个主要功能。首先,它可以负责搜集数据。以预定的时间间隔、响应来自分析部件110的命令、或者响应由代理部件202检测到的所关心的事件,代理部件202可以执行客户机116a、b的广泛扫描。这种扫描可以包括以下的详细检查:所有的系统文件、指定的应用文件、注册表、性能计数器、硬件配置、日志、运行任务、服务、网络连接以及其他相关数据。每次扫描的结果被压缩并且以“快照”的形式经由网络106传输给收集部件108。
在一个实施例中,代理部件202读取要被检查的文件的每个字节,并且为每个文件创建数字签名或散列(hash)。数字签名识别每个文件的确切内容,而不是简单地提供诸如大小和创建日期之类的元数据。一些传统病毒改变文件头信息,试图愚弄依赖用于检测的元数据的系统。这样的实施例能够成功地检测这样的病毒。
代理部件202对客户机的扫描可以是资源密集型的。在一个实施例中,周期性地,例如每天当用户不在使用客户机时的时间期间,执行全扫描。在另一个实施例中,代理部件202执行客户机的增量扫描,仅记录从上次扫描以来的变化。在另一个实施例中,在要求时代理部件202执行扫描,向试图修复客户机上的异常的技术人员或支持人员提供有价值的工具。
代理202执行的第二个主要功能是行为阻断(behavior blocking)。代理202经常地(或基本上经常地)监视对诸如系统文件和注册表之类的关键系统资源的访问。它能够选择性地实时阻断对这些资源的访问,以防止恶意软件破坏。尽管行为监视在正在进行的基础上发生,但是行为阻断能够作为修复行动的部分。例如,如果分析部件110怀疑病毒存在,则它能够下载修复行动,以使代理阻断病毒访问管理的系统之内的关键信息资源。代理部件202从监视过程提供信息作为快照的部分。
代理部件202执行的第三个主要功能是提供用于响应代理程序的执行环境。响应代理程序是移动软件部件,其执行自动化过程以处理各种类型的故障状况。例如,如果分析部件110怀疑病毒存在,则它能够下载响应代理程序,以使代理部件202从管理的系统中去除可疑的资产。代理部件202可以作为正被监视的计算机上的服务或其他后台进程运行。因为本发明的实施例提供的信息的范围和间隔尺寸,与用传统的系统相比,能够更加精确地执行修复。尽管根据客户机进行了说明,但是管理群体114可以包含PC工作站、服务器、或任何其他类型的计算机。
显示的实施例还包括自适应参考模型部件206。建立自动化支持产品中的一个困难的技术挑战是,创建能够用于在正常和异常系统状态之间进行区分的参考模型。现代计算机的系统状态由许多多值变量确定,并从而存在事实上几乎无限数量的正常和异常状态。使事情更糟的是,这些变量随着部署新的软件更新并且随着最终用户通信而频繁地变化。显示的实施例中的自适应参考模型206分析来自许多计算机的快照,并且使用专门为了这个目的而设计的普通数据提炼算法或专用数据提炼算法,来识别统计显著模式。作为结果的规则集极其丰富(成百上千条规则),并且被定制成管理群体的独特特征。在显示的实施例中,建立新的参考模型的过程完全自动化,并且能够被周期性地执行,以允许模型适合于诸如软件更新的计划部署之类的预期变化。
由于自适应参考模型206用于分析来自机器群体的统计显著模式,所以在一个实施例中,分析最小数量的机器以确保统计测量的准确性。在一个实施例中,测试近50台机器的最小群体,以实现用于分析机器的系统性相关的模式。参考一旦被确立,样本就能够用于确定在整个群体或群体的任何成员之内是否发生任何异常的事情。
在另一个实施例中,分析部件110计算一组成熟规格(maturitymetrics),其使用户能够确定何时足够数量的样本已被累积以提供准确的分析。这些成熟规格指示已满足对应于各种置信水平(例如高、中和低)的预定标准的模型的每个水平处的可用关系的百分比。在一个这样的实施例中,用户监视所述规格,并且确保足够的快照已被吸收同化以创建成熟模型。在另一个这样的实施例中,分析部件110吸收同化样本,直到它达到用户预定的成熟目标集为止。在任一这样的实施例中,不必要吸收同化一定数量的样本(例如50)。
图2中显示的实施例还包含策略模板部件208。策略模板部件208允许服务提供商以“策略”的形式将规则手工插入到自适应参考模型中。策略是属性(文件、注册表项等等)和值的组合,当其被提供给模型时,覆盖模型中的统计地生成的信息的部分。这种机制能够用于使多种共同的维护活动自动化,诸如检验对安全策略的服从以及检查以确保适当的软件更新已被安装之类。
当计算机发生某种故障时,它通常影响若干不同的信息资产(文件、注册表项等等)。例如,“特洛伊”可能安装恶意文件,添加一定的注册表项以确保执行那些文件,并且开通用于通信的端口。通过将来自被感染的机器的快照与自适应参考模型中包含的标准相比较,图2中显示的实施例将这些不希望的变化检测为异常。异常被定义为意外存在的资产、意外不存在的资产、或具有未知值的资产。对照识别过滤器216的库匹配异常。识别过滤器216包含异常的特定模式,其指示特定根本原因状况或普通类状况的存在。识别过滤器216还将状况与严重性指示、文本描述以及对响应代理程序的链接相联系。在另一个实施例中,识别过滤器216能够用于识别并解释良性异常。例如,如果用户添加管理员确信不会造成任何问题的新的应用程序,则根据本发明的系统仍然会将所述新的应用程序报告为一组异常。如果应用程序是新的,那么将添加的资产报告为异常是正确的。然而,管理员能够使用识别过滤器216将通过添加应用程序产生的异常解释为良性。
在本发明的实施例中,某些属性涉及连续的过程。例如,性能数据由各种计数器组成。这些计数器计量在特定时限期间发生的各种事件。为了确定这样的计数器的值跨越群体是否正常,本发明的一个实施例计算平均值和标准差。如果计数器的值从平均值背离多于一定数量的标准差,则声明异常。
在另一个实施例中,机制处理自适应参考模型206吸收同化包含异常的快照的情况。一旦模型达到预期成熟水平,它就经历去除可能已被吸收同化的异常的过程。这些异常作为强关系之孤立例外在成熟模型中是可见的。例如,如果文件A连同文件B在999台机器中出现,但是在1台机器中文件A存在而文件B丢失,则过程会假定后者关系异常,并会从模型中将其去除。当模型随后用于检查时,任何包含文件A但是不包含文件B的机器都会被标记为异常。
图2中显示的本发明的实施例还包括响应代理程序库212。响应代理程序库212允许服务提供商创造并存储对于特定故障状况的自动化响应。这些自动化响应从脚本集合中构造,其能够被调度给管理的机器,以执行像替换文件或改变注册表值的行动。一旦已分析了故障状况并且已定义了响应代理程序,就应当自动地校正任何随后发生的相同故障状况。
图3是显示本发明的一个实施例中的异常检测的总体过程的流程图。在显示的实施例中,代理部件(202)在周期的基础上、例如每天一次地执行快照302。这种快照包括收集大量的数据,并且能够获取任何地方,从几分钟到几个小时地执行,这取决于客户机的配置。当扫描完成时,结果被压缩、格式化、并且以快照的形式传输给被称为收集部件的安全服务器304。收集部件充当用于从管理群体提交的所有快照的中央仓库。每个快照然后由收集部件解压缩、解析、并且存储在数据库的各种表格中。
检测功能(218)使用自适应参考模型部件(206)中存储的数据,以对照成百上千的统计相关关系检查快照的内容,所述统计相关关系已知对于该管理群体是正常的308。如果未发现异常310,则过程结束324。
如果发现异常310,则咨询识别过滤器(210),以确定异常是否匹配任何已知的状况312。如果答案为是,那么根据已被诊断的状况报告异常314。否则,将异常报告为未被识别的异常316。识别过滤器(216)还指示对于该特定类型的状况是否已授权自动化响应318。
在一个实施例中,识别过滤器(216)能够识别并合并多种异常。在已分析整个快照并且已检测与该快照相关的所有异常之后,执行将识别过滤器与异常匹配的过程。如果在异常的子集和识别过滤器之间发现匹配,则在输出流中,识别过滤器的名称会和异常的子集相关。例如,病毒的存在可能生成一组文件异常、进程异常、以及注册表异常。识别过滤器能够用于合并这些异常,以便用户会简单地看到描述性的名称,其将所有异常都关联到可能的共同原因,亦即病毒。
如果自动化响应已被授权,那么响应代理程序库(212)就下载适当的响应代理程序给受感染的机器320。受感染机器中的代理部件(202)然后就执行校正故障状况所需的脚本序列322。显示的过程然后结束324。
本发明的实施例显著减少了维护个人计算机和服务器群体的成本。通过在故障状况逐步升高到帮助台之前自动检测并校正它们,并且通过提供诊断信息以缩短支持分析员解决未被自动处理的任何问题所需的时间,一个实施例完成了这个目标。
减少事件发生频率的任何事情,在计算机支持成本方面都具有显著正面影响。本发明的一个实施例监视并调节管理的机器的状态,以便它对威胁更有抵抗力。使用策略模板,服务提供商能够日常地监视每个管理的系统的安全态势,自动地调节安全设置并安装软件更新以消除已知的弱点。
在基于人工的支持模型中,故障状况由最终用户检测,报告给帮助台,并由人工专家诊断。这个过程以若干方式增加成本。首先,当最终用户等待解决时存在与丧失的生产率相关的成本。同样,存在通常由帮助台人员执行的数据收集的成本。另外,存在诊断的成本,所述诊断需要受过训练的(昂贵的)支持分析员的服务。与此相反,根据本发明执行的基于机器的支持模型自动地感应、报告、并诊断许多软件相关的故障状况。自适应参考模型技术使具有极其多样性情况下的异常状况的检测以及以前不可能的具有敏感性和准确性的变化成为可能。
在本发明的一个实施例中,为了防止错误肯定,能够配置系统以在各种置信水平下操作,并且使用识别过滤器能够滤出已知为良性的异常。识别过滤器还能够用于警告服务提供商存在特定类型的不希望的或恶意的软件。
在传统系统中,通常由人工通过应用一系列的反复试验修复行动来解决计算机事件。这些修复行动趋于成为“大铁锤”变种,亦即影响远远多于它们打算校正的故障状况的解决方案。多重选择修复过程和大铁锤解决方案是不充分理解问题的结果以及不必要成本的来源。因为根据本发明的系统使数据充分表征问题,所以它能够以两种方式减少修复成本。首先,如果识别过滤器已被定义,其指定需要的自动化响应,那么就能够自动解决事件。第二,如果自动修复不可能,则系统的诊断能力消除了基于人工的修复过程中固有的猜测,减少了执行时间并允许更大的精确度。
图4是显示本发明的一个实施例中的自适应参考模型的部件的方框图。图4仅仅是示范性的。
图4中显示的实施例显示了多层、单筒仓(single-silo)的自适应参考模型402。在显示的实施例中,筒仓404包含3个层:值层(valuelayer)406、簇层(cluster layer)408和简档层(profile layer)410。
值层406跟踪图1的管理群体(114)的在此说明的代理部件(202)提供的资产/值对的值。当快照与自适应参考模型402相比较时,自适应参考模型402的值层406估计其中包含的每个资产/值对的值部分。这种估计包括确定快照中的任何资产值是否违反了管理群体之内资产值的统计显著模式,如由自适应参考模型402表示的那样。
例如,代理(116b)传送快照,其包括用于特定系统文件的数字签名。在吸收同化过程期间(当正在构造自适应参考模型时),模型为每个资产名记录它遇到的值以及遇到该值的次数。这样一来,对于每个资产名,模型知道它已在群体中看到的“合法”值。当模型用于检查时,值层406确定快照中每个属性的值是否匹配模型中“合法”值中的一个。例如,在文件的情况下,若干“合法”值是可能的,因为在管理群体中可能存在文件的不同版本。如果模型包含统计相容的一个或多个文件值,并且快照包含并不匹配任何的模型中的文件值,则声明异常。模型还能够检测对于属性不存在“合法”值的情形。例如,日志文件就没有合法值,因为它们频繁地变化。如果不存在“合法”值,那么在检查期间将忽视快照中的属性值。
在一个实施例中,自适应参考模型402执行标准,以确保异常确实是异常,而不仅仅是新文件变体。标准可以包括置信水平。置信水平并不阻止独特的文件被报告为异常。置信水平将检查过程期间模型中使用的关系限制到满足一定标准的那些关系。与每个水平相关的标准被设计用来实现一定的统计概率。例如,在一个实施例中,用于高置信水平的标准被设计用来实现大于90%的统计概率。如果指定较低的置信水平,那么在检查过程中就包括不如统计可靠的另外的关系。考虑可行的、但是较少可能的关系的过程类似于当我们需要进行决定而没有会允许我们确信的所有信息时的人工推测过程。在持续变化的环境中,管理员可能希望滤出与低置信水平相关的异常,亦即,管理员可能希望消除尽可能多的错误肯定。
在执行置信水平的实施例中,如果用户报告机器发生某种故障,但是管理员在默认置信水平下不能看到任何异常,则管理员能够降低置信水平,使分析过程能够考虑具有较低统计显著性且在较高的置信水平下被忽视的关系。通过减少置信水平,管理员允许自适应参考模型402包括下述模式,所述模式可能不具有足够的样本以成为统计显著的,但是可能提供关于问题是什么的线索。换言之,管理员在允许机器推测。
在另一个实施例中,如果在吸收同化指定数量的快照之后,资产值未能展示任何稳定的模式,则值层406从自适应参考模型402中消除资产值。例如,许多应用程序生成日志文件。日志文件的值经常变化并且从机器到机器很少相同。在一个实施例中,最初估计这些文件值,然后在指定数量的估计之后,它们被从自适应参考模型402中消除。通过从模型402中消除这些类型的文件值,系统消除了检测过程218期间的不必要比较,并且通过裁剪掉低值信息,减少了数据库存储需求。
本发明的实施例并不限于从自适应参考模型402中消除资产值。在一个实施例中,过程同样适用于资产名。某些资产名是“生来独特的”,亦即它们对特定机器是独特的,但是它们是正常操作的副产品。在一个实施例中,分开的过程处理不稳定的资产名。这样的实施例中的这个过程识别生来独特的资产名,并且允许它们停留在模型中,以便它们不被报告为异常。
图4中显示的第二个层是簇层408。簇层408跟踪资产名之间的关系。资产名能够应用于多种实体,包括文件名、注册表项名、端口号、进程名、服务名、性能计数器名、或者硬件特征。当通常在管理群体(114)中的机器上一前一后地存在特定的一组资产名时,如果若干所述资产名组不存在,则簇层408能够标记异常。
例如,执行微软视窗操作系统的计算机上的许多应用程序需要多个动态链接库(DLL)。每个DLL通常会依赖于一个或多个其他DLL。如果第一个DLL存在,那么其他DLL也必须存在。簇层408跟踪这种依赖性,并且如果DLL中的一个丢失或被改变,则簇层408警告管理员已发生异常。
图4中显示的自适应参考模型402中的第三个层是简档层410。显示的实施例中的简档层410基于簇关系的违反检测异常。存在两种类型的关系,结合的(簇一起出现)和排他的(簇从不一起出现)。简档层410允许自适应参考模型检测未被簇层检测到的丢失的资产以及资产之间的冲突。简档层410确定哪些簇彼此之间具有强结合与排他关系。在这样的实施例中,如果在快照中没有检测到特定的簇,其中,由于与它具有强结合关系的其他簇的存在,正常情况下预计它会在那里,那么简档层410将该簇的不存在检测为异常。同样,如果在快照中检测到簇,其中,正常情况下预计它不会在那里,因为存在与它具有强排他关系的其他簇,那么简档层410将第一个簇的存在检测为异常。简档层410允许自适应参考模型402检测在筒仓404的较低水平下不可检测的异常。
可以以本领域技术人员众所周知的各种方式执行图4中显示的自适应参考模型402。通过优化自适应参考模型402的处理,并且通过提供足够的处理和存储资源,本发明的实施例能够支持无限数量的管理群体和个人客户。新模型的吸收同化和检查中模型的使用都包括成百上千的属性名称和值的比较。使用用于名称和值的文本串执行这些比较是非常苛刻的处理任务。在本发明的一个实施例中,进来的快照中的每个独特的字符串都被赋予整数标识符。然后使用整数标识符而不是字符串来执行比较。因为和与文件名或注册表项名相关的长字符串相比,计算机能够快得多地比较整数,所以极大地增强了处理效率。
自适应参考模型402依靠来自代理部件(202)的数据。上面说明了代理部件(202)的功能性,其为本发明的一个实施例中的用户界面和代理部件(202)的功能概要。
本发明的实施例能够跨越管理群体中的客户机比较注册表项。跨越运行微软视窗操作系统的不同机器比较注册表项中的一个困难源自全局唯一标识符(“GUID”)的使用。用于一台机器上特定项目的GUID可能不同于用于第二台机器上同样项目的GUID。因此,本发明的实施例提供了用于为了比较的目的而规范化GUID的机制。
图5是显示本发明的一个实施例中的规范化客户机上的注册表信息的过程的流程图。在显示的实施例中,首先将GUID归合成两个组502。第一个组用于跨越管理群体中的机器非唯一(重复)的GUID。第二个组包括跨越机器唯一的GUID,亦即,相同的项在管理群体之内的不同机器上具有不同的GUID。下一步分类用于第二个组的项504。用这种方式,能够识别相同机器之内两个或更多项之间的关系。目的是为了以下述方式规范化这样的关系,所述方式将允许它们跨越多个机器相比较。
显示的实施例下一步为项中的值创建散列506。这为所有的名称、路径名、以及项中包含的其他值创建了唯一的签名。然后用散列代替GUID 508。用这种方式,在机器之内维持了唯一性,但是相同的散列在每个机器中出现,以便能够识别关系。关系允许自适应参考模型识别管理群体之内的异常。
例如,传统病毒常常改变注册表项,以便受感染的机器会运行传播病毒的可执行文件。本发明的实施例由于它的规范化注册表项的能力所以能够识别群体的一个或多个机器中注册表的变化。
图6是显示本发明的一个实施例中的用于识别和响应异常的方法的流程图。在显示的实施例中,诸如收集部件(108)之类的处理器接收来自多个计算机的多个快照602。尽管以下讨论将图6中显示的过程描述为由分析部件(110)执行,但是任何适当的处理器都可以执行显示的过程。多个快照可以包含少至来自两个计算机的两个快照。可选择地,多个快照可以包含数以千计的快照。快照包含关于要被检查的群体中的计算机的数据。例如,可以从与组织的局域网通信的计算机中的每一个接收多个快照。每个快照包含资产/值对的收集,所述资产/值对表示了计算机在特定时间点的状态。
随着收集部件(108)接收快照,它存储它们604。存储快照可以包含将它们存储在数据存储器中,诸如数据库(112)或存储器(未显示)之类。可以临时或永久地存储快照。同样,在本发明的一个实施例中,整个快照存储在数据存储器中。在另一个实施例中,只存储已从以前版本变化的部分快照(亦即增量快照)。
分析部件(110)使用多个快照中的数据创建自适应参考模型606。快照中的每一个都包含多个资产,其包含多个成对的资产名和资产值。资产是计算机的属性,诸如文件名、注册表项名、性能参数、或者通信端口之类。资产反映了分析的计算机群体之内的实际或虚拟的计算机状态。资产值是资产在特定时间点的状态。例如,对于文件而言,值可以包含MD5散列,其表示文件的内容;对于注册表项而言,值可以包含文本串,其表示赋予项的数据。
自适应参考模型同样包含多个资产。自适应参考模型的资产可以与快照的资产相比较,以识别异常以及为了其他的目的。在一个实施例中,自适应参考模型包含数据的收集,所述数据关于在特定时间点的表征一个或多个正常计算机的资产之间的各种关系。
在一个实施例中,分析部件(110)识别资产名的簇。簇包含一起出现的资产名的一个或多个非重叠的组。分析部件(110)同样可以试图识别簇之间的关系。例如,分析部件(110)可以计算概率矩阵,其考虑到快照中特定簇的存在,预测快照中任何其他簇存在的可能性。基于大量快照的并且或者非常高(例如大于95%)或者非常低(例如小于5%)的概率能够由模型使用以检测异常。基于少量快照的(亦即不是统计显著的数量)或者既不是非常高也不是非常低的概率不用于检测异常。
自适应参考模型可以包含置信标准,用于确定何时关系能够用于测试快照。例如,置信标准可以包含用于自适应参考模型中包含的若干快照的最小阈值。如果未超过阈值,则不会使用关系。自适应参考模型同样可以或者代替地包含用于自适应参考模型中包含的若干快照的最小阈值,所述自适应参考模型包括关系,只有当超过阈值时才使用关系。在一个实施例中,自适应参考模型包含最大阈值,其用于不同资产值的数量对包含所述资产值的快照数量的比率。自适应参考模型可以包含与数字资产值相关的一个或多个最小与最大阈值。
自适应参考模型或快照中的多个资产中的每一个都可以和资产类型相关。资产类型可以包含例如文件、注册表项、性能测量、服务、硬件部件、运行的进程、日志、以及通信端口。本发明的实施例还可以使用其他的资产类型。为了节约空间,可以压缩资产名和资产值。例如,在本发明的一个实施例中,收集部件(108)识别多个快照之一中资产名或资产值的第一次出现,并且生成与该第一次出现相关的标识符。随后,如果收集部件(108)识别资产名或资产值的第二次出现,则收集部件(108)将标识符与第二个资产名和资产值相关联。标识符和资产名或资产值然后能够存储在索引中,而只有标识符以数据的方式存储在自适应参考模型或快照中。用这种方式,存储频繁重复的资产名或值所需的空间被最小化。
可以自动生成自适应参考模型。在一个实施例中,自适应参考模型被自动生成,然后被手工修改以说明技术支持人员或其他的知识。图11是本发明的一个实施例中的用于创建自适应参考模型的用户界面的屏幕截图。在显示的实施例中,用户通过将要被包括在模型中的快照从机器选择菜单窗口1102移动到任务中机器窗口1104来选择它们。当用户完成选择过程并点击完成按钮1106时,自动化任务就被创建,其导致模型生成。一旦模型已被创建,用户就能够使用另一个界面屏幕管理它。图12是本发明的一个实施例中的用于管理自适应参考模型的用户界面的屏幕截图。
再次参考图6,一旦自适应参考模型已被创建,分析部件(110)就将多个快照中的至少一个与自适应参考模型相比较608。例如,收集部件(108)可以在数据库部件(112)中接收并存储100个快照。分析部件(110)使用所述100个快照创建自适应参考模型。分析部件(110)然后开始将多个快照中的每一个快照与自适应参考模型相比较。一段时间之后收集部件(108)可以从代理部件接收100个新的快照,其然后能够由分析部件使用以生成自适应参考模型的修改版本并识别异常。
在本发明的一个实施例中,一个或多个快照与自适应参考模型的相比较包含检查资产名之间的关系。例如,当第二资产名存在时,第一资产名存在的概率可能很高。在一个实施例中,所述相比较包含确定快照中所有的资产名是否都存在于自适应参考模型之内,并且是否与资产名之间的多个高概率关系相一致。
仍然参考图6,在一个实施例中,分析部件(110)比较快照与自适应参考模型,以便识别计算机上可能存在的任何异常610。异常表明快照的某个部分背离了如自适应参考模型定义的那样的正常。例如,资产名或值可以背离如自适应参考模型定义的那样的在特定情形下预期的正常资产名和资产值。异常也许、也许不发出信号,称在与快照相关联的计算机上或涉及所述计算机存在已知或新的故障或问题状况。状况是一组相关的异常。例如,一组异常可以相关,因为它们起因于单个根本原因。例如,当特定应用程序通常不存在于给定群体之内的其他计算机上时,异常可以指示该应用程序在计算机上的存在。异常的识别还可以用于诸如容量平衡之类的功能。例如,通过估计几个服务器的性能测量,分析部件(110)能够确定何时触发新服务器的自动部署和配置以处理变化的需求。
状况包含一组相关的异常。例如,一组异常可以相关,因为它们起因于单个根本原因,诸如安装应用程序或存在“蠕虫”之类。状况可以包含状况类。状况类允许各种状况彼此组合。
在图6显示的实施例中,如果发现异常,则分析部件(110)尝试将异常与识别过滤器匹配,以便诊断状况612。异常可以被识别为良性异常,以便消除分析期间的噪声,亦即以便避免因为作为正常操作过程结果的异常的存在而遮盖真正的故障状况。检查是快照和自适应参考模型的相比较。检查可以自动执行。检查的输出可以包含一组已被检测到的异常和状况。在一个实施例中,将异常与多个识别过滤器匹配。识别过滤器包含状况或状况类的签名。例如识别过滤器可以包含成对的资产名和值的收集,其当被放在一起时,表示诸如蠕虫的存在之类的希望识别的状况的签名。普通识别过滤器可以提供用于创建更加特殊的过滤器的模板。例如,适合于搜索一般蠕虫的识别过滤器可以适合于搜索特殊蠕虫。
在本发明的一个实施例中,识别过滤器包含以下的至少一个:与状况相关的资产名、与状况相关的资产值、与状况相关的资产名和资产值的组合、与资产值和状况相关的最大阈值、以及与资产值和状况相关的最小阈值。来自快照的资产名/值对可以和来自识别过滤器的名/值对相比较,以发现匹配并诊断状况。名/值匹配可以是确切的,或者识别过滤器可以包含通配符,允许部分值进入到识别过滤器中,然后与快照匹配。特定的资产名和/或值可以与多个识别过滤器匹配以诊断状况。
可以以各种方式创建识别过滤器。例如,在本发明的一个实施例中,用户从存在所关心的状况的机器中复制异常。异常可以被提交到异常汇总中,从所述异常汇总中,它们能够被选择并复制到过滤器。在另一个实施例中,用户在过滤器定义中输入通配符。例如,一段称作Gator的间谍软件生成数以千计的以字符串“hklm\software\gator\”打头的注册表项。本发明的实施例可以提供通配符机制以有效处理这种情形。通配符可以例如是百分号(%),并且可以用在文本串之前、文本串之后、或者文本串中间。继续Gator的例子,如果用户在过滤器主体中输入字符串“hklm\software\gator\%”,那么过滤器将识别任何以“hklm\software\gator\”打头的项。用户可能希望构造用于尚未在管理群体中经历的状况的过滤器。例如,用于病毒的过滤器,所述病毒基于因特网上的公共可用的信息,而不是管理群体之内病毒的实际实例。为了处理这种情形,用户直接将相关信息输入到过滤器中。
图13是本发明的一个实施例中的用于选择快照以用于创建识别过滤器的用户界面的屏幕截图。用户访问显示的屏幕截图以选择要被使用的快照,以创建识别过滤器。图14是本发明的一个实施例中的用于创建或编辑识别过滤器的用户界面的屏幕截图。在显示的实施例中,在数据源窗口1402中显示了来自图13中显示的界面中选择的快照的资产。用户选择这些资产并将它们复制到源窗口1404,以创建识别过滤器。
在一个实施例中,识别过滤器和一组异常之间的匹配与质量测量有关。例如,与识别过滤器中资产名及资产值的子集和一组异常中资产名及资产值的匹配相比,识别过滤器中所有资产名及资产值和一组异常中资产名及资产值的确切匹配可以与更高的质量测量相关。
识别过滤器也可以包含其他属性。例如,在一个实施例中,识别过滤器包含控制标记,用于确定是否包括自适应参考模型中的资产名和资产值。在另一个实施例中,识别过滤器包含与一个或多个状况相关的一个或多个文本描述。在又一个实施例中,识别过滤器包含严重性指示器,其根据例如它可能造成多大的破坏、去除可能有多困难、或者某个其他适当的测量,来指示状况的严重性。
识别过滤器可以包含这样的字段,所述字段实质上是管理的。例如,在一个实施例中,识别过滤器包含识别过滤器标识符、创建者名称、以及更新日期-时间。
仍然参考图6,分析部件(110)下一步响应状况614。响应状况例如可以包含:向支持技术员生成诸如电子邮件之类的通知;向问题管理系统提交事故单;请求许可以采取行动,例如请求来自支持技术员的确认以安装补丁;以及从多个计算机中的至少一个中去除所述状况。去除所述状况例如可以包含使响应代理程序在受所述状况感染的多个计算机中的任何一个中执行。状况可以与自动响应相关。对每个状况可以重复诊断612和响应状况614的步骤。同样,对于每个单独的快照可以重复发现异常610的过程。
在图6显示的实施例中,分析部件(110)下一步确定另外的快照是否要被分析616。如果是这样的话,那么对于每个快照重复以下步骤:快照与自适应参考模型相比较608;发现异常610;异常与识别过滤器匹配以诊断状况612;以及响应所述状况614。一旦所有的快照都已被分析,过程就结束618。
在本发明的一个实施例中,一旦分析部件(110)已识别状况,分析部件(110)就尝试确定群体之内多个计算机中的哪些被所述状况感染。例如,分析部件(110)可以检查快照以识别特殊组的异常。分析部件(110)然后可以代表每个受感染的计算机使对所述状况的响应执行。例如,在一个实施例中,代理部件(202)驻留在多个计算机中的每一个上。代理部件(202)生成由分析部件(110)估计的快照。在一个这样的实施例中,如果分析部件(110)在一个计算机上识别到了状况,则分析部件(110)使用代理部件(202)执行响应程序。在诊断状况中,分析部件(110)也许、也许不能够识别状况的根本原因。
图7是显示本发明的一个实施例中的用于识别一定类型的异常的过程的流程图。在显示的实施例中,分析部件(110)估计多个计算机的快照702。这些快照能够是基本快照,其包含计算机的完整状态,或者是增量快照,其包含自从最后的基本快照以来的计算机状态的变化。分析部件(110)使用快照创建自适应参考模型704。注意,当为了这个目的使用增量快照时,分析部件必须首先通过将增量快照中描述的变化施加到最近的基本快照来重新组成基本快照的等价物。分析部件(110)随后为多个计算机中的至少一个接收第二快照(基本或增量)706。可以基于各种事件,诸如预定量的时间过去、新程序的安装、或者某个其他适当的事件之类,来创建快照。
分析部件(110)比较第二快照与自适应参考模型以尝试并检测异常。在计算机上可能存在各种类型的异常。在显示的实施例中,分析部件(110)首先尝试识别意外不存在的资产名710。例如,群体之内所有的或基本上所有的计算机可能都包括特定的文件。资产名的存在记录了所述文件在自适应参考模型中的存在。如果所述文件从群体之内的一个计算机中意外缺失,亦即资产名未被发现,则某种状况可能正在感染所述文件丢失的计算机。如果资产名意外不存在,则所述不存在被识别为异常712。例如,可以将识别计算机、日期、以及意外不存在的资产的条目输入到数据存储器中。
分析部件(110)下一步尝试识别意外存在的资产名714。诸如文件名或注册表项之类的意外资产名的存在,可能指示了诸如计算机蠕虫之类的故障状况的存在。如果资产名以前从未看过,或者如果在发现它的上下文中以前从未看过,则它就是意外存在。如果资产名意外存在,则所述存在被识别为异常716。
分析部件(110)下一步尝试识别意外资产值718。例如,在一个实施例中,分析部件(110)尝试识别字符串资产值,其对于与它相关的资产名是未知的。在另一个实施例中,分析部件(110)将数字资产和与相应的资产名相关的最小或最大阈值相比较。在本发明的实施例中,可以基于用于群体之内资产值的平均值和标准差自动设置阈值。根据显示的实施例,如果检测到意外资产值,则它被识别为异常720。然后过程结束722。
尽管图7中的过程被显示为串行过程,但是快照与自适应参考模型的比较以及异常的识别可以并行发生。同样,描述的每个步骤可以被重复无数次。进一步,在每个循环期间,或者增量快照或者基本快照能够与自适应参考模型相比较。
一旦已完成分析,分析部件(110)就可以生成诸如异常报告之类的结果。可以将这个报告进一步提供给用户。例如,分析部件(110)可以生成网页,其包含快照与自适应参考模型的比较结果。本发明的实施例可以提供用于执行自动化安全审查、文件和注册表完整性检验、基于异常的病毒检测、以及自动化修复的手段。
图8是显示本发明的一个实施例中的用于生成自适应参考模型的过程的流程图。在显示的实施例中,分析部件(110)经由数据库部件访问来自多个计算机的多个快照。每个快照都包含多个成对的资产名和资产值。分析部件(110)自动地创建至少部分地基于所述快照的自适应参考模型。
自适应参考模型可以包含任何的各种资产名和值的若干属性、关系、以及测量。在图8显示的实施例中,分析部件(110)首先发现一个或多个独特的资产名,然后确定每个独特资产名在多个快照之内出现的次数804。例如,用于基本操作系统驱动器的文件可能在群体之内基本上所有的计算机上出现。文件名是独特的资产名;它在快照之内只会出现一次,但是很可能在基本上所有的快照上都会出现。
在显示的实施例中,分析部件(110)下一步确定与每个资产名相关的独特资产值806。例如,用于关于步骤804描述的驱动器的文件名资产,对于该文件名资产的每次出现很可能会具有相同的值。与此相反,用于日志文件的文件值很可能会具有与出现次数同样多的不同值,亦即,任何特定计算机上的日志文件会包含与群体中每个其他计算机不同数量的条目。
由于群体可能非常大,所以在图8显示的实施例中,如果与资产名相关的独特值的数量超过了阈值808,则暂停确定810。换言之,在上面描述的日志文件的例子中,计算机是否处于正常状态并不取决于具有一致值的日志文件。可以预料日志文件内容在每个计算机上变化。然而要注意的是,日志文件的存在或不存在可能存储在自适应参考模型中,作为正常或异常的指示。
在图8显示的实施例中,分析部件(110)下一步确定与每个资产名相关的独特字符串资产值812。例如,在一个实施例中,只存在两种类型的资产值:字符串和数字。文件散列和注册表项值是字符串的例子;性能计数器值数字的例子。
分析部件(110)下一步确定与独特数字值相关的统计测量,所述独特数字值与资产名相关814。例如,在一个实施例中,分析部件(110)捕获诸如存储器分页之类的性能测量。如果群体中的一个计算机常常分页存储器,则可能指示流氓程序在后台执行并且需要大量的存储器资源。然而,如果群体中的每个或相当大量的计算机常常分页存储器,则可能指示计算机通常缺乏存储器资源。在一个实施例中,分析部件(110)为与独特资产名相关的数字值确定平均值和标准差。在存储器例子中,如果用于一个计算机的存储器分页的测量远远落在用于群体的统计平均值的外面,则可以识别异常。
在本发明的一个实施例中,通过应用策略模板可以修改自适应参考模型。策略模板是资产/值对的收集,所述资产/值对被识别并应用于自适应参考模型,以建立反映特定策略的规范。例如,策略模板可以包含多个成对的资产名和资产值,其预料存在于正常的计算机中。在一个实施例中,应用策略模板包含修改自适应参考模型,以便策略模板中存在的成对的资产名和资产值看起来好像已存在于多个快照中的每一个中,亦即,看起来好像是群体中计算机的正常状态。
图15是显示本发明的一个实施例中的用于选择“黄金系统”供策略模板之用的用户界面的屏幕截图。如上所述,用户首先选择策略模板将要基于其上的黄金系统。图16是本发明的一个实施例中的用于选择策略模板资产的用户界面的屏幕截图。如同用于创建识别过滤器的用户界面一样。用户从数据源窗口1602选择资产,并且将它们复制到内容窗口,模板内容窗口1604。
图9是显示本发明的一个实施例中的用于主动异常检测的过程的流程图。在显示的实施例中,当分析发生时,分析部件(110)建立到数据库(112)的连接,所述数据库(112)存储要被分析的快照902。在显示的实施例中,只使用一个数据库。然而,在其他数据库中,可以分析来自多个数据库的数据。
在执行诊断检查之前,创建一个或多个参考模型904。参考模型周期性更新,例如每周一次,以确保它们包含的信息保持最新。本发明的一个实施例提供了任务调度程序,其允许模型创建被配置为完全自动化的过程。
一旦参考模型已被创建,它就能够以各种方式被处理,以使不同类型的分析成为可能。例如,可以定义如上所述的策略模板906。例如,策略模板可以要求管理群体中所有的机器都安装并运行反病毒软件。一旦策略模板已被应用于模型,对照该模型的诊断检查就会包括用于策略服从的测试。策略模板能够用于多种应用中,包括自动化安全审查、性能阈值检查、以及视窗更新管理。策略模板包含资产和值组,其会被强迫进入到模型中作为规范。在一个实施例中,模板编辑过程基于“黄金系统”方法。黄金系统是这样的系统,所述系统展示了用户希望并入到模板中的资产和值。用户找出相应于黄金系统的快照,然后选择用户希望包括在模板中的每个资产/值对。
在图9显示的过程中,然后将策略模板应用于模型以修改其正常的定义908。这允许以这样的方式成形模型,所述方式允许检查对照如在此描述的那样的用户定义的策略的服从。
同样可以转换模型910。转换过程改变了参考模型。例如,在一个实施例中,转换过程从模型中去除任何唯一的信息资产,亦即任何在一个并且只在一个快照中出现的资产。当对照转换的模型执行检查时,所有的唯一信息资产都会被报告为异常。这种类型的检查在使第一次安装代理部件时存在的以前未知的故障状况浮现方面很有用。转换的模型在建立初始基线方面很有用,因为它们暴露了唯一的特性。因为这个原因,转换的模型有时在本发明的实施例中被称作基线模型。
在另一个实施例中,模型建立过程从模型中去除任何匹配识别过滤器的信息资产,以确保已知的故障状况不被并入到模型中。当第一次安装系统时,管理群体十分平常地包含若干尚未被注意到的已知故障状况。发现这些状况并将它们从模型中去除很重要,因为不然的话,它们会被并入到自适应参考模型中,作为机器正常状态的部分。
代理部件(202)在预定的基础上获取每个管理的机器的状态的快照924。快照被传输并作为快照进入到数据库中。同样可以在要求时或者响应诸如应用程序安装之类的特定事件而生成快照。
在显示的主动问题管理过程中,执行对照最新参考模型的最近快照的周期性检查912。周期性检查的输出是一组异常,其作为结果向用户显示914。结果还包括被识别为异常与识别过滤器匹配结果的任何状况。可以如上所述地定义识别过滤器916。异常被传递通过用于解释导致一组状况的识别过滤器。状况能够在从如视窗更新一样良性的某个事情到如特洛伊一样严重的某个事情的严重性范围中变动。
能够在计算机中发生的故障状况随着组成该计算机的硬件和软件部件进化而变化。因此,存在随着发现异常的新组合而定义并共享新识别过滤器的持续需要。识别过滤器能够被看作证明故障状况的非常详细且结构化的方法,并且能够被看作这样:它们表示了促进协作的重要机制。显示的实施例包含下述机制,所述机制用于将识别过滤器导出到XML文件并且从XML文件导入识别过滤器。
一旦识别出状况,就生成证明主动检查结果的报告920。报告可以包含例如所有检测到的状况的概要描述或特定状况的详细描述。
图10是显示本发明的一个实施例中的反应过程的流程图。在图10显示的过程中,假定自适应参考模型已经被创建。当用户呼叫帮助台报告问题时,显示的过程开始1002。在传统的帮助台范例中,下一个步骤将会是口头收集关于用户正在经历的症状的信息。与此相反,在显示的本发明的实施例中,下一个步骤是对照最近的快照运行可疑机器的诊断检查1003。如果这没有产生问题状况的直接诊断,那么可能存在3种可能性:(1)自从获取最后的快照以来状况已发生;(2)状况是新的,并且不被其过滤器识别;或者(3)状况在分析范围之外,例如是硬件问题。
如果怀疑自从获取最后的快照以来状况已发生,那么用户可以使客户机上的代理部件(202)获取另一张快照1006。一旦作为结果的快照可用,就能够执行新的诊断检查1004。
如果怀疑故障状况是新的,则分析员可以执行比较功能,其提供诸如可能已被安装的新的应用程序之类的在特定时间窗口期间的机器状态变化的细目分类1008。用户还可以察看各种时间点的机器状态的详细表示1010。如果分析员识别出新的故障状况,则用户能够将资产组识别为用于随后分析的识别过滤器1012。
尽管传统的产品已集中在增强基于人工的支持模型的效率上,但是本发明的实施例是围绕不同的范例——基于机器的支持模型来设计的。这种方法的根本不同在数据收集和分析的领域中最为深刻地表明了它自己。由于机器而不是人工将执行大量的收集数据的分析,所以收集的数据能够是数量庞大的。例如,在一个实施例中,从单个机器收集的数据,其被称作用于所述机器的“健康检查”或快照,包括用于成百上千的属性的值。收集庞大数量的数据的能力,在能够检测出的状况的数量和种类方面,向本发明的实施例提供了传统系统之上的显著优点。
本发明的另一个实施例提供了强大的分析能力。这样的实施例中的用于高度值分析的基础,是在正常和异常状况之间准确区分的能力。例如,通过从它从其客户机中收集的快照数据中提炼统计显著关系,根据本发明的一个系统自动合成其参考模型。作为结果的“自适应”参考模型定义对于在那个特定时刻的那个特定管理群体而言什么是正常。
本发明的一个实施例结合上面描述的数据收集和自适应分析特征。在这样的实施例中,与自适应参考模型的分析能力结合的卓越的数据收集能力转化为若干显著的有竞争力的优点,包括下述能力:通过每日实施安全审查并检查软件更新以消除弱点,提供了对安全威胁的自动保护。这样的实施例还可以在问题导致生产率丧失或者呼叫帮助台之前能够在常规的基础上主动地扫描所有管理的系统以发现它们。
执行自适应参考模型能力的本发明的实施例还能够预先检测未知的故障状况。进一步,这样的实施例被自动地合成并维持,而需要很少的或不需要厂家更新起作用。向特定的管理群体自动定制这样的实施例,使其能够检测对该群体独特的故障模式。
本发明实施例的另外的优点在于,在不能自动解决故障状况的情况下,这样的实施例能够提供大量的结构化技术信息,以促进支持技术员的工作。
本发明的一个实施例提供了自动修复识别的问题的能力。这样的实施例,当与以前描述的实施例的自适应参考模型结合时,因其识别故障状况所有方面的能力而独特地能够自动修复。
本发明的实施例还在在此描述的服务水平方面提供了传统系统与方法之上的许多优点。例如,在集中恢复服务水平方面,与一旦破坏已发生来解决事件相比,防止事件发生显著较便宜。本发明的实施例显著增加了下述事件的百分比,所述事件能够以包含现实环境中计算机不同且动态性质的方式被检测/防止,而不需要人工干预。
进一步,通过自动检测并修复已知和未知异常,本发明的实施例能够处理自动恢复服务水平。执行在此描述的自适应参考模型的实施例独特地适合于自动检测和修复。自动服务和修复还有助于消除或者至少使对自动服务和台面访问的需要最小化。
通过提供卓越的诊断能力和广泛的信息资源,本发明的实施例提供了辅助服务水平的优点。实施例收集并分析大量的最终用户数据,促进与基于人工的支持模型相关的多种需要,包括:安全审查、配置审查、库存管理、性能分析、故障诊断。
已介绍了本发明实施例的前述说明,目的仅仅是为了显示和说明,而不是打算穷举或将本发明限制到披露的精确形式。其无数的修改和改编对本领域技术人员而言将会是明显的,而不会背离本发明的精神和范围。

Claims (35)

1.一种方法,包括:
从多个计算机接收多个快照,所述多个快照中的每一个都包括多个成对的资产名和资产值;以及
至少部分地基于所述多个快照自动创建自适应参考模型。
2.如权利要求1所述的方法,其中,自动创建自适应参考模型包括确定独特资产名在所述多个成对的资产名和资产值之内出现的次数。
3.如权利要求2所述的方法,进一步包括:
确定与所述独特资产名相关的不同资产值的数量;以及
如果用于所述独特资产名的所述不同资产值的数量超过阈值,则暂停对所述独特资产名的确定。
4.如权利要求1所述的方法,其中,自动创建自适应参考模型包括确定独特字符串资产值在所述多个成对的资产名和资产值之内出现的次数。
5.如权利要求1所述的方法,其中,自动创建自适应参考模型包括确定在所述多个成对的资产名和资产值之内出现的独特数字资产值的平均值和标准差。
6.如权利要求1所述的方法,其中,自动创建自适应参考模型包括确定所述多个成对的资产名之间的多个关系。
7.如权利要求6所述的方法,进一步包括:基于第二资产名在所述多个计算机中的一个上的存在或不存在,使用所述多个关系确定第一资产名在所述多个计算机中的所述一个上存在或不存在的概率。
8.如权利要求6所述的方法,进一步包括识别资产名的簇,所述簇包括一起出现的资产名的非重叠组。
9.如权利要求8所述的方法,进一步包括识别多个簇之间的关系。
10.如权利要求9所述的方法,其中,识别所述多个簇之间的簇关系包括计算概率矩阵,其考虑到快照中特定簇的存在,预测所述快照中另一个簇存在的可能性。
11.如权利要求10所述的方法,进一步包括:如果簇关系违反了较强的关系,则从所述自适应参考模型中丢弃所述簇关系。
12.如权利要求1所述的方法,其中,所述自适应参考模型包括置信标准,用于确定何时能够使用关系来测试快照,所述置信标准包括以下的至少一个:
用于所述自适应参考模型中包括的若干快照的最小阈值;
用于包括所述关系的所述自适应参考模型中包括的若干快照的最小阈值;
用于不同资产值的数量对包括所述资产值的快照数量的比率的最大阈值。
13.如权利要求12所述的方法,其中,所述自适应参考模型进一步包括与多个数字资产值相关的多个最小和最大阈值。
14.如权利要求13所述的方法,进一步包括:通过从用于所述多个资产值中的每一个的平均值中计算平均值和标准差,确定所述多个最小和最大阈值。
15.如权利要求1所述的方法,进一步包括从所述自适应参考模型中去除至少一对资产名和资产值,其匹配对应于已知故障状况的识别过滤器。
16.如权利要求1所述的方法,进一步包括通过应用策略模板来修改所述自适应参考模型。
17.如权利要求16所述的方法,其中,所述策略模板包括预期存在于正常的计算机中的多个成对的资产名和资产值。
18.如权利要求17所述的方法,其中:
所述多个成对的资产名和资产值包括第一多个资产名和资产值;
所述策略模板包括第二多个资产名和资产值;以及
应用所述策略模板包括:修改所述自适应参考模型,以使得所述第二多个成对的资产名和资产值看起来已存在于所述多个快照中的每一个中。
19.一种在其上编码程序代码的计算机可读介质,所述程序代码包括:
用于从多个计算机接收多个快照的程序代码,所述多个快照中的每一个都包括多个成对的资产名和资产值;以及
用于至少部分地基于所述多个快照自动创建自适应参考模型的程序代码。
20.如权利要求19所述的计算机可读介质,其中,用于自动创建自适应参考模型的程序代码包括用于确定独特资产名在所述多个成对的资产名和资产值之内出现的次数的程序代码。
21.如权利要求20所述的计算机可读介质,进一步包括:
用于确定与所述独特资产名相关的不同资产值的数量的程序代码;以及
用于以下的程序代码:如果用于所述独特资产名的所述不同资产值的数量超过阈值,则暂停对所述独特资产名的确定。
22.如权利要求19所述的计算机可读介质,其中,用于自动创建自适应参考模型的程序代码包括用于确定独特字符串资产值在所述多个成对的资产名和资产值之内出现的次数的程序代码。
23.如权利要求19所述的计算机可读介质,其中,用于自动创建自适应参考模型的程序代码包括用于确定用于在所述多个成对的资产名和资产值之内出现的独特数字资产值的平均值和标准差的程序代码。
24.如权利要求19所述的计算机可读介质,其中,用于自动创建自适应参考模型的程序代码包括确定所述多个成对的资产名之间的多个关系。
25.如权利要求24所述的计算机可读介质,进一步包括用于以下的程序代码:基于第二资产名在所述多个计算机中的一个上的存在或不存在,使用所述多个关系确定第一资产名在所述多个计算机中的所述一个上存在或不存在的概率。
26.如权利要求25所述的计算机可读介质,进一步包括用于识别资产名的簇的程序代码,所述簇包括一起出现的资产名的非重叠组。
27.如权利要求26所述的计算机可读介质,进一步包括用于识别多个簇之间的关系的程序代码。
28.如权利要求27所述的计算机可读介质,其中,识别所述多个簇之间的簇关系包括用于计算概率矩阵的程序代码,所述概率矩阵考虑到快照中特定簇的存在,预测所述快照中另一个簇存在的可能性。
29.如权利要求28所述的计算机可读介质,进一步包括用于以下的程序代码:如果簇关系违反了较强的关系,则从所述自适应参考模型中丢弃所述簇关系。
30.如权利要求29所述的计算机可读介质,其中,所述自适应参考模型进一步包括与多个数字资产值相关的多个最小和最大阈值。
31.如权利要求30所述的计算机可读介质,进一步包括用于以下的程序代码:通过从用于所述多个资产值中的每一个的平均值中计算平均值和标准差,确定所述多个最小和最大阈值。
32.如权利要求19所述的计算机可读介质,进一步包括用于从所述自适应参考模型中去除至少一对资产名和资产值的程序代码,所述资产名和资产值对匹配对应于已知故障状况的识别过滤器。
33.如权利要求19所述的计算机可读介质,进一步包括用于通过应用策略模板来修改所述自适应参考模型的程序代码。
34.如权利要求33所述的计算机可读介质,其中,所述策略模板包括预期存在于正常的计算机中的多个成对的资产名和资产值。
35.如权利要求34所述的计算机可读介质,其中:
所述多个成对的资产名和资产值包括第一多个资产名和资产值;
所述策略模板包括第二多个资产名和资产值;以及
用于应用所述策略模板的程序代码包括:修改所述自适应参考模型,以使得所述第二多个成对的资产名和资产值看起来已存在于所述多个快照中的每一个中。
CN 200480027940 2003-08-11 2004-08-11 用于创建和使用自适应参考模型的系统及方法 Pending CN1856781A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49422503P 2003-08-11 2003-08-11
US60/494,225 2003-08-11
US10/916,956 2004-08-11

Publications (1)

Publication Number Publication Date
CN1856781A true CN1856781A (zh) 2006-11-01

Family

ID=37196005

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2004800281029A Expired - Fee Related CN1860476B (zh) 2003-08-11 2004-08-11 用于自动化计算机支持的系统和方法
CN 200480027940 Pending CN1856781A (zh) 2003-08-11 2004-08-11 用于创建和使用自适应参考模型的系统及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2004800281029A Expired - Fee Related CN1860476B (zh) 2003-08-11 2004-08-11 用于自动化计算机支持的系统和方法

Country Status (2)

Country Link
CN (2) CN1860476B (zh)
ZA (2) ZA200601937B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003928A (zh) * 2014-11-26 2017-08-01 微软技术许可有限责任公司 性能异常诊断
CN113282485A (zh) * 2021-04-25 2021-08-20 南京大学 一种基于自适应搜索的程序自动修复方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831010A (zh) * 2012-08-30 2012-12-19 腾讯科技(深圳)有限公司 打开未知文件的方法和装置
CN105745663B (zh) * 2013-12-19 2018-11-16 英特尔公司 包括机器学习快照评估的保护系统
CN105302657B (zh) * 2015-11-05 2020-12-15 网易宝有限公司 一种异常情况分析方法和装置
EP3255562A1 (en) * 2016-06-09 2017-12-13 Mastercard International Incorporated Method and systems for monitoring changes for a server system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003928A (zh) * 2014-11-26 2017-08-01 微软技术许可有限责任公司 性能异常诊断
CN107003928B (zh) * 2014-11-26 2020-03-20 微软技术许可有限责任公司 性能异常诊断
CN113282485A (zh) * 2021-04-25 2021-08-20 南京大学 一种基于自适应搜索的程序自动修复方法
CN113282485B (zh) * 2021-04-25 2023-11-03 南京大学 一种基于自适应搜索的程序自动修复方法

Also Published As

Publication number Publication date
CN1860476B (zh) 2010-06-23
ZA200601938B (en) 2007-05-30
CN1860476A (zh) 2006-11-08
ZA200601937B (en) 2007-05-30

Similar Documents

Publication Publication Date Title
CN101882102A (zh) 用于自动化计算机支持的系统
US9940190B2 (en) System for automated computer support
Kabinna et al. Examining the stability of logging statements
Sebastián et al. Avclass2: Massive malware tag extraction from av labels
US7809670B2 (en) Classification of malware using clustering that orders events in accordance with the time of occurance
US8621278B2 (en) System and method for automated solution of functionality problems in computer systems
US20150121136A1 (en) System and method for automatically managing fault events of data center
US20080133972A1 (en) System Analysis and Management
CN102812441A (zh) 自动化的恶意软件检测和修复
CN103532760B (zh) 用于分析在各主机上执行的命令的分析设备、系统和方法
Zhang et al. Sentilog: Anomaly detecting on parallel file systems via log-based sentiment analysis
Rombaut et al. There’s no such thing as a free lunch: Lessons learned from exploring the overhead introduced by the greenkeeper dependency bot in npm
Javan Jafari et al. Dependency update strategies and package characteristics
CN1856781A (zh) 用于创建和使用自适应参考模型的系统及方法
RU128741U1 (ru) Система формирования решения проблем функционирования компьютерных систем
Kuang et al. Knowledge-aware Alert Aggregation in Large-scale Cloud Systems: a Hybrid Approach
US20180165141A1 (en) Device driver verification
Anderson Understanding contextual factors in regression testing techniques
CN117834286B (zh) 一种基于互信息法特征选择的sql注入攻击检测方法、系统、设备及可读存储介质
Sosnowski et al. Analyzing logs of the university data repository
Zhang et al. Host-rx: Automated malware diagnosis based on probabilistic behavior models
Bhandari et al. An Incremental Lightweight Method for Vulnerability Data Collection for Security Patches
CN117828515A (zh) 一种基于低代码平台的智能日志异常诊断系统及方法
Hassan Suhas Kabinna, Cor-Paul Bezemer, Weiyi Shang, Mark D. Syer & Ahmed

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication