CN1820262A - 事件监控及管理 - Google Patents
事件监控及管理 Download PDFInfo
- Publication number
- CN1820262A CN1820262A CN 200480018697 CN200480018697A CN1820262A CN 1820262 A CN1820262 A CN 1820262A CN 200480018697 CN200480018697 CN 200480018697 CN 200480018697 A CN200480018697 A CN 200480018697A CN 1820262 A CN1820262 A CN 1820262A
- Authority
- CN
- China
- Prior art keywords
- report
- network
- agency
- data
- computer program
- 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
Links
Images
Classifications
-
- Y04S40/162—
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在此描述的是用于监控工业应用中使用的系统的性能、安全和健康状况的技术。包括在工业网络中的代理向设备或服务器报告数据。设备保存数据并确定报警条件已在何时出现。在检测到报警条件的基础上发出通知。报警临界值可由用户定义。威胁自适应控制器确定威胁等级,其用于控制工业应用中使用的网络的连通性。
Description
相关申请交叉参考
本申请基于2003年6月9日申请的、律师卷号为VRS-00160的美国临时专利申请60/477,088,其通过引用组合于此。
技术领域
本申请总体上涉及网络,特别是其中的事件监控及管理。
背景技术
计算机系统可用于执行各种不同的任务。例如,计算机系统及组成的工业网络可用于控制和/或监控工业系统。这样的工业系统可用于制造、发电、能源分布、废物处理、运输、通讯、水处理等。工业网络可被连接并经其它网络直接或间接地接近,所述其它网络包括企业通信网和因特网。因而,工业网络易受内部及外部的网上攻击。作为免遭外部网上攻击的预防措施,可采用防火墙或其它安全措施来将工业网络与其它网络分隔开。然而,工业网络还是易受攻击的,因为这样的安全措施在防止外部攻击方面并不是十分安全,所述外部攻击由病毒、蠕虫、特洛伊或其它形式的恶意代码及计算机黑客、侵入、内部人员的攻击、错误、和可能出现的遗漏引起。另外,例如,感染的膝上型电脑可通过使用调制解调器、直接连接或通过虚拟专用网(VPN)连接到工业网络从而绕过防火墙。膝上型电脑继而可将蠕虫或其它形式的恶意代码引入工业网络。应该注意的是,除了那些与计算机系统和网络有关的威胁以外,工业网络还易遭受其它类型的安全威胁。
因此,可能希望监控工业网络中的事件并因而发出警告。还可能希望这样的监控和报告被有效地执行以使所消耗的工业网络的资源最少。可能还希望使工业网络执行威胁评估并根据威胁评估做出响应。在执行评估时,可能还希望考虑更广范围的条件,这些条件涉及工业网络的性能、健康及安全信息,如可通过使用监控数据获得,以及其它反映工业网络外部条件的因素。
发明内容
根据本发明的一方面是控制网络中的连通性的方法,包括:接收一个或多个输入;根据所述一个或多个输入确定威胁等级指示符;根据所述威胁等级指示符选择防火墙配置以供所述网络使用。防火墙配置可从多个防火墙配置中选取,其中每一防火墙配置与不同的威胁等级指示符相关联。当第一威胁等级指示符的威胁等级高于第二威胁等级指示符时,与所述第一威胁等级指示符相关联的第一防火墙配置较与所述第二威胁等级指示符相关联的第二防火墙配置规定所述网络更限制性的连通性。与最高威胁等级指示符相关联的防火墙配置可规定使所述网络与所有其它不太信任的网络断开连接。断开连接可包括物理上将所述网络与其它网络断开连接。当当前威胁等级为不同于所述最高威胁等级指示符的级别时,网络可被重新连接到所述不太信任的网络。该方法还可包括自动装入所述防火墙配置作为所述网络使用的当前防火墙配置。一个或多个输入可包括至少下述之一:手动输入、所述网络中的系统的度量、所述网络的度量、使用包括一关于所述网络的度量的多个加权的度量确定的推导值、使用多个度量确定的推导值、及来自所述网络的外部信源。如果指定手动输入,则手动输入可确定高于所有其它指示符的威胁等级指示符。多个加权的度量可包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、具有高级特权的用户数量。高级特权可对应于下述之一:管理员特权及根用户特权。额外的选择可选择下述之一或多个:反病毒配置、侵入防止配置、及侵入检测配置。
根据本发明的另一方面是控制网络中的连通性的计算机程序产品,包括实现下述步骤的代码:接收一个或多个输入;根据所述一个或多个输入确定威胁等级指示符;根据所述威胁等级指示符选择防火墙配置以供所述网络使用。防火墙配置可从多个防火墙配置中选取,其中每一防火墙配置与不同的威胁等级指示符相关联。当第一威胁等级指示符的威胁等级高于第二威胁等级指示符时,与所述第一威胁等级指示符相关联的第一防火墙配置较与所述第二威胁等级指示符相关联的第二防火墙配置规定所述网络更限制性的连通性。与最高威胁等级指示符相关联的防火墙配置可规定使所述网络与所有其它不太信任的网络断开连接。断开连接的代码可包括物理上将所述网络与其它网络断开连接。当当前威胁等级为不同于所述最高威胁等级指示符的级别时,网络可被重新连接到所述不太信任的网络。计算机程序产品还可包括自动装入所述防火墙配置作为所述网络使用的当前防火墙配置的代码。一个或多个输入可包括至少下述之一:手动输入、所述网络中的系统的度量、所述网络的度量、使用包括一关于所述网络的度量的多个加权的度量确定的推导值、使用多个度量确定的推导值、及来自所述网络的外部信源。如果指定手动输入,则手动输入可确定高于所有其它指示符的威胁等级指示符。多个加权的度量可包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、具有高级特权的用户数量。高级特权可对应于下述之一:管理员特权及根用户特权。用于实现选择的代码可额外选择下述之一或多个:反病毒配置、侵入防止配置、及侵入检测配置。
根据本发明的另一方面是通过代理进行事件报告的方法,包括:接收数据;确定所述数据是否表明自先前周期的报告之后第一次发生与度量相关联的感兴趣的事件;如果所述确定步骤确定所述数据表明所述第一次发生则报告所述第一次发生的事件;在第一时点在定期报告中报告包括所述度量的摘要。所述第一次发生的报告及所述摘要的所述报告均可在没有请求报告的情况下执行。用于所述第一次发生的报告及所述摘要的报告的数据可通过所述代理在应用级使用单向通信连接将数据通信给报告目的地而进行。所述第一次发生和所述摘要的报告还可包括:打开通信连接;发送数据给所述报告目的地;及关闭所述通信连接,所述代理仅发送数据给所述报告目的地而不从所述通信连接读取任何信息。通信连接可以是TCP或UDP套接字。定期报告可包括自上一定期报告发送给报告目的地之后一时间间隔内所选择的一个或多个数据源组及相关联的值的摘要。所选择的一个或多个度量组可以是第一级的报告信息,所述定期报告可包括第二级的报告信息,其用于执行至少下述之一:确定问题的原因,及对问题采取校正措施。所述第一次发生和所述摘要的报告可包括将消息从所述代理传输给报告目的地,每一所述消息为固定的最大长度。所述定期报告由所述代理发送的时间间隔及包括在每一所述消息中的数据可根据至少下述之一进行确定:计算机系统上及所述代理包括于其中的网络上可用的资源。代理可在第一计算机系统上执行并向另一计算机系统报告数据。该方法还可包括:监控日志文件;及从所述日志文件提取所述第二级的报告信息,其中所述日志文件包括所述代理正于其上执行的计算机系统的日志信息。代理可使用所述通信连接将XML通信传输给所述报告目的地。所述代理在固定的报告间隔内可报告的数据量的临界值可被指定,所述临界值等于或大于所述代理发送的每一摘要报告的固定最大长度。任一所述报告行为发送的报告可包括加密的校验和,以防止所述报告在从代理通信给网络中的接受者时被修改。报告行为可由发送报告的代理执行,所述报告包括下述之一:随持续时间递增的时间戳,及随持续时间递增的序号,其为所述报告的接受者使用。在验证所述接受者接收的报告是由所述代理发送的报告时,接受者可使用所述时间戳或所述序号之一,所述接受者处理所接收的具有所述时间戳或序号之一的报告,前述时间戳或序号大于与从所述代理接收的上一报告相关联的另一时间戳或序号。第二级报告信息可确定至少一个与攻击相关联的源,其中所述来源是下述之一:用户、机器、应用程序,所述百分比表明事件与所述至少一种类型的攻击源相关联的百分比。
根据本发明的另一方面是通过代理进行事件报告的方法,包括:接收数据;确定所述数据是否对应于与至少一安全性度量相关联的感兴趣事件;及发送报告给报告目的地,所述报告包括固定时间间隔内的所述至少一安全性度量,其中所述报告被使用单向通信连接从在应用级通信数据的所述代理发送给所述报告目的地。代理仅可在所述单向通信连接上发送数据给所述报告目的地,而不能从所述通信连接读取任何信息。报告可包括至少一与所接收的所述数据一致的性能度量。
根据本发明的另一方面是通过代理进行事件报告的方法,包括:接收数据;确定所述数据是否指明感兴趣的安全事件;及报告摘要,其包括在固定时间间隔内发生的所述感兴趣的安全事件多次发生的信息,所述摘要以预定时间间隔发送出去。报告摘要的行为可在没有请求报告的情况下执行。报告所述摘要可由所述代理执行,其在应用级使用单向通信连接将数据通信到报告目的地。报告所述摘要还可包括:打开通信连接;发送数据给所述报告目的地;及关闭所述通信连接,所述代理仅发送数据给所述报告目的地,而不从所述通信连接读取任何信息。通信连接可以是TCP或UDP套接字。代理可使用所述通信连接将XML通信传输给所述报告目的地。报告所述摘要可包括从所述代理传输定期消息给报告目的地,每一所述消息具有固定的最大长度。
根据本发明的另一方面是通过代理进行事件报告的计算机程序产品,包括实现下述步骤的代码:接收数据;确定所述数据是否表明自先前周期的报告之后第一次发生与度量相关联的感兴趣的事件;如果所述代码确定所述数据表明所述第一次发生则报告所述第一次发生的事件;在第一时点在定期报告中报告包括所述度量的摘要。所述第一次发生的代码及报告所述摘要的代码均可在没有请求报告的情况下执行。用于报告所述第一次发生的代码及报告所述摘要的代码的数据可通过所述代理在应用级使用单向通信连接将数据通信给报告目的地而进行。所述报告所述第一次发生的代码和所述报告所述摘要的代码中至少之一还可包括实现下述步骤的代码:打开通信连接;发送数据给所述报告目的地;及关闭所述通信连接,所述代理仅发送数据给所述报告目的地而不从所述通信连接读取任何信息。通信连接可以是TCP或UDP套接字。定期报告可包括自上一定期报告发送给报告目的地之后一时间间隔内所选择的一个或多个数据源组及相关联的值的摘要。所选择的一个或多个度量组可以是第一级的报告信息,所述定期报告可包括第二级的报告信息,其用于执行至少下述之一:确定问题的原因,及对问题采取校正措施。报告所述第一次发生的代码和报告所述摘要的代码可包括将消息从所述代理传输给报告目的地的代码,每一所述消息为固定的最大长度。所述定期报告由所述代理发送的时间间隔及包括在每一所述消息中的数据可根据至少下述之一进行确定:计算机系统上及所述代理包括于其中的网络上可用的资源。代理可在第一计算机系统上执行并向另一计算机系统报告数据。计算机程序产品还可包括实现下述步骤的代码:监控日志文件;及从所述日志文件提取所述第二级的报告信息,其中所述日志文件包括所述代理正于其上执行的计算机系统的日志信息。代理可使用所述通信连接将XML通信传输给所述报告目的地。所述代理在固定的报告间隔内可报告的数据量的临界值可被指定,所述临界值等于或大于所述代理发送的每一摘要报告的固定最大长度。对任一所述代码发送的报告,报告可使用加密的校验和,以防止所述报告在从代理通信给网络中的接受者时被修改。报告代码可由发送报告的代理执行,所述报告包括下述之一:随持续时间递增的时间戳,及随持续时间递增的序号,其为所述报告的接受者使用。在验证所述接受者接收的报告是由所述代理发送的报告时,接受者可使用所述时间戳或所述序号之一,所述接受者处理所接收的具有所述时间戳或序号之一的报告,前述时间戳或序号大于与从所述代理接收的上一报告相关联的另一时间戳或序号。第二级报告信息可确定至少一个与攻击相关联的源,其中所述源是下述之一:用户、机器、应用程序,所述百分比表明事件与所述至少一种类型的攻击源相关联的百分比。
根据本发明的另一方面是通过代理进行事件报告的计算机程序产品,包括实现下述步骤的代码:接收数据;确定所述数据是否对应于与至少一安全性度量相关联的感兴趣事件;及发送报告给报告目的地,所述报告包括固定时间间隔内的所述至少一安全性度量,其中所述报告被使用单向通信连接从在应用级通信数据的所述代理发送给所述报告目的地。代理仅可在所述单向通信连接上发送数据给所述报告目的地,而不能从所述通信连接读取任何信息。报告可包括至少一与所接收的所述数据一致的性能度量。
根据本发明的另一方面是通过代理进行事件报告的计算机程序产品,包括实现下述步骤的代码:接收数据;确定所述数据是否指明感兴趣的安全事件;及报告摘要,其包括在固定时间间隔内发生的所述感兴趣的安全事件多次发生的信息,所述摘要以预定时间间隔发送出去。报告所述摘要的代码可在没有请求报告的情况下被执行。用于报告所述摘要的所述代码的数据可由所述代理执行,其在应用级使用单向通信连接将数据通信到报告目的地。报告所述摘要的代码还可包括实现下述步骤的代码:打开通信连接;发送数据给所述报告目的地;及关闭所述通信连接,所述代理仅发送数据给所述报告目的地,而不从所述通信连接读取任何信息。通信连接可以是TCP或UDP套接字。将XML通信传输给所述报告目的地的代理可使用所述通信连接。报告所述摘要的代码可包括从所述代理传输定期消息给报告目的地的代码,每一所述消息具有固定的最大长度。
根据本发明的另一方面是事件通知方法,包括:接收某一条件的第一报告;发送关于所述条件的所述第一报告的第一通知消息;在第一通知间隔发送关于所述条件的第二通知消息;在固定时间间隔接收随后的报告;如果在所述第二通知间隔期间所述条件仍在进行,则在第二通知间隔发送随后的通知消息,其中所述第二通知间隔的长度是所述第一通知间隔的数倍。第一报告可从第一计算机系统上的报告代理进行发送,其报告关于所述第一计算机系统及包括所述第一计算机系统的网络之一,所述通知消息均从第二计算机系统上的通知服务器发送。通知消息可在连续的通知间隔发送给通知点,其中所述连续的通知间隔中的每一个大约关于紧接其的前一通知间隔呈指数规律地增长。条件可与报警条件相关联,当当前度量水平与预定临界值不一致时报警条件可被设定。每一所述通知消息可包括关于所述条件的第一级信息及用于执行至少下述之一的第二级信息:确定所述条件的原因,对所述条件采取校正措施。选项可被包括在报告代理中以使能和禁止从发送所述第一报告的所述代理报告所述第二级信息给通知服务器。选项可用于使能和禁止包括所述第二级信息的条件通知消息。报警条件可与第一级警报相关联,当当前度量水平与所述预定临界值一致时所述第一级的警报状态可被保持,直到在所述第一级的所述警报状态被所述通知服务器承认接收到为止。当所述当前水平与预定临界值不一致时报警条件可转变为第二级警报,且另一临界值与第二级相关联,当当前度量水平与下述之一一致时,所述第二级警报被保持:所述预定临界值和所述其它临界值,直到所述第二级警报被所述通知服务器承认接收到为止。报告可从在工业网络中的计算机系统上运行的报告代理发送给包括在所述工业网络中的设备,每一所述报告包括在所述工业网络内发生的事件。报警条件可根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。
根据本发明的另一方面是事件通知方法,包括:在报告目的地接收某一条件的第一报告;及从所述报告目的地发送通知消息给通知目的地,所述通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
根据本发明的另一方面是事件通知方法,包括:在固定时间间隔接收潜在的网上攻击条件的报告;当所述条件超越通知临界值时发送关于所述条件的通知消息。通知临界值可使用报警条件根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
根据本发明的另一方面是用于事件通知的计算机程序产品,包括实施下述步骤的代码:接收某一条件的第一报告;发送关于所述条件的所述第一报告的第一通知消息;在第一通知间隔发送关于所述条件的第二通知消息;在固定时间间隔接收随后的报告;如果在所述第二通知间隔期间所述条件仍在进行,则在第二通知间隔发送随后的通知消息,其中所述第二通知间隔的长度是所述第一通知间隔的数倍。第一报告可从第一计算机系统上的报告代理进行发送,其报告关于所述第一计算机系统及包括所述第一计算机系统的网络之一,所述通知消息均从第二计算机系统上的通知服务器发送。通知消息可在连续的通知间隔发送给通知点,其中所述连续的通知间隔中的每一个大约关于紧接其的前一通知间隔呈指数规律地增长。条件可与报警条件相关联,当当前度量水平与预定临界值不一致时报警条件可被设定。每一通知消息可包括关于所述条件的第一级信息及用于执行至少下述之一的第二级信息:确定所述条件的原因,对所述条件采取校正措施。选项可被包括在报告代理中以使能和禁止从发送所述第一报告的所述代理报告所述第二级信息给通知服务器。选项可用于使能和禁止包括所述第二级信息的条件通知消息。报警条件可与第一级警报相关联,当当前度量水平与所述预定临界值一致时所述第一级的警报状态可被保持,直到在所述第一级的所述警报状态被所述通知服务器承认接收到为止。当所述当前水平与预定临界值不一致时报警条件可转变为第二级警报,且另一临界值与第二级相关联,当当前度量水平与下述之一一致时,所述第二级警报被保持:所述预定临界值和所述其它临界值,直到所述第二级警报被所述通知服务器承认接收到为止。报告可从在工业网络中的计算机系统上运行的报告代理发送给包括在所述工业网络中的设备,每一所述报告包括在所述工业网络内发生的事件。报警条件可根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。
根据本发明的另一方面是用于事件通知的计算机程序产品,包括用于实施下述步骤的代码:在报告目的地接收某一条件的第一报告;及从所述报告目的地发送通知消息给通知目的地,所述通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
根据本发明的另一方面是用于事件通知的计算机程序产品,包括用于实施下述步骤的代码:在固定时间间隔接收潜在的网上攻击条件的报告;当所述条件超越通知临界值时发送关于所述条件的通知消息。通知临界值可使用报警条件根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
根据本发明的另一方面是监控工业网络的方法,包括:由在所述工业网络中的所述第一计算机系统上运行的第一代理报告关于第一计算机系统的第一数据,所述第一计算机系统执行至少下述之一:监控或控制所述工业网络的物理过程,所述第一数据包括关于连同所述物理过程一起使用的软件的信息。该方法还可包括由在第二计算机系统上运行的第二代理报告关于所述工业网络和另一网络之间的连接上的通信的第二数据。由所述第二代理报告的第二数据可被包括在所述第一数据被发送至其的设备中。第一代理可报告至少下述之一:关键文件监控、所述第一计算机系统的日志文件、所述第一计算机系统的硬件和操作系统、密码和注册、及在所述计算机系统上运行的特殊应用程序,其中所述应用程序与所述工业网络的特定工业应用程序一致。多个代理可在所述第一计算机系统上运行以监控所述第一计算机系统。多个代理可包括主代理及执行预定的一组监控任务的其它代理,所述主代理控制所述其它代理的运行。多个代理可在预定间隔报告数据给设备及所述第二计算机系统之一。该方法还可包括由所述多个代理中的至少一个执行:从数据源获取数据;分解所述数据;在所述分解的数据上执行模式匹配以确定感兴趣的事件;记录任何感兴趣的事件;在时间间隔中根据所选择的事件的发生报告任何感兴趣的事件;在预定时间间隔创建包括所述摘要的消息;及加密至少一所述消息及所述消息的校验和。第一数据可包括至少下述度量之一:打开侦听连接的数量及异常过程终止的数量。当打开侦听连接的数量在第一水平之下时,对应于组件失效的事件可被确定。当打开侦听连接的数量在第二水平之上时,对应于新组件或未经认可的组件的事件可被确定。第二代理可根据一套规则报告网络活动,所述规则包括至少一规则,其指示商业网络中的事件在所述工业网络中被标记为可疑事件。事件可包括至少下述之一:与网浏览器相关联的事件、及与电子邮件相关联的事件。如果组件的物理设备标识符在先前不知道,第二代理可报告物理设备标识符的地址绑定到网络地址,或地址绑定中的所述网络地址是在自所述网络地址上一次被包括在地址绑定中时起在预定时间周期内所述网络地址的再分配。第二代理可报告关于防火墙的第二数据,且所述第二数据可包括至少下述之一:所保存的对应于预定威胁等级的防火墙配置的变化、当前控制所述工业网络和所述其它网络之间的操作的防火墙配置规则的当前设定的变化。与所述防火墙相关的日志文件可被远程保存在所述第二计算机系统上的位置,所述第二计算机系统具有用于所述第二计算机系统活动的日志文件。第二数据可包括至少一来自所述工业网络外部源的威胁评估。第二数据可包括至少下述之一:来自连接到所述工业网络的企业通信网的威胁等级指示符、来自公共网络源的威胁等级指示符、及手动输入的威胁等级指示符。该方法还可包括:由接受者接收至少所述第一数据;验证所述第一数据是由所述第一代理发送的数据;及响应于所述验证,由所述接受者处理所述第一数据。验证可包括至少下述之一:验证所述第一代理的加密密钥的使用,及检验消息校验和的有效性,及使用时间戳或序号来检查由所述接受者接收的无效报告是由所述第一代理发送。报告可根据临界值大小执行,其中临界值大小指明所述第一代理在固定定期报告间隔中被允许传输的数据量。
根据本发明的另一方面是用于监控工业网络的计算机程序产品,包括实施下述步骤的代码:由在所述工业网络中的所述第一计算机系统上运行的第一代理报告关于第一计算机系统的第一数据,所述第一计算机系统执行至少下述之一:监控或控制所述工业网络的物理过程,所述第一数据包括关于连同所述物理过程一起使用的软件的信息。计算机程序产品还可包括由在第二计算机系统上运行的第二代理报告关于所述工业网络和另一网络之间的连接上的通信的第二数据。由所述第二代理报告的第二数据可被包括在所述第一数据被发送至其的设备中。第一代理可报告至少下述之一:关键文件监控、所述第一计算机系统的日志文件、所述第一计算机系统的硬件和操作系统、密码和注册、及在所述计算机系统上运行的特殊应用程序,其中所述应用程序与所述工业网络的特定工业应用程序一致。多个代理可在所述第一计算机系统上运行以监控所述第一计算机系统。多个代理可包括主代理及执行预定的一组监控任务的其它代理,所述主代理控制所述其它代理的运行。多个代理可在预定间隔报告数据给设备及所述第二计算机系统之一。计算机程序产品还可包括由所述多个代理中的至少一个执行下述步骤的代码:从数据源获取数据;分解所述数据;在所述分解的数据上执行模式匹配以确定感兴趣的事件;记录任何感兴趣的事件;在时间间隔中根据所选择的事件的发生报告任何感兴趣的事件;在预定时间间隔创建包括所述摘要的消息;及加密至少一所述消息及所述消息的校验和。第一数据可包括至少下述度量之一:打开侦听连接的数量及异常过程终止的数量。当打开侦听连接的数量在第一水平之下时,对应于组件失效的事件可被确定。当打开侦听连接的数量在第二水平之上时,对应于新组件或未经认可的组件的事件可被确定。第二代理可根据一套规则报告网络活动,所述规则包括至少一规则,其指示商业网络中的事件在所述工业网络中被标记为可疑事件。事件可包括至少下述之一:与网浏览器相关联的事件、及与电子邮件相关联的事件。如果组件的物理设备标识符在先前不知道,第二代理可报告物理设备标识符的地址绑定到网络地址,或地址绑定中的所述网络地址是在自所述网络地址上一次被包括在地址绑定中时起在预定时间周期内所述网络地址的再分配。第二代理可报告关于防火墙的第二数据,且所述第二数据可包括至少下述之一:所保存的对应于预定威胁等级的防火墙配置的变化、当前控制所述工业网络和所述其它网络之间的操作的防火墙配置规则的当前设定的变化。与所述防火墙相关的日志文件可被远程保存在所述第二计算机系统上的位置,所述第二计算机系统具有用于所述第二计算机系统活动的日志文件。第二数据可包括至少一来自所述工业网络外部源的威胁评估。第二数据可包括至少下述之一:来自连接到所述工业网络的企业通信网的威胁等级指示符、来自公共网络源的威胁等级指示符、及手动输入的威胁等级指示符。计算机程序产品还可包括用于实施下述步骤的代码:由接受者接收至少所述第一数据;验证所述第一数据是由所述第一代理发送的数据;及响应于所述验证,由所述接受者处理所述第一数据。验证代码可包括至少下述之一:验证所述第一代理的加密密钥的使用及检验消息校验和的有效性的代码,及使用时间戳或序号来检查由所述接受者接收的无效报告是由所述第一代理发送的代码。报告代码可使用临界值大小,其指明所述第一代理在固定定期报告间隔中被允许传输的数据量。
根据本发明的另一方面是检查网络中不合需要的消息的方法,包括:在所述网络中接收消息;根据至少一定义所述网络中的可接受消息的规则确定所述消息是否不合需要;及如果所述消息未被确定为与所述至少一规则一致,则将所述消息报告为不合需要。该方法还可包括:定义另一规则,其用于确定另外的消息类型在所述网络中是否可被确定为可接受。
根据本发明的另一方面是用于检查网络中不合需要的消息的计算机程序产品,包括实施下述步骤的代码:在所述网络中接收消息;根据至少一定义所述网络中的可接受消息的规则确定所述消息是否不合需要;及如果所述消息未被确定为与所述至少一规则一致,则将所述消息报告为不合需要。计算机程序产品还可包括代码:其定义另一规则以用于确定另外的消息类型在所述网络中是否可被确定为可接受。
根据本发明的另一方面是执行定期文件系统总校验的方法,包括:接收两或多组文件系统记录,每一组代表一个或多个文件系统记录的分组;从每一组选择零或更多个记录;及在报告周期期间对每一从每一组选择的记录执行总校验。所述两或多组中的每一组可对应于预定的分类等级。如果第一分类等级比第二分类等级更重要,所述第一分类等级可包括比所述第二分类等级少的记录。来自每一组的大量记录可根据与所述组相关联的重要性等级进行确定。
根据本发明的另一方面是执行定期文件系统总校验的计算机程序产品,包括实施下述步骤的代码:接收两或多组文件系统记录,每一组代表一个或多个文件系统记录的分组;从每一组选择零或更多个记录;及在报告周期期间对每一从每一组选择的记录执行总校验。所述两或多组中的每一组可对应于预定的分类等级。如果第一分类等级比第二分类等级更重要,所述第一分类等级可包括比所述第二分类等级少的记录。来自每一组的大量记录可根据与所述组相关联的重要性等级进行确定。
附图说明
本发明的特征和优点从下面结合附图进行的示例性实施例的详细描述中将更加明显,其中:
图1是在此描述的系统的实施例。
图2为可被包括在图1的系统的企业通信网中的组件的实施例。
图3为可被包括在图1的系统的工业网络中的组件的更详细的实施例。
图4为可被包括在图3的监视服务器中的组件的更详细的实施例。
图4A为威胁自适应控制器(threat thermostat controller)的详细实施例。
图5为可被包括在图3系统中的不同类型的代理的例子。
图6为图5的每一代理的体系结构的实施例。
图7为用于控制代理内的流程的一实施例的步骤的流程图。
图8为图4的实时数据库及报警引擎(RTAP)的实施例。
图9为RTAP实施例使用的数据库语句集的代表例子。
图9A为表示图9的数据库语句集内的报警函数的例子。
图10-11为可由RTAP使用的报警状态表的实施例。
图12为表示图11的报警状态表中的状态和转换的状态转换图的例子。
图13-14为可被用在图1系统的实施例中的用户界面显示的例子。
具体实施方式
参考图1,其示出了可连同在此描述的技术一起使用的系统的实施例10。系统10可以是连同制造、发电、能源分布、废物处理、运输、电信、水处理等一起使用的基础结构的一部分。包括在系统10中的是通过集线器、交换机、路由器和/或防火墙16连接到工业网络14的企业通信网12。企业通信网12可通过防火墙18和/或其它装置连接到一个或多个外部网络如因特网20。邮件服务器30、网络服务器32和/或任一或多个其它硬件和/或软件组成也可直接或经防火墙18连接到企业通信网12。
应注意的是,尽管图1的系统10包括防火墙18并还可包括一个或多个其它防火墙或安全措施,企业通信网和工业网络仍然易遭受网上攻击及其它类型的安全威胁,二者均是恶意的和意外的。如下面所述,由于工业网络可被连同使用的关键应用及任务,可被包括在工业网络实施例14内的不同计算机系统必须以极高的可靠性能运行。换言之,对包括在工业网络14中的组成的故障只有非常低的容忍度。相比可能出现在企业通信网12内的故障,缺乏控制及工业网络14内的故障可导致更加灾难性的情形。例如,企业通信网12内的灾难性故障可能迫使信息的备份恢复。然而,假如工业网络14正连同供电或控制一系统如火车配电系统一起使用时,故障可导致人及经济局面的灾难性损失。
关于系统10,还应注意的是,外部威胁,如可能遭遇外部黑客通过因特网20访问工业网络14,只占安全威胁的一部分。大量网上攻击及其它威胁来自系统10本身内部,如企业通信网12内部或来自工业网络14内部。例如,怀有不满的雇员可能试图从工业网络14及企业通信网12内部进行恶意攻击,从而试图导致工业网络14的一个或多个组件发生运行故障。作为另一例子,某些人可能使用膝上型电脑连接到工业网络或企业通信网12,所述膝上型电脑可能已感染特意代码形式的病毒,如特洛伊、病毒、蠕虫等。该恶意代码可能不受防火墙18和/或防火墙16的机能的支配而被引入到企业通信网12上或工业网络14内的系统10内。这样类型的内部威胁可能不能由防火墙或其它开发来主要防止外部威胁的安全措施捕获或阻止。因此,理想地,系统的实施例10可以可靠的方式在系统10内包括和使用其它与控制、监控、及保护组件的运行有关的技术。
企业通信网12可包括在办公室及企业活动中通常使用的组件,例如,由个人在执行财务处理功能及其它管理任务时使用的系统。网络服务器32可被用于服务于向与企业通信网12相关联的站点做出的请求。从因特网20引入到企业通信网12的电子邮件可由电子邮件服务器30处理。应注意的是,根据每一实施例的特定功能,系统的实施例10可包括不同于在此描述的组件。
企业通信网12可通过集线器、交换机、路由器或防火墙16连接到工业网络14。应注意的是,企业通信网12可由一个或多个前面连同单元16提及的组件连接到工业网络14。换言之,图1中的单元16可代表在将企业通信网12连接到工业网络14中使用的硬件和/或软件的分层或分级布置。根据工业网络14内的组件的特殊使用,包括在实施例中的16的不同布置可根据想要的安全程度而变化。
在该实施例中,包括在工业网络14中的是监视服务器50。监视服务器50可执行各种不同的与工业网络14有关的监控、检测和通知任务并连接到企业通信网。监视服务器50将在本说明书别处详细描述。
包括在系统实施例10中的组件可使用任一或多种不同类型的通信媒介而相互连接及连接到外部系统和组件。通信媒介可以是本领域技术人员已知的多种网络或其它类型的通信连接中的任意一种。通信媒介可以是网络连接、总线、和/或其它类型的数据链路,如硬连线或本领域已知的其它连接。例如,通信媒介可以是因特网、企业内部互联网、有利于不同组件之间的数据访问和通信的网络或其它非网络连接。
应注意的是,实施例还可包括本领域一般技术人员已知的其它类型基于连通性的硬件和/或软件作为单元16以连接两个网络、企业通信网12及工业网络14。例如,单元16还可以是拨号式调制解调器连接、用于无线访问点的连接等。
包括在图1的系统10中的不同组件均可位于同一物理场所,也可位于不同的物理位置,或者二者的结合。一个或多个组件的物理位置可指示用于在不同组件之间提供连接的通信媒介的类型。例如,不同组件可借以通过通信媒介连接在一起的部分或所有连接可通过可能存在的其它通信设备和/或交换装置,如电话线、转发器、多路复用器、甚或人造卫星。
现在参考图2,其示出了可被包括在企业通信网12内的组件的实施例。图2的该实施例12包括用户系统40a-40b、集线器、交换机、防火墙或WAN路由器42。组件42可用于将该特定的企业通信网连接到一个或多个其它企业通信网、连接到防火墙18、及连接到包括在先前结合图1描述的16中的任何其它组件。
每一用户系统40a-40b可包括多种不同类型的计算机系统和组件中的任意一种。通常,与包括在企业通信网12内的计算机系统有关及与在此描述的其它组件有关,处理器可以是多种商业上可用的单或多处理器系统中的任意一种,如基于Intel的处理器、IBM大型机、或能够支持依照每一特定实施例和应用的入局通信量和任务的其它类型处理器。不同组件中的每一个,如集线器、交换机、防火墙和/或路由器42,均可以是多种不同组件中的任意一种,其可通过商业途径获得且也可以是专利设计。
每一用户系统40a-40b可包括一个或多个数据存储设备,其数量和类型可根据每一特定系统而变化。例如,数据存储设备可包括单一设备如磁盘驱动器,也可包括更复杂结构的多个设备,如具有存储区域网(SAN)等。例如,数据可被保存在磁性、光学、硅基或非硅基媒介上。特殊的布置和结构可根据与每一实施例和系统相关联的参数和要求而变化。
每一用户系统40a-40b及下面描述的其它计算机系统还可包括一个或多个I/O设备如键盘、鼠标、显示设备如监视器等。在计算机系统内的这些组件中的每一个均可根据包括在其中的特定组件而经多种不同的通信连接中的任一或多种进行通信。
应注意的是,除了用户系统以外,企业通信网可包括其它组件如可由每一用户系统使用的网络打印机。
现在参考图3,其示出了先前结合图1的系统10描述的组件的更详细的实施例100。在一实施例中,包括在工业网络14中的是过程LAN102、控制网络104、I/O网络106、一个或多个其它I/O网络124a和124b、及监视服务器50。在该例子中,工业网络14可通过集线器、交换机、路由器或防火墙16连接到企业通信网12。应注意的是,工业网络14可包括与在此描述的组件不同的组件及包括在此描述的组件的多种例子。在一实施例中,组件16可以是综合的安全设备如Fortinet Fortigate设备。
过程LAN102可执行与数据管理、综合、显示等有关的任务。控制网络104可用于控制I/O网络106及一个或多个其它I/O网络124a和124b内的一个或多个设备。监视服务器50可执行与工业网络14有关的多种不同的监控、检测及通知任务并连接到企业通信网。监视服务器50和包括在实施例14内的将在下面详细描述的其它组件可连同工业网络14的运行一起使用,以提供工业网络14和组件16的适当运行及安全威胁管理。
图3的过程LAN102包括连接到组件16及过程LAN102内的一个或多个其它组件的交换机或集线器110a。在该例子中,过程LAN102包括的组件为过程数据库(historian)114和应用服务器116。例如,过程数据库114可用于保存不同监控数据的历史记录,其可由包括在网络14内的其它组件收集。例如,过程数据库114可用作网络14内随时收集的不同类型的数据的数据档案库。应用服务器116可用于运行应用程序,例如,其使用传感器及其它数据执行过程优化。应用服务器116可将结果通信给SCADA服务器以用于控制网络14的运行。
SCADA(监控与数据采集)服务器118可用于远程监控控制网络104和I/O网络106内的不同组件。还应注意的是,包括在图2中的SCADA服务器通常指控制系统,如分布式控制系统(DCS)。另外,SCADA服务器118还负责控制和监视包括在其它I/O网络124a和124b中的组件。例如,SCADA服务器118可向控制器122发出一个或多个与控制I/O网络106内的设备130a-130n有关的指令。类似地,SCADA服务器118可用于控制和监视I/O网络124a和124b内的其它组件。如本领域一般技术人员所公知的,SCADA服务器可用作用于远程监控的大系统的一部分,例如,不同类型的发电、分布及传输设施、运输系统等。通常,SCADA服务器118可用于控制及远程或本地监视大地理分布区域上的组件。例如,SCADA服务器可依赖于通信链路如无线电、人造卫星、及电话线而与I/O网络124a和124b及I/O网络106通信。特定的结构可根据每一特定的应用和实施例进行变化。
工作站120可包括人机界面(HMI),如图形用户界面(GUI)。例如,工作站120可用于从I/O网络106中的设备130a-130n获取不同的传感器读数如温度、压力等,并将这些读数显示在工作站120的GUI上。工作站120还可用于响应于观察不同传感器读数的特定值而接受一个或多个用户输入。例如,工作站120可连同监控运输系统的应用软件一起使用。操作员可使用工作站120的GUI查看某几个经选择的统计表或关于系统的信息。选择可使用工作站120的GUI进行。来自工作站120的其它输入可用作控制和监视工业网络14和一个或多个I/O网络内不同设备和组件的运行的指令。例如,运输系统可用于分派和监视一列或多列火车。
SCADA服务器118还可用于执行由设备传感器130a-130n获取的不同值的数据采集,从而实现其监视和/或控制动作。数据可被通信给SCADA服务器118及工作站120。例如,SCADA服务器118可监视从一个或多个不同传感器获得的流速及其它值,并可在检测到危险条件时向操作员产生一报警。危险条件后检测可导致报警产生在工作站120上,例如可经GUI显示给用户。SCADA服务器118监视工业网络和I/O网络内的物理处理。例如,当在有形工厂检测到有要求注意的问题时,服务器118可向工作站120的操作员发出报警。
控制器122可用于发出指令以控制不同的设备如130a-130n,及用于将传感器信号数据从模拟数据转换为数字信号,模拟数据可从特定的设备收集。实施例还可使控制器122执行不同于在此描述的其它功能。
监视服务器50可用于监视、检测及在适当时根据检测到的特定条件通知用户。监视服务器50可包括监控模块,其包括在设备中。监视服务器50还可被安装为常规计算机系统上的软件模块,所述计算机系统具有商业上可用的操作系统如Windows或LINUX,或强化的操作系统如SE LINUX。在一实施例中,监视服务器50可以是机架固定的服务器级计算机,其具有硬件组件过剩及可交换的组件。设备或常规计算机系统可在IBM X系列服务器上运行SE LINUX,其监视工业网络14的日志和性能。前述设备可用于监视、检测和通知人类和/或控制计算机系统或其它适当的组件。
应注意的是,监视服务器50可用于发出在SCADA系统、相关联网络及计算机处理器中检测出的报警。换言之,关于监视图3的计算机和网络的任务由监视服务器50执行。相反,如本领域一般技术人员所公知的,关于有形工厂处理、传感器数据收集的任务及控制和监视特定工业网络的运行的任务均由SCADA服务器118执行。
包括在网络实施例14中的是一个或多个代理132a-132d,其可用于收集报告给监视服务器50的数据。应注意的是,每一代理132a-132d可以指在计算机系统上运行的一个或多个不同的代理以执行关于计算机系统的数据收集。代理132a-132d报告关于系统的信息给另一系统如监视服务器50。可被包括在实施例中的代理的不同类型及每一代理的特定体系结构均将在本说明书别处详细描述。除了每一代理报告信息给监视服务器50以外,其它数据收集组件可包括SNMP组件如112a-112c,其也相互作用并报告数据给监视服务器50。每一SNMP组件可用于收集关于SNMP组件位于其上的不同网络设备的数据。如本领域一般技术人员所公知的,这些SNMP组件可根据每一特定类型的设备而变化且也可由特定的设备提供商供应。在一实施例中,监视服务器50可定期轮询每一SNMP组件112a-112c以获得数据。
在上述工业网络14的一实施例中,监视服务器50可运行SELINUX(安全等级增强的LINUX)操作系统。尽管其它操作系统也可用于在此描述的技术,但SE LINUX操作系统在监视服务器50的实施例中是首选的,其部分原因将在下面描述。如本领域一般技术人员所公知的,一些操作系统可基于自由访问控制(DAC)的概念,其提供两类用户。第一类用户可以是管理员,例如其具有全访问所有系统资源的权限,第二类用户为一般用户,其具有对应用软件及工作所需文件的全访问权限。基于DAC模型的操作系统的例子包括基于Windows的操作系统。DAC操作系统没有加强全系统的安全策略。保护措施均在每一单个用户的控制之下。例如,由用户运行的程序可继承该用户的所有许可并可自由修改该用户有权访问的任何文件。更高安全的计算机系统可包括基于强制访问控制(MAC)的操作系统。MAC向中央管理员提供应用全系统访问策略的措施,所述策略由操作系统加强。其提供相互隔离的个人安全域,除非被指定明确的访问特权。相比于两级DAC系统,MAC概念提供对程序、系统资源和文件的更细微地粒状访问控制。MAC支持大量用户种类并限制损害,例如有缺陷的或恶意应用软件可能对单个域导致的损害。由于该安全原理的不同,MAC可代表最佳可用选择以能保护关键系统免遭内部和外部网上攻击。基于MAC概念或模型的一种操作系统为SE LINUX操作系统。例如,SELINUX操作系统可在http://ww.nsa.gov/selinux获得。
包括在图3的工业网络14中的组件,如代理132a-132d、SNMP组件112a-112c、及监视服务器50,均可用于提供实时安全事件监视系统。包括在工业网络14中的不同代理132a-132d可被安装在包括于工业网络14中的不同计算机系统上,并可包括机器状况、安全日志文件的变化、应用程序状态等。由每一代理132a-132d和SNMP组件112a-112c收集的信息可被通信给监视服务器50。该信息可被保存在同样包括在监视服务器50上的实时数据库中。从监视服务器50,报警限制可被设定,报警可被产生,事件报告可被创建,及趋势也可被显示。监视服务器50还可运行网络侵入检测系统(NIDS),并有能力经包括在100示出的各个网络设备中的SNMP组件监视网络设备如交换机、路由器和防火墙。
在此描述的代理132a-132d的特征在于其为智能代理,其设计来在最少使用系统和网络资源的同时运行和报告数据。控制网络104可具有相当少量的网络带宽。因而,当部署监视设备时,如该控制系统内的代理132a-132d,可能没有足够的带宽可用于从每一代理报告数据。系统越老,通常其控制网络的带宽越小。网络14内的代理可被设计以使CPU使用、存储器使用及执行关于工业网络14的各种数据收集和报告任务所耗带宽最少。在一实施例中,代理可以一种或多种不同的编程语言编写如PERL、C、Java等。通常,代理通过在其运行的特定系统上执行系统指令、读数据文件等而收集不同类型的信息。应注意的是,代理还以有限的方式消耗资源,其使随时消耗的变化最小。这将在本说明书别处详细描述。
代理132a-132d可将信息格式化为多种不同消息格式中的任意一种如XML,并继而将该数据报告给监视服务器50。在一实施例中,代理132a-132d可在TCP/IP上通信数据给监视服务器50,其通过打开刚刚足够长的套接字通信通道以在特别选择的点及时发送有关数据而进行。在一实施例中,代理132a-132d在应用级运行以将信息通信给监视服务器50。监视服务器50不对所接收的这些数据发送应用级确认。另外,作为安全措施,代理从不从通信通道读取而仅在该通信通道上将数据发出去。应注意的是,尽管在此描述的实施例使用TCP,在此描述的技术可用于具有UDP或另外的无连接通信类型的实施例。
如下面所述,可被包括在图1的系统10中的代理通常可称为两个不同级的监视代理。第一级代理可用于监视代理实际于其上运行的控制系统。在该第一级的代理为那些包括在图3的工业网络14中的代理,如代理132a-132d。可被包括在实施例中的第二级代理将在本说明书别处结合监视服务器50进行描述。第二级代理可用于监视来自第三方设备或应用程序的输入或关于不同于代理正于其上运行的系统的其它活动。如本说明书别处详细描述的,任一级的不同类型的代理均可用在实施例中以收集不同类型的数据。
应注意的是,由在此描述的代理执行的各种活动可用于监视和报告网上安全事件及不同系统设备的性能如不同计算机系统的CPU负载、空间和存储器使用、电源电压等。尽管一种特定类型的安全威胁为如在此描述的计算机安全威胁,应注意的是,在此描述的技术和系统可用于监视不同类型的安全威胁。例如,控制系统损伤可由有缺点的电源、其它组件的不合适性能等引起。在图1的系统实施例10内部署的各个代理可用于检测对工业网络14的恶意及偶然威胁。当由于一个或多个系统受到攻击而评估系统损害可能性时,其还可用于使性能信息与安全信息相关联。
尽管代理132a-132d是连同包括在图3中的特定组件示出,按需及根据每一实施例,代理132a-132d也可用于监视控制器122、设备130a-130n等。代理可被用在具有能够执行在此描述的任务的计算机处理器并满足预定资源限制的组件上,所述资源限制随每一实施例的不同而变化。例如,如果控制器具有能够运行实现代理功能的代码的处理器,代理可在“智能”控制器如122上运行。还可有从控制器122到监视服务器50的连接以将代理收集的数据通信给监视服务器50。
在图3中,应注意的是,113a、113b和113c中的每一个均可指一个或多个连接并可根据由每一连接连接到监视服务器50的特定组件的不同而变化。例如,组件16可以是集线器、交换机、路由器或防火墙。如果组件16是交换机,单元113a可指16和监视服务器50之间的两个通信连接,其中连接之一连接到交换机的拉线端口并用于监视监视服务器50进行的网络侵入检测的运行。在组件为集线器的实施例中,可使用单一连接。前述内容还可分别应用于连接113b和113c及组件110a和110b。
现在参考图4,其示出了可被包括在监视服务器50中的组件的实施例。在一实施例中,监视服务器50可包括威胁代理200、SNMP监视代理202、SNMP守卫代理203、NIDS代理204、ARPWatch代理206、及守卫日志代理209。由在工业网络中运行的代理产生的数据201可由监视服务器接收。监视服务器50本身可使用第一级的一个或多个代理208进行监视。来自这些代理的数据在图4中被提及为208。200、201、202、203、204、206、208和209中的每一个均与接收器210通信以将数据保存在RTAP(实时数据库及报警引擎)212中。监视服务器50还可包括网络服务器214、通知服务器216、威胁自适应控制器218和一个或多个防火墙设定值220。
包括在监视服务器50中的代理,除了报告数据208的代理以外,均属于在本说明书别处描述的第二级代理,其中包括在监视服务器中的代理收集或报告关于一个或多个系统的信息,前述系统与运行代理的系统不同。应注意的是,这一级的代理与先前结合图3描述的代理132a-132d大不相同,那些代理在计算机系统上运行并将关于特定计算机系统的信息报告给监视服务器50,所述特定计算机系统为代理正于其上运行的系统。包括在监视服务器50内的代理可用于从一个或多个源收集数据。如结合第一级的代理所述,第二级代理可以任一或多种编程语言编写。
威胁代理200从工业网络14外部的一个或多个源接收威胁评估。组件200的输入可包括,例如,由企业通信网产生的威胁评估等级或报警、由美国政府产生的安全或威胁等级如本国安全威胁等级、在因特网上的私人站点上发布的输入等。
来自在图3的工业网络14内运行的两级代理的数据作为输入源201通信给接收器210。应注意的是,在此描述的任一或多个度量均可由任何代理以定期报告间隔进行报告,及根据某些临界值的出现或事件被检测到进行报告。
SNMP监视代理202定期轮询不同的设备包括具有销售商提供的SNMP组件如112a和112b的集线器、交换机和路由器。监视服务器执行该定期轮询并与每一SNMP组件112a-112b进行通信以获取关于特定组件或网络设备的信息。SNMP组件如112a报告数据给代理202,如关于被监视的交换机上的活动等级的度量等。类似地,SNMP守卫代理203定期轮询防火墙以获得数据。在一实施例中,组件203与Fortinet Fortigate系列的防火墙合作。所支持和使用的特定防火墙可根据每一实施例而变化。组件202和203使用SNMP协议从网络交换机、防火墙及其它网络设备请求下面提出的信息。
在一实施例中,下述度量可由203在每一定期报告间隔结束时进行报告。应注意的是,在实施例中的单位可与在此指出的不同。同样,不是所有度量均可用并可由所有设备跟踪:
正常运行时间——自上次重新启动或复位之后设备已连续运行的时间。
配置——来自设备的描述设备的信息。例如,其可包括卖主名称、型号、防火墙版本、及设备支持且与理解设备的行为有关的任何其它软件或规则集的版本。
通信状态——关于设备的SNMP组件是否已响应于先前和/或当前请求信息的SNMP请求的指示。
每报告间隔内的总引入和外出网络流通量,以千字节为单位。
每报告间隔内每接口引入和外出网络流通量,以千字节为单位。
%CPU负载——在报告间隔内CPU的使用百分比。
%磁盘空间——对于具有磁盘的设备,如某些防火墙,报告用于每一文件系统或分区的百分比。
%使用的存储器——包括已使用的物理存储器的分数。
打开会话计数——打开通信会话的计数。
VPN通道计数——通过防火墙设备、使用IPSEC、SSL或其它虚拟专用网(VPN)技术连接的机器和/或用户的数量的计数。对于每一这样的连接,还报告源IP地址及下述内容,如果可得到的话:
主机名、用户名、证书名称和/或可用于识别经VPN连接谁或者是什么连接到控制网络的任何其它信息。
管理用户计数——有多少“根”或其它管理用户登录设备从而能够改变设备的配置的计数。对于每一这样的用户,当信息经SNMP可用时,报告用户名、源IP地址和有助于识别谁登录的任何其它信息。
在一实施例中,关于前述的度量,代理202可在定期间隔报告运行时间、总引入和外出网络流通量、及关于特定操作系统的信息、版本号等。
NIDS代理204通过扫描通过LAN、集线器及交换机的消息或消息的拷贝而监视过程并控制LAN通信。应注意的是,再次参考图3,在监视服务器和这些组件之间的专用连接可用于执行NIDS监视。NIDS代理204接收数据并确定度量如消息计数、已提出的网络侵入报警等。NIDS代理204可用于监视过程LAN和控制LAN通信。作为NIDS代理204的输入,数据可来自NIDS组件204a。来自LAN、集线器和交换机的数据可被输入NIDS组件204a并用于网络侵入的检测。包括在NIDS组件204a内的是可用于检测不同类型的网络侵入的签名库。应注意的是,NIDS代理204可用于执行实时流通量分析及控制网络的数据包存入。NIDS组件204a还可用于执行协议分析、内容搜索和匹配,并可用于检测各种攻击及不同类型的探查,包括缓冲溢出、秘密端口扫描、CGI攻击、SMB探查、“指纹”识别尝试等。NIDS代理204还可用于监视安装在控制网络上的现有的第三方网络侵入检测系统。
在一实施例中,NIDS组件204a使用SNORT技术实现。如本领域一般技术人员所公知的,SNORT在
www.snort.org有所描述并可用于监视网络流通量,例如通过监视和分析网络上的所有消息,如通过连接到图3的实施例中使用的交换机的拉线端口的连接之一。SNORT报告任两个端口之间交换的任何消息的数据。SNORT使用模式匹配引擎,其从已知的模式搜索一个或多个消息。已知的模式与已知的病毒、蠕虫等相关联。例如,信息包可包括表现出已知蠕虫的特定位模式。NIDS代理可使用用户化的和/或常规NIDS引擎进行实施。在使用SNORT技术的一实施例中,SNORT开放源码NIDS引擎可与整个SNORT NIDS规则集一起使用。实施例还可使用其它NIDS技术如具有FortinetFortigate规则集的Fortinet Fortigate NIDS系统。实施例还可使用一个以上的NIDS系统。如果站点的正常后台流通量被发现由于制定特定的规则而产生不可接受数量的假阳性报警,则特殊规则可被禁止使用或被使得在特定站点更特殊。这可根据每一实施例而变化。实施例可连接一个或多个NIDS引擎到工业网络的集线器和其它组件。如果工业网络包括交换机,NIDS引擎可被连接到在本说明书别处描述的交换机上的拉线端口。如果拉线端口不可用,则最好使用以太网分接头、集线器或本领域一般技术人员已知的其它技术连接NIDS引擎以监视工业网络14和企业通信网12之间的流通量。
在NIDS组件204a的一实施例中,除了那些可被提供以NIDS技术如可以公众名义在snort.org网站获得的以外,还可使用用户定制的签名。这些另外的签名可识别商用通信网络上“正常”的网络流通量,但不与工业网络内的正常活动相关联。例如,这些可包括,识别下述之一或多个的签名:telnet注册流通量;ftp文件传送流通量;通过正常且加密的连接的网络浏览;通过POP3、IMAP和交换协议读电子邮件;通过SMTP和交换协议发送电子邮件;及使用任何瞬时消息接发产品,如那些来自Microsoft、Yahoo和America Online的产品。前述流通量可被视为商用通信网如企业通信网12上的正常流通量,但不在专用目的的网络如工业网络14之内。应注意的是,网络14内的工业操作员可以使用电子邮件和其它类似的设施,但这样的接入可使用工作站计算机获得,当这些计算机物理上位于关键设备之内时,其实际上可连接到企业通信网而非工业网络。
在一实施例中,下述另外的NIDS签名可用于报告所有试图与公知的具有支持程序的UDP和TCP端口进行通信的尝试,所述支持程序在运行Foxboro IA工业控制系统软件的正确固化的Solaris机器上被关掉:
端口号 应用或服务
7 (ECHO)
9 (DISCARD)
13 (DAYTIME)
19 (CHARGEN)
21 (FTP)
23 (TELNET)
25 (SMTP)
79 (FINGER)
512 (REXEC)
513 (RLOGIN)
514 (RSH)
540 (UUCP)
1497 (RFX-LM)
前述为端口号及通常可访问该端口以进行通信的应用或服务的配对。对于工业网络,通常不应有由上述应用或服务使用TCP或UDP通信协议对这些端口的通信。如果发现任何这样的通信,则可标记并报告这些通信。前述的配对是公知的并在http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1700.html上题为“公知端口号”部分的RFC1700已分配号中描述。
实施例还可包括另外的代表不应出现在工业网络上的流通量的签名。例如,下面的签名可用于监视和报告用于TCP和/或UDP的端口以识别企业或其它商用通信网内的特有及典型使用,但不希望用在工业网络内。例如,这可包括使用特定的应用和服务如Microsoft的NetMeeting、AOL及其它瞬时消息接发服务等。
对于TCP和UDP,报告对于下述的通信:
端口号 应用或服务
80 (HTTP)
443 (HTTPS)
143 (IMAP)
993 (IMAPS)
110 (POP3)
995 (POP3S)
989 (FTPS-DATA)
990 (FTPS)
992 (TELNETS)
389 (LDAP-NETMEETING)
552 (ULS-NETMEETING)
1503 (T.120-NETMEETING)
1720 (H.323-NETMEETING)
1731 (MSICCP-NETMEETING)
1590 (AOL-AOL_IMESSENGER)
194 (IRC)
对于使用Yahoo Instant Messenger的实施例,报告下述端口上的活动:
TCP端口5000,5001,5050,5100
UDP端口5000-5010
对于使用Microsoft Instant Messenger的实施例,包括下述端口上的活动:
TCP端口1863,6901 用于应用/服务:(VOICE)
TCP端口6891-6900 用于应用/服务:(FILE-XFER)
UDP端口6901 用于应用/服务:(VOICE)
应注意的是,所使用的特定签名可随每一实施例内的典型和/或允许的活动而改变。
前述为不同活动的例子,其在工业网络14的运行内不被表征为正常。所使用的任何另外的签名可根据每一实施例而改变。
在NIDS组件204a的一实施例中,用户定制的签名可以包含方式进行使用。排除式NIDS签名,如那些上面所描述的,通常基于在被监视的网络上检测到的异常或不合需要的消息进行识别和报告。当另外的不合需要的、异常的或非典型的消息被识别时,新的及相应的NIDS签名被开发出以用在该实施例中。实施例可使用包含式NIDS签名确定消息为网络的正常或所希望的操作状态的一部分,并基于任何未被按那样确定的消息进行报告。在该实施例中,无论消息类型在何时被确定在给定网络的正常或可接受工作情况之内,新的包含式NIDS签名均被开发出。在使用包含式签名的实施例中,不需要另外的签名来确定新的不合需要的或异常的消息。因此,在其正常的或所希望的网络或消息流通量模式很少发生改变的网络上,相较排除式包含签名,包含式签名招致更低的签名更新成本。在这样的网络上,可被证明的是,包含式签名可提供更好的安全性,因为它们能够立即确定新的异常或不合需要的消息,而不用等待排除式签名被确定、开发或安装。
在一实施例中,NIDS代理204可具有每10秒的报告间隔。口令寿命代理310,将在本说明书别处描述,可具有每小时的报告间隔。其它代理可具有每分钟一次的报告间隔,其可根据每一实施例及其中的计算机系统内的资源而变化。
ARPWatch代理206可检测与所监视的ARP(地址分辨协议)消息有关的一个或多个感兴趣的事件。ARP可与因特网协议(IP)和在http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc0826.html的 RFC826中描述的其它协议一起使用。在一实施例中,ARPWatch206a基于开放源码软件,如在
ftp://ftp.ee.lbl.gov/arpwatch.tar.gz中所述,其具有在此描述的另外的功能以使假阳性情况最少。如本领域一般技术人员所知道的,ARP可用于执行IP地址分辨并绑定设备地址。例如,ARPWatch 206a可寻找在网络上检测到的任何新的设备,如计算机。ARPWatch 206a可监视工业网络14以监视新类型设备的引进及关于这些新设备的日志信息。例如,ARPWatch代理206可使用由206a提供的关于新设备的信息并将信息报告给RTAP,报告方式类似于使用基于SNORT技术的NIDS代理所使用的方式。例如,膝上型计算机可被打开并通过无线连接而短时间地连接到网络。当膝上型计算机被引入网络时,网络地址与膝上型计算机相关联。这可通过将IP地址与对于特定膝上型计算机是唯一的设备地址进行绑定而实现。当第一次被引入到网络中时,对于该膝上型计算机没有已知的IP地址。关于分配IP地址给该新的膝上型计算机,一个或多个消息可在网络中被监视以检测该在网络中引入新设备的事件导致新的IP地址与膝上型计算机的唯一地址的绑定。与设备相关联的IP地址可被分配在访问者上或临时基础。因而,IP地址可被再使用,从而同一IP地址可在不同时间点绑定到不同的设备。
在一实施例中,如果计算机的设备地址先前不知道或不是有效的,定制版本的ARPWatch可发出报警。如果设备地址被分配给其它IP地址或IP地址在前一时间间隔如15-20分钟内具有分配给其的其它设备地址,也可发出报警。在实施例内,前一时间间隔可变化。应注意的是,前一时间间隔可足够长以确信其它IP地址被分配给其的设备不再连接到网络。
这样的活动可能是ARP电子欺骗或ARP中毒的标记。如本领域所已知的,当伪造的ARP应答消息被发送给最初的ARP请求时和/或伪造的ARP请求被发送时,则出现ARP电子欺骗。在伪造的应答和/或伪造的请求中,伪造者将已知的IP地址与不正确的设备地址(通常为伪造者自己的设备地址)进行关联。因此,接收伪造的ARP消息可导致已知的IP地址再分配给伪造者的设备的地址。这还可导致网络自己的地址绑定表被伪造的绑定更新或中毒。上述的时间间隔可用于使假阳性情况最少,当在IP地址缺少的DHCP环境中使用标准开放源码ARPWatch时可能产生假阳性情况。
在一实施例中,代理206使用这样版本的ARPWatch,其较常规开放源码版本发出更少的消息用于包含无效IP地址的ARP帧,无效IP地址不属于局部网络掩码。常规的开放源码ARPwatch对包含无效IP地址的每一ARP帧记录信息,从而对于给定的无效IP地址检测,导致高达每分钟100条信息。
在一实施例中,只要ARPwatch 206a运行,ARPwatch206a跟踪所检测的无效地址并报告无效IP/设备地址绑定。RTAP212还可跟踪由ARPwatch206a经ARPwatch代理206报告的已发生改变的IP地址,网络服务器214继而将这些地址的列表呈现给网络管理员进行核定,从而使得这些地址不再被视为“新”地址。实施例还可提供批准新的和/或改变的IP/设备地址绑定的功能,和/或提供个别地批准新的IP地址和/或新的和/或改变的IP/设备地址绑定及立刻批准所呈现的整个列表的功能。一旦前述新设备地址/IP绑定被批准,“新”网络设备的数量下降到零,且任何依靠该计数的未解决的RTAP报警被复位到正常条件或状态。
在一实施例中,在本说明书别处描述的第一级代理可在监视服务器上运行以监视监视服务器的工作情况、性能和安全。来自这些代理208的数据被发送给接收器210以报告关于监视服务器50的数据。该第一级代理的特殊类型将在本说明书别处描述,如结合图5和图6描述。实施例可包括任何数量的这些类型的第一级代理以报告关于监视服务器50的数据。
守卫日志代理209监视监视服务器50的日志文件及被监视的一个或多个防火墙的防火墙日志文件,如实施例包括图3的组件16那样的防火墙。在一实施例中,在Fortinet Fortigate防火墙上选项可被设置以自动将所有防火墙日志信息传输给监视服务器50。在监视服务器50上,所接收的防火墙日志信息可被包括为监视服务器50的系统记录的一部分。在一实施例中,监视服务器的系统日志文件可被分为文件系统的不同物理文件。防火墙日志文件可被包括在监视服务器的日志文件区中的分开的物理文件中。守卫日志代理209还可使用SSH(Secure SHell)从防火墙获得另外的信息。代理209使用SSH经命令解释程序(shell)远程登录机器。如本领域一般技术人员所知道的,SSH在功能上与telnet类似,然而,不同于telnet的是,交换的所有数据均被加密。在一实施例中,代理209可使用SSH下载防火墙规则的拷贝及防火墙中当前在用的其它配置信息。其它实施例可使用其它安全命令和通信teclmologies如IPSEC、sftp、HTTPS、SSL等。代理209可具有防火墙配置信息的主集,其期望为当前在用。当前在用的防火墙配置信息的下载拷贝可与主集比较以确定任何差异。假如检测到任何差异,可由RTAP212发出报警并发信号。
在一实施例中,在每一报告间隔下面的度量连同防火墙日志文件可由守卫日志代理209报告:
防火墙侵犯——报告在报告间隔中检测到的防火墙侵犯消息的总数量。在区分不同种类的侵犯消息的平台上,分开地报告那些计数。例如,一实施例使用ipchains,如本领域一般技术人员所知道的,其可在某些版本的Linux上获得以建立、保持和检查Linux内核程序中的IP防火墙规则。Ipchains可从“拒绝的”数据包辨别“撤消的”数据包,且这些计数可被单独报告。
对于每一报告间隔中的每一类型的侵犯消息,报告所检测到的前三个防火墙侵犯消息。
报告每一类型防火墙侵犯消息的摘要信息。例如,摘要信息可包括被识别为大多数消息的源的一个或多个IP地址,与每一IP地址相关联的消息的百分比,作为大多数消息的目标的一个或多个IP地址,及与每一目标地址相关联的消息的百分比。
网络IDS(侵入检测系统)和IPS(侵入阻止系统)报告——报告在报告周期中注册的侵入检测和阻止报告的总数量。对于报告侵入企图的不同种类或优先权或严重性的系统,将每一类企图的总数量作为分开的度量进行报告。
对于分开报告的每一类侵入企图,报告在每一报告间隔中注册的前三个企图及企图的总数量。
每一类侵入企图的摘要报告信息——报告最普通的源IP地址、目的地IP地址及攻击类型以及具有前述最普通源IP、目的地IP或攻击类型的一类企图在总企图中的百分比。
防火墙配置变化——这在上面已经描述,其中代理209可报告布尔值,其指明在报告间隔结束时工业网络防火墙配置的任何方面是否已发生变化。如上所述,代理209使用指定防火墙的技术(如ssh或tftp)来将当前现行防火墙配置下载到服务器50。如果在一报告间隔结束时下载的配置与在先前报告间隔结束时下载的配置不一样,代理209报告1,或者,如果下载的配置与所保存的当前威胁等级的防火墙设置不同,代理209报告1,再者,如果对于任何威胁等级的任何所保存的防火墙设置在报告间隔中已发生变化,代理报告1,否则,代理报告0。代理209还报告一行摘要,其关于防火墙配置的什么区域已发生变化,例如所保存的设置、下载的配置等,以及关于配置的哪一部分发生变化的详细报告,如防火墙规则、有效端口的数量、地址转换规则等。如果配置已改变,报警可保持在提高的报警状态直到授权的管理员将监视服务器50上保存的配置数据(防火墙配置集)更新为新主集的配置数据。
应注意的是,在工业网络中,通过防火墙的路径可通过短时间防火墙配置改变而被临时打开,例如,当短期项目或合约商在现场时。防火墙配置变化度量允许自动跟踪和确定在何时已发生那样的变化。响应于该度量值1,例如,RTAP212可产生报警条件。只要配置是非标准的,该条件可持续被跟踪,直到配置被恢复到已知为安全的防火墙配置为止。
威胁自适应控制器配置变化——报告所保存的对应于威胁自适应控制器威胁等级的防火墙配置的数量,其在报告间隔中已发生变化。
注意,代理209保有所保存的对应于不同威胁等级的防火墙配置的拷贝。在报告间隔结束时,代理209将这些拷贝与对应于不同威胁等级的当前防火墙配置进行比较,如果防火墙规则集与相关联的威胁等级的特定配对已发生变化或任一规则集已发生变化则进行报告。如果已有任何变化,则在报告之后,代理209用修改后的防火墙配置替换其保存的防火墙配置集。对于每一在报告周期中发生变化的配置,代理209还报告一行摘要,其关于配置中发生了什么变化。
其它活动及无害活动过滤——在防火墙及其它系统的日志文件中,各种度量可源自主系统日志文件。“其它活动”度量是在报告间隔期间在主日志文件中检测到的“不平常”消息的计数。一组消息可通过使用默认和/或用户指定的集而被定义为不平常。例如,将被包括在该度量中的不平常消息可使用正则表达式过滤。日志文件中不被计数为其它度量的任何行均是“其它活动”的候选者。这些“其它活动”候选行与每一所保存的正则表达式进行比较,如果与任一表达式匹配则其被放弃。否则,候选日志记录被计数为“不平常活动”的事件。当在报告间隔期间产生的所有日志记录均被处理时,“不平常”的计数作为“其它活动”度量的值进行报告。
接收器210用于与RTAP212接口。在一实施例中,RTAP212中设施的使用是依照预先定义的接口或API(应用程序设计接口)。接收器210的功能之一是将所接收的代理协议数据转换为与已知RTAP API一致的格式,以填充RTAP212的数据库。另外,接收器210可执行所接收的消息的代理鉴别。例如,在一实施例中,在发送消息给监视服务器50时,私人独有的密钥可由每一设备或处理器使用。接收器210知道这些私钥并使用它们鉴别所接收的消息来自预期的设备之一。接收器210记录报告每一度量的IP地址并拒绝所报告的来自任一IP地址的度量的新值,但最后地址将正当地报告给度量。其它实施例可使用其它加密技术,因而可使用不同的技术来鉴别所接收的消息。
通知服务器216和/或网络服务器214可用于提供事件通知。当配置监视服务器50使用的安全或系统性能度量时,用户可指定电子邮件地址或其它目的地以用于接收可能产生的不同类型的报警通知。如果报警可被发送给PDA、寻呼机、移动电话等,通知可基于监视服务器确定的事件的发生。这样的事件可包括,例如,所报告的数据达到预定的报警或其它临界值、网上攻击的检测、工业网络内要求立即修理的组件故障的检测等。一旦用户已基于这样的设备被通知,则用户可使用网络浏览器获得对监视服务器的安全访问,其允许检查问题并确认任一或多个报警。通知服务器216还可发送消息给直接电话连接,如发送给某一电话号码,而不是电子邮件地址。
网络服务器214可用于显示信息和/或接受来自与该实施例中多个不同任务中的任一个有关的用户的输入。其它实施例可使用常规的命令行、Windows、客户/服务器或本领域一般技术人员所知的其它用户接口。在该实施例中,例如,网络服务器214通过网络浏览器可用于显示安全性度量配置页,其虑及安全条件的客户化及用于记录和报警的定义。例如,用户可指定与不同警告或报警相关联的极限值或临界值。当这样的临界值已被达到时,通知消息可被发送给一个或多个指定的设备或地址。另外,网络服务器214及浏览器可用于显示不同类型的信息,其关于安全状态、所选择度量的详细情况等。与网络服务器214和浏览器的使用有关,不同的代理可被配置和监视。
网络服务器214可以是本领域一般技术人员所知的多种不同类型的网络服务器中的任一种,如TOMCAT网络服务器。网络服务器214可用于使用具有网络浏览器的GUI获取输入和/或输出以进行显示、浏览等。网络服务器214和浏览器可用于对设备数据的本地访问和远程访问,如RTAP212数据。网络服务器214可用于响应于用户选择而向控制台显示网页,响应于所检测到的报警或告警,获取不同的临界值和报警等级的设置可连同通知一起使用。当特别指定的临界值如报警等级的临界值已被达到时,如果发生通知,网络服务器214还可将信息通信给设备如寻呼机。
RTAP212可用于多种不同的自动化操作的收集、管理、可视化和集成。数据可被收集并报告给监视服务器及保存在RTAP212中,即监视服务器的数据库。如本说明书别处所述,RTAP212可用于执行安全监视并提供适当的与可能被监视的不同事件有关的通知。RTAP可发出报警,例如根据RTAP212保持的数据存储,在预定的临界条件或事件出现时可发出报警。RTAP的一实施例将在下文中详细描述。
RTAP212可使用商业途径可得到的实时控制系统进行实施,如Verano的RTAP产品,或Foxboro智能自动化(IA)产品或其它SCADA或DCS系统。换言之,常规的控制系统可被使用,其不是控制物理过程而是监视工业网络及连接的安全活动。RTAP212还可使用定制软件进行实施,其使用关系数据库。正如本领域一般技术人员将意识到的是,其它实施例可使用其它组件。
在运行中,每一不同的代理可通过使用接收器210而报告数据给RTAP212。RTAP212接着可保存数据、处理数据、及根据预定的报警等级和临界值执行事件检测和通知,所述预定的报警等级和临界值可从用户选择或其它定义的等级获得。例如,如上所述,用户可使用具有GUI的浏览器根据不同的报警或告警等级进行选择。这些特定的值指明可被RTAP212保存和使用的临界值。当RTAP212接收从不同的代理报告的数据时,RTAP212可根据先前指定的临界值处理数据。在报警等级已被超越或达到的情况下,RTAP212可发出报警或告警信号,并提供通知消息,其将在一个或多个设备上通过使用网络服务器214和/或通知服务器206而进行发送。应注意的是,通知消息将被发送至其的不同指定位置或设备还可通过同一GUI进行指定,临界等级也通过该GUI进行指定。
威胁自适应控制器218可用于根据一种或多种类型的安全威胁输入产生响应信号。在一实施例中,威胁自适应控制器218可使用来自RTAP212的任一或多个原始或推导参数作为输入,其它输入可以是监视服务器外部的输入等。在一实施例中,根据这些不同的输入,威胁自适应控制器218从220选择一个或多个防火墙设置,其控制企业通信网12和工业网络14之间的访问及从其它可能的连接对工业网络14的访问。
在一实施例中,根据一个或多个输入,威胁自适应控制器218可使用来自220的三种不同防火墙设置之一。包括在220中的每一防火墙设置可对应于三种不同威胁等级之一。如果检测到低威胁等级,对应于该条件的防火墙规则设置可允许企业通信网12和工业网络14之间的所有流通量及接入工业网络14的其它连接发生。如果中间威胁等级被确定,则可从220选择第二不同组的防火墙设置。这些防火墙设置可允许从企业通信网12内一个或多个特别指定的用户或系统对工业网络14进行访问。如果高威胁等级由威胁自适应控制器218确定,企业通信网12和工业网络14之间的所有流通量将被拒绝,且工业网络14外部的任何其它类型的连接也被拒绝。有效地,如果确定高威胁等级,实施例可使工业网络14与任何类型的外部计算机连接隔离。
响应于威胁自适应控制器218产生的威胁等级指示符所采取的行动可包括,例如,在最高威胁等级的情况下,在物理上使工业网络14与所有其它外部连接断开连接。这可通过使用一组相应的禁止这样的连接的防火墙规则实现。另外,可采取物理响应以确保隔离一个或多个关键网络,如使交换机或其它网络设备与其电源断开连接。这可通过人工或自动方式进行,如使用控制系统实施RTAP212。类似地,可使用机制来在适当时重新连接关键网络。
与低威胁等级确定有关,来自220的相应防火墙设置可允许数据在工业网络和较不可信的网络之间以预定的方式进行交换,并允许较不可信的网络上的授权用户远程登录关键网络如工业网络上的计算机。当威胁自适应控制器218产生或确定的威胁等级增加时,来自220的第二组防火墙规则设置可被使用,其提供用于更加限制与关键网络如工业网络14之间的通信流。例如,企业可通知工业网络,特定的病毒正在企业通信网12上流通,本国安全报警状态已增加等。使用这些不同的输入,第二组规则可被选择并只允许关键数据与较不可信的网络进行交换并禁止远程登录能力。如果最高或第三级威胁由威胁自适应控制器218确定,则气隙响应可被触发,其使所有较不可信的网络在物理上断开连接,直到威胁已被处理为止,例如,通过安装任何适当的操作系统和应用补丁。
在一实施例中,与威胁自适应控制器218有关,可使用五个威胁等级。与每一威胁等级相关联的可以是具有一连串指令的文本文件,其定义特定的防火墙配置,包括防火墙规则集、什么网络端口被使能和禁止、地址转换规则等。该信息的全部可被包括在与每一不同威胁等级相关联的每一文本文件中。
威胁自适应控制器218的输入之一可包括国土安全部发布的安全等级、企业部门产生的评估或威胁等级、和/或威胁等级的另一来源,其可通过政府机构或其它类型的私人组织从如在因特网上可得到的信息进行收集并由威胁代理200报告。这些评估可由威胁自适应控制器218加权和组合以自动确定威胁等级从而导致特定组的防火墙设置将被使用。特定的权重因数可与218的多个输入中的每一个相关联以确定具体的指示符或威胁等级。
应注意的是,包括在220的每一组中的特定防火墙设置可包括特定组的防火墙规则、地址转换、在其间特定通信可被允许或不被允许的地址、侵入检测和阻止签名、防病毒签名等。威胁自适应控制器的输入还可包括一个或多个从RTAP提供的原始度量和/或一个或多个基于来自RTAP和/或来自其它源的数据的推导参数。应注意的是,威胁自适应控制器可产生信号从而使得数据被显示在连接到监视服务器50的监视器上,如通过控制台,并将一个或多个通知发送给先前指定的目的地。在一实施例中,威胁自适应控制器控制等级可被显示在GUI上。在一实施例中,当防火墙规则集有任何类型的变化或威胁等级有向上或向下威胁等级方向的变化时,报警可被产生。
实施例可用于在选择防火墙设置中使用的威胁自适应控制器等级的人工设定。该人工设定可以是在确定威胁等级时威胁自适应控制器218执行的自动处理之外的设定。另外,在威胁自适应控制器218自动确定威胁等级时实施例可包括一个或多个用户输入设备。应注意的是,在一实施例中,一旦威胁等级已上升而在最低等级之外,只有人工干预可降低威胁自适应控制器或威胁等级。
还应注意的是,尽管关于关键网络如工业网络的各个接入等级已在此结合不同的威胁等级提出,实施例可改变与每一不同威胁等级相关联的特定接入。尽管在此描述了三个或五个威胁等级和相关的规则集,根据特定的应用和实施例,实施例可包括任意数量(或多或少)的威胁等级。
另外,连同已由RTAP212收集的数据如原始数据,可使用一个或多个根据各个代理收集的原始数据导出或计算的值来产生报警。
实施例可将RTAP212的数据库部分实施为面向对象的数据库。在一实施例中,RTAP212可包括计算引擎和报警引擎。计算引擎可用于通过使用类似电子表格的数据流进程执行修订的数据计算。报警引擎可使用状态表确定报警函数或等级。RTAP212的详细情况将在本说明书别处详细描述。
应注意的是,任一或多个硬件结构可连同图3和4的组件一起使用。特定的硬件结构可随每一实施例的不同而变化。例如,最好使图3和4的所有组件均在机架固定装置中的单一计算机系统上运行以使对工厂或其它被监视位置的物理布局的影响最小。也可能有这样的情况,即正被监视的系统的物理位置和布局要求在特定结构中使用额外的硬件。例如,NIDS和ARPWatch可能正使用每一交换机的跨越端口监视工业网络中的3个不同交换机的活动。3个交换机中的每一个的物理位置可以不相互非常接近或接近存放监视服务器50的组成部分的另一计算机系统。其中两个交换机可位于不同的控制室中,另一个交换机可位于服务器房间内。一种硬件结构是使监视服务器组成部分在其上运行的计算机系统监视服务器房间中的交换机。两个另外的处理器可被使用,其中每一处理器存放监视所剩下的两个交换机之一的运行的代理。两个另外的处理器中的每一个均在物理上非常靠近控制室中正被监视的交换机。两个另外的处理器能够支持代理(如NIDS代理204和ARPWatch代理206)代理所使用的任何软件(如NIDS204a、ARPWatch206a)的运行。这些处理器可被连接到监视服务器组成部分在其上运行的计算机系统并与其通信。本领域一般技术人员将意识到的是,所使用的硬件和/或软件结构可根据每一实施例及其特定条件而变化。
在一实施例中,应注意的是,监视服务器50的接收机210可跟踪上一次由每一代理(类1和类2)接收的报告。如果组件210确定代理在某一预定的时间间隔内未向接收机210报告,如在预期定期报告间隔的150%的时间内,可发出报警,其通过发送通知给通知设备之一进行。该报警可指出代理和/或机器的故障和/或监视系统和/或代理的篡改。如果代理报告得太频繁,也可发出报警,其表明有人正试图掩饰攻击或对代理运行的其它干涉。如果代理报告被不正确地确认,例如如果它们被不正确地加密、具有不正确的检查和、包含不正确的时间戳或序号、来自不正确的IP地址、具有不正确的大小、或被标记为指定不同于接收机210正注意的IP地址,也可发出报警。
应注意的是,组件202、203和209最好发送加密的通信给包括接收机210在内的其它组件。是否使用加密可随组件通信的功能性而变化。例如,实施例可对组件202和203使用V3.0或更高版本的SNMP协议以获得加密支持。当与防火墙通信时,组件209也可使用加密。
现在参考图4A,其更详细地示出了威胁自适应控制器218的实施例400。具体地,实施例400更详细地示出了可与先前结合图4的监视服务器50描述的威胁自适应控制器218一起使用的一个或多个输入。威胁自适应控制器218的实施例可根据一个或多个输入402、406和/或408和220自动确定防火墙规则集和威胁指示符410。输入402、404、406和408可被称为选择输入,其用于从220选择防火墙设置之一。作为输出,威胁自适应控制器218可自动将选自220的防火墙设置和威胁指示符等级作为信号410发出。输入402可来自相对于工业网络14的外部数据源。外部数据可包括,例如,来自企业通信网的指示符、来自因特网站点如与本土安全报警有关的站点的一个或多个输入、由另一商业或私人卖主产生的威胁指示符等。该外部数据可来自网络连接或与工业网络14有关的其它类型的远程登录。其它类型的输入可包括一个或多个RTAP输入404。RTAP输入404可以是由代理收集并保存在RTAP212数据库内的原始数据输入、特定的阈电平等。RTAP输入404还可包括由RTAP根据一个或多个RTAP数据值执行的处理产生的结果值或指示符。作为威胁自适应控制器218的RTAP输入404而包括的RTAP指示符可以是关于一个或多个度量的特定阈电平是否被超出的指示符。威胁自适应控制器218的输入还可包括一个或多个导出参数406。导出参数406可基于由代理收集并保存在RTAP中的一个或多个原始数据值。这些导出值可被保存在RTAP内或由另一源或模块确定。威胁自适应控制器218的另一输入可以是一个或多个手动输入408。例如,手动输入408可包括一个或多个已由操作员通过GUI或配置文件选择性输入的值。这些值可包括可被手动输入的度量,而不是以自动方式从外部源接收的输入。
在一实施例中,尽管所述和400中所示的各个输入已被说明为与威胁自适应控制器218一起使用,应注意的是,这些输入的任一或多个及其它不同的输入可连同威胁自适应控制器使用以产生输出威胁指示符。威胁自适应控制器218的输出包括防火墙规则集和威胁指示符410。例如,防火墙规则集和其它设置可被作为将用于随后的通信及控制对一个或多个关键网络的接入的新规则集而通信给防火墙。在一实施例中,一套新防火墙规则可使用SSH(在本文别处描述)和/或本领域一般技术人员所知的多个安全通信机制中的任一如IPSEC、HTTPS、SSL等而从监视服务器位置220远程装载到防火墙。
可由威胁自适应控制器218产生的威胁指示符还可用作RTAP212的输入,当特定的威胁指示符等级已增加或降低、防火墙规则设置选择已被修改等之时,其还可连同通过使用本文别处描述的网络服务器和/或通知服务器产生一个或多个通知进行使用。另外,记录威胁等级、日期、时间等的数据可被记录在RTAP212中。威胁自适应控制器218还可产生输出信号411,其连同根据威胁指示符自动控制工业网络与企业通信网的连接/断开连接操作一起使用。例如,信号411可被输入到RTAP、控制系统、交换机或其它用于控制工业网络和企业通信网之间的电源使能连接的硬件和/或软件。
应注意的是,在一实施例中,只有手动输入可被使用。例如,在一实施例中,单一手动输入可被用于选择威胁指示符从而导致威胁自适应控制器218选择特定的防火墙设置。另一实施例可使用自动和/或人工技术的结合,其中自动技术可用于产生威胁指示符,除非手动输入被指定。换言之,胜于加权一个或多个手动输入连同一个或多个自动方式的其它输入,在从220选择特定的防火墙规则集并产生威胁指示符时,手动输入可用作超越所有其它输入的输入。该手动输入优先可被提供为威胁自适应控制器218的模式设定的一个选项。如果可能是布尔值的优先设定被设定为开或真,手动输入将优于所有其它输入及自动技术用以产生威胁指示符。如果优先设定被设定为关,手动输入将一点也不被考虑,或也可连同威胁自适应控制器使用的自动技术的其它输入一起被考虑。
现在参考图5,其示出了可被使用在工业网络14的实施例中的第一类代理的不同代理类型的实例300。应注意的是,代理300可被包括在工业网络14中由代理132a-132d指明的每一计算机系统上并在其上运行。换言之,包括在300中的不同代理类型为可在系统上运行并将关于该系统的信息报告给监视服务器50的那些类型。应注意的是,尽管实施例可包括300的特定代理类型,根据特定的应用和实施例,实施例可包括与在此的描述不同类型的代理及不同数量的代理并可随包括在工业网络14中的每一计算机系统而变化。
300中包括主代理302、关键文件监视代理304、日志代理306、硬件和操作系统代理308、密码寿命代理310和专用代理312。在一实施例中,主代理302负责包括在计算机系统中的其它代理的控制。例如,主代理302负责启动和监视每一其它代理并确保其它代理运行。如果主代理302检测到其它代理之一未运行,主代理302负责重启该特定的代理。主代理302还可执行其它任务,如调度不同代理以在不同的时期运行等。
关键文件监视代理304可用于监视指定的数据文件。这些可被代理304监视的数据文件可包括操作系统文件、可执行文件、数据库文件或其它对正在工业网络14内执行的特定应用很重要的特定数据文件。例如,代理304可监视一个或多个指定的数据和/或可执行文件。代理304可检测特定的文件操作如文件删除、创建、修改、及权限的变化、检查和错误等。代理304及其它代理收集信息并可在不同时间间隔或根据特定事件将该信息报告给监视服务器50。
日志代理306可用于监视特定计算机系统的系统日志文件。日志监视代理306可查找与计算机活动有关的特定字符串如“BOOT”或与可能在计算机系统内出现的事件有关的其它字符串。日志代理306按感兴趣的预定字符串搜索日志文件并可将找到的字符串及一个或多个相应的度量如字符串的出现次数保存在存储器中。例如,日志代理306可计算BOOT字符串的出现次数并在单一消息中报告该计数,其可被发送给监视服务器或设备。对监视服务器的单一通信的发送可被执行为发送报告每一字符串或事件的出现的消息。这样的技术可用于有效且有限制的使用工业网络14内的资源从而减少这些代理消耗的带宽及CPU和存储器使用。
在一实施例中,代理306可在定期间隔报告下述度量:
登录失败—在报告间隔中将“失败登录”次数的消息报告在系统日志中。这些消息的格式可随软件平台而变化,如操作系统和版本及登录服务器,例如ssh、telnet、rlogin等。该度量所报告的可以是在报告间隔内报告登录失败的前三个账户的名称、及这三个账户的每一个的失败报告的总数的百分比。
密码更改失败—在报告间隔内在系统日志中报告“失败的密码更改尝试”次数的消息。这些失败中的部分可以是经授权的用户试图更改其自己的密码的结果。除了指明未经授权用户进行的强力密码攻击以外,该度量还可指出假阳性如这些。该度量所报告的可以是在报告间隔内报告失败的密码尝试的前三个账户、及每一账户的相应失败尝试百分比。
网络ARPWatch—使用在本文别处描述的ARPWatch的改进版本,该度量报告网络上当前未经批准的IP/设备地址绑定的数量。ARPWatch度量还报告在每一报告间隔中检测到的前三个ARPWatch日志消息,如果在间隔中度量为非零,则报告负责这些消息的前三个IP地址和设备地址。
主机IDS审计违犯—报告在报告间隔内检测到的IDS和失败审计消息的数量。当IDS分类消息时,报告每一分类如危急、警告的计数。当多个审计系统在机器上运行时,独立报告每一系统的输出。例如,在SELinux系统上,SELinux系统报告所有失败访问受保护的资源的授权失败。这样的授权失败被报告为单独的SELinux授权失败度量。另外,报告在每一报告间隔内在每一分类中检测到的前三个日志消息及未被报告的消息的计数。该度量可被扩展到报告在报告间隔中检测的每一类消息的所有消息的摘要并在过程信息可用时还报告负责这些消息的前三个过程及与每一过程相关的总消息的百分比,和/或当文件信息可用时,还报告被报告为审计文件处理的目标的前三个文件及每一文件中提及的所有IDS消息的百分比。
主机IDS防病毒报警—用于监视和报告在控制系统硬件上检测到的病毒的主机IDS系统。应注意,当工业网络中的某些计算机可能因性能、兼容性或其它原因而不运行防病毒软件时,工业网络内的其它计算机可使用防病毒软件。该代理的实施例还可报告在报告间隔中检测到的前三个这样的消息。
代理306还可包括与下述有关的度量:
网页鉴别失败、网页权限违犯、总网页失败、防火墙违犯(在此详细描述)、磁带备份失败。最后那一度量可用于通知管理员,例如,当安全历史记录或其它信息不再被备份在磁带或其它备份设备上时。
Windows事件日志—报告在报告间隔中检测到的Windows“错误”、“警告”、“信息”、“成功审核”及“失败审核”日志记录的数量。代理还报告每一报告间隔中每一类型日志中发现的前三个这样的日志记录的文本的前256个字符。
硬件和操作系统代理308可用于收集和报告与操作系统和硬件有关的信息。例如,通过运行可在实施例中获得的状态命令或其它命令,信息可通过使用一个或多个操作系统实用程序或调用产生。作为命令的输出,数据可被产生,为了特定的统计或感兴趣的度量,其被硬件操作系统代理308分析。在一实施例中,硬件操作系统代理308可使用一个或多个状态命令,例如,以获得关于CPU负载、磁盘空间、存储器使用、正常运行时间的信息,当已发生上一次重新启动时,还获得硬件和软件信息如关于版本号的信息等。与其它代理的行为类似,硬件操作系统代理308可分析不同状态命令的输出并在不同时间点发送单一报告给监视服务器,而不是向监视服务器报告多个消息。例如,代理308可结合来自多个状态命令的信息并在特定时期或根据特定事件向监视服务器或设备50发送单一通信。
在一实施例中,下述度量可由代理308以定期间隔进行报告:
所使用的进程间通信资源的计数—控制系统使用的任一消息队列的系统V消息计数及段计数。如果系统正变得拥挤,如消息请求正备份,由于系统没有资源来足够快地处理它们或由于系统的某些应该处理它们的组件发生故障,当任何消息队列的消息或段计数超出预设极限时可发出报警。
操作系统类型—这是一个定值,之所以报告是为了帮助自动配置监视服务器。例如,当管理员正搜索特定的机器时,当使用监视服务器上的GUI时,该人可能被许多其信息可经GUI获得的机器混淆。操作系统类型、版本号等可用于识别通过GUI的特定机器。
“正常运行时间”—自运行代理308的机器已被重新启动以来已有多长时间。这有时在事后分析时非常有用。例如,大量与资源和系统性能度量有关的异常报警被监视服务器产生。其还可发现,在该时期期间工业网络中的特定计算机也正被重新启动。其可确定异常资源使用如由于机器重新启动活动引起的使用,该使用不同于计算机处于稳态时的使用。因而,可帮助确定机器为什么被重新启动,而不调查单个发出的资源产生的报警。
用户计数和根用户计数—机器上有多少登录会话是活动的,这些会话中有多少属于具有高级权限的“根”或其它账户。每一度量不仅报告登录数量,而且对前N如20个登录,报告用户从何处登录,如机器的控制台、或IP地址、或用户从其登录的某些其它机器的主机名。在一实施例中,前述度量可在基于Unix的系统上确定。其它系统可提供类似的途径以获得相同或等价的信息。应注意,如本领域一般技术人员所公知的,下面的“tty”是UNIX特有的,其指管理RS232终端连接的UNIX设备:
1)确定谁登录系统。在一实施例中,这可通过检查“who”命令(即在HP-UX上,“who-uR”,在Tru64上使用“who-M”)的输出进行确定。
2)从1)的输出提取用户名、源机器(如果有)、及“tty”或其它登录用户标识符。
3)确定哪一或哪些用户当前正使用系统资源。例如,这可通过使用基于Unix的“ps”命令进行确定。
4)由于“who”命令的输出有时可能已失去时效,在基于Unix的系统中,当前用户的数量可通过从“who”列表(从1)将其标识符未与3)中识别的任一活动进程相关联的任何用户消除而得以确定。
5)当报告根用户计数时,实施例搜索每一用户“who”报告的/etc/passwd文件。任何具有数字用户ID 0的用户实际上作为根用户运行并被报告为根用户。由于在控制台登录的单个用户可具有许多终端视窗打开及“who”报告,每一个均为单独的登录,但可能希望将前述报告为单一用户。
6)当与控制台显示设备相关联时其源“who”被报告为“0”的所有登录会话可被组合到一个记录中。
7)计数和报告所有根用户,其“source”由“who”命令报告为机器而非本地机器。
8)检查所有潜在根用户的“tty”。对于每一独特标准输入设备,递增根计数并记录源:
-“ptyN”-由X11视窗使用的伪tty
-“ttyN”-使用按键组合<Ctrl><Alt><Fn>产生的Linux伪控制台
-串行端口登录-Linux上的“ttySN”或HP-UX、Solaris和Tru64上的“ttyN”,
-“控制台”用于控制台设备登录,及“0”用于Tru64上的控制台登录。
9)确定任何可在机器上运行的标准窗口管理程序进程的系主。如果根控制台登录尚未被识别,这些进程均作为根运行并计数为根控制台登录。
10)确定和计数rsh(remote shell)用户的数量。使用Unix“ps”命令来识别remote shell端口监控进程(如:remshd)及它们的子进程。当用户标识符与所有这些子进程关联时将其计数和报告为用户。
CPU负载—在基于Windows的系统上,报告在报告间隔中所使用的CPU的百分比。在Unix系统上,报告间隔中CPU负载平均量。负载平均量是竞用CPU的进程的平均数。应注意,在Windows系统上,如果某些进程处于死循环中,则机器报告100%CPU使用。该度量可被定性为有点生硬的报告工具,因为其并不给出除当前循环的进程之外还有多少“其它”工作正在完成。在Unix系统上,在类似的状态中,例如,报告可指出1.5的负载平均量。循环中的进程占1个负载单位(其总是缺少CPU)。另外的0.5表明除执行进程以外,有1/2时间某些其它进程为了运行也需要CPU。此外,在报告间隔中耗用CPU的前三个进程名称可连同在间隔中由这些前三个进程中的每一个使用的CPU部分(如分数或百分比)一起报告。
%磁盘空间—对每一磁盘分区或卷,报告每一分区或卷的使用百分比。应注意的是,当该度量的百分比与绝对阈值不一致时,RTAP可被配置以进行报警。
%交换区—报告交换区的使用百分比。当度量增加到绝对阈值时,报警可被产生。另外,在每一报告间隔中,使用存储器和/或交换区的前三个进程及每一这些进程耗用了多少可用资源(%)可被报告。
%所使用的存储器—报告所使用的物理存储器的分数。应注意的是,某些操作系统将交换区和存储器作为一个度量进行报告,因而%交换区度量可为所报告的度量。在这种情况下,%交换区将所使用的存储器和所使用的交换区结合为一个总数并报告该总数的使用百分比。
硬件(如LM)敏感组件和磁盘状态(如SMART)—报告来自不同计算机组件如CPU上的敏感组件的度量。在不同平台上报告的值可根据不同硬件和/或软件和/或监控电路而不同。可被一个或多个敏感组件报告的度量的例子可包括CPU温度、外壳温度、几个风扇中任一风扇的速度、具有多个电源的机器中电源工作/故障状态、软硬盘故障等。这些敏感组件可对关键工业控制计算机组件的即将出现的硬件故障进行较早的报警。注意,“SMART”指自监视分析和报告技术,如http://smartmontools.sourceforge.net中描述的。“LM”指如“LM-78”和“LM-75”硬件监控功能,其在某些卖主的芯片组中是标准功能,并在http://secure.netroedge.com/~lm78中描述。
网络流量—报告计算机上的每一网络接口的总进入和总发出流量。该流量的异常增长可能意味着机器或正被攻击或已被危害并正被用于攻击另一机器,或机器已被危害并正被用于原定目的以外的其它目的,或机器上的控制系统已有某种误动作。
打开侦听套接字—报告计算机上打开侦听套接字的计数。侦听套接字几乎总是与长期运行的服务器进程相关联,且这些进程和socket的计数几乎总是在控制系统计算机上进行非常可预测的变化。例如,这些socket的计数可落在一具有少许变化量的非常小的范围内。当计数移出该范围时,报警可被产生。当侦听套接字计数落在范围底限之外时,其表明操作系统或控制系统本身的某些服务器组件已发生故障,从而导致相关的侦听套接字关闭。当侦听套接字计数上升超出正常范围的上限时,其表明某一服务器组件已被添加到系统。例如,这可以是新的控制系统组件、可能知道或不知道将配置在产生式控制系统上的调试或其它工具、或由入侵者或经授权的用户安装以寻求在将来获得对系统的越权访问的组件。
密码寿命代理310可用于监视不同密码和账户的状态。这样的活动可包括密码老化。可由代理310收集的特定度量可涉及被监视计算机系统的安全,其作为安全措施以检测试图登录系统的黑客。
作为实施例,代理310可以定期间隔报告下述内容:
最大密码寿命—最大密码寿命度量可一小时报告一次,其测量系统上每一账户的每一密码的寿命。包括在该度量中的可以是系统上最老密码的寿命,及对于系统上的前100个用户中的每一个,用户名称及该用户密码的寿命。该度量在密码太旧而发出报警时非常有用。某些站点具有定期改变密码的策略,如最少每180天。因为用户名称和密码寿命可用于帮助识别计算机系统上的易受攻击账户,当用于代理报告的主通信通道尚未被加密时,这些信息可被单独加密。
专用代理312可专用于监视专用应用程序参数,其可随特定实施例和/或工业网络14中运行的应用程序而变化。通常,专用代理312可由工业网络的特定操作员建立和说明。
在一实施例中,代理312可在定期间隔报告关于特定应用程序的信息,包括下述度量:
异常进程终止—已意外终止或具有不正确退出/终止状态的控制系统进程的计数。在报告周期中失败的大量这样的进程的名称也可被报告。这些名称占用固定的最大大小/通信预算,并意味着下一级的详细情况可在Web GUI中获得。应注意的是,该度量可包括及时报告关于意外终止的第一进程的信息,而不是报告关于意外终止的最后进程的信息,因为最后的进程可能因最早失败的进程而已经终止。例如,稍后终止的进程(意外终止)可能因不能与早前终止的进程(意外终止)进行通信而已终止运行。当该度量非零时还包括最经常失败的进程的名称和其它标识符,及与每一进程相关的失败总数的百分比。
安装的软件—报告在上一报告周期中安装、卸载和/或更新的软件包的计数。该信息来自计算机上可用的无论什么源,例如,当安装、卸载或更新软件时所追加的一个或多个日志文件,及当软件被安装、卸载或更新时被更新的所安装软件的一个或多个系统数据库。
专用代理312的另一类型可以是控制系统软件代理,其具有特殊控制系统如Foxboro IA系统、Wonderware InSQL服务器或VeranoRTAP服务器(如RTAP组件312)等的预期行为的知识。这样的代理可报告已经在此描述的某些度量,如:
安装的软件—当控制系统软件本身有新组件被安装时或已安装的组件被更新或移除时。
进程终止—或终止被控制系统软件应用程序本身报告为异常,或进程不再活动,但代理“knows”应是活动的,因为正确运行的Foxboro或RTAP或其它系统应具有这样的活动进程以正确运行。
打开侦听套接字--打开侦听套接字的数量。实施例可报告和监视由控制系统管理且预期将被打开以进行控制系统的正确操作的打开侦听套接字的数量。应注意,打开侦听套接字的数量指可使用如UDP或TCP的实施例。该度量可被更一般地表征为在服务器机器上打开的通信端点或通信通道的数量,服务器基于其侦听客户请求。
控制系统停止运行—报告控制系统应用程序的所有受控和无控制停止运行。在运行控制系统的整个计算机意外关机的情况下,在计算机本身关机之前可能没有机会报告停止运行,则可在计算机和代理重启时报告该停止运行。
实施例还可包括300中未示出的其它类型的代理。一些这样的代理可根据可用资源的数量及由被监视系统执行的特定任务而任意地包括。例如,实施例还可包括第一类代理类型,其报告文件系统完整性特征如文件检查和值的变化、权限、类型等。这样的代理的运行可能太CPU和/或磁盘I/O密集的而不能扫描整个文件系统或确定系统中大量文件的检查和,因而该代理可有选择性地包括在特定实施例中。文件系统完整性代理可在定期间隔报告下述度量:
完整性失效—对于监视和报告文件完整性的IDS,报告在报告间隔中检测到的完整性失效消息的总数量。对于报告不同类或不同优先级的完整性失效的系统,实施例可报告每一分类中的总完整性失效。对于失效的每一分类,还报告在报告间隔中检测到的前三个完整性失效日志消息或事件及未报告的剩余消息的数量。完整性失效可由代理本身发现,或代理可监视传统完整性检查工具如Tripwire的结果或可调用安装完整性检查工具如fverify。关于Tripwire的更多信息,可参见
http://www.tripwire.org,关于fverify的更多信息,可参见
http://h30097.www3.hp.com/docs/base doc/DOCUMENTATION/V51 HTML/MAN/IND EXES/INDEX F.HTM。
此外,为在资源受约束的计算机系统上提供一定程度的文件系统完整性检查,实施例可协调文件系统完整性检查,使得在给定报告间隔内只有小量的文件被检查以降低和/或限制该检查对CPU和磁盘I/O的影响。例如,这样的实施例还可将文件分类为两个或更多的重要性等级,并可在每一报告间隔中从每一重要性等级的文件中扫描部分文件。这样,当最低重要性等级较最高重要性等级具有更多的文件时,相较较不重要的文件,更重要的文件将被更频繁地检查,同时还控制扫描对资源的影响。
应注意的是,由每一代理报告的特定度量及其它特定的代理特征如定期报告间隔可随每一实施例而变化。尽管在此的各个度量的描述是参考该实施例的特定组件进行,如基于Unix的操作系统,本领域一般技术人员应该意识到的是,其等价物可连同其它组件一起使用,如可用在该实施例中的其它操作系统。
应注意的是,当被报告为计数或数值而非布尔值的在此描述的多个度量中的任一与绝对阈值不一致时,实施例可使用RTAP发出报警。
数据从工业网络中计算机系统上的第一级不同类型的代理132a-132d中的每一个流到监视服务器50。在该实施例中,监视服务器可被定性为被动侦听设备,其中数据流入到该设备中。在监视服务器内,进程可被执行,其期待来自代理132a-132d的定期报告及当特定事件发生时来自代理132a-132d的报告。如果在预定时间段内没有报告来自特定代理132a-132d,监视设备可检查该种情况并将特定系统上的代理视为停止运行或不可用。当工业网络14中的特定系统或其上的特定代理被检查或确定为不可用或脱机时,其可由图4的RTAP212确定,报警或警告可被发出。发出报警或警告可导致输出被显示在通知设备的控制台上。
不同类型的代理共同用于收集关于工业网络健康、性能和安全的数据。该信息被报告给监视设备或服务器50,其使用健康、性能和安全数据用于安全威胁监视、检查和确定。
每一代理可打开其自己的通信连接,如套接字,以发送数据给监视服务器。实施例也可使用与300中所示不同的设计和不同类型的代理的相互作用。在使用例300的一实施例中,每一代理可被实施为单独的进程。在另一实施例中,单一进程可被用于执行图5中所示所有不同类型的代理的处理且所有数据可在由该单一进程维持的单一通信连接上通信给监视服务器。实施例可使用另一配置以执行在此描述的数据收集所必须的任务。
应注意的是,实施例可包括与被监视系统一起使用的带有任一或多个不同类型代理的主代理。使用图5的模型,主代理是必须的以控制第一级的一个或多个其它类型的代理的操作。
现在参考图6,其示出了在此描述的第一和第二级代理中的每一代理的体系结构的例子350。应注意的是,体系结构在特定实施例中可变化或随特定级的代理进行变化。图6的特定图示仅是示例而不应被视为对在此描述的技术的限制。
代理数据源352被输入到输入数据语法分析程序354。特定的数据源352可根据特定类型的代理而变化。例如,如果代理为日志文件代理,代理数据源可以是系统日志文件。如果代理是硬件操作系统代理,代理数据源可以是一个或多个状态命令的输出。一个或多个数据源352被输入到数据语法分析程序354进行分析。由354分析的特定权标可被传送给模式匹配模块356或度量聚集和分析程序358。应注意的是,有时被分析的数据可被包括在消息中并不要求使用模式匹配。模式匹配模块356搜索由354产生的数据流以查找那些感兴趣的一个或多个字符串或项。模式匹配模块356可向度量聚集和分析程序报告任意匹配。组件358跟踪不同字符串的摘要及在时间段内已出现的每一特定字符串的计数并执行与即时通知有关的处理。如本说明书别处所述,代理可以定期报告间隔报告数据给监视服务器50。另外,代理还可基于代理的即时检查报告某些事件。这将在本说明书别处详细描述。度量聚集和分析程序358还控制不同组件之间的数据流并还负责压缩消息以使带宽占用最小化。
一旦度量聚集和分析程序358已确定消息将被报告给监视服务器50如在预定时间段内所聚集数据的即时报告或定期报告,度量聚集和分析程序358可发送数据给XML数据绘制模块362以形成消息。在该特定实施例中,XML数据绘制模块362以XML消息的形式提出将被发送给监视服务器50的信息。随后,组件362将该XML消息通信给消息鉴别和加密模块360以在将XML消息发送给监视服务器或设备之前进行加密。
与图6的消息鉴别和加密模块360有关,应该注意的是,多种不同类型的加密技术中的任一种均可被使用。在一实施例中,时间戳和代理主机名或标识符可被包括在消息主体或文本中。如可由接收器210执行的监视服务器50上的鉴别处理可要求时间戳值总是增加,否则拒绝复制或过时消息。另外,使用密钥如共享的秘密密钥的加密技术可被使用,且整个消息可用该密钥加密。共享的秘密密钥提供消息鉴别信息。实施例还可使用其它公知的技术,如MD5密码检验和并加密整个消息的检验和。在监视服务器50内执行的鉴别处理可随代理使用的技术而变化。在一实施例中,代理可加密消息的检验和但不加密消息本身。或者,在不能进行消息的检验和确定的实施例中,代理可加密消息。
由图5中所示的第一级各个类型的代理报告的不同类型的数据涉及关键网络如工业网络14的健康、性能和安全。当报告给监视服务器50时,该数据使监视服务器50能够根据关键网络的健康、性能和安全产生信号或报警。具体地,监视服务器的RTAP212可被定性为报告给中央点即监视服务器50的不同类型数据的全局聚集和监视器。
通信数据给监视服务器50的代理132a-132d(本文别处描述的第一级)及第二级代理可被称为分布式监视代理。在一实施例中,这些代理可按预定时间周期发出报警或以摘要格式发送报告给监视服务器,或在检查到某些事件时才发出报警或报告以节约工业网络14内的带宽。在现有系统中,代理可报告特定事件如可疑活动的每一次发生,并在系统遭受攻击时可导致耗用过多带宽。代理如在工业网络14中运行的第一级代理之一可以固定间隔报告攻击摘要以节约网络资源。例如,代理132a-132d可报告第一可疑事件的发生并接着在报告周期结束时报告摘要。换言之,报告可以预定时间间隔从代理发送。另外,代理可基于某些条件或事件的检查或出现发送消息。
包括在实施例中的代理(当与接收器210通信时的第一和第二级代理)可根据特定的标准进行设计。如结合上述实施例所述,代理均为应用级的“单向”通信代理以增加安全性,从而代理如工业网络14中的组件上的代理的运行使对网络攻击增加的脆弱性最小。代理与监视服务器通信,其通过打开TCP连接、在连接上发送XML文档、及在XML通信被发送之后关闭连接而进行。代理不从该连接、从监视服务器读用于信息的命令或请求。
应注意的是,存放代理的计算机接收和处理来自监视服务器的消息。然而,由该代理的主机执行的处理限于较低网络级的处理步骤。例如,在使用在此描述的XML消息的实施例中,该处理可包括在比应用级低的级执行的TCP级的连接设置、拆卸和数据确认消息。在这些低级已有的任何脆弱点的存在与是否使用在此描述的代理无关。换言之,使用在此描述的代理不会将额外的脆弱点引入被监控和网络化的控制系统设备。
代理特别是在此描述的第一级代理,其特征在于其为带宽有限的代理,其设计来耗用可用网络资源的固定部分。传统的安全代理趋向于基于事件的发生而报告每一异常事件,在拒绝服务攻击时其潜在地耗用极大的通信资源。传统的代理将每一安全事件均视为重要事件并尽最大努力将每一这样的事件通信给它们的管理控制台。代理耗用过多量的有限网络通信资源将冒下述风险,其可能导致整个系统发生故障、触发保安继电器及其它机制以启动工业进程的紧急停止运行。
相反,在此描述的代理被设计来在固定间隔传输小的、固定大小的消息,因而耗用有限的可用通信资源,即使在拒绝服务攻击条件下也是如此。在此的第一级代理收集信息、产生条件报告和事件摘要、及以固定间隔报告那些条件和摘要。报告可包括:根据特定的第一级代理类型的统计,例如资源使用统计如CPU使用百分比、CPU负载系数、存储器使用百分比、文件系统使用百分比、I/O总线利用、网络带宽使用、登录用户的数量等。报告还可识别一个或多个资源的前N个如前两或三个用户。用户可通过进程名称、目录、源IP地址等进行识别,且在适当时可确定每一用户耗用了资源的哪一部分。报告还可包括随代理类型和级变化的其它信息,如在报告间隔中检查到的、与某些标准或搜索表达式匹配的日志消息和其它事件如登录失败、网络侵入尝试、防火墙违犯等的计数。在报告间隔中计数的事件的完整事件描述或日志消息的代表性样本,短的事件统计摘要如哪一主机或IP地址进行了大多数攻击及特定计算机进行的攻击的百分比、哪一主机被攻击得最多及作为特定主机的攻击目标的百分比、哪一用户账户最常与发出攻击一起使用及特定用户账户的目标是攻击哪一部分。在一实施例中,代理的报告阈值可通过指明在一个报告间隔期间代理被允许传输的最大数据量而进行确定。例如,报告阈值可指定等于或大于在报告间隔发送的摘要报告大小的字节数量。对于给定报告间隔或周期,代理的报告预算可以是报告阈值。根据需要,报告还可报告一个或多个其它消息,包括根据指定报告阈值的摘要。在发送报告之前,代理通过确定代理报告的数据总量是否超出报告阈值而确定其是否被允许发送下一报告。如果阈值已被超出,则代理不发送报告。
在此描述的代理特别是第一级代理,也被设计以限制所耗用的处理时间和存储(磁盘和存储器)量。大家都知道,传统的侵入检查和性能监视代理对被监视的系统有负面的性能和存储影响。例如,已知道SNMP组件耗用了SNMP组件的主机上的所有存储器。防病毒扫描程序削弱了它们正监视的机器性能的30-40%,这根据特定的处理器而不同。前述对传统系统如可能在工业网络中遇到的系统而言是不可接受的。因其实时处理特征,工业控制应用程序在非常短时间的窗口内响应于来自工业进程的输入。此外,这样的系统以及时方式将关于进程的信息呈递给操作员。例如,防病毒解决方案通常可能不被布置在控制系统硬件上,如在此描述的工业网络14中,因为防病毒处理可削弱系统的运行,这有时可导致系统故障。在此描述的代理被设计以使对被监视的系统的资源影响最小。花费的度量如文件系统检查和跨非常长的时间段进行收集或仅对最安全关键组件进行收集,以使在被监视系统上的数据收集的影响在较小的固定预算范围内。例如,在一实施例中,机器的所有资源的1-3%可被分配给在其上运行的监视代理。
RTAP212的实施例可使用被称为按指数规律递减的攻击报告的事件报告技术。在某些实施例中,当度量进入报警状态且用户已请求报警通知时,电子邮件或其它通知消息被发出,其指明特定的度量已进入报警状态。例如,如果度量的“当前值”返回到“正常”范围,关于该转变的通知消息也可被发出。前述可导致将被发送给管理员的通知消息的大大爆发,从而由于在短时间间隔中接收大量通知消息而导致重要消息可能未被注意到。例如,如果报警或警告条件已存在一段时间,当攻击程序持续危及一机器的安全时最初的一组通知消息可被发送。由工业网络中机器上的代理进行报告由于被危及安全且违法网络服务器已启动而可能是高存储器和网络使用。当使用水平回到正常时,另一组通知消息可被发送。然而,假如存储器和网络报警条件不回到正常,前述条件可能在通知消息的爆发中而没被注意到。有权使用网络浏览器的管理员可登录监视网络用户界面并看特定主机上的度量是否还在报警状态,但电子邮件通知也可由无权管理员使用。因而,实施例可使用“按指数规律递减的通知”技术,其报告最初的报警。代替保持沉默直到下一报警状态变化为止,当度量保持在报警状态时另外的报警通知可被发送。这些另外的通知的发送频率可随报警条件或状态持续时间的长度而变化。在一实施例中,该频率可按指数规律降低或近似指数规律。在一实施例中,下述报警或警告通知消息可基于第一次检查到报警或警告条件、在第一定义的报告间隔结束时发送。这时,可以有另外的摘要信息,其可连同通知消息随意地发送给用户。这将在本说明书别处使用增强的电子邮件通知处进行更详细的描述。随后,当条件持续时,通知消息以递增的间隔发送。这些时间间隔可以是用户指定的,也可以是随实施例变化的、使用一个或多个默认值定义的间隔。例如,在一实施例中,报警条件的初始报告间隔可以是每分钟。在第一报告间隔或分钟结束之后,通知消息可以这样的时间间隔发送,其使得当前报告间隔大约10倍于先前的报告时间间隔。在该例子中,如果第一通知消息是在1分钟之后发送,则第二通知消息可在10分钟之后发送并包括任何额外的信息如可使用本文别处描述的增强电子邮件报告获得的信息。第三通知消息可在约1.5小时之后发送,依此类推。例如,报告间隔最大可达12小时,从而如果报警或警告状态持续,具有增强报告(如增强电子邮件)的通知消息可每12小时发送直到报警条件清除为止,或者用户将它们从通知列表消除为止。
使用前述通知报告技术,持久的报警条件可提醒管理员有持久的问题条件,并向管理员提供以当前的摘要信息,从而管理员可看攻击或危害的本质是否随时间变化。使用这种类型的按指数规律递减的攻击报告技术,即使在攻击持续期间,网络的带宽也可被更明智地使用。前述按指数规律递减的通知报告可由图4的通知服务器216执行。报警或警告条件可使用本文别处描述的计算产生,从而使得通知服务器将被通知。然而,前述可由通知服务器执行以减少通知消息的发送次数。
另外,当代理向监视服务器50报告时,实施例可使用不同的技术。如本文别处所述,由于工业网络的可能带宽限制,一种设计考虑使用于报告的网络带宽量最小。在一实施例中,对于定义的报告间隔中一个或多个指定的度量,日志代理306可报告第一次检查到日志消息,其使得一检查到日志消息度量即递增。随后,当代理306接着报告在报告间隔中度量的总计数时,代理不向监视服务器报告任何关于度量的额外信息直到报告间隔结束为止。使用前述方式,即时通知可基于度量增加的发生而获得并在下一报告间隔接收更新。前述即时通知可与使用日志文件确定的度量一起使用。实施例还使用其它代理类型来报告其它度量,这些度量在事件基础上可被容易地确定,事件如被添加到日志文件的行、可读的文件描述符或命令执行。
实施例可使用前述即时通知和定期间隔报告的结合。在代理向监视服务器50仅使用定期间隔报告的实施例中,在报告指明攻击或试图攻击的报警条件时可能有不可接受的延迟。例如,假设代理的报告间隔为60秒。在该间隔中的一秒,代理查看由度量指明的失败登录尝试,接着查看另外的10000次这样的尝试。在每分钟报告间隔结束时向监视服务器发送单一报告,报告度量指明10001次尝试。然而,这有延迟,管理员可能希望在10000次尝试被检查之前接收事件的通知。使用即时通知,当检查到第一次发生失败登录尝试时,代理还报告该尝试。因而,监视服务器50可用即时通知消息响应,其具有度量增加的第一次出现或检测。
应注意的是,前述即时通知可根据用户选择的和/或默认指定的条件执行。这可随每一实施例而变化。在一实施例中,度量聚集和分析程序358可执行与向监视服务器50即时报告和定期间隔报告有关的处理步骤。
参考图7,其示出了描述先前连同图6的350描述的控制流的处理步骤的流程图450。通常,在实施例中,当处理一个或多个输入数据源时,450的处理步骤可由第一和第二级代理的每一代理执行。在步骤452,确定输入数据是否已被代理接收。如果否,控制继续在步骤452等待直到输入数据已被接收为止。应注意的是,根据一个或多个预定标准,输入数据可根据执行特定任务的代理而被接收,如执行命令产生输入、在通信通道上等待输入、读数据文件等。一个或多个预定标准可包括在预定间隔执行特定任务,当特定数据文件因大量操作而达到某一级容量时,等等。导致输入数据将由代理接收的特定标准可随每一实施例而变化。在步骤452,一旦数据已被接收,控制前进到步骤454,在步骤454,输入数据被读且继而被分析。一旦输入数据流已被分析,控制前进到步骤455,确定是否需要模式匹配。如果否,控制前进到步骤460。应该注意的是,模式匹配可能不被需要,例如,当来自源的所有度量均被报告时如果不需要对所分析的输入源进行有选择的过滤,则不需要模式匹配。否则,控制前进到步骤456,执行模式匹配。在步骤458,根据指明感兴趣事件的预定字符串值,确定输入数据是否具有任一或多个匹配。如果否,则没有查找到感兴趣的字符串,控制返回到步骤452。否则,控制前进到步骤460,源自所分析的输入源的一个或多个度量的数据可被记录。例如,特定的度量及其值可被保存和记录在代理于其上运行的计算机系统的存储器中。在步骤462,确定是否有任何向监视服务器报告数据的消息要被发送。如在此所述,当摘要信息被报告时,代理可以定期间隔报告数据。实施例还可用于即时报告指定度量的第一次增加,例如在攻击或试图攻击开始时。例如,该处理可由度量聚集和分析程序358执行。如果没有消息将被发送给监视服务器50,控制前进到步骤452以获取另外的数据。否则,控制前进到步骤464,将被发送给监视服务器的消息根据可使用在实施例中的消息协议和/或加密技术进行准备。如在此所述,例如,被发送给监视服务器的消息以XML或其它格式进行发送,且在本文别处描述的加密技术也可被使用。之后,控制前进到步骤466,消息被发送给监视服务器。其后,控制返回到步骤452以等待将由代理接收的另外的输入数据。
现在参考图8,其示出了可被包括在RTAP中的组件的实施例212的例子。应注意的是,RTAP的版本可从Verano公司通过商业途径获得,如在网站
www.verano.com所描述的那样。图8中包括RTAP调度程序502、报警服务器504、Java服务器506、及数据库服务器508。在该实施例中,数据库服务器508包括计算引擎510。数据库服务器508可将数据如由在此描述的代理收集的度量输出给一个或多个设备514,例如,其可被保存在数据存储设备如磁盘上。在该实施例中包括数据库的存储器驻留部分512,用于将数据的指定部分保存在存储器中以通过减少检索数据所花的时间而提高效率。因此,实施例可指定数据库的一个或多个部分保存在存储器驻留部分512中。
RTAP调度程序502调度并协调RTAP组件212内的不同进程。RTAP调度程序可执行多个进程管理任务,如确保212中的其它进程运行、调度不同的处理以进行执行等。报警服务器504可用于接口连接到在本文别处描述的一个或多个其它组件以用于通知目的。例如,报警服务器504可与通知服务器216和监视服务器50的威胁自适应控制器连接。当由数据库服务器508检查到特定报警或警告条件时,报警服务器504可被信号通知并因而与RTAP212之外的组件相互作用。Java服务器506可被定性为与图4的网络服务器32进行通信的双向服务器。Java服务器506根据需要可与网络服务器32连接以进行通知、消息发送及与RTAP212的其它通信。Java服务器506还可输出一个或多个输入给威胁自适应控制器218,并可从接收器210接收输入以保存由代理收集的数据。数据库服务器508可用于将数据或保存在数据存储设备如磁盘514上,或保存在数据库的一个或多个存储器驻留部分中,其可被包括在存储器512内。在一实施例中,存储器驻留部分512可被实施为共享的存储器段。保存在512和/或514中的数据可以是面向对象数据库。在使用之前,数据库的对象可被指定包括在存储器驻留部分512中。
在一实施例中,对使用计算引擎510的数据库服务器进行数据库的写操作。读操作可通过使另一RTAP组件执行处理得以执行,而不是通过使用数据库服务器508读数据。处理读数据请求的RTAP组件如Java服务器首先咨询存储器驻留部分512,且根据需要可从磁盘存储器514获取一个或多个其它数据部分。在该实施例中,所有写操作均通过数据库服务器508处理,且计算引擎510用于确定修订的数据值依赖于被写入的修改的数据值。在该实施例中,数据库服务器508使用报警状态表520根据保存在数据库中的修改的数据值确定报警条件。在实施例中,组件520可被包括在磁盘或数据库的存储器驻留部分中,其取决于数据库被怎样配置。部分512的共享存储器段可以不同的时间间隔保存到磁盘或其它非易失性存储器以作为备份。例如,这样的时间间隔可以是每30秒或所选择的另外的时间间隔,如果包括在数据库的存储器驻留部分512中的数据如因电源或存储器故障被丢失,其根据数据丢失的特定容许度进行选择。应注意的是,在该实施例中,在数据库的阅读器和记录器之间的同步技术可被省略。正被写的数据属性和/或对象可被同步以防止读不完整的值。然而,被读的数据也可不包括最近报告的所有数据。写操作可由数据库服务器508同步。因而,RTAP内的数据库可在没有使用某些同步技术的额外开销的情况下运行。
数据库对象可使用树状结构表示。现在参考图9,其示出了数据库树模式的一种表示的实施例600,其可包括RTAP的面向对象数据库的对象。在表示600中,级0为树600的根。安全对象节点和对象模板节点为根的孩子,它们位于级1。相对于所有相关的度量及保存在RTAP内的其它数据,安全对象被称为父节点。对象模板可包括一个或多个节点,其对应于每一不同对象类型的不同模板。例如,在该实施例中,有度量名对象类型、类别名对象类型及主机名对象类型。对于每一这些不同的类型,有在级1的对象模板节点的子节点。当新的主机被添加到系统时,对于该特定的新主机的“主机名”类型的对象根据适当的对象模板创建。每一主机名对象对应于主机或计算机系统之一。与每一特定主机或计算机系统相关的数据由类别名进行组织。类别名可指特定类别的度量。例如,一种类别可以是具有相关度量如失败的密码尝试次数等的登录信息。与特定类别相关联的不同度量中的每一个均是对应于该特定类别的类别节点的子节点。重新回到登录数据类别,失败的密码尝试可以是保存在度量对象中的一度量,其是关于登录信息的类别名对象的子节点。这种三级树状对象仅是度量数据库的一种可能实施例。其它实施例也可由本领域一般技术人员实施,如:度量的传统关系数据库表示及度量的对象树表示的其它树状结构,如度量对象作为主机对象的孩子而不干涉类别对象,多级类别对象提供另外的度量分组信息,及在主机对象级别之上的多级对象,提供主机分组如功能或地理主机分组。
在该实施例中,由一个或多个对象模板。类似地,有一个或多个不同的主机对象。与单一主机对象相关联的可以是一个或多个类别对象。与单一类别对象相关联的可以是一个或多个度量对象。600中所示的每一对象还可具有相关的一种或多种属性。为了简化示图,每一对象的所有属性节点均未被包括在树600中。作为例子,对象602在图9中被更详细地示出。
与包括在数据库模式或对象树中的对象名有关,特定度量可通过将所有干涉对象的名称包括在根和感兴趣的特定节点之间的路径中而被涉及。
图9中包括具有一个或多个子对象的支持数据对象,其可用于在配置RTAP系统的标准组件之前保存所使用的信息。现在要描述的是由在本文别处描述的计算引擎使用的报警状态表怎样被保存在表示600内。在该实施例中,支持数据对象的一子节点为报警分类对象。报警分类对象的孩子对应于报警分类的不同类型。在该例子中,有三种报警分类:布尔型或2态、3态和5态。对于每一分类,如布尔型分类606,子节点如608包括该分类的报警状态表。在该例子中,报警分类中的状态数量指二进制数或报警等级。实施例可包括与在此所示不同的报警分类。
例如,当新代理第一次向监视服务器报告时可创建主机对象。新的主机可由图4的接收器210确定。基于新代理的第一次通知,报警或警告条件可被发出。通知消息可被发送。用户或管理员可被呈现以一个或多个新代理的列表并进行选择以授权或拒绝每一新代理。当新代理被授权/批准时,来自代理的数据可由接收器210处理。否则,来自未经授权的/未经批准的代理的数据被拒绝。应注意,来自代理的数据不被保存或排队以供随后批准之后处理,因为这可导致溢出条件。代理向接收器210报告一个或多个度量或其它数据,基于消息的成功鉴别,其可对RTAP的数据库执行写操作。RTAP数据库服务器508接着将值写入对象并运行计算引擎以根据该写入数据库的新值传播所有其它值。例如,特定的度量如失败的密码尝试次数可被称为度量属性。第一度量属性可以是作为原始值的失败密码尝试的次数。第二度量属性可以是在数学表示中使用的原始值以计算百分比。因而,当失败的密码尝试的新度量原始值被写从而导致第一属性的值更新时,计算引擎接着被运行并根据该新的原始值更新数据库中的任何其它值。在这种情况下,修订百分比被确定为修订的第二属性值。
在该实施例中,计算引擎510具有内置报警函数,其使用来自报警状态表520的值确定修订的数据值是否触发报警条件。在将新的数据值写到数据库之后,计算引擎如上述根据数据依存关系确定修订的数据值。一旦修订的数据值已被确定,报警状态表520可被咨询以确定任何修订的值现在是否触发新的或修订的报警条件。如果计算引擎确定报警条件已被检查到,消息从数据库服务器508发送给报警服务器504,其随后将消息发送给一个或多个通知服务器。
在一实施例中,报警状态向量或报警例图可被定义以用于度量对象的属性。在确定该属性的值时,上述报警函数可被调用。
现在参考图9A,其示出了树600中使用报警函数的度量节点的更详细的例子620。在该例子中,属性1622具有相关联的报警例图624和报警函数,其结果被赋予为属性1622的值。报警例图624包括可由报警函数使用的一个或多个子值628a-628c。在该例子中,子值包括当前报警状态628a、当前确认的状态628b和序号628c。应注意的是,与该例子中所述不同的其它信息可被包括为一个或多个子值。这些子值628a-628c的使用将在下面详细描述。在一实施例中,子值可被包括在向量或其它数据结构中。
在一实施例中,报警函数可具有下述格式的已定义API:
报警(报警分类、值、极限、其它数据……)
上面的极限指报警极限向量,如本文别处所述。报警极限向量可包括一个或多个与不同阈值相关联的等级。报警极限向量中的每一等级指可与变化程度的报警条件或安全等级如警告、高等相关联的报警等级或阈值。这些等级中的每一个可被保存在另一属性之内,如图9A的属性2,并可具有在原始模板中指定的默认值。在实施例中,这些值可通过用户指定或选择新的极限等级而变化。报警分类可用于指定特定类的报警(如2、3或5态)以从树600确定合适的报警分类以获取特定报警分类的相应报警状态表。
应注意的是,可连同报警状态使用的状态表是本领域一般技术人员公知的并可包括一行或多行输入。每一行可基于当前状态和给定输入确定下一状态和行动。使用报警状态表作为输入,计算引擎的内置报警函数根据修订的数据值可确定与报警条件相关联的预定等级是否已被超出。预定等级可以是默认或用户指定的报警阈值。
前述为代理收集的数据可被怎样处理并保存在包括RTAP的监视服务器的实施例内的例子。其它实施例可使用根据实施例中使用的特定度量和通信协议的其它表示。
如在此一实施例中所述,RTAP组件212可被定性为环境,其是一组分享公共通信基础设施的协同操作进程。在一实施例中,这些进程可使用SysV Unix消息接发技术、信号量、共享的消息等进行通信。如本领域一般技术人员所公知的,使用SysV消息接发技术的实施例由于分配用于消息使用的内存不足而遭受一些问题,如与RTAP通信。可在RTAP内的进程之间及RTAP和其它组件之间通信的消息可使用优先化模式,其中,当消息池中的内存量降到指定阈值水平之下时,涉及消息发送的低优先级活动被暂停。该特别指定的阈值可随每一特定实施例而变化。与在此描述的技术有关,用于消息使用的内存的一部分如80%可被指定为请求可使用的最大阈值。如果有80%以上的消息存储器或池已被消息请求耗用,任何新请求均将被封锁直到条件允许该阈值不被超出为止。然而,消息响应被处理。如果消息池的阈值部分被请求耗用,前述可用于通过封锁请求而避免死锁条件。在一实施例中,当执行任何消息接发操作或功能时,前述特殊消息管理功能可被包括在由不同RTAP组件使用的API层的一个或多个例程或函数中。API层中的这些例程接下来可调用可被包括在操作系统中的基本消息接发例程。
实施例可使用在此被称为“锁存报警”的机制,其中特定报警等级不会降低直到确认当前报警状态已被接收为止。确认可由操作员通过GUI进行。实施例可定义报警状态表520使得报警或警告状态可被发出或保持相同直到确认报警或警告状态已被接收为止。在接收到确认之前,报警状态表不用于减少报警或警告状态。应注意的是,前述锁存报警可连同与报警或警告状态相关联的一个或多个度量执行。锁存报警可用在与特定指示符或类有关的实施例中。其它类的度量如那些与性能指示符相关联的度量可能不受锁存条件支配。这可随每一实施例而变化。
现在参考图10,其示出了可连同实施锁存报警一起使用的报警状态表的实施例520。状态表520中包括对应于当前等级或状态的信息行。每行信息包括当前等级或状态、确认、及输入值或范围、下一等级或状态、及相关行动。在该例子520中,正常等级与等级1指示符相关联,其输入值范围在0和100之间,包括100。报警条件与第二等级相关联,输入值范围在101和200之间,包括101和200。最后,第三报警等级与输入值范围201-300相关联,包含201和300。行652表明只要输入在0-100范围之间,当前等级或状态为正常等级1将被保持。行654表明,当当前等级为正常(等级1)且当前输入值在101-200之间时,等级2将是下一指定等级或报警条件。行动指明报警条件被产生。关于行652和654,其与确认是否已被接收没有关系,因为在该例子中,确认不应用于正常报警或等级条件。参见行656,当系统在第二报警等级且输入值下降到0-100之间的正常范围时,但关于等级2报警条件的确认尚未被接收,则系统保持在等级2报警状态。参见行658,如果系统在第二报警等级且该报警的确认已被接收,当输入值或范围下降到0-100之间的正常范围时,当前状态的等级降低为等级1且报警条件被清除。参见行660,如果系统在第二等级报警状态且输入值增长到201-300之间的第三等级,报警条件被产生以表示该增长,报警等级变为等级3。这被独立执行,不管先前等级2报警状态的确认是否已被确认。
应注意的是,在520第三列中指定的不同范围或值可与极限值或范围相关联。阈值可使用默认值及根据用户选择的一个或多个值或范围进行指定。还应注意的是,尽管表520在输入列中示出了特定的数值范围,这些报警范围阈值可被参数化以使用在本文别处描述的报警函数的输入值(即报警等级)。
现在参考图11,其示出了报警状态表的另一实施例700及报警极限向量720。在左下角确定的向量720的元素在调用在此描述的报警函数时可被传递作为输入参数,其指明上述不同报警状态的等级或阈值。在该例子中,表700表示具有2阈值(100和200)的3态报警(正常、警告及报警),两阈值形成三个分区或范围(0-99、100-199、200以上)。表700的每一行对应于状态并包括:
表中行的状态标识符704;
状态的命名标识符706;
可由显示板或其它指示符上的照明灯显示的颜色708;及
关于该状态是否要求确认的指示710。
该例子的部分702包括用于确定从表的一行到另一行的状态转换的转换函数(在该例子中以&作为开始)。700的其它实施例可包括不同于在此描述的信息。当求转换函数的值时出现状态转换。应注意的是,如果列名包含空格字符(如712的Range和level之间),则转换函数名称在空格字符处结束,使得在转换函数(RANGE)之后的其余文本(LEVEL)是对函数的修饰语,其告诉函数怎样解释列中的值。
报警系统通过在报警状态表的环境中重复求转换函数的值而确定新的报警状态。转换函数按其作为状态表中的列从左到右的顺序被顺序求值。每一转换函数可采用可选输入参数如当前报警状态、来自报警状态表的值及其它作为自变量的可选值。作为输出,转换函数根据输入参数返回新的状态。每一函数被重复求值,直到返回的新状态与特定行的704中状态值所指一样为止,或直到检测到循环转换为止。求值接着从左到右移到下一列所指的转换函数。
在该例子700中,其示出了两个函数&ACK和&RANGE,这将在下面的段中详细描述。&RANGE函数采用报警极限向量如图11中左下角所示的720及在列名中采用下述及其它可能的后缀:
level-对应于当前报警状态的等级号;
<-在当前度量值在低于当前报警状态的范围的值范围中时,将移到什么新状态;
==-在当前度量值处于与当前报警状态相关联的值范围中时,将移到什么新状态;
>-在当前度量值在高于与当前报警状态相关联的值范围中时,将移到什么新状态。
在该例子中,报警极限向量720包含整数(在该例子中为2)作为第一向量元素,其指明哪一等级号被赋值给度量可采用的最高值范围。最高值范围包括大于或等于被指定为第二向量元素的极限的所有值,在该例子中,前述极限为200。第三向量元素指定另外的下一较低极限,在该例子中其为100。第四向量元素指定最后的下一较低极限,在该例子中其为0。使用向量元素2-4可指定三个值范围或分区,如下述:
范围0:小于100的值
范围1:在100-199之间的值
范围2:200或200以上的值。
与前述有关,应注意的是,第四范围被暗示为小于0的值。在该例子中,在第四暗示的范围中的值对应于错误状态并不再结合该例子进行描述。
在该例子中,&ACK函数为转换函数,其在报警尚未被确认时返回当前状态(如列704所指),否则,当报警已被确认时返回新的状态,如列714中所指。
再次参考图9A,当前报警状态628a和确认状态628b可用于确定当前报警状态及其在报警状态表中的相应行。序号628c可在竞态条件时使用,其与报警条件及其确认相关联。唯一的序号与每一报警状态相关联,其导致通知消息将被发送给用户。每一这样的消息包含导致消息将被发送的状态的序号的拷贝。在一实施例中,对于与报警函数的单一调用相关联的每一报警条件均可产生唯一的序号。报警函数的单一调用可导致从当前输入状态转换为输出状态,并还可通过一个或多个其它中间状态转换到输出状态。在该实施例中,唯一的序号不与一个或多个中间状态关联。而是,第一唯一序号与当前输入状态关联,第二唯一序号与输出状态关联。例如,具有第一序号的第一报警条件通知消息可被发送给用户并被指示在用户界面上显示。第二报警条件,其表示较第一报警条件更严重并具有第二序号,可在用户确认只有第一报警条件被接收和处理的同时进行确定。用户的确认根据与被确认的报警条件相关联的特定序号进行处理。在该例子中,确认指确认第一报警条件,而不是第二报警条件。不使用序号或本领域一般技术人员公知的其它等价手段,根据在第二报警条件被确定之前或之后确认是否被处理,确认也可导致第二报警条件的确认。
现在参考图12,其示出了与报警状态表700的函数702相关联的状态转换的状态转换图800。在例800中,每一状态被表示为节点。节点之间的箭头表示根据表700的702中的信息的不同状态之间的可能转换。应注意,转换图没有指示导致相同状态或从状态A转换到同一状态A的转换。
下面将描述的是确认报警的例子,其说明了表700用于当前状态确定新状态。在例子中,报警函数被调用,包括指明当前状态或初始状态为具有度量值250的报警未确认(6)的参数。人类用户或其它代理确认报警,导致报警状态将被重新求值。检查表700状态6那一行,&ACK函数被求值,其具有状态(6)作为当前状态。由于报警现在已被确认,&ACK返回(5)作为新状态,如表中行6的&ACK列中所指。由此,报警的新状态变为报警已确认(5)。对于使用表700的行5的状态5,&ACK被重新求值。由于报警已被确认,&ACK函数返回5作为新状态。由于新状态与当前状态匹配,&ACK函数的求值结束且进行状态5中下一转换函数的求值。下一转换函数为&RANGE。回想正对其执行求值的度量值为250。&RANGE按上述使用极限向量,并确定当前度量值250大于第一极限200,从而将当前度量值分类为在最高范围2之内(大于200)。“&RANGE level”列指明范围(2)对应于当前状态(5),因而&RANGE函数返回(5)作为新状态,其为“&RANGE==”列中第5行的内容。由于新状态(5)等于当前状态(5),&RANGE函数的求值结束。在该例子中,由于&RANGE函数为状态表中的最后一转换函数,状态变化结束,报警系统继而执行对新状态配置的任何行动及与报警相关联的任何其它通知或其它控制。例如,在例子中,报警颜色从“红闪”变为“红色”,如列708所指。在求值所有转换函数之后在转换结束时,列708可被表征为将被采取的相关行动。其它实施例可包括其它行动。
类似的例子可被构建以论证图11中所示的状态表具体表达了锁存报警的下述行为:
-当度量值进入与较当前状态“更高”或“更严重”报警状态相关联的值范围时,当前状态转换为该更高的报警状态,未确认。
-如果度量进入与“更低”或“较不严重”报警状态相关联的值范围,且报警尚未被确认,则不发生状态改变,即当报警未确认时,报警被“闭锁”在由度量表示的最高报警状态。
-如果报警被确认,状态改变为当前反映报警度量值的状态。
图11中的状态表示出了报警,如果与报警相关联的度量采取对应于较低报警状态的值而报警被闭锁在较高状态,且报警被确认,则报警转换为具有未确认态的较低报警状态。如果报警处于高严重性确认状态,则隐含度量改变以反映较低严重性的状态,报警也改变为较低严重性的未确认状态。可比较的报警表可被建立,其保持报警的在后行为同时改变早前行为以转换为确认状态,而不是未确认状态。然而,这样的转换表较在此描述的例子更复杂并可包括不同于图11中所示的状态。图11的表700模仿“模拟”或“浮点”度量。可比较的状态表可被建立为数字度量、布尔型及其它类型的度量。
应注意的是,报警状态表的实施例可利用值以实现一个或多个范围的滞后。滞后可被定性为这样的行为,度量值可根据第一阈值从第一状态转换为第二状态,根据不同于第一阈值的第二阈值从第二状态转换为第一状态。这样的阈值可连同可采取不同时间点的值的度量一起使用,其徘徊在边界或范围阈值附近。两种不同阈值的使用可减少因在边界条件附近徘徊的度量值而经常改变状态。例如,范围阈值可以是100。相关联的度量可能在连续时间点呈现一系列值:98、99、101、99、101、99、102等。范围阈值可用于导致从第一状态转换为第二状态(从99-101)。然而,可能不希望使报警状态改变与从101到99的变化相关联,特别是如果度量值在边界100周围徘徊更是如此。实施例可确定,一旦第一阈值被达到,即使得从100之下的第一范围转换到100或100以上的第二范围,值95或95以下的值被需要,以使用95作为第二阈值而使得从第二范围转换回第一范围。如本领域一般技术人员将意识到的是,在此描述的状态表可被修改以包括前述多阈值的使用以说明滞后条件。
前述为系统内数据可被怎样管理及报警条件可被怎样确定和产生的一实施例。其它实施例可根据一个或多个组织将数据保存在一个或多个其它类型的数据存储器中并使用不同于在此描述的技术确定报警条件。
由代理发送给接收器的XML消息或文档可包括对应于如图9中所示的对象及树状结构的数据。XML文档可包括表示为下述的数据:
-主机名—发送报告的主机的名称
-类别名—一组度量的名称
-度量名—度量的名称
-值—度量值
-attr1—其它属性/值
-…
应注意的是,实施例可使用其它格式如XML之外的格式及不同于在此描述的协议在代理和其它组件之间通信。
可与度量相关联的属性包括“值”和“单位”。其它类型的度量具有其它属性。例如,“操作系统类型”度量可具有对每一平台均独一无二的相应属性。例如,属性可包括版本号、机器ID或其它可用于该平台上、但在任何其它平台上不存在的信息。
其它度量组可分享某些补充“标准”或共同属性,例如:
-日志—由日志代理306使用于源自日志文件的所有度量。“日志”属性为字符串表,其包含在报告间隔中由度量计数类型的前三个日志消息的完整文本。这些日志消息可提供另外的细节,如向试图了解为什么在特定度量上发出报警的网络管理员提供。及
-摘要—由所有代理使用,其支持在本文别处描述的增强电子邮件或增强报告特征。“摘要”属性包含度量的“下一级细节”的人可读的摘要。
如在此所述,来自RTAP数据库的数据可使用计算引擎及来自树状结构面向对象数据库的元素进行组合以产生对先前描述的威胁自适应控制器218的一个或多个输入。如上所述,计算引擎可用句法和类似于电子表格的运算处理数据流语言。计算引擎表达式可被定义为附加到数据库中对象的数据属性的表达式。当计算引擎处理对象时,对象中的所有表达式均被求值并成为它们所附加至其的属性的新值。该计算进程被重复以根据改变后的值重新对所有对象求值。
在实施例中,表达式可参考其它使用相对路径名句法的属性,该句法基于Apple Macintosh文件系统命名约定。例如,
-’^’意为父对象
-’:’分隔对象名
-’.’将对象路径与属性名分隔
在一例子中,有5个外部威胁自适应控制器值,其由威胁代理200通信并保存在RTAP数据库中,分别是E1、E2、E3、E4和E5。218的输入可被确定为前述5个值的加权平均值。威胁代理200可监视或轮询外部数据源并将威胁自适应控制器等级指示符写到5个“E”外部点。在RTAP数据库中,这五(5)点可被确定为代表表达式中组合加权平均值的父对象的子对象。该表达式的值可被赋予具有下述表达式的父对象:
([E1.indicator]+3*[E2.indicator]+[E3.indicator]+[E4.indicator]+[E5.indicator])/7
在前述表达式中,“.indicator”运算符获得已引用的确定属性的值。外部指示符2被确定为是其它指示符的三倍价值。无论指示符何时被更新,计算引擎计算其它点的树,其具有引用发生改变点的任何属性的内容的表达式。引擎被运行以求值所有那些对象上的表达式,类似于电子表格那样。实施例可使用任一或多个已知技术来以最佳顺序求值表达式。
在一实施例中,可采取办法将输入与可由不同代理报告的不同度量进行组合。所得组合可被表示为所使用的导出参数,例如,在用于产生报警条件时作为威胁自适应控制器218的输入等。指示攻击的导出值或信号可通过检查下述之一或多个产生:来自NIDS代理的一个或多个度量、ARPWatch代理、IPS、有害登录的数量及超出某一预定正常阈值的根用户计数。一旦前述之一或多个的初始置位表明指示攻击或试图攻击的报警条件,次要条件可被用作攻击指示的确认。次要信息可包括某一机器上的资源使用报警,其与该机器上或普遍使用初始置位条件的网络上的可靠攻击指示同时或紧随其后发生。例如,实施例可基于前述产生报警条件或产生对威胁自适应控制器218的输入。报警条件可基于第一组条件之一或多个连同是或真攻击指示符值产生。一旦这已发生,对于网络或一个或多个相同的计算机,随第一组条件出现或在预定时间间隔内,另一随后的报警条件也可基于第二组条件之一或多个的发生而产生。
与前述有关,资源使用度量可不被用作第一级攻击指示符或在没有检查其它指示符的情况下使用。资源使用可被定性为潜在机器损害的征兆而不是机器上的攻击。使用度量可能是“干扰”,如果孤立检查,其可能导致攻击的假阳性指示符。然而,如果这样的与资源使用有关的报警与另一可靠“攻击”指示符(如上述的初始或第一组指示符)同时或相继发生,则资源使用度量的可信性增加。因而,资源使用度量可结合其它攻击指示符参考以确定任一或多个特定计算机是否已被损害。基于前述,实施例可使用等式或公式定义导出参数,其考虑安全度量并将它们与一个或多个资源度量结合。这样的导出参数可用于产生威胁自适应控制器的输入。这样的导出参数可使用上述加权技术产生。
实施例可包括增强报告或通知的形式,其由监视服务器基于检查到报警条件而向用户报告或通知。如在此所述,度量及相关联的信息可由代理报告。度量的值可以是用于确定报警条件的一个或多个因素。用于检测和报告报警条件的出现的度量的值可被称为第一级报警或事件通知信息。一旦检测到报警条件,可能已被代理收集的另外的信息也可用于采取正确的行动或进一步诊断与报警条件相关联的问题。该可用于进一步诊断问题或采取正确行动的额外信息可被称为第二级信息。
实施例可提供选项用于使能/禁止报警条件通知包括该额外的信息。额外的信息可由代理报告给监视服务器以随意地组合到通知消息中。使能/禁止选项还可与收集数据的代理相关联。实施例是否包括该特征或使用其用于选择的度量可随每一实施例及其资源限制而变化,如工业网络的资源限制。因此,获取第二级信息的成本和可行性由使用来自报警消息的第二级信息而采取正确行动所获得的利益进行平衡,而不是通过其它途径获得信息。例如,如果第二级信息未被包括在报警通知中,管理员可使用连接到监视服务器50的用户界面获取另外的信息。
应注意的是,包括在第二级增强通知中的特定额外信息可随每一度量变化。其可包括额外的信息以帮助确定问题源如用户账户、IP或其它地址、耗用资源的特定组件或进程及相关百分比等。该第二级信息中的部分在上面结合相关度量描述。在一实施例中,增强的通知特征可被随意地启用以与在此描述的SNMP守卫代理203和守卫日志代理209的一个或多个度量一起使用。例如,对于使能增强的报告,代理203可随每一度量报告下述额外信息:
通信状态—如果有该度量指示的问题,正确行动包括确定通信故障的原因。消息如组件未响应、其IP地址及故障时间可有助于前述确定。
登录失败—确定最频繁的连接类型如VPN、远程拨入或其它连接,该连接的失败百分比,与较高失败次数的失败相关联的一个或多个用户ID及与每一用户ID相关联的百分比和发信IP地址或其它通信通道。
管理用户计数、拨号用户计数、VPN用户计数—确定最近管理用户已登录的IP或其它地址。
内存使用、CPU使用、磁盘空间、其它资源使用—资源的主要用户可随同进程或用户或其它信息的相关百分比进行确定以确定用户适于该资源。
打开会话计数—确定任意两点之间的打开通信会话的数量。另外的信息可包括两个或多个IP地址、主机名等,确定为作为连接端点被包括。
代理209可包括对于下述度量的下述另外的增强报告或通知信息:
配置—按209所监视的,如果配置已有变化,则可帮助知道发生了什么变化如威胁自适应控制器规则集如包括在220中的规则集和/或当前防火墙配置是否有变化及规则的什么部分被改变。另外,对于任何这样的变化,状态变化(先前状态到当前状态)是什么,什么用户账户、地址、进程等进行了该变化。
威胁自适应控制器变化—当威胁自适应控制器的设置发生变化时,实施例可指示报警条件。根据包括在实施例中的功能性,变化可以是手动改变或自动改变的结果。增强报告的另外的细节可包括什么用户进行了该变化、状态变化为或变化自什么状态、在报告周期内已进行这样的变化的频率,确定最频繁改变设置的用户及每一用户改变设置的时间的百分比。
NIDS和IPS报告—最频繁报警的NIDS/IPS条件的地址或其它识别源、这些条件归因于特定源的相关百分比、关于攻击类型的信息、及攻击目标(通过主机名、IP地址等确定哪一机器为攻击目标)。
防病毒事件—度量可确定防病毒事件的总量。另外的信息可包括在报告周期内由某类型事件引起的故障以确定什么病毒(病毒签名)已被从通信流中消除及相关的频率或百分比、对于每一类型什么源和/或目的地(如源和目的地网络)出现最频繁、及与每一源和目的地相关联的频率或百分比。
其它活动—该度量确定不属于任何其它类别的其它活动。另外的信息可包括所检测的该类型的第一或更多消息的文本。
现在参考图13,其示出了图形用户界面显示的例子900。例如,例900可使用网络浏览器进行显示以查看源自根据确定的报警条件发送的通知消息的报警事件报告。在实施例中,例900可用于查看和确认一个或多个报警条件。在一实施例中,当用于事件的标签902选自多个用户界面标签之一时,900的该显示可被查看。每一标签可结合不同的查看和/或处理进行选择。在一实施例中,如果自某一时间在900中显示给用户之后检测到新的报警条件,则标签902可闪烁。换言之,该实施例可不用自用户选择标签902之后检测到的报警条件的额外信息自动更新显示900。而是,该实施例闪烁标签902上的色彩以表明这样的另外的报警条件已被检测到,同时用户依然在使用显示900的例图的过程中。发明人相信,相较其它通知技术如用更新的报警信息刷新屏幕显示900,在报警爆发条件期间闪动标签较少中断用户的注意力。
显示900可在列906(标号“A”)中指明由一行显示的数据指示的特定条件是否已被确认。与900中显示的一行数据相关联的事件或报警条件可被确认,如通过选择特定数据行左边的感叹号图标、选择选项908以确认所有显示的事件、或可被提供在实施例中的一些其它选项。对于每一事件,906中的状态可根据用户确认进行更新。例如,904指出相关事件尚未被确认(如列906中的感叹号记号)。910所指的两个事件已被确认(如列906中没有感叹号记号)。
现在参考图14,其示出了用户界面显示的例子1000。当监视标签1020被选择以查看度量树时例1000可被显示。参考图9,在1000中显示的信息为包括在部分600中的信息,部分600即用安全对象形成的子树,其根包括所有子节点。显示1000示出了不同度量及相关报警条件的总图。显示1000反映子树中的分级表示,其通过显示主机嵌套(守卫和监视)、每一主机的类别(如侵入尝试、资源使用等)、及每一类别(如资源使用)内相关的度量(如CPU使用、内存使用和会话)进行。在子树中,这些度量可被定义为具有被定义为资源使用的父节点(类别名)的页节点。
与每一度量相关的是等级指示符。在实施例内,等级指示符可指示与每一报警状态唯一相关的颜色或其它标志。例如,在一实施例中,当度量等级在正常范围中时,指示符可以是绿色,当度量等级在警告范围中时为黄色,及在最高严重性范围中时为红色。
1000中代表一个或多个其它节点的父节点的元素可具有对应于所有子节点的总条件的颜色或其它标志。例如,资源使用的指示符可代表与CPU使用、内存使用和会话度量相关的每一指示符的集合。在一实施例中,父节点的总指示符可被确定为其一个或多个子节点的最大指示符值。例如,如果子节点指示符中的任一或多个如1008为黄色且没有为红色的,则其父节点指示符如1006为黄色。
在1000中,用户可选择以查看1000的右部中的特定度量的图,其通过选择1000的左部中的选项进行,如选择1010所指。在一实施例中,应注意的是,图部分并不立即响应于用户选择进行更新。而是,当网页根据该时进行的一个或多个选择而被刷新时,图被更新。注意,在1000中,所显示的用于监视1002的图标或指示符具有与其它机器如守卫机器或主机不同的形状。不同的形状使用户更容易在主机列表中发现监视服务器,因为许多重要网络监视度量均在度量树的监视服务器分支中发现。
前述900和1000为可被包括在实施例中的用户界面显示的例子,其可使用图4的网络服务器214上的网络浏览器显示。其它实施例可使用与在此描述不同的其它界面显示。
与在此描述的技术和系统有关,在下面段落中描述的特征也可被包括。
计算机控制系统经常具有用户界面,其允许操作员监督和指导被监视和/或控制的物理系统的行为。这些用户界面通常包括称为报警I显示的组件。报警显示向操作员显示控制系统中报警条件的子集并允许操作员:
-选择显示哪些报警条件,
-选择显示关于每一报警的什么信息,
-以不同方式排序或分组报警,
-确认、消除、搁置或处理报警,及
-当新报警出现时看新的报警,或
-看新报警可用的通知并继而请求报警显示被更新或刷新以显示新报警。
报警显示用户界面的一实施例可被嵌入在环球网页中并由传统的网络浏览器如Microsoft的Ihternet Explorer或开放源码Mozilla浏览器进行显示。
报警显示用户界面可以在本文别处详细描述的至少三种不同方式实施于网络浏览器中。每一形式的实施支持上面列出的控制系统报警显示用户界面的所有共同特征。
报警可被呈现为报警的HTML表,其示出报警的文本,其可随意地包括字段如引发报警条件的日期/时间、报警的优先级、记录报警状态的标志名称或数据值、报警测量的当前值、报警条件的英语描述、及控制系统报警显示用户界面中的任何其它共同特征。
报警显示表可包括报警描述的链接及使能进行共同的控制系统报警显示行动的链接或按钮,如确认、选择、排序报警等。链接可使得报警显示表将用摘自报警服务器的另一网页或另一HTML子集刷新,其执行所请求的确认、选择或排序行动,或链接可激活网页中的代码如嵌入的Javascript代码以执行所请求的行动。
报警可被呈现在浏览器“小程序”中,其为在因特网上安全下载的“应用程序内的应用程序”。小程序从网络上的网络服务器接收报警信息,或从网络上的其它机器接收报警信息(不常用),并将该信息呈现为控制系统报警显示操作员熟悉的文本表或其它格式。
当用户激活小程序用户界面的元素时,小程序执行所有通常的报警排序、选择、确认、搁置及其它行动,或将请求转发给网络服务器或其它机器,从而提供报警信息给小程序以使该请求被执行。接着,如果报警显示因用户请求而已发生改变时,小程序将新的报警显示呈现给用户。
传统的报警显示用户界面组成部分有时被实施为MicrosoftWindows ActiveX控制,以用于ActiveX容器应用程序中,例如,这是关于Verano报警显示ActiveX控制怎样工作。这样的控制可引用自网络浏览器中的网页,浏览器用作ActiveX容器。ActiveX报警显示控制从网络上的网络服务器或网络上的其它机器(不经常)接收报警信息,并将该信息呈现为控制系统报警显示操作员熟悉的文本表或其它格式。
当用户激活ActiveX报警显示控制用户界面的元素时,小程序执行所有通常的报警排序、选择、确认、搁置及其它行动,或将请求转发给网络服务器或其它机器,从而提供报警信息给ActiveX控制以使该请求被执行。接着,如果报警显示因用户请求而已发生改变时,ActiveX控制将新的报警显示呈现给用户。
在市场上有来自许多卖主的许多控制系统应用程序,其在应用程序用户界面中均带有报警显示功能。这些用户界面被设计来作各种用户界面基础技术,从X11视窗到Microsoft视窗,以定制位图开窗口系统及字符显示终端设备。
这些现有的报警显示用户界面被设计来用作将由操作员使用的协调控制系统用户界面的部分以监视和控制逻辑或物理进程。这些协调的用户界面以多种模式运行,包括运行定制或商用操作系统的计算机上的用户界面应用,及控制系统设备上的部分或所有用户界面。
这些现有的用户界面可被定性为具有第一主要缺点,因为它们通常是为某些物理或逻辑进程的操作员而设计。大多数要求计算机控制的进程是复杂的并要求至少若干培训以理解和控制。控制系统用户界面,包括报警显示功能,具有许多功能强的特征并要求相当的能力以正确使用。前述使得这些现有的用户界面很难、危险、或不可能由“临时”或未经训练的用户使用,或由在某些其它领域经训练的用户使用。例如,生产换班经理可能想要看看活动的、未确认设备故障报警的现场显示以了解大厂中修理队是否落后。如果这样的个体被受托碰触控制系统,他们通常没有训练或能力使用工厂控制系统报警显示用户界面。可能有许多较经过培训和有资格的工厂操作员更临时的用户,但这些用户,不管其数量多少,在不走进控制室并不打扰工厂操作员履行它们的职责以窥视并试图看见某些报警的情况下,均不能看见控制系统用户界面中的当前报警信息。
另一缺点在于现有的控制系统用户界面,包括报警显示功能,均为太大、太复杂且昂贵的软件。即使“临时”用户被培训,有资格并受托与控制系统用户界面交互,在可接近这些临时用户的系统上安装足够份数的用户界面软件将是成本禁止的。即使软件是免费的,在适当的计算机上安装、保护及正确配置这些复杂的控制系统用户界面软件包的人工成本也是非常可观的。例如,可能花费相当多的配置和测试努力以将临时用户可用的信息限制到他们被授权查看的信息,及将用户可用的用户界面行动限制到他们被授权执行的行动。一个人肯定不想临时用户故意或意外导致物理或逻辑进程故障。
在最近几年,几乎所有白领工人均已被要求学习怎样使用环球网和网络浏览器应用软件。所有这些工人均能够定位和搜索网络以发现具有他们做工作所需要的信息的网页。将报警显示功能嵌入在网络浏览器中可利用该培训投资并使所有知识工人均可快速找到包含他们做工作所需要的当前报警信息的网页。
此外,报警显示功能是全部控制系统用户界面的小子集。在网页中暴露报警显示功能不会暴露通常来自以控制系统操作员为目标的用户界面的其它进程信息或控制。
工业控制系统计算机和软件对工业及制造过程的安全、有利可图且正确的操作已至关重要,如制造、发电及分布、淡水净化及分布、污水处理、及许多其它支持发达世界生活标准的工业基础设施的过程。
日益增加的破坏者、罪犯特别是勒索者、怀有不满的雇员、恐怖分子及其它均将这些计算机控制系统作为目标以试图损害、关机或其它,从而导致重要工业过程发生故障。对该威胁及类似威胁的历史响应已是工业站点处的物理安全和“气隙”策略的结合,其禁止将任何控制系统计算机或设备直接或间接连接到任何公共通信网络,特别是电话系统或因特网。
然而,在近些年,将工业控制系统连接到各个其它系统的需要日益增加。例如,许多控制系统现在被连接到企业资源计划系统、商品贸易系统、供应链集成系统及许多其它系统。由此,大量控制系统现在至少被间接连接到公共网络如因特网,从而增加了某些攻击者危害那些控制系统的正确操作的风险。
自动气隙响应导致控制系统计算机和网络与公用系统和网络在物理上断开连接。物理上断开是通过将常规的低压计算机启动的电开关组件插入某些或所有网络电缆或用于将控制系统设备和网络连接到公用计算机和网络的网络计算机及组件的电力电缆中而得以实现。该断开可由过程操作员或由其它经授权的个体受控触发,或通过多种手段自动触发,包括被触发作为用于侵入检测系统产生的报警的报警通知或逐步升级系统、安全事件监视系统或其它监视具有未经授权活动的计算机、软件和网络的软件和计算机系统的一部分。触发通过本领域技术人员公知的几种手段之一通信给交换机,其包括使用定制软件控制直接连接到交换机的输出,及使用工业控制系统本身控制交换机。
实际上,对同一设备,“反向”断开也是可能的,即:公用网在默认情况下即被切断连接,并使用交换机仅重新连接那些需要连接的公用网和系统,并只保持连接需要连接那么长时间,因而使攻击关键控制系统的机会最少化。使网络或电力开关回复到“连接”状态可由刺激源触发,包括:
-基于时间的交换—例如,在生产场地的换班变化期间,当生产信息、存货水平及生产订单需要与企业计划系统交换时。
-基于命令的交换—例如,工业应用软件可包含命令以在应用软件运行持续期间或应用软件要求与公用网或系统进行通信的时间段持续期间连接公用网。
-基于控制系统网络活动的交换—例如,当去往公用网的数据包在控制系统网络上检测到时,公用网可被连接到控制系统网络,直到导致它们被再次断开的某些条件出现,如:在一段时间均没有与公用网交换数据包。
-基于公用网活动的交换—例如,当匹配特定的经授权的模式、或包含经授权的命令、或来自经授权的来源的数据包被检测到时,公用网可被连接到控制系统网络,直到导致两网络或系统将被再次断开的某些条件出现。
注意,最后那一方法即基于公用网活动的交换易受攻击,攻击可模仿经授权的通信模式以关闭交换机并再次使能网络之间的通信,因此原因,该方法必须结合判断力进行使用。
与前述不同的是,系统和公用网可保持或连接或断开连接。使网络永久被断开以增加安全性,但根据失去的效率或商业响应的成本不可接受。使网络永久连接将致使关键控制系统易受攻击。
作为另一选择,无论公用网在何时被直接连接到控制系统网络,系统均可部署一计算机系统作为网关。计算机系统不被配置为自动将数据包从一网络转发到另一网络,而是,网络之间的供应链集成和其它通信经网关计算机系统上的应用程序或应用代理服务器进行。该方法的优点在于,为了穿过控制系统网络,攻击者必须首先侵入网关机器。这将减慢攻击者的速度,至少理论上是。在实践中,网关机器较网络之间的直接连接更安全,但不是非常安全。所有商用操作系统卖主均持续发出关键安全性纠错以解决经常在他们系统中发现的安全问题。更恶劣的是,在网关计算机上运行的工厂应用程序很容易被侵入。
作为另一选择,系统可在公用和专用网之间部署防火墙系统或设备。防火墙对被允许在网络之间传递的信息进行严格过滤并为安全任务进行设计。但防火墙不是完美的,防火墙卖主也可对新的脆弱点发出持续的纠错流,这清楚地表明防火墙硬件、软件及设备易受十分坚决的攻击者的攻击和危害。某些防火墙可被配置以在某些攻击模式或征兆被检测到时关闭某些通信通道。然而,防火墙本身依然在物理上连接到发起攻击的网络或系统。即使攻击者消息被阻止在防火墙处,依然存在攻击者将能危及防火墙的安全并使其开始将攻击再次转发给控制系统网络的风险。
复杂的工业站点目前使用多层防火墙和应用网关机器以使控制系统网络与公用网隔离。这增加了攻击者侵入控制系统网络的时间,也增加了检测和挡开攻击的机会,但并不排除攻击者成功的可能。
自动气隙响应增加了控制系统网络因收益性、灵活性或其它原因必须被连接到网络或系统时的安全性,控制系统网络被直接或间接连接到公用网。当通信被切断时,攻击者的数据包没有到达控制系统网络,它们也未能到达能够再次打开网络间的通信的任何硬件或软件组件。
自动气隙响应不完全排除攻击威胁,因为其预示有时控制系统网络也被连接到公用网络。在那些时间期间,控制系统易受攻击。然而,自动气隙响应是传统应用网关和防火墙安全技术或多层这样的技术的有价值的附加保障。气隙还通过在可能攻击期间限制时间间隔来减慢攻击,及通过完全隔离控制系统网络,正在进行中的攻击应可被检测到。隔离为控制系统管理员争取了分析攻击和任何脆弱点并启动正确行动所需要的时间。
自动气隙响应可使用于多种设置中。其可用于工业控制系统设置,因为这样的系统通常被设计以长期正确运行,即使在不与公用网和系统通信的情况下。自动气隙响应还可用于企业数据中心或其它非工业环境。
安全事件管理系统(SEMS)是计算机硬件和软件的系统,其从在许多计算机服务器和工作站上运行的代理处收集关于那些计算机的未经授权的使用的信息。该信息被保存在数据库中并可应用由用户通过图形用户界面进行分析,图形用户界面可基于环球网技术。当某些使用阈值被达到时,关于未授权使用的信息可用于发出报警,且那些报警可经包括电子邮件通知的多种手段通信给人或硬件或软件应用程序。安全信息和报警可被显示给授权用户,显示为图表以用于按时间进行比较,且概述并显示或打印为报告。
控制系统是监视和/或控制物理进程的计算机服务器、工作站和软件系统的统称,通过从直接连接到那些计算机和/或连接到专用计算设备如可编程逻辑控制器(PLC)、远程终端单元(RTU)及器件集中器(DC)的传感器和/或执行机构设备收集数据实现监控,其相互通信并经多种标准及专用通信协议中的任一种与控制系统通信。控制系统可将直接或间接收集的关于这些设备的信息保存在中央数据库中,并可从该信息做出结论并将它们保存在数据库中,和/或使用这些结论向PLC、RTU、DC和/或连接到那些设备的敏感组件或执行结构发出命令。控制系统还可一文本报告和/或图形形式将该设备信息、和/或结论和/或源自设备信息的计算呈现给各种用户。控制系统还可使设备信息和/或结论可用于多个应用程序和/或将那些程序的结果接受为命令以传输回PLC、RTU、DC、控制系统的敏感组件和执行机构。
安全事件管理系统可用于控制系统。代替监视企业数据中心和办公室中的通用计算设备的完整性、使用及未授权使用,安全事件管理系统监视控制系统服务器、工作站、敏感组件、执行机构、PLC、RTU、DC和/或它们的介入通信网络和/或网络设备的完整性、使用和未授权使用。
现有的控制系统网络安全可被定性为使用逐点方法。单独的计算机和软件包,每一均保持它们自己的日志,有时还保持可能的侵入、侵入征兆、未授权使用或使用企图的记录及其它信息的数据库。为使用该信息,授权用户即“安全管理员”不得不单独登录每一系统,或使用每一专用的唯一用户界面访问系统收集的信息。一些应用程序或系统可产生包含安全报警或活动摘要的电子邮件,并将该邮件转发给一个或多个邮箱。安全管理员不得不发现并读该邮件,可能每日有几百条消息,以试图了解其负责的任一系统是否正遭受攻击,或遭受日益增加地或大或小的攻击威胁。称为“日志服务器”的技术有时可用于将来自许多机器上的大量应用程序的日志文件合并到一个机器中。这增加了安全性,因为攻击者可侵入单个机器并能擦除其在该机器上的日志中的所有侵入证据,但不能侵入日志服务器以抹掉那里的证据。然而,日志服务器在机器间传输日志时耗用了大量网络带宽,而网络带宽在控制系统中通常非常珍贵—事件管理系统的安装未必危及控制系统的安全和正确运行。代替通过许多机器上的日志搜索正在进行的侵入尝试证据,日志服务器使安全管理员的生活稍微轻松一点,但管理员还是不得不搜索单一机器上的大量日志。
安全事件管理程序合并、总结控制系统侵入报警、侵入征兆及中央数据库中的其它未授权使用的报警或征兆,并使该信息更容易用于安全管理员用户进行分析。
安全事件管理系统(SEMS,如本文别处所述)的实施例不是使用简单的测量或条件或事件计数作为报警产生子系统的输入,而是使用计算的值。例如,代替只在网络通信量超出极限时或下降到极限值以下时才发出报警,其指示可能表现出某些种类的攻击的条件,SEMS可在引入的网络通信量和外出网络通信量的比超出或降低到某一极限之下时产生报警。
另外,实施例还可包括:
-基于历史而不仅是目前值产生报警计算的能力—例如,当机器上每日有害登录尝试的数量在7天周期内增加20%时发出报警。
-基于使用历史值的计算产生报警的能力,以检测使用、误用或攻击模式将在何时危及计算机、程序、计算机网络或系统、某一点的程序或网络的安全。例如,可将规则表示为,当日均安全性测量值至少连续四天朝报警极限值方向单向移动且第一和第四日均的线性以内插值替换的值将在一周内超出报警极限时发出报警。
-使用数据流驱动的电子表格型的记号表示产生报警计算的能力,其中一旦新数据变得可用则重新计算值。
-表示包含来自一个以上机器的值的产生报警计算的能力,因而允许报警将基于机器间计算或相关产生。如:当一组如地理或分网中的所有机器的总有害密码尝试计数在24小时内翻倍从而指示分布的猜测密码的攻击时发出报警。
-在基于规则的专家系统的推断基础上产生报警的能力,专家系统估算作为输入的原始安全测量和事件信息和/或历史信息和/或计算的值。
现有的SEMS使报警基于测量的值超出或下降到报警极限以下,或在单独的事件如有害登录尝试被检测到时发出报警,或在一组事件如5个有害登录尝试被检测到时发出报警。现有的系统如前述系统不能预测问题。它们也不能跨机器、网络或网络组件关联信息以在任一机器上确定具有不可检测征兆的分布式攻击,且它们可检测的征兆的种类非常有限,且它们可从征兆、征兆历史或征兆和历史的全集进行推断的种类也非常有限。
在此描述的SEMS具有较现有SEMS更好的优点。在此描述的SEMS增加了SEMS关于攻击或误用模式的推断能力,并增加了SEMS检测并发出关于滥用模式的报警,滥用模式在检查单独的安全测量值时不是很明显。
控制系统是监视和/或控制物理进程的计算机服务器、工作站和软件系统的统称,通过从直接连接到那些计算机和/或连接到专用计算设备如可编程逻辑控制器(PLC)、远程终端单元(RTU)及器件集中器(DC)的传感器和/或执行机构设备收集数据实现监控,其相互通信并经多种标准及专用通信协议中的任一种与控制系统通信。控制系统还在本文别处进行更详细的描述。
主机侵入检测系统(HIDS)是报告计算资源的潜在或实际及试图或成功的误用的征兆的软件。HIDS报告特定机器(主机)上的明显征兆,且通常仅涉及该机器。用于对比,网络侵入检测系统(NIDS)监视网络数据包匹配“签名”的模式并在签名匹配被检测到时发出报警,可用于检测运行NIDS的机器上的攻击和/或网络中的其它机器上的攻击—即签名匹配数据包的发送机或接收机。共同的HIDS征兆包括:
-有害登录尝试及其它类似的计数或测量,
-文件特别是可执行及关键配置文件的检查和、时间戳或其它属性,
-新的侦听套接字打开、新的长命进程运行和/或耗用大量CPU、内存或网络带宽,及
-从文件特别是可执行文件读信息或向其写信息的模式。
防病毒扫描程序可能是最广泛使用的HIDS。
HIDS的一实施例可设计用于具有传统HIDS特征的控制系统(控制系统IDS)及具有特殊特征的控制系统,包括:
-严格的计算和网络资源限制—包括:
1)当报警出现时,控制系统IDS发送至多小的、有限数量的报警,可能仅仅最关键的报警。所有其它报警被计数且报警的摘要被定期发送,摘要的大小由下述等式限制:
(该机器用于定期报警的网络带宽预算量:比特/秒)×(定期报告之间的时间间隔长度:秒)=(最大允许报告长度:比特)
2)控制系统IDS计算最关键文件的检查和,其包括用于检测侵入的关键操作系统工具如CPU使用监视器、网络侦听套接字和流量监视器、文件系统检查工具和监视器、关键操作系统和安全配置文件和监视器、及可执行的控制系统软件和配置文件。
3)控制系统IDS在控制系统文件系统和内存中严格保持有限量的状态信息,总是保持在固定的内存和文件系统空间预算内。例如,如早前提及的,IDS仅跟踪有限文件集的检查和,从而限制磁盘上检查和数据库的大小。
4)控制系统HIDS可被配置以仅能定期报告报警或报警摘要。当那样配置时,IDS软件本身不需要持续运行,因而释放内存,其在定期报告之间可回到可用于控制系统的内存池中。当IDS运行时,其仅使用内存资源和磁盘资源有限的算法以从文件系统和控制系统本身提取事件计数和其它测量。
-控制系统IDS监视控制系统的配置,包括:
1)保留控制系统账户信息的副本,使得事件如新账户创建及现有账户权限等级的增加可被报告。
2)保留控制系统数据库、文件系统和其它模式的检查和或副本,使得模式的变化可被报告。在生产控制系统中,控制系统模式仅非常慢地变化,且模式变化可能是在生产控制系统中未授权插入新的控制或报告技术的征兆。
-控制系统IDS监视控制系统的运行,包括:
1)意外进程终止及意外控制系统、网络、通信或设备停止运行。
2)控制系统本身的资源使用,包括但不限于CPU使用、内存使用、及IP、串口或其它网络或通信使用、及进程间通信资源使用,如共享的内存段、存储映象式文件和/或Unix SysV消息对列、消息首部及消息缓冲。
现有的控制系统设备以约束资源著称。在控制系统设备上安装HIDS的所有用处就是阻止该设备的未授权使用,特别是阻止控制系统监视的物理进程的未授权停止、损害或故障。如果HIDS组件本身由于与控制系统过度竞用计算和通信资源而导致控制系统和/或物理进程故障,安装HIDS是没有意义的。现有的HIS系统耗用的计算和通信资源远多于控制系统的预算,因而无论有多少那样的系统要求增强的监视,HIDS系统不被部署在控制系统上。具体地:
-HIDS报警经常被发送给电子邮件系统、日志服务器、安全事件管理系统或网络上的其它硬件或软件系统。现有的HIDS对它们的关机报警通知几乎没有流控制机制。由此,恶意攻击或其它未授权使用甚或某些类型的设备故障很容易使HIDS发送大量报警到通信网络中,因而损害应该受HIDS保护的特别控制系统的运行。
-现有HIDS系统经常计算文件系统中几乎所有文件的检查和以确保它们尚未因部分攻击或部分掩藏攻击证据的企图而被修改。计算千兆字节的检查和耗用CPU资源和相当的磁盘I/O带宽资源。
现有HIDS设备没有共用控制系统的预期行为的知识。具体地,现有HIDS没有控制系统中哪一进程应长命或短命的知识,没有控制系统数据库模式或安全机制的知识,没有期望控制系统性能和资源利用概况的知识。
在此描述的控制系统IDS可安全用于资源受约束的控制系统上,而现有HIDS系统则不能。在控制系统设备上部署控制系统IDS增加了现有控制系统的安全、使用和误用可被监视的程度。
控制系统IDS监视现有HIDS系统视而不见的控制系统软件和设备的各个方面如控制系统和应用程序账户及账户权限、控制系统数据库模式及系统设计变化、及控制系统软件和设备的正确和授权操作的各个方面,包括检测意外的进程终止和组件停止运行及控制系统专用资源使用。IDS中的该控制系统专用知识意味着控制系统安全管理员可监视现有HIDS系统视而不见的控制系统的误用方面,即使那些HIDS系统可被部署在控制系统设备上,因而还增加了控制系统和控制系统管理的物理进程的安全性。
计算机和软件系统可用于以综合、一致的方式监视计算机、软件应用程序和网络的健康、性能和安全性。在一实施例中,关于单独的计算机、软件应用程序和网络健康、性能和安全性的信息被从单独的计算机、应用程序或网络组件通信给一个或多个中央数据库。监视应用程序从一个或多个中央数据库取信息并使用该信息产生报告,以在健康、性能或安全极限值被超出时向人和软件系统发送报警,并呈现描述被监视系统的状态的图形用户界面。
一实施例通过多种手段获得计算设备、软件、网络和网络设备的健康、性能和安全的原始数据。实施例可使用标准SNMP代理,其贡献很多性能信息并开始贡献一些健康和安全信息。实施例可使用分析系统和应用程序日志的代理。这样的代理贡献很多与安全性有关的数据。实施例可使用SNMP和其它代理,其询问现代计算和网络设备中比较新的敏感组件以获得如关于设备健康的信息,包括电压电平、风扇速度、芯片温度和环境温度。
计算机和软件系统的实施例可用于监视直接或间接使用PLC、RTU、集中器、及敏感组件和/或执行机构设备的计算机硬件和软件控制系统以监视和/或控制大量物理进程如发电厂和水净化及配电系统。将系统健康、性能和安全监视结合在一个系统中在监视控制系统时特别灵敏,因为控制系统专注于物理进程的安全和可靠运行。硬件问题或软件健康、系统性能瓶颈及安全问题如系统上的攻击或控制系统的未授权使用均威胁物理进程的安全和可靠运行。将健康、性能和安全监视功能合并在一个系统中将产生对物理进程的安全和可靠运行的威胁进行综合观察,并建立综合威胁管理系统以用于管理那些进程的控制系统。
现有健康和性能监视系统如HP的Openvue和IBM的Tivoli均没有安全事件监视能力。当那些卖主出售安全事件监视系统时,那些系统与他们的健康和性能监视系统分离,而不是与它们紧密集成。对此的一个原因但不是唯一原因在于健康和性能监视系统几乎拒绝从SNMP代理获得它们的原始数据,且SNMP代理很少报告安全数据。相反,现有安全事件监视系统几乎拒绝从日志分析代理获得它们的原始数据,且该代理很少报告健康和性能数据。这导致对所有类型的计算机系统和网络的可靠运行特别是对计算机控制系统的安全和可靠运行的威胁只能进行不连贯的观察。负责他们的系统的安全和可靠运行威胁的经理、管理员和技术人员必须使用两个或多个不同的用户界面来访问关于不同种类的健康、性能或安全威胁的信息,并发现很难关联这些关于不同种类的威胁的信息,因为信息以不兼容格式保存在由(通常来自不同的卖主)不同应用程序管理的不同数据库中。
结合健康、性能和安全信息的计算资源和威胁管理系统提供对一组计算资源的综合观察。这样的系统允许健康、性能和安全信息的关联,因为所有这样的信息均可用于单一应用程序,其为应用程序的数据库中的威胁管理系统。这样的系统不仅提供系统健康和可用性的综合观察,还提供对系统的可用性、健康或正确操作的威胁的综合观察。
这样的洞察力对监视控制系统特别是安全关键或关键基础设施环境中的控制系统特别有价值。管理者和政府日益需要这种综合威胁管理以用于控制系统管理的物理进程,如果这些进程发生故障,其将大面积威胁人类生命或繁荣或生活质量。
计算机和软件系统的实施例可用于将正则表达式匹配应用到控制系统日志文件以从这些日志文件有规律地和/或连续地提取有用信息。有用的信息包括关于控制系统硬件、软件、网络和数据采集设备的健康的信息,关于当前性能等级和控制系统耗用计算和其它资源的信息,及关于安全状态、及控制系统的未授权和授权使用的信息。
一实施例可包括对控制系统日志的全部进行搜索的硬件和软件系统,从而将日志与顺序正则表达式规则匹配。控制系统日志中与指定规则集匹配和/或不匹配的行构成对由规则表示的事件的“匹配”。事件和/或来自日志文件的与事件规则匹配的行接着可被注册和/或通信到其它软件系统和/或操作员和管理员。事件还可在正则表达式匹配系统中进行积累,只有事件计数和其它摘要信息将被注册或通信到软件系统和/或操作员和管理员。
正则表达式匹配被用在现有的企业数据中心(由卖主如OpenService出售),以在有秩序或连续的基础上在操作系统和应用程序日志文件中匹配安全有关的事件。前述实施例将此应用于控制系统日志,而不是传统的计算系统日志。
在现有实施例中,在特定的基础上,正则表达式匹配被系统集成者和管理员应用于控制系统日志,在诊断控制系统的问题的过程中,通过使用命令如Unix“grep”搜索他们感兴趣的日志记录。在在此描述的实施例中,包括对一个或多个正则表达式的匹配和/或不匹配的规则在连续或有秩序的基础上被用于控制系统日志以检测、报告、计数和总结与控制系统健康、性能和安全有关的事件。
在此描述的实施例当应用于控制系统日志时具有一些优点。从企业数据中心技术应用正则表达式技术到控制系统将带来持续的数据中心系统健康、性能和安全监视、跟踪和报告给控制系统的域等所有好处。当问题出现时,报警可立即被分送给负责人以进行调查。这使得在问题快速传播从而威胁控制系统管理的物理进程的正确运行之前其可能得到快速解决。
存在多种计算机硬件和软件系统,其监视计算机、应用程序和网络组件的一个或多个方面,包括监视性能、系统健康和系统安全、这些监视系统通常从大量软件“代理”获得信息,这些代理在被监视的硬件或软件组件上运行或在其附近并向中央监视系统报告。
下面将描述的是当新代理被创建或当监视系统管理员希望使现有代理可为中央监视系统可见和可用时所应用的技术。一实施例可包括:
-软件代理:
-当安装时或当重新配置以向新的中央监视系统报告时,其被告知怎样联系中央监视系统—例如,用主机名和服务名或IP地址和IP端口号。
-当安装时或当重新配置以向新的中央监视系统报告时,可被告知当向中央监视系统报告时将使用什么主机名。如果没有主机名被指定,代理使用它们正于其上运行的计算设备的网络名或地址,或存放它们监视的应用程序或其它设备的计算设备的网络名或地址。这是“代理名”。代理名可包含树结构信息,其指明监视系统中由该代理监视的软件或硬件与由其它代理监视的软件或硬件之间的关系。
-当它们初始向中央监视系统报告时,它们产生和安全地保存公用和私用加密密钥。公钥被传输给中央监视系统,从而监视系统可使用密钥鉴别将来来自该代理的消息。公钥还可用于执行安全的人或软件,以记录并随后与到达中央监视站的密钥拷贝进行比较,从而避免“中间人”攻击而替换鉴别密钥。
-当它们随后向中央监视系统报告时,它们使用公钥鉴别技术将它们的消息呈现给可信的中央监视系统。
-在它们发送给中央监视系统的每一消息中,代理报告它们的代理名。
-当它们向中央监视系统报告健康、监视和安全事件及度量信息时,它们或对具有描述事件和度量的模式信息的一个或多个传输作序,或者它们以自描述格式如XML发送事件和度量信息。模式信息可被组织到树结构中。
-一列事件和度量的某些知识被积累和报告给中央监视系统,该列包括度量和事件的默认值,且该默认值可由系统管理员进行修改,或在代理被安装时,或在被重新配置以向新的中央监视系统报告时,或在监视系统管理员希望看到事件和度量不同设置被报告时。该列事件和度量或可在运行代理的计算硬件设备上、或在中央监视系统、或通过图形用户界面进行修改。
-定期或基于事件向中央监视系统报告健康、监视和安全事件及度量信息。
-中央监视系统:
-当其从代理接收报告时,询问代理名。如果监视系统没有代理的先前记录,代理被作为“新”代理对待。
-对于新代理,发出报警,其指明一个或多个新代理已被添加到系统。
-记录新代理的公开鉴别密钥。
-对于现有的代理,鉴别从代理接收的所有消息。鉴别失败的消息被放弃且发出指明一个或多个消息被放弃的报警。
-当度量和/或事件模式信息被从代理接收时,产生新度量或事件需要的任何新的数据库记录。从代理接收的模式或可是完整的记录定义,包括任何可用的数据类型、文档、报警极限、和历史或其它指令,或其可包含具有符号“指针”的信息子集,其指向保存在中央监视系统中的部分或所有记录定义。
-当度量和/或事件信息被从代理接收时,监视系统传播具有该信息的数据库记录,按或与度量/事件信息同时或早前接收的语句集信息所指导。中央监视系统还发出任何在语句集、数据库记录定义或报警极限中指出的报警。如果必要,中央监视系统还将信息添加到历史记录,其按与引入的度量和/或事件相关联的数据库记录的历史指令进行确定。
代理和中央监视系统的该自动配置系统可用于监视常规的企业计算环境,其通常包含桌面工作站、部门及数据中心服务器、网络、网络设备、数据库和其它软件应用程序及其它组件。
代理和中央监视系统的该自动配置系统可用于监视工业控制系统,其通常包括监视和/或控制物理进程的计算机服务器、工作站和软件,通过从直接连接到那些计算机和/或连接到专用计算设备如可编程逻辑控制器(PLC)、远端单元(RTU)和设备集中器(DC)的敏感组件和/或执行机构设备收集数据而实现监控,前述相互通信并经多种标准和专用通信协议中之一与控制系统通信。
现有的计算机、软件、网络和设备监视系统,包括系统如Hewlett-Packard的Openview、IBM的Tivoli和OpenService的安全威胁监视器,当新代理被报告到中央监视系统时,前述所有均一定程度上有时很大程度上需要配置。
例如,Openview和Tivoli严重依赖于用于数据采集的SNMP代理。大多数SNMP数据仅可通过轮询才能获得,为轮询数据,中央监视系统必须被配置以请求数据。此外,当大多数SNMP数据在某种意义上是自描述时,当新代理被发现时,基于SNMP的监视系统没有自动发现代理并自动传播和自动配置它们。事实上,大多数基于SNMP的监视系统被设计来用于最大和最复杂的计算环境。为利用来自新SNMP或其它代理的信息,那些复杂系统要求输入大量信息,通常通过中央监视系统图形用户界面(GUI)输入,以描述新代理监视的及中央监视系统中所有现有代理监视的设备和软件之间的关系和网络连通性。
基于非SNMP的系统,趋向于被设计来监视最大和最复杂的计算环境,因而要求相当的配置以利用新代理。非SNMP系统具有在SNMP标准之外工作的优点,因而代理在报告语句集信息时具有更多活动余地,其可自愿向中央监视系统报告信息,而不是等待系统轮询代理。然而,这些代理趋向于使用该灵活性来从中央监视系统接受更多的配置信息。例如,在那些代理可开始监视它们被设计来监视的与安全有关的日志之前,OpenService代理可使用从它们的代理下载的正则表达式匹配规则。
当添加新代理时配置中央监视系统的需要花费时间和金钱,因为某些人不得不进行中央系统的配置工作。因而,很大程度或全自配置系统较现有系统花费更少。
此外,配置设计用于非常复杂的计算环境的复杂产品的困难在于当试图在工业控制系统环境中部署监视技术时的责任。控制系统需要监视至少常规的计算环境,但为安全原因,通常不能被连接到监视大面积或整个企业计算环境的复杂监视系统。此外,控制系统通常在地理上远离受训配置和维护复杂中央监视系统的人员,因而增加了部署常规监视系统以监视工业控制系统的困难和成本。
自动配置降低了安装和维护健康、性能和/或安全事件和/或监视系统所要求的成本和技能程度,特别是在工业控制系统环境中,其通过在新代理被添加到系统时消除对配置中央监视系统的需要而实现前述降低。
在一实施例中:
-每一消息中的代理名允许中央监视系统识别新代理。
-新代理消息中的公开鉴别密钥意味着在中央监视系统中密钥不需要被手动配置,且仅被用于验证新代理。
-语句集信息和数据库记录模板允许为新代理将报告的所有度量自动创建数据库记录。
-代理和度量名及树结构允许中央监视系统自动组织代理和度量以在任何报告和/或图形用户界面中呈现给中央监视系统的用户。
术语“高安全性操作系统”指任何具有强制访问控制的操作系统—例如,在将国家安全机构的安全增强应用于常规的Linux内核之后,可得到安全增强的Linux或SE Linux。强制访问控制是全系统控制运行的进程对操作系统资源如文件、目录、套接字、设备、共享的内存和进程间通信资源的访问。强制访问控制优先于可应用于操作系统资源的单独访问控制列表(ACL)。
如在此所述,一实施例使用高安全性操作系统作为主机的软件平台:
-工业控制系统,
-工业控制系统中的设备和通信控制器,
-安全和事件监视系统,及
-防火墙、路由器、网桥、网关及其它因特网通信设备。
一实施例使用高安全性操作系统存放上面列出类型的系统,且还产生适当的强制访问控制规则以较将这些系统存放在传统操作系统或网络加固操作系统上所能实现的安全度更安全地呈现这些列出的系统。
规则被设计,使得:
-运行每一网络可存取服务的所有操作系统进程在安全模块中运行,每一服务具有单独的模块。
-所有其它服务及长期运行的进程在一个或多个安全模块中运行,理想状态是每模块一服务,且对于不是服务的一部分的长期运行进程,理想状态也是每模块一进程。
-当用户登录或运行操作系统中的进程时,所有用户进程在不与其它用户或服务或长期运行进程共享的模块中运行。
-每一模块具有仅有权使用在模块中运行的进程必须有权使用的那些文件和目录的文件系统。
-每一模块具有对操作系统资源的最小访问—理想状态下没有访问—特别是任何其它模块的套接字、共享的内存和进程间通信资源。
现有的工业控制系统、工业控制系统中的设备和通信控制器、安全和事件监视系统、和防火墙、路由器、网桥、网关及其它因特网通信设备(系统)在常规操作系统上运行。这些可以是可通过商业途径获得的系统,它们可以是私人拥有的,它们可以是分时或实时或网络加固的,但没有增强强制访问控制。
大量系统被部署在网络加固的操作系统上,且这些系统值得特别提及,因为它们被广泛地认为较其它种类的操作系统更“安全”。然而,网络加固的操作系统的额外的“安全性”在可网络存取服务中是明显的,且操作系统的其它组件已被改进和简化以使它们的源代码更可理解,然后,该源代码检查最普通的脆弱点,包括缓冲器溢出攻击,及那些已修复的脆弱点。这导致操作系统较传统操作系统或任何其它类型的非强制访问控制操作系统明显更难侵入,成功的特权升级攻击导致操作系统和运行操作系统的设备/计算机的完全控制。
具有高度安全的操作系统,如果攻击者能够找到脆弱点并侵入系统,攻击者只具有安全模块的特权。这通常允许黑客修改服务的日志文件并可能在服务被允许向其写的目录中产生新文件。对“根”或“管理员”增加的特权不允许攻击者使操作系统绕过强制访问规则。
因此,高度安全的操作系统中的强制访问规则可用于限制黑客可导致的损害,如果它们攻击成功的话。成功的攻击者不能完全控制操作系统或设备,因而使用高度安全的操作系统的上列任一系统均明显地较不使用时更安全。
在历史上,高度安全的操作系统已被部署在大的分时计算设备上,其中许多不同的用户(人)共享同一设备。例如,具有“分类的”清除的军事人员与没有该清除的人员共享相同的计算机,或高中学校的计算机,其中聪明的学生永远与特权升级攻击一起玩。
然而,这样的操作系统不被使用于工业控制系统、控制系统设备控制器和控制系统通信控制器、安全和事件监视系统、和防火墙、路由器、网桥、网关及其它因特网通信设备。这样的系统还非常受益于高度安全的操作系统提供的增加的安全性,因为这些系统经常运行许多可网络存取服务,且这些系统中的权限的强制服务控制分段大大限制了黑客对那些系统管理、控制和实施的物理进程和通信网络的损害。
在本发明已结合所示的优选实施例详细描述的同时,其修改和改进对本领域那些技术人员而言将是很明显的。因而,本发明的实质和范围应仅由下述权利要求限制。
Claims (174)
1、控制网络连通性的方法,包括:
接收一个或多个输入;
根据所述一个或多个输入确定威胁等级指示符;及
根据所述威胁等级指示符选择所述网络中使用的防火墙配置。
2、根据权利要求1的方法,其中所述防火墙配置可从多个防火墙配置中选取,其中每一防火墙配置与不同的威胁等级指示符相关联。
3、根据权利要求2的方法,其中当所述第一威胁等级指示符的威胁等级高于所述第二威胁等级指示符时,与第一威胁等级指示符相关联的第一防火墙配置较与第二威胁等级指示符相关联的第二防火墙配置规定所述网络更限制性的连通性。
4、根据权利要求3的方法,其中与最高威胁等级指示符相关联的防火墙配置可规定使所述网络与所有其它不太信任的网络断开连接。
5、根据权利要求4的方法,其中所述断开连接可包括物理上将所述网络与其它网络断开连接。
6、根据权利要求4的方法,其中当当前威胁等级为不同于所述最高威胁等级指示符的级别时,所述网络被重新连接到所述不太信任的网络。
7、根据权利要求1的方法,还包括:
自动装入所述防火墙配置作为所述网络使用的当前防火墙配置。
8、根据权利要求1的方法,其中所述一个或多个输入包括至少下述之一:手动输入、关于所述网络中的系统的度量、关于所述网络的度量、使用包括一关于所述网络的度量的多个加权的度量确定的推导值、使用多个度量确定的推导值、及来自所述网络的外部信源。
9、根据权利要求8的方法,其中,如果指定所述手动输入,则所述手动输入可确定高于所有其它指示符的威胁等级指示符。
10、根据权利要求8的方法,其中所述多个加权的度量可包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、具有高级特权的用户数量。
11、根据权利要求10的方法,其中所述高级特权可对应于下述之一:管理员特权及根用户特权。
12、根据权利要求1的方法,其中所述额外的选择可选择下述之一或多个:反病毒配置、侵入防止配置、及侵入检测配置。
13、控制网络连通性的计算机程序产品,包括实现下述步骤的代码:
接收一个或多个输入;
根据所述一个或多个输入确定威胁等级指示符;
根据所述威胁等级指示符选择防火墙配置以供所述网络使用。
14、根据权利要求13的计算机程序产品,其中所述防火墙配置可从多个防火墙配置中选取,其中每一防火墙配置与不同的威胁等级指示符相关联。
15、根据权利要求14的计算机程序产品,其中当所述第一威胁等级指示符的威胁等级高于所述第二威胁等级指示符时,与第一威胁等级指示符相关联的第一防火墙配置较与第二威胁等级指示符相关联的第二防火墙配置规定所述网络更限制性的连通性。
16、根据权利要求15的计算机程序产品,其中与最高威胁等级指示符相关联的防火墙配置可规定使所述网络与所有其它不太信任的网络断开连接。
17、根据权利要求16的计算机程序产品,其中所述断开连接的代码可包括物理上将所述网络与其它网络断开连接。
18、根据权利要求16的计算机程序产品,其中当当前威胁等级为不同于所述最高威胁等级指示符的级别时,所述网络被重新连接到所述不太信任的网络。
19、根据权利要求13的计算机程序产品,还包括自动装入所述防火墙配置作为所述网络使用的当前防火墙配置的代码。
20、根据权利要求13的计算机程序产品,其中所述一个或多个输入可包括至少下述之一:手动输入、所述网络中的系统的度量、所述网络的度量、使用包括一关于所述网络的度量的多个加权的度量确定的推导值、使用多个度量确定的推导值、及来自所述网络的外部信源。
21、根据权利要求20的计算机程序产品,其中,如果指定所述手动输入,则手动输入可确定高于所有其它指示符的威胁等级指示符。
22、根据权利要求20的计算机程序产品,其中所述多个加权的度量可包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、具有高级特权的用户数量。
23、根据权利要求22的计算机程序产品,其中所述高级特权可对应于下述之一:管理员特权及根用户特权。
24、根据权利要求13的计算机程序产品,其中所述用于实现选择的代码可额外选择下述之一或多个:反病毒配置、侵入防止配置、及侵入检测配置。
25、通过代理进行事件报告的方法,包括:
接收数据;
确定所述数据是否表明自先前周期的报告之后第一次发生与度量相关联的感兴趣的事件;
如果所述确定步骤确定所述数据表明所述第一次发生则报告所述第一次发生的事件;
在第一时点在定期报告中报告包括所述度量的摘要。
26、根据权利要求25的方法,其中所述第一次发生的报告及所述摘要的所述报告均可在没有请求报告的情况下执行。
27、根据权利要求25的方法,其中用于所述第一次发生的报告及所述摘要的报告的数据可通过所述代理在应用级使用单向通信连接将数据通信给报告目的地而进行。
28、根据权利要求27的方法,其中所述第一次发生和所述摘要的报告还包括:
打开通信连接;
发送数据给所述报告目的地;及
关闭所述通信连接,所述代理仅发送数据给所述报告目的地而不从所述通信连接读取任何信息。
29、根据权利要求28的方法,其中所述通信连接是TCP或UDP套接字。
30、根据权利要求25的方法,其中所述定期报告包括自上一定期报告发送给报告目的地之后一时间间隔内所选择的一个或多个数据源组及相关联的值的摘要。
31、根据权利要求30的方法,其中所述所选择的一个或多个度量组是第一级的报告信息,所述定期报告包括第二级的报告信息,其用于执行至少下述之一:确定问题的原因,及对问题采取校正措施。
32、根据权利要求25的方法,其中所述第一次发生和所述摘要的报告包括将消息从所述代理传输给报告目的地,每一所述消息为固定的最大长度。
33、根据权利要求32的方法,其中所述定期报告由所述代理发送的时间间隔及包括在每一所述消息中的数据可根据至少下述之一进行确定:计算机系统上及所述代理包括于其中的网络上可用的资源。
34、根据权利要求33的方法,其中所述代理在第一计算机系统上执行并向另一计算机系统报告数据。
35、根据权利要求31的方法,还包括:
监控日志文件;及
从所述日志文件提取所述第二级的报告信息,其中所述日志文件包括所述代理正于其上执行的计算机系统的日志信息。
36、根据权利要求28的方法,其中所述代理可使用所述通信连接将XML通信传输给所述报告目的地。
37、根据权利要求25的方法,其中所述代理在固定的报告间隔内可报告的数据量的临界值可被指定,所述临界值等于或大于所述代理发送的每一摘要报告的固定最大长度。
38、根据权利要求25的方法,其中任一所述报告行为发送的报告可包括加密的校验和,以防止所述报告在从代理通信给网络中的接受者时被修改。
39、根据权利要求25的方法,其中所述报告行为可由发送报告的代理执行,所述报告包括下述之一:随持续时间递增的时间戳,及随持续时间递增的序号,其为所述报告的接受者使用。
40、根据权利要求39的方法,其中在验证所述接受者接收的报告是由所述代理发送的报告时,接受者可使用所述时间戳或所述序号之一,所述接受者处理所接收的具有所述时间戳或序号之一的报告,前述时间戳或序号大于与从所述代理接收的上一报告相关联的另一时间戳或序号。
41、根据权利要求31的方法,其中所述第二级报告信息可确定至少一个与攻击相关联的源,其中所述源是下述之一:用户、机器、应用程序,所述百分比表明事件与所述至少一种类型的攻击源相关联的百分比。
42、通过代理进行事件报告的方法,包括:
接收数据;
确定所述数据是否对应于与至少一安全性度量相关联的感兴趣事件;及
发送报告给报告目的地,所述报告包括固定时间间隔内的所述至少一安全性度量,其中所述报告被使用单向通信连接从在应用级通信数据的所述代理发送给所述报告目的地。
43、根据权利要求42的方法,其中所述代理仅可在所述单向通信连接上发送数据给所述报告目的地,而不能从所述通信连接读取任何信息。
44、根据权利要求42的方法,其中所述报告包括至少一与所接收的所述数据一致的性能度量。
45、通过代理进行事件报告的方法,包括:
接收数据;
确定所述数据是否指明感兴趣的安全事件;及
报告摘要,其包括在固定时间间隔内发生的所述感兴趣的安全事件多次发生的信息,所述摘要以预定时间间隔发送出去。
46、根据权利要求45的方法,其中所述报告摘要的行为可在没有请求报告的情况下执行。
47、根据权利要求45的方法,其中报告所述摘要可由所述代理执行,其在应用级使用单向通信连接将数据通信到报告目的地。
48、根据权利要求47的方法,其中报告所述摘要还包括:
打开通信连接;
发送数据给所述报告目的地;及
关闭所述通信连接,所述代理仅发送数据给所述报告目的地,而不从所述通信连接读取任何信息。
49、根据权利要求48的方法,其中所述通信连接是TCP或UDP套接字。
50、根据权利要求48的方法,其中所述代理使用所述通信连接将XML通信传输给所述报告目的地。
51、根据权利要求25的方法,其中报告所述摘要包括从所述代理传输定期消息给报告目的地,每一所述消息具有固定的最大长度。
52、通过代理进行事件报告的计算机程序产品,包括实现下述步骤的代码:
接收数据;
确定所述数据是否表明自先前周期的报告之后第一次发生与度量相关联的感兴趣的事件;
如果所述代码确定所述数据表明所述第一次发生则报告所述第一次发生的事件;及
在第一时点在定期报告中报告包括所述度量的摘要。
53、根据权利要求52的计算机程序产品,其中报告所述第一次发生的代码及报告所述摘要的代码均可在没有请求报告的情况下执行。
54、根据权利要求52的计算机程序产品,其中用于报告所述第一次发生的代码及报告所述摘要的代码的数据可由所述代理执行以在应用级使用单向通信连接将数据通信给报告目的地。
55、根据权利要求54的计算机程序产品,其中所述报告所述第一次发生的代码和所述报告所述摘要的代码中至少之一还可包括实现下述步骤的代码:
打开通信连接;
发送数据给所述报告目的地;及
关闭所述通信连接,所述代理仅发送数据给所述报告目的地而不从所述通信连接读取任何信息。
56、根据权利要求55的计算机程序产品,其中所述通信连接是TCP或UDP套接字。
57、根据权利要求52的计算机程序产品,其中所述定期报告可包括自上一定期报告发送给报告目的地之后一时间间隔内所选择的一个或多个数据源组及相关联的值的摘要。
58、根据权利要求57的计算机程序产品,其中所选择的一个或多个度量组可以是第一级的报告信息,所述定期报告可包括第二级的报告信息,其用于执行至少下述之一:确定问题的原因,及对问题采取校正措施。
59、根据权利要求52的计算机程序产品,其中报告所述第一次发生的代码和报告所述摘要的代码可包括将消息从所述代理传输给报告目的地的代码,每一所述消息为固定的最大长度。
60、根据权利要求59的计算机程序产品,其中所述定期报告由所述代理发送的时间间隔及包括在每一所述消息中的数据可根据至少下述之一进行确定:计算机系统上及所述代理包括于其中的网络上可用的资源。
61、根据权利要求60的计算机程序产品,其中代理可在第一计算机系统上执行并向另一计算机系统报告数据。
62、根据权利要求58的计算机程序产品,还包括实现下述步骤的代码:
监控日志文件;及
从所述日志文件提取所述第二级的报告信息,其中所述日志文件包括所述代理正于其上执行的计算机系统的日志信息。
63、根据权利要求55的计算机程序产品,其中代理可使用所述通信连接将XML通信传输给所述报告目的地。
64、根据权利要求52的计算机程序产品,其中所述代理在固定的报告间隔内可报告的数据量的临界值可被指定,所述临界值等于或大于所述代理发送的每一摘要报告的固定最大长度。
65、根据权利要求52的计算机程序产品,其中对任一所述代码发送的报告,报告可使用加密的校验和,以防止所述报告在从代理通信给网络中的接受者时被修改。
66、根据权利要求52的计算机程序产品,其中所述报告代码可由发送报告的代理执行,所述报告包括下述之一:随持续时间递增的时间戳,及随持续时间递增的序号,其为所述报告的接受者使用。
67、根据权利要求66的计算机程序产品,其中在验证所述接受者接收的报告是由所述代理发送的报告时,接受者可使用所述时间戳或所述序号之一,所述接受者处理所接收的具有所述时间戳或序号之一的报告,前述时间戳或序号大于与从所述代理接收的上一报告相关联的另一时间戳或序号。
68、根据权利要求58的计算机程序产品,其中所述第二级报告信息可确定至少一个与攻击相关联的源,其中所述源是下述之一:用户、机器、应用程序,所述百分比表明事件与所述至少一种类型的攻击源相关联的百分比。
69、通过代理进行事件报告的计算机程序产品,包括实现下述步骤的代码:
接收数据;
确定所述数据是否对应于与至少一安全性度量相关联的感兴趣事件;及
发送报告给报告目的地,所述报告包括固定时间间隔内的所述至少一安全性度量,其中所述报告被使用单向通信连接从在应用级通信数据的所述代理发送给所述报告目的地。
70、根据权利要求69的计算机程序产品,其中所述代理仅可在所述单向通信连接上发送数据给所述报告目的地,而不能从所述通信连接读取任何信息。
71、根据权利要求69的计算机程序产品,其中所述报告可包括至少一与所接收的所述数据一致的性能度量。
72、通过代理进行事件报告的计算机程序产品,包括实现下述步骤的代码:
接收数据;
确定所述数据是否指明感兴趣的安全事件;及
报告摘要,其包括在固定时间间隔内发生的所述感兴趣的安全事件多次发生的信息,所述摘要以预定时间间隔发送出去。
73、根据权利要求72的计算机程序产品,其中报告所述摘要的代码可在没有请求报告的情况下被执行。
74、根据权利要求72的计算机程序产品,其中用于报告所述摘要的所述代码的数据可由所述代理执行,其在应用级使用单向通信连接将数据通信到报告目的地。
75、根据权利要求74的计算机程序产品,其中报告所述摘要的代码还可包括实现下述步骤的代码:
打开通信连接;
发送数据给所述报告目的地;及
关闭所述通信连接,所述代理仅发送数据给所述报告目的地,而不从所述通信连接读取任何信息。
76、根据权利要求75的计算机程序产品,其中所述通信连接是TCP或UDP套接字。
77、根据权利要求75的计算机程序产品,其中将XML通信传输给所述报告目的地的代理可使用所述通信连接。
78、根据权利要求52的计算机程序产品,其中报告所述摘要的代码可包括从所述代理传输定期消息给报告目的地的代码,每一所述消息具有固定的最大长度。
79、事件通知方法,包括:
接收某一条件的第一报告;
发送关于所述条件的所述第一报告的第一通知消息;
在第一通知间隔发送关于所述条件的第二通知消息;
在固定时间间隔接收随后的报告;
如果在所述第二通知间隔期间所述条件仍在进行,则在第二通知间隔发送随后的通知消息,其中所述第二通知间隔的长度是所述第一通知间隔的数倍。
80、根据权利要求79的方法,其中所述第一报告可从第一计算机系统上的报告代理进行发送,其报告关于所述第一计算机系统及包括所述第一计算机系统的网络之一,所述通知消息均从第二计算机系统上的通知服务器发送。
81、根据权利要求79的方法,其中通知消息可在连续的通知间隔发送给通知点,其中所述连续的通知间隔中的每一个大约关于紧接其的前一通知间隔呈指数规律地增长。
82、根据权利要求80的方法,其中所述条件可与报警条件相关联,当当前度量水平与预定临界值不一致时报警条件可被设定。
83、根据权利要求79的方法,其中每一所述通知消息可包括关于所述条件的第一级信息及用于执行至少下述之一的第二级信息:确定所述条件的原因,对所述条件采取校正措施。
84、根据权利要求83的方法,其中选项可被包括在报告代理中以使能和禁止从发送所述第一报告的所述代理报告所述第二级信息给通知服务器。
85、根据权利要求83的方法,其中选项可用于使能和禁止包括所述第二级信息的条件通知消息。
86、根据权利要求82的方法,其中报警条件可与第一级警报相关联,当当前度量水平与所述预定临界值一致时所述第一级的警报状态可被保持,直到在所述第一级的所述警报状态被所述通知服务器承认接收到为止。
87、根据权利要求86的方法,其中当所述当前水平与预定临界值不一致时所述报警条件可转变为第二级警报,且另一临界值与第二级相关联,当当前度量水平与下述之一一致时,所述第二级警报被保持:所述预定临界值和所述其它临界值,直到所述第二级警报被所述通知服务器承认接收到为止。
88、根据权利要求79的方法,其中报告可从在工业网络中的计算机系统上运行的报告代理发送给包括在所述工业网络中的设备,每一所述报告包括在所述工业网络内发生的事件。
89、根据权利要求82的方法,其中报警条件可根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。
90、事件通知方法,包括:
在报告目的地接收某一条件的第一报告;及
从所述报告目的地发送通知消息给通知目的地,所述通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。
91、根据权利要求90的方法,其中所述摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。
92、根据权利要求90的方法,其中所述摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。
93、根据权利要求90的方法,其中所述摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
94、事件通知方法,包括:
在固定时间间隔接收潜在的网上攻击条件的报告;及
当所述条件超越通知临界值时发送关于所述条件的通知消息。
95、根据权利要求94的方法,其中通知临界值可使用报警条件根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。
96、根据权利要求94的方法,其中所述通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。
97、根据权利要求96的方法,其中摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。
98、根据权利要求96的方法,其中摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。
99、根据权利要求96的方法,其中摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
100、用于事件通知的计算机程序产品,包括实施下述步骤的代码:
接收某一条件的第一报告;
发送关于所述条件的所述第一报告的第一通知消息;
在第一通知间隔发送关于所述条件的第二通知消息;
在固定时间间隔接收随后的报告;及
如果在所述第二通知间隔期间所述条件仍在进行,则在第二通知间隔发送随后的通知消息,其中所述第二通知间隔的长度是所述第一通知间隔的数倍。
101、根据权利要求100的计算机程序产品,其中所述第一报告可从第一计算机系统上的报告代理进行发送,其报告关于所述第一计算机系统及包括所述第一计算机系统的网络之一,所述通知消息均从第二计算机系统上的通知服务器发送。
102、根据权利要求100的计算机程序产品,其中通知消息可在连续的通知间隔发送给通知点,其中所述连续的通知间隔中的每一个大约关于紧接其的前一通知间隔呈指数规律地增长。
103、根据权利要求101的计算机程序产品,其中所述条件可与报警条件相关联,当当前度量水平与预定临界值不一致时报警条件可被设定。
104、根据权利要求100的计算机程序产品,其中每一通知消息可包括关于所述条件的第一级信息及用于执行至少下述之一的第二级信息:确定所述条件的原因,对所述条件采取校正措施。
105、根据权利要求104的计算机程序产品,其中选项可被包括在报告代理中以使能和禁止从发送所述第一报告的所述代理报告所述第二级信息给通知服务器。
106、根据权利要求104的计算机程序产品,其中选项可用于使能和禁止包括所述第二级信息的条件通知消息。
107、根据权利要求103的计算机程序产品,其中报警条件可与第一级警报相关联,当当前度量水平与所述预定临界值一致时所述第一级的警报状态可被保持,直到在所述第一级的所述警报状态被所述通知服务器承认接收到为止。
108、根据权利要求107的计算机程序产品,其中当所述当前水平与预定临界值不一致时报警条件可转变为第二级警报,且另一临界值与第二级相关联,当当前度量水平与下述之一一致时,所述第二级警报被保持:所述预定临界值和所述其它临界值,直到所述第二级警报被所述通知服务器承认接收到为止。
109、根据权利要求100的计算机程序产品,其中报告可从在工业网络中的计算机系统上运行的报告代理发送给包括在所述工业网络中的设备,每一所述报告包括在所述工业网络内发生的事件。
110、根据权利要求103的计算机程序产品,其中报警条件可根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。
111、用于事件通知的计算机程序产品,包括用于实施下述步骤的代码:
在报告目的地接收某一条件的第一报告;及
从所述报告目的地发送通知消息给通知目的地,所述通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。
112、根据权利要求111的计算机程序产品,其中摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。
113、根据权利要求111的计算机程序产品,其中摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。
114、根据权利要求111的计算机程序产品,其中摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
115、用于事件通知的计算机程序产品,包括用于实施下述步骤的代码:
在固定时间间隔接收潜在的网上攻击条件的报告;及
当所述条件超越通知临界值时发送关于所述条件的通知消息。
116、根据权利要求115的计算机程序产品,其中通知临界值可使用报警条件根据多个加权的度量进行确定,所述多个加权的度量包括关于至少下述之一的度量:网络侵入检测、网络侵入阻止、失败的登录尝试次数、其特权级别高于与用户级账户相关联的级别的用户的数量。
117、根据权利要求115的计算机程序产品,其中通知消息包括关于在固定时间间隔中发生的事件的信息摘要,所述摘要确定至少下述之一:与在所述固定时间间隔内发生的攻击相关联的源及目标,与所述源及所述目标至少之一相关联的事件百分比。
118、根据权利要求117的计算机程序产品,其中摘要可确定与攻击相关的至少一源,其中所述源是下述之一:用户、机器、及应用程序,所述百分比指与所述至少一种类型的攻击源相关的事件百分比。
119、根据权利要求117的计算机程序产品,其中摘要可确定至少一与攻击相关联的目标,其中所述目标为下述之一:用户、机器、应用程序、及端口,所述百分比指与一类型攻击的所述至少一目标相关联的事件百分比。
120、根据权利要求117的计算机程序产品,其中摘要可确定相对于所述固定时间间隔中所有攻击的一部分类型的攻击代表。
121、监控工业网络的方法,包括:
由在所述工业网络中的所述第一计算机系统上运行的第一代理报告关于第一计算机系统的第一数据,所述第一计算机系统执行至少下述之一:监控或控制所述工业网络的物理过程,所述第一数据包括关于连同所述物理过程一起使用的软件的信息。
122、根据权利要求121的方法,还包括:
由在第二计算机系统上运行的第二代理报告关于所述工业网络和另一网络之间的连接上的通信的第二数据。
123、根据权利要求122的方法,其中由所述第二代理报告的第二数据可被包括在所述第一数据被发送至其的设备中。
124、根据权利要求121的方法,其中第一代理可报告至少下述之一:关键文件监控、所述第一计算机系统的日志文件、所述第一计算机系统的硬件和操作系统、密码和注册、及在所述计算机系统上运行的特殊应用程序,其中所述应用程序与所述工业网络的特定工业应用程序一致。
125、根据权利要求124的方法,其中多个代理可在所述第一计算机系统上运行以监控所述第一计算机系统。
126、根据权利要求125的方法,其中多个代理可包括主代理及执行预定的一组监控任务的其它代理,所述主代理控制所述其它代理的运行。
127、根据权利要求126的方法,其中多个代理可在预定间隔报告数据给设备及所述第二计算机系统之一。
128、根据权利要求127的方法,还可包括由所述多个代理中的至少一个执行:
从数据源获取数据;
分解所述数据;
在所述分解的数据上执行模式匹配以确定感兴趣的事件;
记录任何感兴趣的事件;
在时间间隔中根据所选择的事件的发生报告任何感兴趣的事件;
在预定时间间隔创建包括所述摘要的消息;及
加密至少一所述消息及所述消息的校验和。
129、根据权利要求121的方法,其中第一数据可包括至少下述度量之一:打开侦听连接的数量及异常过程终止的数量。
130、根据权利要求129的方法,其中当打开侦听连接的数量在第一水平之下时,对应于组件失效的事件可被确定。
131、根据权利要求129的方法,其中当打开侦听连接的数量在第二水平之上时,对应于新组件或未经认可的组件的事件可被确定。
132、根据权利要求122的方法,其中第二代理可根据一套规则报告网络活动,所述规则包括至少一规则,其指示商业网络中的事件在所述工业网络中被标记为可疑事件。
133、根据权利要求132的方法,其中所述事件可包括至少下述之一:与网浏览器相关联的事件、及与电子邮件相关联的事件。
134、根据权利要求122的方法,其中如果组件的物理设备标识符在先前不知道,第二代理可报告物理设备标识符的地址绑定到网络地址,或地址绑定中的所述网络地址是在自所述网络地址上一次被包括在地址绑定中时起在预定时间周期内所述网络地址的再分配。
135、根据权利要求122的方法,其中第二代理可报告关于防火墙的第二数据,且所述第二数据可包括至少下述之一:所保存的对应于预定威胁等级的防火墙配置的变化、当前控制所述工业网络和所述其它网络之间的操作的防火墙配置规则的当前设定的变化。
136、根据权利要求135的方法,其中与所述防火墙相关的日志文件可被远程保存在所述第二计算机系统上的位置,所述第二计算机系统具有用于所述第二计算机系统活动的日志文件。
137、根据权利要求122的方法,其中第二数据可包括至少一来自所述工业网络外部源的威胁评估。
138、根据权利要求137的方法,其中第二数据可包括至少下述之一:来自连接到所述工业网络的企业通信网的威胁等级指示符、来自公共网络源的威胁等级指示符、及手动输入的威胁等级指示符。
139、根据权利要求121的方法,还包括:
由接受者接收至少所述第一数据;
验证所述第一数据是由所述第一代理发送的数据;及
响应于所述验证,由所述接受者处理所述第一数据。
140、根据权利要求139的方法,其中验证可包括至少下述之一:验证所述第一代理的加密密钥的使用,及检验消息校验和的有效性,及使用时间戳或序号来检查由所述接受者接收的无效报告是由所述第一代理发送。
141、根据权利要求121的方法,其中报告可根据临界值大小执行,其中临界值大小指明所述第一代理在固定定期报告间隔中被允许传输的数据量。
142、用于监控工业网络的计算机程序产品,包括实施下述步骤的代码:
由在所述工业网络中的所述第一计算机系统上运行的第一代理报告关于第一计算机系统的第一数据,所述第一计算机系统执行至少下述之一:监控或控制所述工业网络的物理过程,所述第一数据包括关于连同所述物理过程一起使用的软件的信息。
143、根据权利要求142的计算机程序产品,还包括实施下面步骤的代码:
由在第二计算机系统上运行的第二代理报告关于所述工业网络和另一网络之间的连接上的通信的第二数据。
144、根据权利要求143的计算机程序产品,其中由所述第二代理报告的第二数据可被包括在所述第一数据被发送至其的设备中。
145、根据权利要求142的计算机程序产品,其中第一代理可报告至少下述之一:关键文件监控、所述第一计算机系统的日志文件、所述第一计算机系统的硬件和操作系统、密码和注册、及在所述计算机系统上运行的特殊应用程序,其中所述应用程序与所述工业网络的特定工业应用程序一致。
146、根据权利要求145的计算机程序产品,其中多个代理可在所述第一计算机系统上运行以监控所述第一计算机系统。
147、根据权利要求146的计算机程序产品,其中多个代理可包括主代理及执行预定的一组监控任务的其它代理,所述主代理控制所述其它代理的运行。
148、根据权利要求147的计算机程序产品,其中多个代理可在预定间隔报告数据给设备及所述第二计算机系统之一。
149、根据权利要求148的计算机程序产品,还包括由所述多个代理中的至少一个执行下述步骤的代码:
从数据源获取数据;
分解所述数据;
在所述分解的数据上执行模式匹配以确定感兴趣的事件;
记录任何感兴趣的事件;
在时间间隔中根据所选择的事件的发生报告任何感兴趣的事件;
在预定时间间隔创建包括所述摘要的消息;及
加密至少一所述消息及所述消息的校验和。
150、根据权利要求142的计算机程序产品,其中第一数据可包括至少下述度量之一:打开侦听连接的数量及异常过程终止的数量。
151、根据权利要求150的计算机程序产品,其中当打开侦听连接的数量在第一水平之下时,对应于组件失效的事件可被确定。
152、根据权利要求150的计算机程序产品,其中当打开侦听连接的数量在第二水平之上时,对应于新组件或未经认可的组件的事件可被确定。
153、根据权利要求143的计算机程序产品,其中第二代理可根据一套规则报告网络活动,所述规则包括至少一规则,其指示商业网络中的事件在所述工业网络中被标记为可疑事件。
154、根据权利要求153的计算机程序产品,其中事件可包括至少下述之一:与网浏览器相关联的事件、及与电子邮件相关联的事件。
155、根据权利要求143的计算机程序产品,其中如果组件的物理设备标识符在先前不知道,第二代理可报告物理设备标识符的地址绑定到网络地址,或地址绑定中的所述网络地址是在自所述网络地址上一次被包括在地址绑定中时起在预定时间周期内所述网络地址的再分配。
156、根据权利要求143的计算机程序产品,其中第二代理可报告关于防火墙的第二数据,且所述第二数据可包括至少下述之一:所保存的对应于预定威胁等级的防火墙配置的变化、当前控制所述工业网络和所述其它网络之间的操作的防火墙配置规则的当前设定的变化。
157、根据权利要求156的计算机程序产品,其中与所述防火墙相关的日志文件可被远程保存在所述第二计算机系统上的位置,所述第二计算机系统具有用于所述第二计算机系统活动的日志文件。
158、根据权利要求143的计算机程序产品,其中第二数据可包括至少一来自所述工业网络外部源的威胁评估。
159、根据权利要求158的计算机程序产品,其中第二数据可包括至少下述之一:来自连接到所述工业网络的企业通信网的威胁等级指示符、来自公共网络源的威胁等级指示符、及手动输入的威胁等级指示符。
160、根据权利要求142的计算机程序产品,还包括用于实施下述步骤的代码:
由接受者接收至少所述第一数据;
验证所述第一数据是由所述第一代理发送的数据;及
响应于所述验证,由所述接受者处理所述第一数据。
161、根据权利要求160的计算机程序产品,其中验证代码可包括至少下述之一:验证所述第一代理的加密密钥的使用及检验消息校验和的有效性的代码,及使用时间戳或序号来检查由所述接受者接收的无效报告是由所述第一代理发送的代码。
162、根据权利要求142的计算机程序产品,其中报告代码可使用临界值大小,其指明所述第一代理在固定定期报告间隔中被允许传输的数据量。
163、检查网络中不合需要的消息的方法,包括:
在所述网络中接收消息;
根据至少一定义所述网络中的可接受消息的规则确定所述消息是否不合需要;及
如果所述消息未被确定为与所述至少一规则一致,则将所述消息报告为不合需要。
164、根据权利要求163的方法,还包括:
定义另一规则,其用于确定另外的消息类型在所述网络中是否可被确定为可接受。
165、用于检查网络中不合需要的消息的计算机程序产品,包括实施下述步骤的代码:
在所述网络中接收消息;
根据至少一定义所述网络中的可接受消息的规则确定所述消息是否不合需要;及
如果所述消息未被确定为与所述至少一规则一致,则将所述消息报告为不合需要。
166、根据权利要求165的计算机程序产品,还包括代码:
其定义另一规则以用于确定另外的消息类型在所述网络中是否可被确定为可接受。
167、执行定期文件系统总校验的方法,包括:
接收两或多组文件系统记录,每一组代表一个或多个文件系统记录的分组;
从每一组选择零或更多个记录;及
在报告周期期间对每一从每一组选择的记录执行总校验。
168、根据权利要求167的方法,其中所述两或多组中的每一组可对应于预定的分类等级。
169、根据权利要求168的方法,其中如果第一分类等级比第二分类等级更重要,所述第一分类等级可包括比所述第二分类等级少的记录。
170、根据权利要求168的方法,其中来自每一组的大量记录可根据与所述组相关联的重要性等级进行确定。
171、执行定期文件系统总校验的计算机程序产品,包括实施下述步骤的代码:
接收两或多组文件系统记录,每一组代表一个或多个文件系统记录的分组;
从每一组选择零或更多个记录;及
在报告周期期间对每一从每一组选择的记录执行总校验。
172、根据权利要求171的计算机程序产品,其中所述两或多组中的每一组可对应于预定的分类等级。
173、根据权利要求172的计算机程序产品,其中如果第一分类等级比第二分类等级更重要,所述第一分类等级可包括比所述第二分类等级少的记录。
174、根据权利要求172的计算机程序产品,其中来自每一组的大量记录可根据与所述组相关联的重要性等级进行确定。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47708803P | 2003-06-09 | 2003-06-09 | |
US60/477,088 | 2003-06-09 | ||
US10/815,222 | 2004-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1820262A true CN1820262A (zh) | 2006-08-16 |
Family
ID=36919522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200480018697 Pending CN1820262A (zh) | 2003-06-09 | 2004-06-08 | 事件监控及管理 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1820262A (zh) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925196A (zh) * | 2009-06-15 | 2010-12-22 | 上海远动科技有限公司 | 基于pda的web信息系统 |
CN102124469A (zh) * | 2008-09-11 | 2011-07-13 | 高通股份有限公司 | 用于安全地传送关于被破解计算装置的位置的信息的方法 |
CN102332988A (zh) * | 2011-06-21 | 2012-01-25 | 杭州华三通信技术有限公司 | 一种监控系统中告警信息的传输方法和设备 |
CN101739332B (zh) * | 2009-12-28 | 2012-01-25 | 北京神州泰岳软件股份有限公司 | 一种利用矩阵展示计算机安全信息的方法及系 统 |
CN102474532A (zh) * | 2009-08-13 | 2012-05-23 | 国际商业机器公司 | 自动检测ip网络的地址范围 |
CN102621957A (zh) * | 2012-03-27 | 2012-08-01 | 上海市电力公司 | 电力隧道运营监控与维护一体化系统 |
CN101414996B (zh) * | 2007-10-15 | 2012-12-05 | 北京瑞星信息技术有限公司 | 防火墙及其方法 |
CN102902246A (zh) * | 2012-09-04 | 2013-01-30 | 江苏兆鋆新材料科技有限公司 | 一种塑料挤出机组的在线监测维护系统 |
CN103154898A (zh) * | 2010-05-14 | 2013-06-12 | 哈尼施费格尔技术公司 | 机器警示的远程监视 |
CN103809577A (zh) * | 2014-03-04 | 2014-05-21 | 北京七星华创电子股份有限公司 | 一种用于半导体加工设备的报警集中处理方法 |
US8850568B2 (en) | 2008-03-07 | 2014-09-30 | Qualcomm Incorporated | Method and apparatus for detecting unauthorized access to a computing device and securely communicating information about such unauthorized access |
CN104204973A (zh) * | 2012-02-01 | 2014-12-10 | Abb研究有限公司 | 工业控制系统的动态配置 |
CN101458641B (zh) * | 2007-12-14 | 2015-06-03 | Utc消防和保安美国有限公司 | 防止计算机化安全系统故障的方法和装置 |
CN105871818A (zh) * | 2015-02-06 | 2016-08-17 | 霍尼韦尔国际公司 | 防止安全系统和组件的劫持的系统和方法 |
US9450819B2 (en) | 2012-10-12 | 2016-09-20 | Cisco Technology, Inc. | Autonomic network sentinels |
CN107463450A (zh) * | 2017-07-26 | 2017-12-12 | 中国联合网络通信集团有限公司 | 容器的数据处理方法和装置 |
CN108055169A (zh) * | 2011-09-02 | 2018-05-18 | 贸易技术国际公司 | 消息流完整性 |
CN108713310A (zh) * | 2016-02-15 | 2018-10-26 | 策安保安有限公司 | 用于对在线和传输中信息安全数据进行压缩和优化的方法和系统 |
CN109344620A (zh) * | 2018-09-07 | 2019-02-15 | 国网福建省电力有限公司 | 一种基于对hadoop安全配置的检测方法 |
CN110232792A (zh) * | 2019-05-16 | 2019-09-13 | 中石化石油工程技术服务有限公司 | 基于scada系统的智能报警技术及辅助操作方法 |
CN110365527A (zh) * | 2019-07-09 | 2019-10-22 | 北京锐安科技有限公司 | 运维监测方法和系统 |
CN111466107A (zh) * | 2017-12-15 | 2020-07-28 | 通用汽车环球科技运作有限责任公司 | 用于载具内控制器的以太网网络剖析入侵检测控制逻辑和架构 |
CN111460230A (zh) * | 2020-03-25 | 2020-07-28 | 中国人民解放军国防科技大学 | 一种自修复的计数式摘要方法 |
CN111767463A (zh) * | 2020-06-30 | 2020-10-13 | 北京同邦卓益科技有限公司 | 信息处理方法、装置及存储介质 |
CN111936991A (zh) * | 2018-04-10 | 2020-11-13 | 三菱电机株式会社 | 安全装置以及嵌入设备 |
CN112241533A (zh) * | 2019-07-18 | 2021-01-19 | 西门子股份公司 | 为工业化边界设备提供应用容器的安全信息的方法和系统 |
CN112654932A (zh) * | 2018-07-10 | 2021-04-13 | 沙特阿拉伯石油公司 | 使用表格化信息识别进行cogen-mom集成 |
CN112840602A (zh) * | 2018-10-22 | 2021-05-25 | Abb瑞士股份有限公司 | 用于监测基于snmp的网络中的多个设备的方法和控制系统 |
CN113010898A (zh) * | 2021-03-25 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种应用程序安全测试方法和相关装置 |
CN113625665A (zh) * | 2020-05-08 | 2021-11-09 | 罗克韦尔自动化技术公司 | 集中式安全事件生成策略 |
CN114416484A (zh) * | 2022-01-20 | 2022-04-29 | 科东(广州)软件科技有限公司 | 一种异构系统的监控装置及方法 |
-
2004
- 2004-06-08 CN CN 200480018697 patent/CN1820262A/zh active Pending
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414996B (zh) * | 2007-10-15 | 2012-12-05 | 北京瑞星信息技术有限公司 | 防火墙及其方法 |
CN101458641B (zh) * | 2007-12-14 | 2015-06-03 | Utc消防和保安美国有限公司 | 防止计算机化安全系统故障的方法和装置 |
US8850568B2 (en) | 2008-03-07 | 2014-09-30 | Qualcomm Incorporated | Method and apparatus for detecting unauthorized access to a computing device and securely communicating information about such unauthorized access |
US8839460B2 (en) | 2008-03-07 | 2014-09-16 | Qualcomm Incorporated | Method for securely communicating information about the location of a compromised computing device |
CN102124469A (zh) * | 2008-09-11 | 2011-07-13 | 高通股份有限公司 | 用于安全地传送关于被破解计算装置的位置的信息的方法 |
CN101925196A (zh) * | 2009-06-15 | 2010-12-22 | 上海远动科技有限公司 | 基于pda的web信息系统 |
US9112945B2 (en) | 2009-08-13 | 2015-08-18 | International Business Machines Corporation | Automatic address range detection for IP networks |
CN102474532B (zh) * | 2009-08-13 | 2014-08-06 | 国际商业机器公司 | 自动检测ip网络的地址范围 |
CN102474532A (zh) * | 2009-08-13 | 2012-05-23 | 国际商业机器公司 | 自动检测ip网络的地址范围 |
US8989198B2 (en) | 2009-08-13 | 2015-03-24 | International Business Machines Corporation | Automatic address range detection for IP networks |
CN101739332B (zh) * | 2009-12-28 | 2012-01-25 | 北京神州泰岳软件股份有限公司 | 一种利用矩阵展示计算机安全信息的方法及系 统 |
CN103154898A (zh) * | 2010-05-14 | 2013-06-12 | 哈尼施费格尔技术公司 | 机器警示的远程监视 |
US11092951B2 (en) | 2010-05-14 | 2021-08-17 | Joy Global Surface Mining Inc | Method and system for predicting failure of mining machine crowd system |
US9372482B2 (en) | 2010-05-14 | 2016-06-21 | Harnischfeger Technologies, Inc. | Predictive analysis for remote machine monitoring |
CN103154898B (zh) * | 2010-05-14 | 2016-07-06 | 哈尼施费格尔技术公司 | 机器警示的远程监视 |
US9971346B2 (en) | 2010-05-14 | 2018-05-15 | Harnischfeger Technologies, Inc. | Remote monitoring of machine alarms |
CN102332988A (zh) * | 2011-06-21 | 2012-01-25 | 杭州华三通信技术有限公司 | 一种监控系统中告警信息的传输方法和设备 |
CN102332988B (zh) * | 2011-06-21 | 2017-03-22 | 浙江宇视科技有限公司 | 一种监控系统中告警信息的传输方法和设备 |
CN108055169A (zh) * | 2011-09-02 | 2018-05-18 | 贸易技术国际公司 | 消息流完整性 |
US9678492B2 (en) | 2012-02-01 | 2017-06-13 | Abb Research Ltd. | Dynamic configuration of an industrial control system |
CN104204973A (zh) * | 2012-02-01 | 2014-12-10 | Abb研究有限公司 | 工业控制系统的动态配置 |
CN104204973B (zh) * | 2012-02-01 | 2017-08-04 | Abb研究有限公司 | 工业控制系统的动态配置 |
CN102621957A (zh) * | 2012-03-27 | 2012-08-01 | 上海市电力公司 | 电力隧道运营监控与维护一体化系统 |
CN102902246A (zh) * | 2012-09-04 | 2013-01-30 | 江苏兆鋆新材料科技有限公司 | 一种塑料挤出机组的在线监测维护系统 |
CN104487989B (zh) * | 2012-10-12 | 2017-09-08 | 思科技术公司 | 自主网络哨兵 |
US9450819B2 (en) | 2012-10-12 | 2016-09-20 | Cisco Technology, Inc. | Autonomic network sentinels |
CN103809577B (zh) * | 2014-03-04 | 2016-06-01 | 北京七星华创电子股份有限公司 | 一种用于半导体加工设备的报警集中处理方法 |
CN103809577A (zh) * | 2014-03-04 | 2014-05-21 | 北京七星华创电子股份有限公司 | 一种用于半导体加工设备的报警集中处理方法 |
CN105871818A (zh) * | 2015-02-06 | 2016-08-17 | 霍尼韦尔国际公司 | 防止安全系统和组件的劫持的系统和方法 |
CN108713310A (zh) * | 2016-02-15 | 2018-10-26 | 策安保安有限公司 | 用于对在线和传输中信息安全数据进行压缩和优化的方法和系统 |
CN108713310B (zh) * | 2016-02-15 | 2022-02-25 | 策安保安有限公司 | 一种确定冗余离散原始警报的方法和系统 |
CN107463450A (zh) * | 2017-07-26 | 2017-12-12 | 中国联合网络通信集团有限公司 | 容器的数据处理方法和装置 |
CN107463450B (zh) * | 2017-07-26 | 2020-01-31 | 中国联合网络通信集团有限公司 | 容器的数据处理方法和装置 |
CN111466107A (zh) * | 2017-12-15 | 2020-07-28 | 通用汽车环球科技运作有限责任公司 | 用于载具内控制器的以太网网络剖析入侵检测控制逻辑和架构 |
CN111936991A (zh) * | 2018-04-10 | 2020-11-13 | 三菱电机株式会社 | 安全装置以及嵌入设备 |
CN112654932B (zh) * | 2018-07-10 | 2022-11-25 | 沙特阿拉伯石油公司 | 使用表格化信息识别进行cogen-mom集成 |
CN112654932A (zh) * | 2018-07-10 | 2021-04-13 | 沙特阿拉伯石油公司 | 使用表格化信息识别进行cogen-mom集成 |
CN109344620B (zh) * | 2018-09-07 | 2021-08-31 | 国网福建省电力有限公司 | 一种基于对hadoop安全配置的检测方法 |
CN109344620A (zh) * | 2018-09-07 | 2019-02-15 | 国网福建省电力有限公司 | 一种基于对hadoop安全配置的检测方法 |
CN112840602A (zh) * | 2018-10-22 | 2021-05-25 | Abb瑞士股份有限公司 | 用于监测基于snmp的网络中的多个设备的方法和控制系统 |
CN112840602B (zh) * | 2018-10-22 | 2024-04-16 | Abb瑞士股份有限公司 | 用于监测基于snmp的网络中的多个设备的方法和控制系统 |
CN110232792A (zh) * | 2019-05-16 | 2019-09-13 | 中石化石油工程技术服务有限公司 | 基于scada系统的智能报警技术及辅助操作方法 |
CN110365527A (zh) * | 2019-07-09 | 2019-10-22 | 北京锐安科技有限公司 | 运维监测方法和系统 |
CN110365527B (zh) * | 2019-07-09 | 2022-04-26 | 北京锐安科技有限公司 | 运维监测方法和系统 |
CN112241533A (zh) * | 2019-07-18 | 2021-01-19 | 西门子股份公司 | 为工业化边界设备提供应用容器的安全信息的方法和系统 |
CN111460230A (zh) * | 2020-03-25 | 2020-07-28 | 中国人民解放军国防科技大学 | 一种自修复的计数式摘要方法 |
CN113625665B (zh) * | 2020-05-08 | 2023-12-05 | 罗克韦尔自动化技术公司 | 集中式安全事件生成策略 |
CN113625665A (zh) * | 2020-05-08 | 2021-11-09 | 罗克韦尔自动化技术公司 | 集中式安全事件生成策略 |
CN111767463A (zh) * | 2020-06-30 | 2020-10-13 | 北京同邦卓益科技有限公司 | 信息处理方法、装置及存储介质 |
CN113010898A (zh) * | 2021-03-25 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种应用程序安全测试方法和相关装置 |
CN113010898B (zh) * | 2021-03-25 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种应用程序安全测试方法和相关装置 |
CN114416484A (zh) * | 2022-01-20 | 2022-04-29 | 科东(广州)软件科技有限公司 | 一种异构系统的监控装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1820262A (zh) | 事件监控及管理 | |
US11973772B2 (en) | Multistage analysis of emails to identify security threats | |
US11743294B2 (en) | Retrospective learning of communication patterns by machine learning models for discovering abnormal behavior | |
US11032312B2 (en) | Programmatic discovery, retrieval, and analysis of communications to identify abnormal communication activity | |
AU2019403265B2 (en) | Threat detection platforms for detecting, characterizing, and remediating email-based threats in real time | |
US11496505B2 (en) | Detection and prevention of external fraud | |
US11418523B2 (en) | Artificial intelligence privacy protection for cybersecurity analysis | |
US10911489B1 (en) | Discovering email account compromise through assessments of digital activities | |
US20220394057A1 (en) | Investigation of threats using queryable records of behavior | |
US20210266294A1 (en) | Discovering email account compromise through assessments of digital activities | |
KR20140035146A (ko) | 정보보안 장치 및 방법 | |
Hazrati et al. | On-farm data security: practical recommendations for securing farm data | |
CN113361933A (zh) | 一种跨企业协同的集中管控中心 | |
Bansod et al. | Importance of Cybersecurity and RegTech in FinTech. | |
Hertteli | Improving IT administration security by using security controls based on security frameworks | |
JP2016057939A (ja) | 不正アクセス検出システム、不正アクセス検出方法および不正アクセス検出プログラム | |
Alayed et al. | Addressing Internet security vulnerabilities: A benchmarking study | |
Chitikala | Security for IT assets in oil & gas industry | |
Gertman et al. | Integrating incident reporting in risk analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: INDUSTRIAL GUARDIAN CO.,LTD. Free format text: FORMER OWNER: VERANO INC. Effective date: 20071019 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20071019 Address after: Massachusetts Applicant after: Industrial Guardian company Address before: Massachusetts Applicant before: Verano Inc. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20060816 |