增强的智能过程控制交换机端口锁定的制作方法

文档序号:17375205发布日期:2019-04-12 23:13阅读:150来源:国知局
增强的智能过程控制交换机端口锁定的制作方法

本公开内容总体上涉及过程控制系统,具体而言,涉及用于锁定智能过程控制交换机的端口的技术。



背景技术:

如通常用于发电、化学、石油或其他过程的过程控制系统(诸如分布式或可扩展过程控制系统)通常包括一个或多个过程控制器,它们彼此通信地耦合,经由过程控制网络耦合到至少一个主机或操作员工作站,并经由模拟、数字、组合模拟/数字总线耦合到一个或多个现场设备。

现场设备可以是例如阀、阀定位器、开关、变送器(例如,温度、压力和流率传感器),在过程或工厂内执行功能,诸如开启或关闭阀、开关设备以及测量过程参数。

通常位于过程工厂环境内的过程控制器接收指示过程测量或由现场设备产生或与现场设备相关联的过程变量和/或与现场设备有关的其他信息的信号,并执行控制器应用程序或例程。每个控制器使用所接收的信息来实现控制例程并生成通过总线发送到现场设备的控制信号,以控制过程或工厂的操作。一个或多个控制器例程实现控制模块,该控制模块做出过程控制决策,基于接收的信息生成控制信号,并与现场设备(例如和现场总线现场设备)中的控制模块或块配合。过程控制器中的控制模块通过通信线路或信号路径将控制信号发送到现场设备,从而控制过程的操作。

来自现场设备和过程控制器的信息通常经由过程控制网络可用于一个或多个其他硬件设备,诸如操作员工作站、维护工作站、个人计算机、手持设备、数据历史记录、报告生成器、集中式数据库等。通过网络传送的信息使操作员或维护人员能够执行关于该过程的期望功能。例如,该信息允许操作员更改过程控制例程的设置,修改过程控制器或智能现场设备内的控制模块的操作,查看过程工厂内特定设备的过程或状况的当前状态,查看现场设备和过程控制器生成的警报,模拟过程的操作,以便培训人员或测试过程控制软件,诊断过程工厂内的问题或硬件故障等。

现场设备通常通过过程控制网络与硬件设备通信,过程控制网络可以是以太网配置的lan。网络通过各种网络设备将过程参数、网络信息和其他过程控制数据中继到过程控制系统中的各种实体。网络设备通常通过控制其路由、帧速率、超时和其他网络参数来促进通过网络的数据流,但是不改变过程数据本身。一些典型的网络设备包括例如第2层网络交换机、第3层网络交换机、路由器和/或集线器。由此提及的层与osi模型层有关。

一般而言,第2层网络交换机接收消息并经由其与lan内的目的地设备的mac地址(由消息标识)相关联的一个端口转发所接收的消息。第2层网络交换机通常储存建立mac地址和对应的交换机端口之间关系的表。当第2层网络交换机收到消息时,它会识别消息的目的地mac地址,从表中识别与mac地址对应的交换机端口,并经由该端口转发消息。如果第2层网络交换机收到的消息的目的地mac地址未储存在表中,则它会将消息广播到交换机的所有端口,这可以重复,直到消息到达目的地设备并且目的地设备回复为止,从而向交换机通知“映射”到目的地mac地址的适当端口。值得注意的是,第2层交换机不执行路由,不利用ip地址做出转发决策,也不跟踪交换机和目的地设备之间的中间节点。相反,第2层交换机只是参考该表来确定应该使用哪个交换机端口来转发消息。

另一方面,第3层设备(诸如路由器和第3层交换机)经常执行路由,识别中间节点,并利用ip地址进行转发和/或路由。这种路由功能和利用网络地址的能力使第3层设备能够将数据路由到第3层设备所连接的lan外部的目的地。虽然路由器和第3层网络交换机有时能够在过程控制网络中路由过程控制数据,但路由器和第3层交换机比第2层交换机昂贵得多,特别是在为过程控制环境中的操作而设计或配置时(例如,贵两到三倍)。

随着过程控制网络的大小和复杂性增加,网络设备的数量和类型相应地增加。由于系统和网络的增长,这些复杂系统中的安全性和管理变得越来越具有挑战性。例如,每个网络设备可以包括一个或多个通信端口,其提供用于跨过网络将过程控制系统部件和其他网络设备物理地彼此互连的接入点或端口。这些网络设备端口可以通过添加其他设备而成为网络扩展的接入点,或者可以允许恶意或非恶意的实体接入网络并发起不想要的和可能有害的网络流量。

为了解决关于恶意实体的安全问题,一些控制交换机具有用于禁用端口(例如,未使用的端口)的禁用机制以防止设备经由禁用端口进行通信。此外,一些控制交换机有时具有锁定机构(例如,如美国专利no.8,590,033中公开的),其可以“锁定”端口以限制经由锁定端口与在锁定时间连接到该端口的单个设备的通信。然而,这些传统的锁定机制是有限的。特别地,传统的锁定机制无法锁定(i)具有多于两个连接设备的端口和/或(ii)连接到第二交换机的端口(有时称为“上行链路端口”)。上行链路端口通常被排除在网络安全锁定之外(即,保留未锁定),以便在锁定期间维持上行链路端口功能并且避免无意中实现干扰工厂操作的过度限制性锁定。此外,一些交换机响应于识别连接到端口的多个设备并假设端口连接到交换机,而将连接到菊花链设备的端口分类为“上行链路端口”。因此,虽然一些控制交换机可以实现传统的锁定机制以防止恶意设备经由先前未使用的端口(例如,通过禁用该端口)或者仅连接到单个终端设备的端口(例如,通过锁定该端口)连接到网络,这些交换机在连接到上行链路交换机、多于两个终端设备或具有多个物理地址的单个设备(例如,虚拟系统)的任何端口上,仍然易受攻击。



技术实现要素:

所描述的方法和系统使得过程控制交换机能够锁定其所有端口和/或识别经由所述过程控制交换机的每个端口进行通信的每个设备的物理和网络地址的“已知对”。

在一个实施例中,过程控制交换机包括多个端口和通信地连接到所述多个端口的电路集合。所述电路集合可以被配置为锁定所述多个端口,其中,所述电路集合:(a)产生静态地址表(i),其将过程控制环境中的设备的已知物理地址映射到所述设备所连接的所述多个端口中的一个或多个端口,及(ii)在锁定所述多个端口时没有用新的已知物理地址来更新,其中,所述静态地址表将多个已知物理地址映射到单个端口,所述单个端口连接到可解锁或非管理型交换机或菊花链设备;和/或(b)限制所述多个端口中的每个端口的流量,其中,所述电路集合:(i)控制在每个端口处转发的消息的数量以符合流量阈值,以及(ii)认证包括在每个端口处接收到的所述消息中的每条消息的源物理地址。为了认证所述源物理地址,所述电路集合可以:(a)分析所述消息以识别包括在所述消息中的源物理地址;(b)当所述静态地址表将所述源物理地址列为映射到所述单个端口的已知物理地址时,经由所述多个端口中的一个端口转发所述消息;及(c)当所述静态地址表没有将所述源物理地址列为映射到所述单个端口的已知物理地址时,丢弃所述消息。

在一个实施例中,一种过程控制交换机包括多个端口和通信地连接到所述多个端口的电路集合。所述电路集合可以被配置为实现锁定操作,其中,所述电路集合:(a)检测所述多个端口中的一个端口连接到第二交换机;(b)分析与所述第二交换机的握手,以确定所述第二交换机是否是可锁定的;(c)当所述电路集合确定所述第二交换机是可锁定的时,转发从所述第二交换机接收的消息而无需认证所述消息的源物理地址;和/或(d)当所述电路集合确定所述第二交换机是不可锁定的时,认证包括在所述端口处接收的消息中的源物理地址,以便分析在所述端口处接收的消息以确定所接收的消息是否标识包括在已知物理地址列表中的源物理地址。

注意,已经提供了本发明内容以介绍以下在具体实施方式中进一步描述的一系列概念。如在实施方式中所解释的,某些实施例可以包括本发明内容中未描述的特征和优点,并且某些实施例可以省略本发明内容中描述的一个或多个特征和/或优点。

附图说明

根据实施例,下面描述的每个附图示出了所公开的系统和/或方法的一个或多个方面。具体实施方式参考包括在以下附图中的附图标记。

图1a是过程工厂内的过程控制系统的示意图,其中可以实现智能过程控制交换机以增强网络安全性并促进网络管理和维护。

图1b是过程工厂内的过程控制系统的第二示意图,其中可以实现图1a中所示的智能过程控制交换机以增强网络安全性并促进网络管理和维护。

图1c示出了通常可以使用以太网协议通过过程控制系统传送的基本数据单元或帧。

图2a是示例性过程控制网络的网络图,其中实现智能过程控制交换机集合(每个智能过程控制交换机类似于图1a和1b所示的那些)以改善锁定性能并增强网络安全性。

图2b是第二示例性过程控制网络的网络图,其中实现智能过程控制交换机集合以改善锁定性能并增强网络安全性。

图2c是图1a、1b和2a中所示的智能过程控制交换机的方框图。

图3a示出了用于锁定和解锁图1a-2c中所示的一个或多个智能过程控制交换机的端口的示例性方法。

图3b示出了用于在接收到锁定命令后锁定图1a-2c中所示的智能过程控制交换机的端口的示例性方法。

图3c示出了用于解锁图1a、1b、2a和2b中所示的智能过程控制交换机的示例性方法。

图4a示出了可以被提供以便于锁定和解锁图1a-2c中所示的智能过程控制交换机的示例性用户界面。

图4b示出了填充有未锁定交换机集合的图4a中所示的示例性用户界面。

图4c示出了填充有锁定交换机集合的图4a和4b中所示的示例性用户界面。

图4d示出了填充有具有“锁定待决”状态的交换机集合的图4a、4b和4c中所示的示例性用户界面。

图5示出了图2c中所示的地址匹配表的示例。

图6示出了实现图2c和5中所示的地址匹配表以提高了过程工厂内过程控制系统的安全性的示例性方法的方框图。

图7示出了检测与图1a-2c中所示的智能过程控制交换机相关联的安全问题的示例性方法的方框图。

具体实施方式

本公开内容说明了过程控制交换机146(在图1a、1b和2c中示出,并且有时被称为“交换机146”),其能够(i)实现锁定操作或例程,以锁定其专供具有已知物理地址的设备使用的通信端口,和/或(ii)实施地址映射(mapping)操作或例程,以识别经由交换机146通信的每个设备的物理和网络地址的“已知对”。

一般而言,交换机可以分为两类:可配置交换机和不可配置交换机。可配置交换机(有时称为“管理型交换机”)能够具有由用户配置的各种网络设置(例如,端口速度、虚拟lan、冗余、端口镜像和用于流量优先级的服务质量(qos)等),使得交换机可以适于特定实施方式。不可配置交换机(有时称为“非管理型交换机”)通常由制造商根据oem规范配置,其网络设置不能由最终用户轻易修改。虽然可配置交换机经常在需要对流量的输入和控制的环境(例如,工业环境)中找到,但是不可配置交换机通常针对需要较少复杂使用的环境(例如,家庭或小型办公室)。

一般而言,如本文所使用的,短语“管理型交换机”与如上所述的短语“可配置交换机”不是同义的,并且短语“非管理型交换机”与如上所述的短语“不可配置交换机”不是同义的。相反,术语“管理型”和“非管理型”是指交换机的可锁定性。即,如本文所使用的,“管理型交换机”指的是具有本文所述的锁定功能的交换机,“非管理型交换机”指的是缺少本文所述的锁定功能的交换机。因为交换机146被配置为实现所描述的锁定操作,所以交换机146可以被称为“管理型交换机”。

锁定操作使得交换机146能够锁定其端口,使得连接到其端口的设备在锁定时间成为被授权继续使用该端口的“已知”设备,而不允许任何“新”设备经由该端口进行通信。即,在锁定交换机146之后,交换机146“丢弃”从连接到交换机146的“新”设备接收的通信,从而使交换机146能够保护其端口免受新连接的恶意设备的攻击。一般而言,术语“连接”,当参考设备和交换机146的端口使用时,是指端口与物理介质(例如,诸如cat5或cat6电缆的以太网电缆)之间的物理连接,使得能够在交换机146和设备之间进行通信。物理介质可以直接或间接地经由便于与设备通信的一个或多个中间设备连接到设备。

当实现锁定操作时,交换机146可以为连接(直接或间接)到交换机146的每个端口的所有已知设备生成物理地址(例如,mac地址)的记录(例如,静态地址表)。与传统的控制交换机不同,交换机146可以生成连接到单个端口的两个以上物理设备的记录。例如,当三个、四个、五个或更多设备以菊花链方式链接到单个端口时,交换机146可以为菊花链连接到单个端口的多个设备中的每个设备生成物理地址的记录。因此,交换机146可以“锁定”每个端口,并且经由交换机146仅为具有已知物理地址(例如,在启动锁定时与记录中的物理地址匹配的源物理地址)的那些设备实现通信。在这种情况下,当恶意设备在锁定之后物理地连接到交换机146的端口时,交换机146将不转发来自恶意设备的消息(假设其物理地址与在锁定时连接到该端口的设备的物理地址不匹配)。因此,交换机146可以防止恶意设备加入控制网络,从而防止恶意设备从控制网络收集敏感信息或者对连接到控制网络的设备进行未经授权的控制。

响应于交换机146接收根据设备检测到交换机146所连接的网络上的安全威胁而传送的锁定命令,可以由交换机146实现锁定操作。例如,锁定命令可以由在与交换机146相关联的工厂中实现的控制系统(例如,deltav控制系统)中的设备(例如,诸如服务器、工作站或控制器的计算机)传送。作为另一个示例,锁定命令可以由监视网络活动的安全系统(例如,专门设计的硬件,诸如asic或执行安全软件的计算机集合)传送。安全系统可以包括用于监视网络活动的一个或多个系统,诸如:门禁系统、反键盘记录系统、反恶意软件系统、反间谍软件系统、反颠覆系统、防病毒系统、加密系统、防火墙系统、入侵检测系统(ids)、入侵防御系统(ips)、安全信息管理系统、或安全信息和事件管理(siem)系统。这些安全系统中的一个或多个可以协同工作以生成锁定命令。例如,防火墙系统可以检测安全威胁并通知siem(其可以被配置为聚合来自多个源的安全威胁),并且siem可以通过传送锁定命令来响应。可以以多种方式中的任何一种来检测示例性安全威胁。例如,安全系统可以利用基于签名的检测(例如,识别诸如恶意软件的已知威胁的已知网络签名)和/或基于异常的检测(例如,检测偏差,诸如在预期仅开放和利用某些逻辑端口(诸如和与节点相关联的特定协议相关联的逻辑端口)的节点上开放新的逻辑端口)。

锁定例程可以与将每个端口处的流量限制到预定阈值的流量控制例程结合使用。可以基于连接到端口的设备的类型来确定每个端口的每个阈值。例如,如果控制器连接到端口,则控制器的流量利用率预计不会超过每个端口的一定数量的入口/出口流量(例如,512kbps入口,或每秒1500个分组的出口流量等),并且可以相应地设置该端口的流量阈值(trafficthreshold)。现场设备可能消耗或多或少的流量,因此连接到现场设备的端口可以具有不同的流量阈值。在某些情况下,流量控制是过程控制交换机的重要特征。例如,没有流量控制的过程控制交换机可以允许在任何类型的设备之间交换任何数量的流量,因此如果观察到给定过程控制系统的特定通信要求,则不能防止可以易于检测到的基本拒绝服务攻击-过程控制系统的可预测性往往非常高,因此根据在这些特定用例上使用的协议和设备类型设置阈值并不困难。

进一步参考锁定操作,交换机146可以确定端口何时连接到第二交换机(例如,使用桥接协议桥接单元(bpdu)帧),并且可以与第二交换机执行握手以确定是否第二交换机是第二交换机146或“非管理型交换机”(例如,不具有所公开的锁定能力的交换机)。如果第二交换机是可解锁或“非管理型”交换机,则交换机146可以识别并记录经由可解锁或“非管理型”交换机连接到交换机146的端口的每个终端设备的物理地址。

如果需要,交换机146可以在锁定期间离开解锁的某些端口。例如,交换机146可以确定端口何时连接到第二交换机(这样的端口可以称为“上行链路端口”),并且可以与第二交换机执行握手以确定第二交换机是否是“管理型的”(即,如交换机146那样“可锁定”)或“非管理型的”(即,不像交换机146那样“可锁定”)。如果第二交换机是“管理型的”,则交换机146可以保持解锁上行链路端口(并且因此可以不检查经由上行链路端口接收的消息的源物理地址,和/或可以检查消息的源物理地址但是不丢弃具有未知源物理地址的消息)。这样的上行链路端口可以被称为“管理型上行链路端口”。如果第二交换机是“非管理型的”,则交换机146可以识别并记录经由“非管理型交换机”连接到上行链路端口的每个终端设备的物理地址,并且上行链路端口可以被称为“非管理型上行链路端口”。交换机146可以随后锁定上行链路端口,使得交换机146丢弃源自连接到非管理型交换机的未知设备的消息,从而防止未知设备(例如,可能是恶意设备)访问交换机146所连接的更广阔的网络。应当注意,交换机146的锁定端口可以继续从已知设备传送广播和多播消息,并且在这种情况下,未知或未授权设备(即,对于给定端口不具有已知物理地址的设备)可以收听这些传输的广播和组播消息。然而,在这种情况下,未授权设备将不能响应那些消息或以其他方式通过交换机146的锁定端口传送任何消息。

地址映射操作使得交换机146能够在锁定之后通过确认设备没有简单地欺骗已知物理地址来验证具有已知物理地址的设备是已知设备。交换机146通过跟踪每个已知物理地址的网络地址(例如,ip地址)来执行该验证。因此,用于给定端口的每个已知设备应该具有由交换机146跟踪的已知地址对(即,物理和网络地址)。因此,即使当恶意设备连接到交换机146的锁定端口并且成功地欺骗了针对该锁定端口的已知设备的物理地址,交换机146也将检测到恶意设备的网络地址与配对到物理地址的记录上的网络地址不匹配。因此,交换机146生成警报和/或丢弃从恶意设备接收的通信。

如果需要,交换机146可以实现端口镜像。例如,交换机146可以复制进入或离开特定端口的分组,并且可以将复制的分组发送到分析器(例如,经由与分析器相关联的分配端口)。分析器可以是配置(例如,经由软件)为分析复制的分组的任何机器。端口镜像使得能够对复制的分组执行诊断和/或调试,而不会显著影响发送和/或接收原始分组的设备。

图1a和1b是过程工厂内的过程控制系统100的示意图,其中可以实现交换机146以增强网络安全性并促进网络管理和维护。过程控制系统100包括过程控制网络150,其是节点(例如,能够发送、接收和/或转发信息的设备或系统)和通信链路的集合,通信链路进行连接以实现节点之间的通信。网络150的节点包括一个或多个交换机146;一个或多个过程控制器110;一个或多个主机工作站或计算机120-122(例如,可以是批准的工作站和/或服务器),其中至少一个包括显示屏;一个或多个输入/输出(i/o)卡140;一个或多个现场设备130、133和/或142;网关143;和/或数据历史库145。一些实施例不包括现场设备142和网关143。

网络150是局域网(lan)。在一些情况下,广域网(wan)和/或电信网络可以是工厂网络的一部分,但是在某些情况下可能不是网络150的组成部分。网络150可以被配置用于以太网通信和/或用于任何适当的通信协议(例如,tcp/ip、专有协议等),可以使用硬连线(优选)或无线技术来实现。在具体实施方式的最后更详细地描述了网络150的附加方面。

一个或多个过程控制器110(其中每一个可以是例如fisherrosemountsystems,inc.销售的deltavtm控制器)通过一个或多个交换机146通信地连接到网络150以及一个或多个主机工作站或计算机120-122。每个控制器110可以包括一个或多个网络接口卡(有时称为“通信接口”),并且可以经由i/o卡140连接到现场设备130,每个i/o卡140可以通过背板通信地连接到控制器110中的一个。现场设备130可以通信地耦合到网络150(例如,使用deltav电子编组技术)。网络150还可用于连接基于以太网的i/o节点,诸如deltavcharmi/o卡(cioc)、无线i/o卡(wioc)、以太网i/o卡(eioc)等,其连接到使用开放协议的现场设备,并且将数据传送回一个或多个过程控制器110。在这种情况下,控制器110和i/o节点之间的通信可以明确地是专有的。

可以是网络150的子网络的i/o网络155促进控制器110(例如,经由i/o卡140)与现场设备130、133和142之间的通信。i/o网络155可以包括图1a中未示出的中间节点,诸如附加交换机146(参见图1b)。i/o网络155可以被配置用于以太网通信和/或用于任何适当的通信协议(例如,tcp/ip、modbusip等),并且可以根据实施方式使用硬连线或无线技术来实现。一些实施例不包括i/o网络155,或者包括i/o网络155的修改版本(例如,一些实施例不包括控制器110与现场设备之间的交换机)。

i/o卡140使用与例如标准4-20ma设备、标准以太网协议和/或诸如基金会现场总线协议(现场总线)、hart协议的或任何其他期望的通信或控制器协议的任何智能通信协议相关联的任何期望的硬件和软件通信地连接到现场设备130。

现场设备130可以是任何类型的设备,诸如传感器、阀、变送器、定位器等。在图1a所示的实施例中,现场设备130是通过标准模拟4-20ma线路131与hart调制解调器140通信的hart设备,而现场设备133是智能设备,诸如现场总线现场设备,其通过数字总线135或i/o网络155与使用现场总线协议通信的i/o卡140通信。当然,现场设备130和133可以符合任何其他期望的标准或协议,包括将来开发的任何标准或协议。

现场设备142可以经由诸如网关143的专用网络设备连接到数字总线135。例如,现场设备142可以仅理解profibus-pa命令,并且i/o网络135可以实现profibus-dp协议。为此,网关143可以提供双向profibus-dp/pa转换。交换机146也可以位于网关143处或附近。

控制器110可以是其中具有一个或多个处理器的工厂内的许多分布式控制器中的一个分布式控制器,实现或监视一个或多个过程控制例程。例程可以包括储存在控制器中或与控制器相关联的一个或多个控制回路。控制器110还通过网络150和相关联的网络设备146与设备130或133、主计算机120-122和数据历史库145通信,以便以任何期望的方式控制过程。应当注意,如果需要,本文描述的任何控制例程或元件可以具有由不同控制器或其他设备实现或执行的部分。同样地,本文描述的将在过程控制系统100内实现的控制例程或元件可以采取任何形式,包括软件、固件、硬件等。出于本讨论的目的,过程控制元件可以是过程控制系统的任何部件或部分,包括例如储存在任何计算机可读介质上的例程、块或模块。可以是控制过程的模块或任何部分(诸如子例程、子例程的部分(诸如代码行)等的控制例程可以以任何期望的软件格式实现,诸如使用梯形逻辑、顺序功能图、功能框图、面向对象编程或任何其他软件编程语言或设计范例。同样,控制例程可以硬编码到例如一个或多个eprom、eeprom、专用集成电路(asic)或任何其他硬件或固件元件中。更进一步地,可以使用任何设计工具来设计控制例程,包括图形设计工具或任何其他类型的软件/硬件/固件编程或设计工具。因此,控制器110可以被配置为以任何期望的方式实现控制策略或控制例程。

数据历史库145可以是具有任何期望类型的存储器和用于储存数据的任何期望的或已知的软件、硬件或固件的任何期望类型的数据收集单元,并且可以与工作站120-122中的一个工作站分离或者是其一部分。数据历史库145可以经由交换机146通信地耦合到网络150和/或主机120和122。

图1c例示了基本数据单元或帧175,其可以通常通过过程控制系统100进行通信并且使用以太网协议通过过程控制网络150进行通信。以太网帧175包括七个字段,每个字段在设备(诸如交换机146或其他过程控制系统100部件)之间传送信息。这些字段可以包括由接收设备解释和处理的多个字节的数据178。例如,目的地mac地址字段180可以包括过程控制网络100的中间节点或目的地节点的物理地址,而源mac地址字段182可以包括过程控制系统100的发送或中间节点的物理地址。目的地mac地址180和源mac地址182字段可以与来自交换机146的数据结合使用,以处理通过过程控制网络150发送的数据。在一些实施例中,当设备处于“锁定”状态时,可以将字段180、182与储存在接收网络设备内的一个或多个表进行比较。比较的结果可用于拒绝或以其他方式否定到锁定的网络设备的所接收数据或其他物理或逻辑连接。

图2a是示例性过程控制网络200a的网络图,其中实施交换机集合146a-d(每个交换机代表图2c中所示的交换机146的示例)以提高锁定性能并增强网络安全性。实线表示连接到锁定端口的通信链路,虚线表示连接到未锁定端口的通信链路。有利地,可以锁定交换机146a-d的每个端口。因此,即使恶意设备连接到过程控制设备、集线器或非管理型交换机,过程控制设备、集线器或非管理型交换机连接到交换机146a-d中的一个交换机的端口,当锁定相应的交换机146a-d时,恶意设备也不能经由该端口进行通信。

除了交换机146a-d之外,网络200a还包括设备111a-111l(统称为“设备111”)、设备113a-113d(统称为“设备113”)和集线器112。设备111是过程控制设备,专门配置为在过程控制工厂中操作并经由过程控制网络进行通信。每个设备111具有一个或两个物理地址(例如,用于冗余)。通常,设备111的物理地址是专门配置的mac地址,使得设备111将被过程控制网络100d上的其他过程控制设备识别。例如,每个设备111的物理地址可以以特定识别的字符模式(例如,f9-c3-xx-xx-xx-xx)开始或结束,使得每个设备可被识别为专门配置用于在过程控制环境中实现的设备。示例性设备111包括过程控制器、i/o卡、工作站、数据历史库和专门配置的网络设备。

设备113包括(i)未专门配置用于过程控制网络的设备(有时称为“现成设备”或“通用设备”)和/或(ii)具有多于两个物理地址的设备(可以是包括专门配置的过程控制设备和“通用”设备。集线器112是通用网络集线器。

无论连接到端口的设备的类型或数量如何,交换机146a-d都可以锁定所有端口,因此可以防止(直接或间接地)连接到任何交换机146a-d的任何端口的恶意设备的攻击。图2a示出了交换机146a-d改进当前过程控制交换机的多个示例。下面,说明了证明交换机146a-d的优点的四个具体示例:(i)锁定连接到“通用设备”或具有多于两个物理地址的设备(过程控制或“通用”)的端口;(ii)锁定连接到非管理型交换机的端口;(iii)锁定连接到菊花链设备集合的端口;(iv)锁定连接到非管理型网络设备(例如集线器)的端口,该非管理型网络设备连接到多个设备。

第一示例涉及交换机146a,其包括端口201,端口201在连接到设备113a时可以被锁定,设备113a可以是(i)具有任意数量的物理地址的“通用设备”或(ii)具有多于两个物理地址的过程控制设备。在操作中,交换机146a实现锁定例程以锁定端口201。在锁定之后,交换机146a不允许具有与设备113a的物理地址不同的物理地址的任何设备经由端口201进行通信。换句话说,交换机146a将分析在端口201处接收的任何消息以识别包括在消息中的源物理地址。如果消息不包括在锁定时与交换机146a已知的设备113a的物理地址匹配的源物理地址,则交换机146a“丢弃”消息而不是经由它的其它端口中的一个端口转发消息,并且交换机146a生成端口违规告警。相比之下,典型的过程控制交换机可能无法锁定连接到设备113a的端口,因为设备113a是“通用”设备或具有多于两个物理地址的设备,并且通常过程控制交换机不锁定这样的端口,即使启动了锁定过程。

交换机146a还包括连接到交换机146b的端口211。如通过连接到端口211的实线所示,端口211被锁定。因此,交换机146a可以储存在锁定时经由端口211通信的所有设备的物理地址,包括连接到任何交换机146b-d的设备的任何物理地址。在一些情况下,交换机146b-d中的每一个可以接收它连接到上游交换机146(例如,交换机146a)的通知,因此,根据上游交换机146将认证消息中列出的物理地址以确保列出的物理地址是已知地址的假设,可以在锁定期间无需认证物理地址。在其他情况下,交换机146b-d中的一个或多个在锁定期间与交换机146a一起认证物理地址。

第二示例涉及交换机146b,其包括端口203,当连接到非管理型交换机(即,缺少所描述的锁定能力或不能传送bpdu帧的交换机)时,端口203可被锁定。端口203和连接到第二交换机的任何其他端口(例如,交换机146a的端口211和端口213、215和217)可以被称为“上行链路端口”。注意,在某些情况下,交换机146可以被配置为在识别上行链路端口时仅识别管理型上行链路端口,因此交换机端口203可以不被交换机146b分类为上行链路端口(例如,交换机146可以被配置为仅将连接到其他交换机146的那些端口分类为上行链路端口)。设备111g-i连接到非管理型交换机109,非管理型交换机109物理连接到端口203。值得注意的是,因为非管理型交换机109不能锁定其端口(如将交换机109连接到设备111g-i的虚线所示),恶意设备可以连接到交换机109以与连接到交换机109的其他设备(例如,设备111g-111i)通信。换而言之,即使有人试图锁定网络200a中的所有可锁定交换机(例如,交换机146a-146d),具有未知物理地址的新设备也可以连接到交换机109,并且交换机109将消息从恶意设备转发到交换机109的端口,该端口已被映射到包含在来自恶意设备的消息中的目的地地址。

然而,因为端口203被交换机146b锁定(如连接交换机146b和109的实线所示),所以端口203处接收的来自新未知设备的任何消息将被交换机146b丢弃。将丢弃该消息,因为当交换机146b被锁定时,它创建了经由端口203通信的所有已知设备的已知物理地址的记录,即使这些已知设备正经由诸如交换机109的非管理型上行链路交换机进行通信(交换机146b可以通过监视和记录经由端口203传送和接收的消息的源和目的地地址来创建该记录)。因此,在所示的示例中,交换机146b“锁定”已知物理地址的记录,使得仅设备111g-i的物理地址与端口203相关联。因此,连接(例如,经由有线或无线连接)到交换机109的任何设备不能经由交换机146b的端口203与网络200a上的其他设备通信(如果新设备具有与设备111g-i中的一个设备的物理地址匹配的物理地址,则交换机146可以利用地址映射表222来检测出新设备不是设备111g-i中的一个设备)。简而言之,即使端口203连接到不锁定其端口的非管理型交换机(即,交换机109),交换机146b也可以锁定端口203,使得只有连接到交换机109的设备在锁定时可以经由交换机146b进行通信。

转到第三示例,图2a示出了包括端口205的交换机146c,当菊花链设备集合111e和111f连接到端口205时,端口205可以被锁定。设备111e物理连接到端口205,并且设备111f以菊花链形式连接到设备111e,使设备111f能够经由其与设备111e和端口205的连接与网络200a上的其他设备通信。一般而言,菊花链连接是直通(pass-through)连接,给予所有菊花链链接的设备(即111e和111f)对端口205的直接访问。值得注意的是,设备111e不锁定其连接到设备111f的接入点,如设备111e和111f之间的虚线所示。因此,恶意设备可能连接到设备111e或111f,其中任何一个都可以转发从恶意设备接收的消息。但是,如果新设备连接到相同的菊花链(其连接到端口205),或者菊花链中的设备被新设备替换,则交换机146c标记端口205的端口违规,并且可能不允许来自连接到菊花链的任何设备的通信。在某些情况下,交换机146c可以在锁定期间简单地丢弃来自新设备的消息。该消息被丢弃,因为当锁定端口205时,交换机146c为经由端口205通信的所有已知设备(例如,设备111e和111f)创建已知物理地址的记录,并丢弃标识与已知物理地址不同的源物理地址(例如,恶意设备的物理地址)的消息。因此,当恶意设备可能连接到设备111e或111f时,来自恶意设备的任何消息将被交换机146c丢弃(即,不经由交换机146c的其他端口转发)。

最后,作为第四示例,图2a示出了包括端口207的交换机146d,端口207在连接到可解锁集线器112时可以被锁定,可解锁集线器112连接到多个设备。简而言之,交换机146d对待集线器112类似于交换机146b如何对待非管理型交换机109。设备113d、111k和111l连接到集线器112,集线器112物理连接到端口207。因为集线器112无法锁定其端口(如将集线器112连接到设备113d、111k和111l的虚线所示),所以恶意设备可以连接到集线器112以与连接到集线器112的其他设备通信。但是,因为端口207被交换机146d锁定,在端口207处接收的来自新未知设备的任何消息将被交换机146d丢弃。

值得注意的是,设备113d、111k和111l可以通过网络200进行通信,因为它们的物理地址被登记在交换机146d和/或146b的存储器中。在一些情况下,为了易于使用和方便,未锁定交换机146a-d的上行链路端口(例如,端口213和215),但是登记映射到上行链路端口的所有物理地址(例如,在交换机146b和/或146d处)并且标记对地址表的改变并由交换机生成告警。例如,如果有人试图将交换机146d与交换机146b断开并将新集线器连接到端口215,则交换机146b检测到试图通过新集线器和交换机146b进行通信的设备的任何未知地址。如果有人试图在交换机146b和交换机146d之间插入新集线器作为中间设备,则交换机146b和146d两者都可以检测新集线器(和/或连接到集线器的新设备的任何新地址),其中一个或者两者可以生成关于现在连接到交换机146b和146d的新物理地址的告警。上行链路端口检测机制允许用户识别何时实施这种物理接入干预。

图2b是其中实现了交换机集合146a-d的示例性过程控制网络200b的网络图。网络200b类似于网络200a。网络200b中的每个交换机146a-d被配置为检测其端口中的一个端口何时连接到第二交换机(即,上行链路端口)并且仅在第二交换机是非管理型时锁定上行链路端口。每个交换机146a-d可以分析与第二交换机的握手以确定第二交换机是否是管理型的(例如,以确定第二交换机是否是交换机146)。在锁定期间,取决于所连接的第二交换机是否可锁定,每个交换机146a-d可以不同地处理经由上行链路端口接收的消息。换句话说,取决于第二交换机是否可锁定,每个交换机146a-d可以锁定或保持解锁上行链路端口。

例如,交换机146a包括连接到交换机146b的上行链路端口211。因为交换机146b是可锁定的,所以交换机146a保持上行链路端口211解锁。类似地,交换机146b保持上行链路端口213和215解锁,因为它们连接到可锁定交换机146c和146d。交换机146a可以转发从交换机146b接收的消息,而无需认证消息中包括的源物理地址。可以说交换机146a“假设”交换机146b正在处理其端口的锁定,因此即使在锁定期间也可能不锁定上行链路端口211。交换机146b可以类似地保持端口213和215解锁。在一些情况下,交换机146a和146b继续监视经由上行链路端口211-215接收的消息的源物理地址,并且可以将源物理地址与已知物理地址进行比较。当监视揭示源物理地址未知时,交换机146a和146b可以生成端口违规告警。

当第二交换机不可锁定时(例如,通用或“现成的”交换机),交换机146a-d可以以与参考图2a所述的相同方式锁定上行链路端口。例如,交换机146b可以锁定上行链路端口203(其连接到非管理型或可解锁交换机109),如参考图2a所述。在某些情况下,当锁定上行链路端口时,交换机146a-d丢弃具有未知源物理地址的消息。在其他情况下,当上行链路端口被锁定时,交换机146a-d继续转发具有未知物理地址的消息,同时生成端口违规警报或告警。

图2c是交换机146的方框图,交换机146可以是用于deltavtm过程控制网络中的deltav智能交换机(其中有不同的系列可用于解决不同的使用情况)。交换机146是第2层交换机,意味着交换机146在osi模型的第2层-数据链路层-工作。在操作中,交换机146通过(i)识别包括在消息中的目的地物理地址和(ii)参考交换表以识别与目的地物理地址相关联的转发端口来选择消息的转发端口。交换机146不跟踪中间节点。例如,如果交换机146经由四个中间节点接收旨在用于连接到交换机146的终端设备的消息,则交换机146不具有“下一节点”或任何其他中间节点的记录。相反,它参考交换表来确定应该使用哪个端口来转发消息。此外,交换机146不出于消息转发目的而跟踪网络地址,并且它不使用ip路由表。

相反,诸如路由器的第3层网络设备在osi模型的第3层-网络层-操作,并且通常利用路由表。当路由器收到消息时,它会识别消息中包含的目的地网络地址。然后,路由器参考路由表以识别到达目的地网络地址的最佳路由,识别为最佳路由列出的“下一跳”网络地址,并将该消息转发到具有“下一跳”网络地址的设备。第3层交换机通常具有与路由器类似的网络路由智能。在某些情况下,交换机146可以是第3层交换机。即,在某些实施例中,交换机146可以利用网络地址进行路由和/或转发。

如前所述,交换机146是“智能过程控制交换机”,意味着交换机146专门配置用于过程控制环境并且用于与过程控制系统特有的设备(诸如过程控制器、现场设备、i/o卡、过程控制工作站、过程控制历史库等)通信。交换机146固件可以包含解决deltav通信要求的特定配置,诸如风暴控制(限制特定通信的数据传输)和/或回路预防。通过将专门为过程控制系统100设计的固件下载到交换机146,交换机146可以被配置用于过程控制操作。专用固件解决过程控制系统100特有的用例,并且通常用户无法访问以改变。一般而言,所使用的固件旨在防止网络回路,防止网络风暴,并锁定未使用的交换机端口。

交换机146包括一个或多个通信端口202、控制台访问端口204和状态灯206。通信端口202用于互连各种其他网络设备和过程控制系统部件,以通过网络150进行通信,而状态指示灯206指示网络设备的当前操作,并且可以用于诊断目的。一般而言,端口202被配置用于接收有线的物理连接,诸如以太网连接(例如,利用cat5sctp电缆或cat6电缆)或光纤连接。

交换机146还包括电路230,其是专用配置为执行由交换机146执行的操作和功能的专用集成电路(asic)。在高层级,电路230控制端口202。特别地,电路230启用和禁用端口220,锁定和解锁端口220,并处理在端口220处接收的消息。而图2b将电路230示出为单个电路,在一些实施方式中,交换机146可包括执行参考电路230描述的功能的多个电路。

此外,交换机146可以包括存储器208(其可以包括易失性存储器210和/或非易失性存储器212),其储存以下内容:(i)一个或多个标准和专用管理信息库(mib)214;(ii)交换表216(有时称为“转发数据库表”或“fdb表”);(iii)动态地址表218;(iii)静态地址表220;(iv)地址匹配表222。在某些情况下,存储器208可以包括内容可寻址存储器(cam),并且表214-222中的一个或多个可以储存到cam。

一般而言,mib214中的每一个是对象或变量的数据库,其可被操纵以管理对应于特定mib214的设备(例如,交换机146)。mib214可以包括可通过命令行接口(cli)访问的对象集合,用于管理交换机146并实现特定于过程控制网络150的功能。一个或多个专用mib214可以包括可由电路230管理的对象,用以控制本文所述的锁定和解锁功能。此外,电路230可以利用专用mib214来通过与交换机146通信的运行时间api为deltavtm网络安全特征提供接口。过程控制网络150可以被配置为包括网络设备的混合体,每个网络设备包括用于控制锁定和解锁功能(即“锁定设备”)以及没有锁定或解锁功能的商用现成网络设备的专用mib。

交换表216包括一个或多个物理地址(例如,mac地址)和交换机146针对每个物理地址的对应端口。在操作中,交换机146在一个端口202处接收消息。电路230分析该消息以识别包括在消息中的目的地物理地址,并参考交换表216以识别对应于目的地物理地址的端口202。当交换表216不包括目的地物理地址时,电路230可以执行洪泛例程,在该例程期间它使得交换机146经由所有端口202传送消息。假设具有目的地物理地址的设备(直接或间接地)连接到一个端口202,设备将响应所接收的消息。在交换机146接收到响应之后,电路230将目的地物理地址和电路230从目的地设备接收响应的端口202记录到交换表216。

一般而言,交换机146不使用动态地址表218来做出关于消息的转发或丢弃的决定。相反,动态地址表218表示连接到端口的设备的记录,其可以随时间连续更新。动态地址表218列出当前连接到交换机146的每个端口202的终端设备的物理地址。例如,交换机146可以通过分析从设备接收的帧175(如图1c所示)以识别设备的源mac地址180来动态地学习物理地址到特定端口202的映射。交换机146将源mac地址180添加到动态地址表218,作为映射到特定端口202的物理地址。此外,交换机146可以通过(i)分析帧175以识别目的地设备的目的地mac地址182,(ii)执行关于交换表216描述的洪泛例程,以及(iii)识别接收到来自目的地设备的响应消息的端口202,来动态地学习物理地址到第二端口的映射。在某些情况下,可以通过从转发表216复制信息来周期性地更新动态地址表218。此外,在一些实施方式中,交换机146仅使用表216和218中的一个来进行转发决策和跟踪连接设备的物理地址。

随着节点通过将新物理地址映射到新设备所连接的端口202以及使当前未使用的物理地址老化(例如,跟踪在没有成功地将消息发送到特定物理地址或从特定物理地址发送消息的情况下已经过去的时间或消息数量)而连接到交换机146或从交换机146断开连接,电路230可以更新动态地址表218。例如,在老化时间到期时,电路230可以从动态地址表218中移除物理地址。

类似于动态地址表218,静态地址表220列出与每个端口202相关联的终端设备的物理地址。然而,表220中的物理地址不是动态学习的并且不会老化。相反,当交换机146被锁定时,通过复制动态表218来明确地输入它们。在交换机146的固件中实现的功能可以将交换表216与表218和220进行比较以处理进入的消息。当实现认证操作以认证在端口202处接收的消息中包括的源物理地址时,电路230可以利用静态地址表220。具体地,如果没有将接收消息的源物理地址识别为静态地址表220中映射到接收端口的已知物理地址,则电路230可以丢弃该消息。

一般而言,当交换机146处于正常或“解锁”状态时,可以将物理地址添加到交换表216。例如,在“未锁定”状态下,当交换机146接收以太网帧175时,电路130检查目的地mac地址180并参考交换表216以识别应当将帧175转发到的适当端口202。如果交换表216不包括关于所接收的目的地mac地址180的信息,则交换机146将以太网帧175广播到网络150中的所有端口。在另一网络设备处识别出广播的mac时,可以将另一帧发送到广播交换机146,其将发现的mac地址添加到动态地址表218和fdb表216。然而,在“锁定”状态(如下面进一步讨论的),交换表216可以在其当前配置中被冻结到防止进一步的改变或添加。可以将锁定时包括在动态地址表218中的先前学习的物理地址和其他信息移动到静态地址表220,并且可以禁用对交换机146的学习。在锁定状态下,不能改变交换表216,从而防止交换机146接受和转发从未知或未先前学习的mac地址182接收的帧175。

地址匹配表222列出了储存在表216、218和220中的一个或多个表中的每个已知物理地址的网络地址。交换机146可以通过发送对网络地址的arp请求来确定已知物理地址的网络地址。可替换地,在某些情况下,数据库可以储存过程控制网络150上的节点的网络地址列表,并且交换机146可以从数据库下载已知物理地址的网络地址。虽然交换机146不利用地址匹配表222来为接收的消息选择转发端口,但是交换机146可以使用表222来防止地址解析协议(arp)欺骗。特别地,当交换机146被锁定时,它可以通过验证源设备具有与地址匹配表222中的已知网络地址匹配的网络地址来验证已经向交换机146传送消息的源设备的身份(identify)。当恶意设备欺骗已知设备的物理地址时,此验证可能会有所帮助。下面参考图5更详细地描述地址匹配表222。

当交换机146具有上行链路端口(即,连接到第二交换机的端口)时,交换机146可以实现与第二交换机的握手以确定第二交换机是“管理型”交换机还是“非管理型”交换机。一般而言,“管理型”交换机能够锁定其端口,而“非管理型”交换机不能锁定其端口。在握手期间,交换机146可以从第二交换机接收关于其“可锁定性”或作为管理或非管理状态的状态的指示。在一些情况下,交换机146可以向第二交换机传送查询,并且第二交换机可以以第二交换机是管理型的指示进行响应。第二交换机还可以以第二交换机是非管理型的指示进行响应,或者可以简单地不响应。在特定时间段(例如,1秒、5秒、30秒等)内未能接收到响应可以用作向交换机146指示第二交换机是非管理型的。

当交换机146接收到管理第二交换机是管理型的指示时,交换机146可以在假设第二交换机将处理锁定第二交换机的端口的情况下绕过锁定第二交换机。据此,交换机146可以监视通过第二交换机通信的设备的源物理地址,并且可以将这些被监视的源物理地址与已知物理地址的记录进行比较。当交换机146检测到不是已知物理地址的连接到第二交换机的监视的源物理地址时,交换机146可以生成警报(例如,可以传送到工作站120或122中的一个以供经由用户界面显示的端口违规警报)。

图3a示出了用于锁定和解锁一个或多个交换机146的端口202的示例性方法300。通常,方法300允许过程控制系统100的用户锁定交换机146,使得交换机146丢弃从“未知”设备接收的任何消息。例如,如果用户从交换机146的端口202拔出设备并在其位置插入不同设备,则交换机146拒绝来自不同设备的任何消息并警告用户界面、监视服务和/或在系统100的工作站120、122上执行的其他应用程序。在锁定状态下,可以锁定网络150和/或155中的所有端口202,从而防止具有“未知”物理地址的任何新设备经由端口202进行通信。虽然下面的方法一般参考图4a-d中所示的用户界面400,但应该理解,可以使用用于执行所描述的功能的任何合适的用户界面。

在块302处,用户可以启动过程控制网络安全应用程序,其显示用户界面400(图4a-d中所示)以开始锁定过程。工作站120或122中的一个可以提供用户界面400,其可以利用交换机146处的mib214来启动锁定和解锁过程。

在块304处,应用程序可以发起交换机发现,其可以是自动的(例如,在启动时)或响应于来自用户的输入。用户界面400可以显示“发现交换机”的状态指示402或者正在识别过程控制网络150的一个或多个交换机146的另一指示。在一些实施例中,应用程序可以在启动网络设备发现时禁用用户界面400的一个或多个功能按钮。用户还可以手动启动网络设备发现。在一些情况下,应用程序可以发现过程控制网络150内存在的任何交换机(管理型或非管理型)。在其他情况下,应用程序可以仅识别包括锁定功能的那些网络设备,诸如交换机146。

应用程序可以通过使用一个或多个参数搜索网络150来发现交换机146。在一些情况下,应用程序可以另外或替代地搜索网络155。可以使用交换机146的物理地址来初始发现交换机146。交换机146可以被配置为在调试过程期间具有网络地址。在该调试过程之后,启用通过mib214与交换机146的通信(例如,可以通过定位交换机146的专用mib214来识别交换机146),并且lan外部的设备可以通过将消息寻址到交换机146的网络地址来向交换机传送消息。应用程序可以通过搜索指定范围的物理地址和/或网络地址来搜索交换机146。注意,虽然交换机146本身可以具有网络地址,但是当为接收的消息选择转发端口时,交换机146通常不依赖于其他设备的网络地址。

在块306处,在块304处发现的一个或多个交换机146(图4b)可以由用户界面400通过可扩展下拉菜单406(图4a)来显示,可以为交换机146显示用于从可扩展下拉菜单406中选择的所发现交换机中的一个的参数(图4c)。例如,可以在用户界面400的窗口中显示诸如锁定状态、锁定定时器和密码寿命之类的安全参数。窗口还可以显示交换机警报(例如,通信、故障、维护、建议)和部件状态参数(例如,电源状态、机箱温度等)。还可以列出交换机的端口以及每个端口的多个参数(例如,指示端口是启用还是禁用,识别连接的端节点的节点名称,识别端口锁定地址,和/或指示是否存在端口锁定违规)。

一旦发现了所有可发现的交换机146,用户界面400可以指示搜索完成。在一些实施例中,当方法300第一次启动时,可以仅在界面400的退役交换机列表中以其物理地址显示交换机146。当发现的交换机未被锁定时,锁定状态可以指示发现的交换机146处于“解锁”状态。在解锁状态中,交换机146能够执行网络150内的所有正常功能。在一些实施例中,处于解锁状态的端口202可以执行学习、老化和转发的基本透明桥接功能。默认老化时间可以设置为六百秒(十分钟),但是可以根据交换机146和网络150的配置来设置其他默认时间。完成搜索后,一个或多个功能按钮434可用以供由用户或自动过程选择。

在块308处,用户或自动过程可以选择图4a中所示的用户界面400上列出的一个或多个“解锁”交换机。用户可以通过利用工作站的输入设备(例如,鼠标或触摸屏)选择一个或多个期望的交换机来进行该选择,这可以使得用户界面400显示具有用于锁定交换机的可选按钮的下拉菜单。如图4b所示,用户还可以选择整个网络(例如,通过右击所期望网络)来进行锁定(即,其中锁定所选网络中的所有交换机146)。在一些情况下,一个或多个交换机146可包括硬件致动器(例如,按钮),其可被致动以启动锁定。此外,自动过程可以基于触发选择用于锁定的交换机,例如检测以某种容量连接到网络150的恶意设备。

在块310处,工作站响应于检测到用户选择锁定按钮(诸如图4b中所示的锁定按钮436)而启动锁定过程(诸如图3b中所示的方法325)。由用户界面400提供的锁定按钮可以启动过程以选择性地启动对过程控制网络150的不同部分的锁定。例如,单独的按钮可以提供选择性地锁定整个网络、主要网络、次要网络、各个交换机146或在一个或多个所选择的交换机146处的特定端口202的能力。为了额外的安全性,在某些情况下可以仅从所选择的工作站120、122启动锁定过程,并且可以不使用例如不是过程控制网络150的物理部分的远程工作站通过互联网启动锁定过程,或者可以仅从一个或多个预先批准的mac地址或ip地址启动锁定过程。在通过选择锁定按钮启动锁定过程时,可以启动认证过程。例如,工作站可以从用户请求用户名和密码或其他个人标识以确认对锁定过程的访问权限。应用程序400可以利用通过mib214的管理访问来锁定和解锁交换机146。可以加密通信,并且任何使用的密钥或密码对于用户可以是未知的,但是对于交换机146和应用程序400是已知的。

在选择锁定按钮之后进行认证时,工作站可以向所选择的交换机146发送锁定命令(例如,通过设置所选择的交换机146的专用mib214的一个或多个变量)。响应于接收到锁定命令,交换机146可以锁定其所有端口202。一般而言,锁定端口202包括拒绝接受具有源mac地址182的任何消息或帧175,该源mac地址182在激活锁定状态时没有包括在交换机146的交换表216内。在一些实施例中,不允许的物理地址可以记录在交换机146的存储器208中(例如,已知的、恶意mac地址,属于未授权设备的一系列mac地址等),并且交换机146丢弃包括一个不允许的物理地址的任何接收到的消息。

在块311处,在针对一个或多个交换机146执行锁定过程325之后,可能需要解锁交换机146中的一个或多个,例如,在故障排除操作、例行维护、诊断、网络重新配置期间等。

在块312处,用户或自动过程可以选择处于“锁定”状态的一个或多个交换机146,并且在块314处,响应于用户选择诸如图4d中所示的解锁按钮,用户使用的工作站可以启动解锁过程(诸如图3c中所示的方法350)。与锁定按钮一样,解锁按钮可以启动对先前通过利用一个或多个专用mib214锁定的过程控制网络150的不同部分的解锁过程。为了额外的安全性,解锁过程可以配置有锁定定时器,其自动重新锁定先前锁定的一个或多个端口220。锁定定时器可以配置有默认设置,其中,在完成解锁过程之后的一段时间期满时(块316),可以重新锁定一个或多个解锁的交换机146(块310)。在一个实施例中,锁定定时器配置有60分钟的默认设置(即,三十六百秒)。解锁过程可以从所选择的工作站120、122启动,并且可以不使用例如不是过程控制网络150的物理部分的远程工作站通过互联网启动,或者可以仅从一个或多个预先批准的mac地址启动。

解锁过程还可以包括认证过程。例如,工作站120或122和/或用户界面400可以从用户请求用户名和密码或其他个人标识以确认对锁定过程的访问权限。如果用户被适当地认证,则用户可以访问一个或多个所选择的锁定交换机146和/或端口202的专用mib214以启动解锁。

图3b示出了用于锁定交换机146的端口202的示例性方法325。下面描述的块可以由交换机146和/或工作站120或122实施。

在块326处,交换机146产生静态表,诸如静态地址表220。一般而言,静态表是在启动锁定时连接到交换机146的每个端口的已知物理地址的记录。端口状态和/或物理地址映射可以自动地或由用户显式地储存(例如,储存到非易失性存储器212)。如果需要,交换机146可以在供电循环或重新启动时使用已知物理地址的记录,以防止强制打开锁定端口。

在一些实施例中,通过从动态地址表218复制映射到每个端口202的物理地址列表来产生静态表。在一些情况下,已知物理地址和其他数据可以从动态地址表218中完全移除,并移到静态地址表220。在一些实施例中,如果动态地址表218内的学习地址的当前数量大于最大数量,则可以仅锁定地址的子集。然后可以从交换表216中移除剩余的地址,并且可能导致连接错误。如果发生连接问题,则可以向用户界面发送错误消息以指示锁定过程中的故障。

在块328处,交换机146可以分析在每个端口处接收的每个消息,以识别包括在每个消息中的源物理地址(例如,图1c中所示的源mac地址182)。然后,交换机146可以确定源物理地址是否包括在静态表中(块330)。如果没有,则源物理地址是未知地址,并且丢弃该消息(块332)。

如果来自消息的源地址包括在静态表中,则交换机146分析与消息中包括的目的地地址相对应的端口处的流量(块334)。如果转发端口处的流量低于储存到存储器的流量阈值(例如,在交换机配置期间由用户或程序输入),则转发该消息(块306)。如果不是,则保持消息直到流量低于阈值,此时转发消息。在一些实施方式中,可以在预定时间之后丢弃消息,或者可以立即丢弃消息。在一些实施例中,交换机146另外或替代地分析接收端口处的流量,并且在流量低于预定流量阈值时仅分析消息的源地址(块328)。

注意,在一些情况下,交换机146可以在锁定期间禁用交换机146的典型功能。在一个实施例中,交换机146禁用交换机146或特定端口202的地址学习和地址老化功能。例如,动态地址表218可以被禁用并且不再接受任何条目,交换机146可能不再洪泛网络150以发现新地址,并且在老化时间到期之后,可以不从动态地址表218中移除先前接收的地址。

在启动锁定之后,用户界面400可以将一个或多个交换机146的锁定状态从“解锁”或将状态指示从“完成”改变为所选设备已锁定或正在锁定的指示。参考图4c,在完成锁定过程后,用户界面400可以将任何锁定交换机的“锁定状态”显示为“已锁定”。

图3c示出了用于解锁交换机146的示例性方法350。用户的工作站可以向交换机146发送解锁命令(例如,通过改变交换机146的一个专用mib214的对象或变量的值)。

在块354处,可以删除将物理地址映射到特定端口的静态表220中的地址数据。在一些实施例中,由用户或其他显式过程添加的静态地址数据可以在解锁期间保留在静态地址表220中。

在块356处,交换机146可以启用端口220的解锁状态。具体地,交换机146将停止丢弃具有与静态表218不匹配的源地址的消息。

在块358处,交换机146可以恢复正常端口或设备功能。例如,在解锁状态下,可以恢复在锁定期间暂停的典型学习和老化功能,并且可以重新填充交换表216和动态表218。

在块360处,交换机146可以储存新的交换机或端口配置。例如,端口状态和/或物理地址可以自动地或由用户显式地储存,以由交换机146在供电循环或重新启动时实现。

在一些实施例中,在块314处启动解锁过程之后,用户界面400可以将一个或多个交换机的锁定状态从“锁定”改变为所选交换机处于“锁定待决”状态的指示。另外,如果使用解锁过程初始化锁定定时器,则剩余时间状态可以指示设备恢复到锁定状态之前剩余的时间量。剩余时间也可以配置为永不恢复到锁定状态。例如,可以访问专用mib214的对象以将定时器配置为“永不恢复”状态或任何其他时间量。

在一些实施例中,交换机146可以在加电时恢复到保存的配置。例如,实体可以通过循环一个或多个交换机146的供电以强制打开锁定端口来试图将未授权设备连接到过程控制网络150。在通电时,交换机146可以被配置为访问在其非易失性存储器212(图2)处所保存的配置。因此,无论供电循环交换机是否恢复到锁定或解锁状态,在供电循环之前连接到网络150的所有设备都可以自动重新建立与系统的通信,而将拒绝在断电时添加到端口的任何新设备。如果以“解锁”状态为设备通电并且锁定定时器大于零,则设备可以在该时间到期后自动进入锁定状态。

图5示出了根据一些实施例的地址匹配表222的示例。如图5所示的地址匹配表222可以是能够储存在交换机146上(例如,使用内容可寻址存储器)和/或在过程控制系统内的另一设备上的数据的表示。可替换地或另外,设备(诸如交换机146、工作站120或122或另一设备)可以使得包括在地址匹配表146中的至少一部分信息被呈现在用户界面上(例如,用户界面400)以供用户访问和查看。应当理解,地址匹配表222仅仅是示例,因此包括示例性信息,并且可以包括替代和/或附加信息。

地址匹配表222可以包括列集合,每列填充有相应的数据和信息。具体地,地址匹配表222可以包括端口列505、ip地址列510、mac地址列515、锁定状态列520和安全状态列525。端口列505可以标识交换机146的通信端口集合202(如图所示:通信端口1到6)。该通信端口集合202中的每个通信端口可以具有与其连接的设备或另一个交换机。如果通信端口连接到另一个交换机146,则通信端口可以被认为是上行链路端口。尽管

图5示出了连接到每个端口的单个设备(或没有设备),但应当注意,单个端口可以映射到多个设备,多个设备中的每个设备将包括物理地址(列510)、网络地址(列515)、锁定状态(列520)和安全状态(列525)。

ip地址列510可以标识分别连接到该通信端口集合222的设备集合的网络地址(例如,ip地址)集合,并且mac地址列515可以标识分别对应于通信端口集合的设备集合的物理地址(例如,mac地址)集合。例如,具有ip地址10.10.10.2和mac地址00:0c:f5:09:56:e9的设备连接到通信端口“1”。如图5所示,通信端口“3”和通信端口“6”都没有与其连接的设备,因此对应的ip和mac地址为空。

锁定状态列520可以标识通信端口集合222中的每一个的锁定状态(例如,“锁定”或“解锁”)。如图5所示,具有与其连接的设备的每个通信端口222(通信端口“1”、“2”、“4”和“5”)是“锁定”的,并且没有与其连接的设备的每个通信端口(通信端口“3”和“6”)是“解锁”的。然而,应该注意,在典型示例中,当交换机146被锁定时,交换机146的所有端口都被锁定,除非交换机端口被标识为上行链路端口或由用户经由cli配置手动配置为被忽略(始终解锁)。在本文讨论的实施例中,交换机146(具体地,交换机146的一组asic)可以获得与启动被占用的通信端口的锁定相关联的设备的ip和mac地址。

安全状态列525可以标识通信端口集合中的每一个通信端口的安全状态。根据实施例,交换机146可以自动且连续地监视经由该通信端口集合、在已经与其连接的设备和/或可以在锁定交换机后连接到交换机的任何其他设备之间和之中接收和传送的信息(例如,作为数据分组)。

交换机146可以检查任何接收的数据分组以确定在数据分组中包括的信息中是否存在任何差异。具体地,交换机146可以将包括在数据分组中的信息与包括在地址匹配表222中的信息进行比较,以识别差异。如果交换机146没有识别出特定通信端口的数据分组业务的差异,则特定通信端口的安全状态可以是“正常”。相反,如果交换机146识别出数据分组业务中的差异,则特定通信端口222的安全状态可以从“正常”变为“告警”。

如图5所示,通信端口“2”和“6”的安全状态是“告警”,而其余通信端口具有“正常”的安全状态。在示例性实施例中,通信端口“2”的安全状态可以由于尝试arp欺骗攻击而是“告警”。在该实施例中,最初连接到通信端口“2”的设备可以由攻击设备代替(或者原始连接的设备可能受损),其可以将数据分组发送到交换机146。交换机146可以检查数据分组并确定数据分组中包括的ip地址和mac地址中的一个或两个与地址匹配表222中的相应ip地址和/或mac地址不匹配。因此,交换机146可以将相应通信端口的安全状态更新为“告警”。

类似地,在示例性实施例中,通信端口“6”的安全状态也可以由于尝试arp欺骗攻击而是“告警”。在该实施例中,可以解锁通信端口“6”,因为在锁定时,没有与其连接的设备。在锁定之后,设备(可以是或可以不是攻击设备)可以连接到解锁的通信端口“6”,并且设备可以向交换机发送数据分组。交换机146可以检查数据分组并确定因为解锁通信端口“6”,所以设备不应经由通信端口“6”进行通信。因此,交换机可以将通信端口的安全状态更新为“告警”。

交换机146可以有助于任何检测到的告警的通信和/或显示。在实施例中,交换机146可以连接到可以配备有用户界面的过程控制系统的另一个设备。交换机146可以向设备传送一个或多个检测到的告警的指示,其中设备可以被配置为经由用户界面显示或呈现一个或多个检测到的告警。因此,与过程控制工厂相关联的用户(例如,个人或管理员)可以访问和查看信息并促进适当的纠正或诊断操作。

图6示出了实现地址匹配表222以提高过程工厂内的过程控制系统(诸如过程控制系统100)的安全性的示例性方法600的方框图。可以通过交换机146来便于方法600的实施。

方法600可以在交换机146启动交换机146的通信端口集合的锁定(块605)时开始。在实施例中,交换机146可以启动通信端口集合146的一部分或全部的锁定。

与启动该通信端口集合的锁定相关联地,交换机146可以获得连接到该通信端口集合的至少一部分的设备集合的网络地址集合(例如,ip地址集合)(块610)。应当理解,交换机可以在启动(和/或完成)锁定之前、同时或之后获得网络地址集合。在一种实施方式中,包含在交换机中的一组asic可以使用和该设备集合与该通信端口集合的至少一部分的连接相关联的数据来获得该网络地址集合。另外或替代地,该设备集合可以包括过程工厂内的一个或多个设备和/或一个或多个附加设备(或附加交换机)可以连接的一个或多个交换机。在特定实施方式中,交换机146可以获得(i)连接到第一通信端口的第一设备的第一网络地址(即,设备连接),以及(ii)经由附加交换机(即,交换机连接)连接到第二通信端口的多个设备的多个网络地址。可以从过程控制网络上的另一设备获得网络地址。

交换机146可以与启动锁定相关联地,可选地获得连接到该通信端口集合的至少一部分的设备集合的物理地址(例如,mac地址)集合(块615)。应当理解,交换机可以在启动(和/或完成)锁定之前、同时或之后获得该物理地址集合。例如,交换机可以在启动锁定之前获得并记录该物理地址集合。在一个实施方式中,包含在交换机146中的一组asic(例如,电路230)可以使用和该设备集合与该通信端口集合的至少一部分的连接相关联的数据来获得该物理地址集合。

交换机146可以为交换机146生成地址匹配表222(块620),其中,地址匹配表222可以将设备集合的物理地址集合与该设备集合的网络地址集合相匹配。地址匹配表222还可以将物理地址集合和网络地址集合与通信端口集合的至少一部分相匹配。即,对于连接(直接或间接)到交换机146的特定端口的每个设备,地址映射表222可以列出特定端口的网络地址和物理地址的地址对。因此,连接到多个设备的端口将具有多个相关联的地址对(即,每个连接设备一个地址对)。交换机146可以在本地储存(例如,使用内容可寻址存储器)地址匹配表以供访问和查看。

交换机146可以经由该通信端口集合中的一个通信端口从设备接收数据分组(块625),其中,该数据分组可以至少指示(i)设备的网络地址,以及(ii)设备的物理地址。在实施例中,在交换机146启动锁定之前或之后,设备可以连接到该通信端口集合中的一个通信端口。另外或替代地,设备可以替换先前连接到该通信端口集合中的一个通信端口的另一设备(即,在电缆更换的情况下)。另外或替代地,设备可以连接到解锁的通信端口或通信端口集合的一部分的通信端口(即,锁定的通信端口)。

根据实施例,数据分组可以表示设备进行的arp欺骗攻击,交换机146可以被配置为通过确定设备的网络地址和设备的物理地址是否包括地址匹配表222中(块630)来确定该arp欺骗攻击。特别地,作为一对的设备的网络地址和物理地址可以与包括在设备所连接的通信端口的地址匹配表中的映射网络地址和映射物理地址不匹配。例如,如果设备连接到通信端口“3”,并且设备的网络地址和物理地址中的任何一个或两者与通信端口“3”的对应映射地址不匹配,则存在不匹配。

如果交换机146确定地址匹配(“是”),则处理可以结束、重复或继续到其他功能。相反,如果交换机146确定地址不匹配(“否”),则可能存在arp欺骗尝试,并且交换机146可以生成告警(块635)。在实施例中,告警可以指示设备所连接的通信端口集合中的一个通信端口,和/或包括设备的网络地址和/或物理地址的其他信息。另外,交换机146可以致使告警呈现在用户界面上(块640),其中,用户界面可以包括在过程工厂内的另一个设备或部件上。因此,用户(例如,工厂技术人员或管理员)可以查看告警的内容并启动适当的动作。

交换机146还可以确定是允许还是拒绝数据分组的传输(块645)。在实施例中,该确定可以是默认选择(例如,总是允许或总是拒绝),或者交换机146可以基于一个或多个因素动态地确定是允许还是拒绝传输,诸如数据分组本身的内容、设备的物理地址、设备的网络地址和/或其他因素。

如果交换机确定允许传输(“允许”),则交换机可以允许数据分组的传输(块650)。相反,如果交换机146确定拒绝传输(“拒绝”),则交换机可以拒绝数据分组的传输(即,可以丢弃数据分组)。

图7示出了检测与交换机146相关联的安全问题的示例性方法700的方框图。可以通过交换机146来便于方法700的实施。

方法700可以在交换机146可选地启动(块705)交换机146的通信端口集合的锁定时开始,如本文所述。在实施例中,交换机146可以启动通信端口集合的一部分或全部的锁定,使得在一些情况下,如果需要,一个或多个通信端口可以保持解锁。

与启动通信端口集合的锁定相关联,交换机146可以获得连接到该通信端口集合的至少一部分的设备集合的网络地址集合(例如,ip地址集合)。应当理解,交换机146可以在启动(和/或完成)锁定之前、同时或之后获得网络地址集合。在一个实施方式中,包含在交换机146中的一组asic可以使用和该设备集合与该通信端口集合的至少一部分的连接相关联的数据来获得该网络地址集合。另外或替代地,该组设备可以包括过程工厂内的一个或多个设备和/或一个或多个附加设备(或附加交换机)可以连接的一个或多个交换机。在特定实施方式中,交换机146可以获得(i)连接到第一通信端口的第一设备的第一网络地址(即,设备连接),以及(ii)经由附加交换机连接到第二通信端口的多个设备的多个网络地址(即,交换机连接)。

,交换机146可以与启动锁定相关联地,可选地获得连接到该通信端口集合的至少一部分的设备集合的物理地址集合(例如,mac地址集合)。应当理解,交换机可以在启动(和/或完成)锁定之前、同时或之后获得该物理地址集合。例如,交换机146可以在启动锁定之前获得并记录物理地址集合。在一个实施方式中,包含在交换机146中的一组asic可以使用和该设备集合与该通信端口集合的至少一部分的连接相关联的数据来获得该物理地址集合。

交换机146还可以生成并访问地址匹配表222(块710),其中,地址匹配表222可以将设备集合的物理地址集合与设备集合的网络地址集合相匹配。地址匹配表222还可以将物理地址集合和网络地址集合与通信端口集合的至少一部分相匹配。因此,具有与其连接的设备的每个通信端口可以具有设备的相关物理地址和设备的网络地址。在一个实施方式中,包含在交换机146中的一组asic可以生成地址匹配表222。交换机146可以在本地储存(例如,使用内容可寻址存储器)地址匹配表以供访问和查看。

交换机146可以广播指定与地址匹配表中包括的网络地址集合中的一个网络地址相匹配的目的地网络地址的映射请求(块715)。在一个实施例中,映射请求可以是包括来自地址映射表的ip地址的arp请求的形式,其中,arp请求旨在找到与ip地址相对应的mac地址,并且其中,可以将arp请求发送到连接到交换机的每个设备。

交换机146可以经由通信端口集合中的一个通信端口从回复设备接收对映射请求的回复(块720),其中,回复可以指示(i)目的地网络地址和(ii)回复设备的物理地址。根据实施例,来自回复设备的回复可以表示回复设备尝试的arp欺骗攻击,交换机146可以被配置为确定该arp欺骗攻击。

因此,交换机146可以确定回复设备的物理地址是否与地址匹配表中包括的设备集合的物理地址集合中的任何一个物理地址相匹配(块725)。特别地,对于回复设备所连接的通信端口,回复设备的物理地址可以与地址匹配表222中包括的映射物理地址不匹配。例如,如果回复设备连接到通信端口“3”,并且回复设备的物理地址与通信端口“3”的对应映射物理地址不匹配,则存在不匹配。在一个实施方式中,包含在网络中的一组asic可以做出确定。

如果交换机146确定物理地址匹配(“是”)(即,不存在尝试arp欺骗攻击),则处理可以结束、重复或继续到其他功能。相反,如果交换机146确定物理地址不匹配(“否”),则可能存在arp欺骗尝试,交换机可以生成告警(框730)。在实施例中,告警可以指示回复设备所连接的通信端口集合中的一个通信端口,和/或包括回复设备的网络地址和/或物理地址的其他信息。另外,交换机146可以致使告警呈现在用户界面上(框735),其中,用户界面可以包括在过程工厂内的另一个设备或部件上。因此,用户(例如,工厂技术人员或管理员)可以查看告警的内容并启动适当的动作。

本文描述的锁定例程和地址映射例程可以用软件、硬件、固件或其某种组合来实现。因此,本文描述的方法300、325、350、500、600和700可以在标准多用途cpu中和/或在专门设计的硬件或固件(诸如asic)上实现。当在软件中实现时,软件可以储存在任何计算机可读存储器中,诸如磁盘、激光盘、光盘或其他储存介质,计算机或处理器的ram或rom等中。该软件可以经由任何已知或期望的传送方法传送给用户或过程控制系统,包括例如在计算机可读盘或其他可输送的计算机储存机构上或通过诸如电话线、互联网等的通信信道调制(被视为与经由可输送的储存介质提供这种软件相同或可互换)。

一般而言,如本文所使用的,短语“存储器”或“存储器设备”是指包括计算机可读介质(“crm”)的系统或设备。“crm”指的是相关计算系统为了放置、保存和/或检索信息(例如,数据、计算机可读指令、程序模块、应用程序、例程等)可访问的介质或媒介。注意,“crm”指的是本质是非暂时性的介质,并不是指无形的瞬态信号,例如无线电波。

如参考图1a所述,网络150是节点(例如,能够发送、接收和/或转发信息的设备或系统)和连接以实现节点之间的通信的通信链路的集合。一般而言,术语“节点”指的是连接点、再分配点或通信端点。节点可以是能够发送、接收和/或转发信息的任何设备或系统(例如,计算机系统)。例如,发起和/或最终接收消息的终端设备或终端系统是节点。接收和转发消息的中间设备(例如,在两个终端设备之间)通常也被认为是“节点”。“通信链路”或“链路”是连接两个或多个节点的路径或介质。链路可以是物理链路和/或逻辑链路。物理链路是其上传输信息的接口和/或介质,并且本质上可以是有线或无线的。物理链路的示例可以包括具有用于传输电能的导体的电缆,用于传输光的光纤连接,和/或经由对电磁波的一个或多个特性进行的改变来承载信息的无线电磁信号。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1