CN105635108B - 具有应用包分类器的防火墙 - Google Patents
具有应用包分类器的防火墙 Download PDFInfo
- Publication number
- CN105635108B CN105635108B CN201510845751.8A CN201510845751A CN105635108B CN 105635108 B CN105635108 B CN 105635108B CN 201510845751 A CN201510845751 A CN 201510845751A CN 105635108 B CN105635108 B CN 105635108B
- Authority
- CN
- China
- Prior art keywords
- rule
- packet
- message
- application function
- message packet
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0254—Stateful filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及具有应用包分类器的防火墙。公开了一种用于建立针对工业网络的防火墙(104)的规则的改进的系统。规则建立在应用级,该规则识别例如在两个装置(100,108)之间要发生的动作。动作可以为例如读取数据表或获取属性,并且为了完成动作,每个动作可能需要在两个装置(100,108)之间传送多个消息包。执行防火墙(104)的网络装置(60)被配置成接收来自发送装置的消息包并且检查消息包,以确定发送装置正在请求执行哪个动作。如果动作与数据库(82)中的规则对应,则网络装置(60)管理两个装置(100,108)之间的通信,直到已经传送了所有的消息包为止。因此,可以在规则数据库(82)中限定单个动作或应用,以容许在装置(100,108)之间传送多个数据包。
Description
技术领域
本文中所公开的主题总体上涉及针对工业网络的防火墙,并且更具体地,涉及可以按照应用级指定规则的防火墙。
背景技术
工业控制器为用于例如在工厂环境中控制工业处理或机器的专用计算机系统。通常,工业控制器执行所存储的控制程序,所存储的控制程序从与受控的处理或机器关联的各种传感器读取输入。感测处理或机器的状况以及基于这些输入和所存储的控制程序,工业控制器确定用于控制针对处理或机器的执行器的一组输出。
工业控制器与传统计算机在许多方面具有不同。物理上,与传统计算机相比,工业控制器被创建成基本上更能抵抗撞击和损坏,并且更好地承受极端环境状况。处理器和操作系统被优化用于实时控制并且使用被设计成容许控制程序的快速开发的语言进行编程,其中,控制程序的开发根据机器控制应用或处理控制应用的不断变化的设置来调整。
通常,工业控制器具有使得能够例如使用不同数目和不同类型的输入模块和输出模块来将控制器连接至要控制的处理或机器的高度模块化架构。该模块化通过使用适于高度依赖和可用实时通信的专用“控制网络”来促进。这样的控制网络(例如,ControlNet、EtherNet/IP或者DeviceNet)与标准通信网络(例如,以太网)的不同之处在于,通过预先规划网络的通信能力和/或提供针对高可用性的冗余通信能力来保证最大通信延迟。此外,根据针对特定网络限定的协议例如通用工业协议(CIP)来对控制网络上传送的包进行格式化。
随着时间推移,由工业控制器控制的机器或处理的复杂性和/或尺寸已经增大。例如,处理流水线可以跨越工业区的隔间的整个长度或者自动存储系统可以分布至整个仓库。因此,已经变得期望提供对控制网络的访问以用于监测机器、处理和/或在受控的机器或处理中执行的单独的元件的性能。类似地,可以期望提供对控制网络的访问以改变在受控的机器或处理中执行的元件的配置或程序。
历史上,已经例如经由位于受控的机器或处理附近的专用终端来对机器操作员提供访问。然而,在某些时候,例如在工作期间或解决故障期间,可能期望对处于远程建筑中的用户例如系统程序员或设计者提供访问。控制系统然后可以接口至私用内联网,以允许设计者监测系统。然而,有时候,还可能期望允许经由因特网对远程站点例如现场安装进行访问。可以例如经由需要用户身份和认证的虚拟专用网络(VPN)来建立访问。
然而,对受控机器或处理的未授权或不经意地访问可能导致机器或处理的损坏并且引起停机。因此,必须限制对控制网络的访问。通常,可以由在网络装置例如交换机或路由器中建立的规则来限制对网络的访问。规则还被称为防火墙,并且规则确定是否允许将由网络装置接收的包传送至控制网络上。
某些协议例如CIP对装置制造商提供了显著的灵活性。协议包括使得不同的装置集成在开放网络中的对象和层的框架。协议提供了例如被配置用于不同的网络——例如EtherNet/IP、DeviceNet或ControlNet——的装置之间的通信。CIP协议还能够被高度扩展以使得未来的装置或网络能够集成。然而,协议的结构使其难以限定防火墙可以操作的规则。
CIP协议例如包括许多不同类型的消息。两种主要类型的消息为显式消息和隐式消息。显式消息遵循预定义格式。显式消息可以用于在发送器与接收器之间建立连接并且被配置成请求-答复格式,即,第一装置向第二装置发送第一消息包例如命令或针对数据的请求,并且第二装置发送第二消息包例如对命令或所请求的数据的确认以对第一消息包做出答复。隐式消息基于在发送器与接收器之间所建立的连接而被配置。因为建立了连接,所以不需要使用请求-答复格式。隐式消息还可以以广播格式被发送,即,装置发送消息包并且不预期并且因此不等待答复。隐式消息可以通过外部触发器、以周期间隔或一些其他预定义的触发器机制来发起。显式消息通常用于传送对时间不敏感和/或可以频繁地被发送的配置数据或其他信息数据。隐式消息通常用于传送必须以固定间隔更新和/或需要频繁更新的数据例如输入/输出(I/O)数据。隐式消息几乎不包括与其配置、结构有关的数据或者与消息本身有关的其他数据,以使得传输装置可以有效地生成消息并且接收装置可以以相似的方式有效地处理消息,其中,大量的消息包括根据预定义的格式布置的数据。
另外,单个装置可以被配置成与另一装置传送多种类型的消息或者甚至消息序列。电动机驱动例如可以与处理器模块进行通信。电动机驱动可以经由显式消息接收来自处理器模块的配置信息,并且可以经由显式消息将数据例如电动机配置或操作时间传送至处理器模块。电动机驱动还可能需要使用以固定间隔重复的隐式消息从处理器模块传送命令消息例如速度或扭矩命令,并且可以使用以固定间隔的隐式消息以类似的方式将操作数据例如电动机电流或电动机速度传送回处理器模块。
取决于处理器模块和电动机驱动在控制系统中的位置,两个装置之间的通信可以通过防火墙。传统的防火墙规则利用例如源地址和/或目的地地址来确定是否允许消息通过防火墙。更复杂的规则还可以检查消息包以确定消息意在进行什么操作(例如,读/写)并且还可以基于消息意在要进行的操作来允许消息包。
针对上述与处理器模块通信的电动机驱动的示例,显式消息和隐式消息采用不同的格式、包含不同的消息字段或者以防止单个规则允许电动机驱动与处理器模块之间进行通信的其他方式进行变化。另外,包括在隐式消息中的与消息包自身有关的受限信息可能难以或不能够配置传统防火墙中的用于允许隐式消息通过的规则。系统设计者可能需要扩展CIP协议的知识并且期望对其创建规则集的每个装置容许装置之间的所有的期望通信。另外,某些消息例如故障消息可以不频繁地被发送并且可以具有另外的格式。因此,建立用于允许装置之间的期望通信的有效的防火墙可能需要扩展设置并且可能难以建立所有必要的规则。
因此,将期望提供用于建立针对工业网络的防火墙中的规则的改进的系统。
发明内容
本文中所公开的主题描述了一种用于建立针对工业网络的防火墙中的规则的改进的系统。该规则建立在应用级,该规则用于识别例如两个装置之间要发生的动作。动作可以为例如读取数据表或者更新固件,并且为了完成,每个动作可能需要在两个装置之间传送多个消息包。执行防火墙的网络装置被配置成接收来自发送装置的消息包并且检查消息包以确定发送装置正在请求执行哪个动作。如果动作与数据库中的规则对应,则网络装置允许消息包通过防火墙并且在两个装置之间通信,直到已经传送了所有的消息包为止。因此,可以在规则数据库中限定单个动作或应用,以容许在两个装置之间传送多个数据包。
根据本发明的一个实施例,公开了一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的网络装置。该网络装置包括包处理模块,该包处理模块被配置成接收来自外部装置的第一消息包并且从第一消息包中提取多个片段。应用分类器被配置成基于从第一消息包中提取的多个片段来识别至少一个应用功能,并且每个应用功能包括第一消息包和至少一个附加消息包。存储器装置存储规则数据库,规则数据库包括限定是否允许通过网络装置传送应用功能的多个规则。规则引擎被配置成将由应用分类器识别的应用功能与规则数据库进行比较,并且网络装置在外部装置与内部装置之间建立连接并且在所识别的应用功能被规则中的一个允许时将第一消息包传送至内部装置。
根据本发明的另一实施例,公开了一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的方法。该方法根据连接至内部装置与外部装置之间的工业网络的网络装置上的应用功能限定至少一个防火墙,并且应用功能包括多个消息包。在网络装置处接收来自外部装置的第一消息包,并且利用在网络装置上执行的包处理模块从第一消息包中提取多个片段。模块还使用在网络装置上执行的应用分类器基于从第一消息中提取的片段来识别第一数据包所属的应用功能。使用规则引擎将所识别的应用功能与防火墙规则进行比较,以确定是否将所接收的第一消息包从网络装置传送至内部装置。
根据本发明的又一实施例,公开了一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的网络装置。该系统包括包处理模块,包处理模块被配置成接收来自外部装置的第一消息包并且从第一消息包中提取多个片段。应用分类器被配置成基于从第一消息包中提取的片段来识别至少一个应用功能,并且每个应用功能包括第一消息包和至少一个附加消息包。存储器装置存储应用数据库,该应用数据库识别能够由网络装置执行的多个应用功能。消息包中的每个消息包由签名限定,并且应用数据库针对每个应用功能存储至少一个加密的签名,该至少一个加密的签名包括第一消息包的签名和每个附加消息包的签名。
对于本领域技术人员而言,根据详细描述和附图,本发明的这些和其他优点和特征将变得明显。然而,应当理解,虽然给出了本发明的优选实施例,但是以例示方式给出详细描述和附图而非作为限制。在不背离本发明的精神的情况下可以本发明的范围内做出许多变化和变型,并且本发明包括所有这样的变型。
附图说明
本文中所公开的主题的各种示例性实施例在附图中示出,贯穿附图,用相似的附图标记指示相似的部件,并且在附图中:
图1是结合本发明的一个实施例的示例性工业控制系统的示意性表示;
图2是图1的网络装置的框图表示;
图3是在网络装置的一个网络装置中执行的防火墙的框图表示;
图4是根据本发明的一个实施例的防火墙规则访问界面的示例性显示;
图5是根据本发明的一个实施例的防火墙规则装置选择界面的示例性显示;
图6是根据本发明的一个实施例的防火墙规则装置配置界面的示例性显示;
图7是根据本发明的一个实施例的防火墙规则编辑界面的示例性显示;
图8是根据结合本发明的一个实施例的工业网络的工业协议的第一请求的示例性数据包;
图9是根据针对结合本发明的一个实施例的工业网络的工业协议的第一请求的答复的示例性数据包;
图10是根据针对结合本发明的一个实施例的工业网络的工业协议的第二请求的示例性数据包;
图11是与针对结合本发明的一个实施例的工业网络的工业协议的一个应用关联的消息包的表格表示;
图12是图1的管理工业网络上的多个连接的网络装置的框图表示;
图13是示出根据本发明的一个实施例的实现防火墙规则的连接管理器的执行的流程图;
图14是具有未加密描述的签名的示例性应用功能的表格表示;以及
图15是图14的具有加密描述的签名的示例性应用功能的表格表示。
在描述附图中所示的本发明的各种实施例时,出于简便起见,将省略特定技术。然而,本发明不意在被限制成所选择的特定术语,并且要理解,每个特定术语包括以相似的方式操作以完成相似的目的的所有的技术等同方式。例如,常常使用词语“连接的”、“附接的”及相似的词语。这些词语不限于直接连接,而是包括通过其他元件的连接,其中,这样的连接被本领域技术人员识别为等同方式。
具体实施方式
首先参照图1,示例性工业控制网络包括一对工业控制器10。如所示出,工业控制器10是模块化的并且可以由在机架中连接在一起或安装至轨道的许多不同的模块构成。可以添加另外的模块或者移除现有的模块,并且工业控制器10被重新配置成适于新的配置。可选地,工业控制器10可以具有预定且固定的配置。所示出的工业控制器10中的每个工业控制器包括电源模块12、处理器模块14和网络模块16。每个工业控制器10还示出具有两个另外的模块18,这两个另外的模块18可以根据应用需求而被选择并且可以为例如模拟的或数字的输入模块或者输出模块。
一个或多个操作员接口20可以连接至工业控制网络。每个操作员接口20可以包括处理装置22、输入装置24和显示装置26,输入装置24包括但不限于键盘、触摸板、鼠标、跟踪球或触摸屏。要理解,操作员接口的每个部件可以集成为单个单元例如工业计算机、膝上型计算机或平板计算机。还要理解,多个显示装置26和/或多个输入装置24可以分布至受控机器或处理并且连接至一个或多个处理装置22。操作员接口20可以用于显示受控机器或处理的操作参数和/或状况、接收来自操作员的命令或者改变和/或加载控制程序或配置参数。接口线缆28将操作员接口20连接至工业控制器10中的一个。操作员接口20可以存储用于与工业控制器10进行通信的一个或多个程序。
一个或多个远程接口21还可以连接至工业控制网络。每个远程接口21可以包括处理装置23、输入装置25和显示装置27,输入装置25包括但不限于键盘、触摸板、鼠标、跟踪球或触摸屏。要理解,远程接口的每个部件可以结合为单个单元例如工业计算机、膝上型计算机或平板计算机。还要理解,远程接口21可以为还可以连接至服务器的台式计算机、膝上型计算机或平板计算机,使得远程接口21可以包括连接至一个或多个处理装置23的多个显示装置27和/或多个输入装置25。远程接口21可以用于显示受控机器或处理的操作参数和/或状况或者改变和/或加载控制程序或配置参数。远程接口21经由可以包括有线连接、无线连接或其组合的网络连接29连接至工业控制网络。远程接口21可以存储用于与工业控制器10进行通信的一个或多个程序。
网络装置60可以插入操作员接口20和/或远程接口21与工业控制网络之间。根据所示的实施例,操作员接口20和远程接口21各自连接至网络装置60。网络装置60可以为例如被配置成接收消息包并且将消息包分配至工业网络上的装置的交换机或路由器。工业控制器10中的每个工业控制器以相似的方式连接至网络装置60。因此,操作员接口20和远程接口21二者可以监测操作、改变配置和/或与工业控制器10中的每个工业控制器建立其他双向通信。网络装置60可以被配置成根据本发明的实施例并且如以下更详细地讨论的那样来监测消息包以用于侵入监测和侵入保护。要理解,网络装置60可以被配置成经由专用接口进行通信或者可以为任何标准的工业网络,包括但不限于Ethernet/IP、DeviceNet或ControlNet。每个网络装置60还可以被配置成在两种不同的网络协议之间转换消息。虽然本文中所描述的许多示例与CIP协议有关,但是这为示例性实施例并且应当理解,本发明可以以等同的方式应用于其他工业协议。
工业控制器10根据应用需要通过一个或多个网络连接至其他装置。如所示出,接口线缆30直接连接处理器模块14中的每个处理器模块。通过经由网络线缆32将两个工业控制器10的网络接口模块16连接至一对交换机34中的每个交换机来建立冗余网络拓扑。每个交换机34经由合适的网络线缆36、38连接至一对远程机架40中的一个。要理解,接口线缆30或网络线缆32、36、38中的任何网络线缆可以为被配置成经由专用接口进行通信或者可以为任何标准的工业网络包括但不限于Ethernet/IP、DeviceNet或ControlNet的定制线缆。每个网络模块16和交换机34被配置成根据与其连接的网络的协议进行通信,并且还可以被配置成在两个不同的网络协议之间转换消息。
每个远程机架40可以被设置在与受控机器或处理有关的变化的位置处。如所示出,每个远程机架40为模块化的并且可以由在机架中连接在一起或安装至轨道的许多不同的模块构成。可以添加另外的模块或者移除现有的模块,并且远程机架40被重新配置成适于新的配置。可选地,远程机架40可以具有预定的且固定的配置。如所示出,每个远程机架40包括一对网络模块42、输入模块44和输出模块46,每个网络模块42连接至冗余网络中的一个。输入模块44中的每个输入模块被配置成接收来自受控装置50的输入信号45,并且输出模块46中的每个输出模块被配置成将输出信号47提供给受控装置50。可选地,远程机架40中可以包括一些其他模块48。要理解,在不背离本发明的范围的情况下,工业控制网络、工业控制器10和远程机架40可以采用许多其他形式和配置。
接着参照图2,所示的网络装置60包括第一端口62和第二端口64。端口62、64中的每个端口包括用于分别管理消息包的输入和输出的接收缓存器和发送缓存器。虽然所示的网络装置60包括两个端口62、64,但是要理解,在不背离本发明的范围的情况下,网络装置60可以包括另外的端口。逻辑电路66与端口62、64中的每个端口进行通信。要理解,逻辑电路66可以包括专用装置例如模拟和/或数字集成电路装置。逻辑电路66还可以包括被配置成使通信加速和/或执行被另外地分配至处理器68的专用处理任务的另外的装置。可选地,逻辑电路66可以被结合在单个电子装置例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)上。网络装置60还包括处理器68和存储器装置70。处理器68根据装置需要可以为任何合适的处理器。要理解,处理器68可以包括单个处理装置或并行执行的多个处理装置,并且可以在单独的电子装置中实现或者结合在单个电子装置上例如FPGA或ASIC。类似地,存储器装置70可以为单个装置、多个装置或者可以部分地或整体地结合在FPGA或ASIC中。存储器装置70可以包括易失性存储器、非易失性存储器或其组合。根据本发明的又一实施例,逻辑电路66、处理器68和/或存储器装置70可以分别部分地或整体地形成在同一装置上。
处理器68包括包处理模块72、应用分类器74和规则引擎76。包处理模块72进行每个消息包的初始处理。初始处理将每个包解析成片段或其他成分以用于进一步处理。应用分类器74和规则引擎76与包处理模块72进行通信并且可以分别对所解析的数据包进行另外的处理,如以下详细描述。可选地,包处理模块72、应用分类器74和规则引擎76中的一个或多个可以在逻辑电路66上执行。根据本发明的一个实施例,逻辑电路66单独地执行处理器68以提高网络装置60的带宽。根据本发明的另一实施例,逻辑电路66与处理器68共同工作。处理器68被配置成执行存储在存储器装置70中的指令并且访问或存储被存储在存储器装置70中的操作数据和/或配置参数。根据所示的实施例,网络装置60包括存储在存储器装置70中的规则数据库82和应用数据库84。
接着参照图3,示出了装置在工业控制网络上进行通信的框图表示。将工业控制网络上的装置的一部分视为外部装置100,并且将装置的一部分视为内部装置108。虽然在本文中装置被称为外部装置100或内部装置108,但是标记不意在暗示装置相对于受控机器或处理或者相对于彼此的特定位置或者甚至通用位置,而是用于标识外部装置100位于防火墙104的“外侧”并且内部装置108位于防火墙104的内侧。外部网络102为有线网络或无线网络中的任何网络或网络的组合,外部装置100通过外部网络102连接至防火墙104,并且内部网络106为有线网络或无线网络中的任何网络或网络的组合,内部装置108通过内部网络106连接至防火墙104。根据图1所示的示例性网络,网络装置60可以被配置成执行防火墙104。操作员接口20和/或远程接口21例如可以分别为外部装置100和工业控制器10、交换机34,以及/或者远程机架40可以为内部装置108。
接着参照图4,示出了用于建立针对工业网络上的装置之间的通信访问的防火墙规则的界面402的示例性显示。界面402显示限定装置之间的关系的现有的规则401。根据所示的实施例,规则401被分配有识别码404并且包括内部装置名称406和外部装置名称408,程序员可以使用内部装置名称406和外部装置名称408来识别控制系统中的装置。通信发起者410指示通信是由内部装置108发起还是由外部装置100发起,并且规则401的状态412指示规则被启用还是禁用。图标、无线电按钮或任何其他合适的视觉指示符对设计者提供了用于编辑防火墙规则的界面。提供修改按钮414以修改或删除现有的规则,并且提供新项目按钮416以容许添加新的规则。添加的按钮容许例如使所有的规则有效418、无效420或删除422。帮助按钮424向程序员提供对帮助画面或其他辅助文件的访问。
图5示出了用于选择要在其之间限定新的防火墙规则401的装置的示例性界面。装置选择界面502提供了内部装置字段504和外部装置字段506,可以针对规则401中所包括的内容分别通过内部装置字段504和外部装置字段506来选择内部装置108和外部装置100。发起者字段522限定是内部装置108还是外部装置100发起通信并且状态字段524用于使得规则被启用和/或禁用。提供图标以用于保存538规则、限定规则541、返回542至规则界面402或者接收来自帮助画面或其他辅助文件的帮助540。内部装置字段504识别防火墙内侧的装置并且连接至内部网络106。所选择的装置字段508与内部装置108中的一个对应,所选择的装置字段508可以从下拉框510中选择或者在选择添加按钮512之后经由编辑器添加。可以手动地或经由自动检测在内部装置字段504中填充(pupulate)附加以限定所选择的装置。附加字段可以包括但不限于装置角色字段516、IP地址518或MAC ID 520。外部装置字段506识别防火墙外侧的装置并且连接至外部网络102。装置字段526识别可以从下拉框选择、经由编辑器添加或者自动生成的外部装置100中的一个。可以手动地或经由自动检测在外部装置字段506中填充附加字段以限定所选择的装置。附加字段可以包括但不限于装置角色字段532、IP地址534或MAC ID 536。
图6示出了用于编辑现有的装置或添加新的装置的示例性界面。装置配置界面602可以从规则界面502开始。根据所示的实施例,针对每个装置可以限定许多字段。字段可以包括:识别装置的ID序号604;识别执行界面至装置的应用的API序号606;或者识别控制系统中的关系的索引序号612。字段根据需要还可以包括控制系统中的装置的物理位置例如槽序号608和子槽序号610。可以限定用于识别装置可用的访问类型(例如,读、写或二者)的访问权限614,并且可以使用状态字段616使得装置的可用性被启用/禁用。删除字段618下的删除按钮可以用于删除单独的装置。可以限定另外的按钮以添加新的装置620、保存装置622、返回至调用画面624、提供对装置的全部访问626、删除所有的项目628或者浏览配置文件630以获得装置信息。帮助按钮632向程序员提供对帮助画面或者其他辅助文件的访问。
图7示出了用于编辑现有的防火墙规则401或添加新的防火墙规则401的示例性规则界面702。规则界面702可以从装置选择界面502上的规则按钮541开始。规则界面702包括内部装置界面704和外部装置界面724,内部装置界面704和外部装置界面724分别包括识别内部装置108的名称706和外部装置100的名称726的字段。每个装置可以被配置成与其他装置进行一个或多个通信任务。内部应用功能字段708使得选择针对内部装置108的任务中的一个,并且外部应用功能字段728使得选择针对外部装置100的任务中的一个。每个装置包括添加按钮712、732和移除按钮714、734,通过添加按钮712、732和移除按钮714、734可以从规则数据库82添加或移除所选择的应用功能。规则还限定装置之间的每个所选择的应用功能是被容许还是被禁止。因此,可以基于应用功能而非一个单独的消息包来限定规则。
如进一步示出,每个应用功能可能需要在装置之间传送多个消息包,以便进行所期望的任务。与应用功能中的一个关联的每个消息包在针对对应的应用的签名字段710、730中被列出。要理解,每个签名字段710、730中所示的签名基于如上所述所选择的应用功能而被填充。每个签名为对针对对应的应用功能要传送的消息包中的一个的描述并且可以采用各种形式。通过与其功能对应的标记来描述内部装置签名字段710中的消息包的签名。通过可以表示例如由消息包进行的服务的名称的消息包的示例性字段、消息包120的包头122中的一个或多个字段(如图8所示)例如命令代码126、数据长度128或会话处理130或其组合来描述外部装置签名字段730中的针对消息包的签名。要理解,可以在不背离本发明的范围的情况下利用描述消息包的其他一些签名。此外,图4至图7给出用于配置针对在网络装置60上执行的防火墙104的规则401的用户界面的示例性实施例并且不意在限于所示的实施例。要理解,在不背离本发明的范围的情况下,可以提供许多其他界面以限定防火墙104中的规则401。
在操作中,用户界面容许在应用级而非消息包级来限定防火墙规则。基于每个应用执行的功能来限定防火墙规则对系统设计者提供了更直观的界面。例如,可以期望一个装置读取另一装置的参数。参照图11,装置读取另一装置的参数所使用的示例性应用功能200被限定为“获取属性”。获取属性应用包括一系列四个消息包,其中,每个消息包为显式消息,即发起装置发送请求并且接收装置必须发送响应。出于示例性目的,发起装置为外部装置100并且接收装置为内部装置108,并且每个消息包必须通过防火墙104。外部装置100生成应用功能200的第一消息包202。在所示的示例中,第一消息包202为“登记会话”请求。与来自内部装置108的成功响应包进行组合,登记会话请求和登记会话响应在外部装置100与内部装置108之间的工业网络上建立会话。
另外参照图8和图9,示出了针对登记会话请求120和登记会话响应140的示例性消息包。登记会话请求120包括将消息包识别为登记会话请求120的命令代码126。数据长度字段128指示登记会话请求120包括四字节的数据124。因为这是用于在网络上登记会话的请求,所以会话处理130仍未被建立并且会话处理字段130为空(或者被设置成零)。根据所示的实施例,状态字段132、发送器上下文字段134和选项字段136也为空或被设置成零。在内部装置108接收来自外部装置100的登记会话请求120之后,内部装置108生成登记会话响应140。响应的结构与请求的结构相似,包括命令代码146、数据长度148、会话处理150、状态字段152、发送器上下文字段154、选项字段156和数据字段144。然而,在登记会话响应140中,会话处理150由内部装置108建立并且被传送回外部装置100。
再次参照图11,当建立会话时,一系列附加包204在外部装置100与内部装置108之间被传送。外部装置100发送内部装置108上呈现的内部装置108“列出服务”的请求包,并且内部装置108传送列出服务的响应消息包,这可以由内部装置108上呈现的一系列参数来限定。接收响应消息包之后,外部装置100向内部装置108发送标识其想要读取的期望参数的“发送数据”请求包,并且来自内部装置108的响应包包括期望数据。从期望参数读取之后,外部装置100将“未登记会话”包传送至内部装置108。从内部装置108至外部装置108的成功响应包使得会话未从工业网络登记。如根据上述的一系列步骤可以理解,如果没有对工业协议的扩展性理解,则系统设计者不可能针对需要在内部装置108与外部装置100之间传送的消息包中的每个消息包限定防火墙规则。消息可以不需要传统的字段例如源和目的地并且动态地建立会话处理,以使其不适于建立防火墙规则。另外,即使消息被嵌入在包括这样的传统的字段的另一消息包中,也可能期望仅允许一个装置能够生成的消息包的一部分传送至另一装置,而阻挡消息包的另一部分。即使例如在来自产品供应商的技术资料中提供了由装置生成的消息包中的每个消息包的细节,针对每个消息包限定防火墙规则比针对应用功能200限定单个防火墙规则更消耗时间。
如以上针对图8和图9所讨论,消息包的一部分被配置成请求-答复的格式。消息包的一部分还可以为广播类型的消息的格式。广播消息可以由多个装置读取并且不期望来自另一装置的答复。接着参照图10,示出了示例性广播消息160。如所示出,广播消息160包括与图8和图9的响应-请求消息性质相似的包头162。包头162包括命令代码166、数据长度字段168、会话处理170、状态字段172、发送器上下文字段174和选项字段176。可选地,要理解,包头162可以包括较少的数据字段并且可以包括例如仅会话处理170。数据字段164包括针对接口至非CIP协议的接口处理178和超时180。数据字段164还包括识别要遵循的数据项目的数目的项目计数字段182。根据所示的实施例,第一数据项目184和第二数据项目192存在于消息包中。每个数据项目184、192包括识别包括在数据项目184、192中的数据类型的代码186、194;识别包括在数据项目184、192中的数据的字节数目的长度188、196;以及与如先前针对每个数据项目184、192限定的数据类型和数据长度对应的数据190、198。
如以上所讨论,在应用级管理防火墙规则。要理解,应用可以为与在监管控制器、人机界面(HMI)或其他装置上执行的标准OSI模型中的应用层对应的应用层协议。还要理解,应用可以为在例如工业控制器10上执行的用户限定的应用。用户可以例如生成其中一系列消息包在工业网络上被传递的附加指令(AOI)或其他用户生成功能。在另一示例中,可以将防火墙规则限定成识别由应用执行的功能,以便在没有针对每个消息包限定规则的情况下容许消息包中的每个消息包通过防火墙。
除了在应用级管理防火墙规则之外,网络装置60被配置成管理工业网络上的不同的装置之间的多个连接。网络装置60被配置成经由逻辑电路66和处理器68的组合来执行防火墙104。参照图3和图12,外部网络102可以包括网络连接28、29,并且内部网络106可以包括网络连接30、32。多个连接210被示出为通过防火墙建立以在外部装置100与内部装置108之间传送数据包202、204。
另外参照图12和图13,连接管理器300被配置成在网络装置60上执行并且可以在逻辑电路66、处理器68或其组合中执行。连接管理器300接收在工业网络上传送的消息包202、204,并且可以在装置之间建立新的会话、管理现有会话以及当装置之间的通信完成时关闭会话。在步骤302处,连接管理器300接收消息包202、204。包处理模块72解析每个消息包202、204,以从包头122、142、162中提取字段的至少一部分以及/或者消息包202、204的数据片段124、144、164,如步骤304所示。由应用分类器74检查从每个消息包202、204获得的字段以针对应用功能确定消息包202、204是第一消息包202还是附加消息包204,如步骤306所示。应用分类器74可以例如访问存储在存储器装置70中的应用数据库84,并且将所接收的消息包与存储的应用功能200的列表和属于每个应用功能200的对应的消息包202、204进行比较,以确定每个接收的包与所存储的应用功能200中的一个是否对应。为了加速处理,要理解,可以将一个或多个字段例如命令代码126或者命令代码126与另一字段例如数据长度128的组合与存储在应用数据库84中的消息包202、204的列表进行比较。如果所接收的包与所存储的应用功能200不对应,在步骤314处,防火墙104阻挡所接收的包通过网络装置60的传送。如果所接收的包与所存储的应用功能200对应,则连接管理器300进行至步骤308,以确定所接收的包是否为现有连接210的一部分。
如果所接收的包不为现有连接210的一部分,则连接管理器300确定是建立新的连接210还是阻挡所接收的包。在步骤310处,连接管理器300识别所接收的包所属的应用功能200。可选地,该步骤可以与步骤306串行执行,在步骤306期间,应用分类器74确定每个所接收的包是否属于应用功能200中的一个。当做出该确定时,例如,应用分类器74可以存储所接收的包所属的应用功能200。连接管理器300接着确定是否允许应用功能200,如步骤312所示。执行规则引擎76以将所识别的应用功能200与存储在存储器装置70上的规则数据库82中的防火墙规则401进行比较。如果需要,则对从所接收的包提取的另外的字段进行评估,以确定是否可以执行应用功能200的特定实例。如果规则数据库82指示容许与应用功能200关联的消息包202、204通过防火墙104,则在工业网络上建立新的会话,如步骤316所示,其中,会话限定外部装置100与内部装置108之间的连接210,并且限定针对连接210的初始状态。在步骤318处,所接收的包被传送通过防火墙104。然而,如果规则数据库82指示不允许应用功能200的特定实例通过防火墙104,则阻挡所接收的包,如步骤314所示。在传送或阻挡所接收的包之后,连接管理器300进行至步骤320,以等待下一个消息包。
如果所接收的包为现有连接210的一部分,则连接管理器300检索会话信息,如步骤322所示。会话信息可以包括例如会话处理130、会话的状态信息、会话中执行的应用功能200等。状态信息可以识别最新发送了消息包202、204中的哪个消息包或者消息包202、204中的哪个消息包为要发送的下一个包。然后,会话管理器300可以验证所接收的包实际上为针对在会话中执行的应用功能200要发送的下一个包。如果所接收的包为针对应用功能200要传送的下一个包,则会话管理器300更新状态信息并且将所更新的会话信息324存储在存储器装置70中,如步骤324中所示。在步骤326处,会话管理器300将包传送通过防火墙。在步骤328处,会话管理器300还可以检查会话是否完成。如果会话完成,则会话管理器关闭会话,如步骤330所示。在关闭会话之后或者如果会话没有完成,则会话管理器300然后等待下一个消息包,如步骤320所示。虽然以上针对如图13的流程图中所示的步骤的特定顺序来讨论了会话管理器300的执行,但是要理解,在不背离本发明的范围的情况下可以以用于管理应用级防火墙规则的执行的各种组合和/或顺序来进行步骤。还要理解,装置之间可以存在多个连接210,并且可以由网络装置60以任何顺序来接收属于连接210中的任何一个连接的包。连接管理器300根据存储在规则数据库82中的防火墙规则401来保存针对连接210中的每个连接的会话信息,以确保属于应用功能200的消息包中的每个消息包被允许通过或者被拒绝通过防火墙104。
还要理解,网络装置60中的处理器68可以被配置成执行训练例程,处理器通过训练例程自动填充规则数据库82。在训练例程期间,防火墙104监测在工业网络上传送的消息包202、204,而且被配置成暂时容许所有的消息包202、204通过防火墙104。受控机器或处理被配置成操作在正常操作状况下,并且网络装置60观察所建立的连接210以及在装置之间传送的消息包。与进行用于当防火墙正常操作时确定是否允许消息经过的处理相似,网络装置60将消息包传送至包处理模块72,以从包头122、142、162提取字段的至少一部分和/或消息包202、204的数据片段124、144、164。由应用分类器74来检查从每个消息包202、204获得的字段以针对应用功能200来确定消息包202、204是第一消息包202还是附加消息包204,如步骤306中所示。应用分类器74可以例如访问存储在存储器装置70中的应用数据库84并且将所接收的消息包与所存储的应用功能200的列表以及属于每个应用功能200的对应的消息包202、204进行比较,以确定每个所接收的包与应用功能200中的一个是否对应。在这种方式中,网络装置学习每个装置需要执行哪个应用功能200,并且每个装置需要与哪个其他装置进行通信。网络装置60中的处理器68还被配置成生成与所观察的应用功能200对应的防火墙规则401,并且将防火墙规则401存储在规则数据库82中以供正常操作期间使用。
在训练例程期间基于所观察的应用功能200来生成防火墙规则401比基于单独的消息包202、204生成规则401导致针对工业网络的更完整的防火墙规则401的集合。应用功能200可以包括可以被传送作为应用功能200的一部分的许多消息包。然而,针对某些应用功能200,每次执行应用功能200时不是传送所有的消息包。应用功能200可以例如在第一组操作条件下传送第一组消息包202、204,在第二组操作条件下传送第二组消息包202、204,并且针对装置的配置和/或装置上的处理故障条件传送其他消息包202、204。虽然可以针对延长的时间段例如小时、天或星期来设置训练时间段,但是可以并且可能的是,在训练时间段期间不是要传送在工业网络上需要传送的每个可能的消息包。如果单独地基于所观察的消息包而生成防火墙规则401,则对所有的消息包202、204的子集进行观察,并且因此,仅生成用于容许消息包202、204的子集传送通过防火墙104的防火墙规则401。当随后在训练例程之外传送少量的规则消息包202、204时,防火墙104开始会阻挡消息包202、204。所阻挡的消息包202、204可能导致受控机器或处理的不期望的停止,并且还可以需要手动干预以识别阻挡的消息包202、204;确定其是否应当被允许通过防火墙104;以及相应地生成新的防火墙规则401。反之,通过识别与某些消息包202、204关联的应用功能200并且在应用级生成防火墙规则401,与应用功能200关联的所有的消息包202、204将会被容许通过防火墙104。因此,训练例程生成更完整的防火墙规则401的集合,导致随后在受控机器或处理中较少的停止时间和手动干预以补充防火墙规则401。
根据本发明的另一方面,针对每个应用功能200的数据签名可以在分布在被配置成与装置交互的装置或软件中之前被加密。接着参照图14和图15,应用功能800包括分别被签名802限定的多个消息包。应用功能800还通过版本804和修订806被识别。版本804可以识别应用功能800的主要变化,而修订806可以识别应用功能800的最小变化和/或对应用功能800的更新。可选地,应用功能800可以由任何其他装置例如识别应用功能800的不同的版本的单个字段或者由与应用功能800对应的签名802单独地识别。如图14所示,每个签名802可以设置在可以经由任何传统方法存储的列表例如数据库、数据结构等中。如图15中所示,单独的签名802已经被加密并且组合成一个加密的签名810。
应用功能800和签名802的列表可以存储在发起通信的装置中作为用于生成消息包的模板。签名802的列表可以以相似的方式存储在网络装置60上的应用数据库84中以用于实现防火墙规则401。另外,接收装置可以包括签名802的列表以验证消息包被正确地接收。如果装置被更新或者添加了新的装置,则可能需要将一组新的签名802加载至装置或数据库中。通常,签名802可以设置在可移除介质上或者在文件中以电子的形式传送。执行合适的软件并且被配置成对装置加载新的签名802的计算机可以包括监视器,或者可以以如图14中所示的方式在监视器上可以显示或者读取签名802的列表。另外,在受控机器或处理的操作期间,网络监视装置可以连接至工业网络以观察在工业网络上传送的消息包并且获得包签名802。技术人员还可以将所观察的在工业网络上传送的包签名802与应用功能800中的签名802的列表进行比较,以便识别需要被允许将消息传送通过防火墙104的具体应用功能800。因此,观察少量传送的消息包或检查装置或防火墙数据库中存储的数据可以提供应用功能800的与所观察的消息包对应的识别。
为了提高防火墙104的安全性,可以期望对属于应用功能800的消息包的单独的签名802进行加密,产生针对应用功能800的加密的签名810。根据所示的实施例,每个签名802经过加密例程以将人可读数据转换成经编码的数据。经编码的签名中的每个被组合成单个加密的签名810并且与应用功能800一起存储。要理解,可以利用各种加密例程,并且可以在加密的签名810内以任何顺序或者以交织的方式存储经编码的签名。还要理解,可以根据需要将加密的签名810划分成多个加密的签名810。
利用加密的签名810来提供更新装置上的签名802和/或配置防火墙规则401的安全方法。当现有签名802被更新或者对装置添加新的签名时,对签名802中的每个签名进行加密以生成加密的签名810。加密的签名810被存储在电子文件中并且经由可移除介质、网络连接或任何其他合适的方法被传送。然后,加密的签名810可以被加载至装置或被添加至应用数据库84。被提供有加密的签名810的装置以及应用数据库84被配置成从加密的签名810中提取签名802。因此,可以在不暴露人可读的形式的签名的情况下分配更新的签名802或新的签名802。
应当理解,本发明不意在将其应用限于本文中所述的部件的构建和布置的细节。本发明能够为其他实施例并且能够以各种方式实现或执行。前述实施例的变体和变型落入本发明的范围内。还要理解,本文中所公开和限定的发明涵盖从文本和/或附图中所提及或表示的单独的特征中的两个或更多个特征的所有的替选组合。所有这些不同的组合构成本发明的各种替选方面。本文中所描述的实施例阐述了用于实现本发明并且使得本领域其他技术人员利用本发明所已知的最佳方式。
本发明还被配置为:
1.一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的网络装置,所述网络装置包括:
包处理模块,所述包处理模块被配置成接收来自所述至少一个外部装置的第一消息包,以及从所述第一消息包中提取多个片段;
应用分类器,所述应用分类器被配置成基于从所述第一消息包中提取的所述多个片段来识别至少一个应用功能,其中,每个应用功能包括第一消息包和至少一个附加消息包;
存储器装置,所述存储器装置存储包括多个规则的规则数据库,其中,每个规则限定应用功能是否被允许;以及
规则引擎,所述规则引擎被配置成将由所述应用分类器识别的至少一个应用功能与所述规则数据库中的每个应用功能进行比较,其中,当所识别的应用功能被所述规则中的一个允许时,所述网络装置在所述外部装置与所述内部装置之间建立连接并且将所述第一消息包传送至所述内部装置。
2.根据1所述的网络装置,其中,当所识别的与所述附加消息包对应的应用功能被所述规则中的一个允许时,所述规则引擎容许将所述附加消息包中的每个附加消息包传送至所述内部装置。
3.根据1所述的网络装置,其中,所述应用分类器读取所述多个片段并且确定所接收的每个包是所述第一消息包还是所述附加消息包中的一个。
4.根据3所述的网络装置,其中:
所述存储器装置存储限定多个应用功能的应用数据库,所述多个应用功能识别属于所述应用功能中的每个应用功能的所述第一消息包和每个附加消息包,
所述规则引擎包括第一状态,在所述第一状态下,将与所述第一数据包中的一个对应的每个应用功能与所述数据库中的所述多个规则进行比较,以确定所述应用功能是被允许还是被拒绝,以及确定是否传送所述第一消息包,以及
所述规则引擎包括第二状态,在所述第二状态下,传送与每个被允许的应用功能对应的所述附加消息包。
5.根据4所述的网络装置,其中,所述应用数据库针对每个应用功能限定多个状态。
6.根据4所述的网络装置,其中,多个外部装置连接至多个内部装置,以及其中,所述网络装置在所述外部装置与所述内部装置之间建立多个连接,所述网络装置还包括连接管理器,所述连接管理器被配置成保持每个连接的记录和每个连接的当前状态。
7.根据4所述的网络装置,其中,所述应用数据库针对每个应用功能限定多个包签名。
8.根据7所述的网络装置,其中:
所述多个规则能够从用户界面配置,
每个规则包括与所述第一消息包和所述附加消息包中的一个对应的应用功能,以及
所述多个包签名中的每个包签名在显示在所述用户界面上之前被加密。
9.根据1所述的网络装置,还包括处理器,所述处理器能够在学习模式下操作以用于:
使所述规则数据库中的所述规则的至少一部分禁用,以使得消息包能够在每个外部装置与所述内部装置之间被传送,
当所述规则被禁用时,将所述第一消息包、所述附加消息包以及所识别的所述应用功能中的至少一个的记录存储在所述存储器装置中,以及
基于存储在所述存储器装置中的所述记录来生成至少一个新的规则,所述至少一个新的规则用于限定应用功能是被允许还是被拒绝。
10.一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的方法,所述方法包括以下步骤:
根据连接至所述内部装置与所述外部装置之间的所述工业网络的网络装置上的应用功能来限定至少一个防火墙规则,其中,所述应用功能包括多个消息包;
在所述网络装置处接收来自所述外部装置的第一消息包;
利用在所述网络装置上执行的包处理模块从所述第一消息包中提取多个片段;
使用在所述网络装置上执行的应用分类器基于从所述第一消息包中提取的所述多个片段来识别所述第一消息包所属的应用功能;以及
使用规则引擎对所识别的应用功能与所述防火墙规则进行比较,以确定是否将所接收的第一消息包从所述网络装置传送至所述内部装置。
11.根据10所述的方法,还包括以下步骤:
在所述网络装置处接收来自所述外部装置的至少一个附加消息包;
利用所述包处理模块从每个附加消息包中提取所述多个片段;
使用在所述网络装置上执行的所述应用分类器基于从每个附加消息中提取的所述多个片段来识别每个附加消息包所属的应用功能;以及
当将针对所对应的应用功能的第一消息包从所述外部装置传送至所述内部装置时,将每个附加消息包从所述外部装置传送至所述内部装置。
12.根据10所述的方法,还包括以下步骤:当所述规则引擎确定要从所述网络装置传送所接收的消息包时,在所述内部装置与所述外部装置之间的所述工业网络上建立连接。
13.根据12所述的方法,其中,多个外部装置连接至多个内部装置,以及其中,在所述外部装置与所述内部装置之间建立多个连接,所述方法还包括以下步骤:利用在所述网络装置上执行的连接管理器来保持每个连接的记录和每个连接的当前状态。
14.根据11所述的方法,还包括初始步骤:禁用所述防火墙规则,以使得将所接收的第一消息包和附加消息包中的每个消息包从所述网络装置传送至所述内部装置。
15.根据14所述的方法,还包括以下步骤:
当所述规则被禁用时,将所述第一消息包、所述附加消息包以及所识别的所述应用功能中的至少一个的记录存储在存储器装置中,以及
基于存储在所述存储器装置中的所述记录来生成至少一个防火墙规则,所述至少一个防火墙规则用于限定应用功能是被允许还是被拒绝。
16.一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的网络装置,系统包括:
包处理模块,所述包处理模块被配置成接收来自所述至少一个外部装置的第一消息包,并且从所述第一消息包中提取多个片段;
应用分类器,所述应用分类器被配置成基于从所述第一消息包中提取的所述多个片段来识别至少一个应用功能,其中,每个应用功能包括所述第一消息包和至少一个附加消息包;以及
存储器装置,所述存储器装置存储应用数据库,所述应用数据库识别能够由所述网络装置执行的多个应用功能,其中:
所述第一消息包和每个附加消息包中的每个消息包由签名限定,并且所述应用数据库针对每个应用功能存储至少一个加密的签名,所述至少一个加密的签名包括所述第一消息包的签名和每个附加消息包的签名。
17.根据权利要求16所述的网络装置,还包括:
规则数据库,所述规则数据库包括多个规则,其中,每个规则限定应用功能是被允许还是被拒绝;以及
规则引擎,所述规则引擎被配置成将由所述应用分类器识别的至少一个应用功能与所述规则数据库中的每个应用功能进行比较,其中,所述网络装置在所述外部装置与所述内部装置之间建立连接,并且在所识别的应用功能被所述规则中的一个允许时将所述第一消息包传送至所述内部装置。
18.根据权利要求17所述的网络装置,其中:
所述应用数据库针对每个应用功能限定多个包签名,每个包签名与所述第一消息包中的针对所述应用功能的一个消息包以及所述附加消息包中的针对所述应用功能的一个消息包对应;
所述多个规则能够从用户界面被配置,
每个规则包括与所述第一消息包和所述附加消息包中的一个对应的应用功能,以及
所述多个包签名中的针对所述应用功能的每个包签名在显示在所述用户界面上之前被加密。
19.根据权利要求17所述的网络装置,其中,多个外部装置连接至多个内部装置,以及其中,所述网络装置在所述外部装置与所述内部装置之间建立多个连接,所述网络装置还包括连接管理器,所述连接管理器被配置成保持每个连接的记录和每个连接的当前状态。
20.根据权利要求17所述的网络装置,还包括处理器,所述处理器能够在学习模式下操作以用于:
禁用所述规则数据库中的所述规则的至少一部分,以使得消息包能够在每个外部装置与所述内部装置之间被传送,
当所述规则被禁用时,将所述第一消息包、所述附加消息包以及所识别的所述应用功能中的至少一个的记录存储在所述存储器装置中,以及
基于存储在所述存储器装置中的所述记录来生成至少一个新的规则,所述至少一个新的规则用于限定应用功能是被允许还是被拒绝。
附图标记列表
10:工业控制器
12:(工业控制器上的)电源模块
14:(工业控制器上的)处理器模块
16:(工业控制器上的)网络模块
18:(工业控制器上的)附加模块
20:操作员接口
21:远程接口
22:(针对操作员接口的)处理装置
23:(针对远程接口)的处理装置
24:(针对操作员接口)的输入装置
25:(针对远程接口)的输入装置
26:(针对操作员接口)的显示装置
27:(针对远程接口)的显示装置
28:(针对操作员接口)的网络连接
29:(针对远程接口)的网络连接
30:(工业控制器之间的)网络线缆
32:(工业控制器与交换机之间的)网络线缆
34:交换机
36:(远程机架之间的初级)网络线缆
38:(远程机架之间的次级)网络线缆
40:远程机架
42:(远程机架上的)网络模块
44:(远程机架上的)输入模块
46:(远程机架上的)输出模块
47:输出信号
48:(远程机架上的)其他模块
50:受控装置
60:网络装置
62:第一端口
64:第二端口
66:逻辑电路
68:处理器
70:存储器装置
72:包处理模块
74:应用分类器
76:规则引擎
82:规则数据库
84:应用数据库
100:外部装置
102:外部网络
104:防火墙
106:内部网络
108:内部装置
120:消息包
122:包头
124:数据片段
126:命令代码
128:数据长度字段
130:会话处理
132:状态字段
134:发送器上下文字段
136:选项字段
140:登记会话响应
142:包头
144:数据片段
146:命令代码
148:数据长度字段
150:会话处理
152:状态字段
154:发送器上下文字段
156:选项字段
160:隐式消息
162:包头
164:数据片段
166:命令代码
168:数据长度字段
170:会话处理
172:状态字段
174:发送器上下文字段
176:选项字段
178:接口处理
180:超时
182:项目计数字段
184:数据项
186:代码
188:长度
190:数据
192:第二数据项目
194:代码
196:长度
198:数据
200:应用
202:消息包
204:附加消息包
210:连接
300:连接管理器
302:接收消息包步骤
304:处理包步骤
306:将包与应用功能进行比较的步骤
308:将包与现有的连接进行比较的步骤
310:识别应用功能步骤
312:检索会话信息步骤
314:阻挡包步骤
316:建立会话步骤
318:传送包步骤
320:等待下一个包步骤
322:检索会话信息步骤
324:更新会话信息步骤
326:传送包步骤
328:检查会话是否完成步骤
330:关闭会话步骤
401:防火墙规则
402:界面
404:识别码
406:内部装置名称
408:外部装置名称
410:通信发起者
412:状态
414:修改按钮
416:新项目按钮
418:有效按钮
420:无效按钮
422:删除按钮
424:帮助按钮
502:装置选择界面
504:内部装置字段
506:外部装置字段
508:选择装置字段
510:装置菜单
512:添加按钮
514:装置访问控制按钮
516:装置角色字段
520:MAC ID字段
522:发起者字段
524:状态字段
526:装置字段
532:装置角色字段
534:IP地址字段
536:MAC ID字段
538:保存按钮
540:帮助按钮
541:规则按钮
542:返回按钮
602:装置配置界面
604:ID序号
606:API序号
608:槽序号
610:子槽序号
612:索引序号
614:访问权限
616:状态字段
618:删除字段
620:添加新装置按钮
622:保存装置按钮
624:返回至调用画面按钮
626:访问按钮
628:删除所有的项目按钮
630:配置文件按钮
632:帮助按钮
702:规则界面
704:内部装置界面
706:名称字段
708:内部应用字段
710:签名字段
712:添加按钮
714:移除按钮
724:外部装置字段
726:操作员接口字段
728:应用功能字段
730:签名字段
732:添加按钮
734:移除按钮
800:应用字段
802:签名字段
804:版本字段
806:修订字段
810:加密的签名
Claims (11)
1.一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的网络装置,其中,在所述至少一个外部装置上执行多个应用功能,并且所述多个应用功能中的每个应用功能包括第一消息包和至少一个附加消息包,所述网络装置包括:
包处理模块,所述包处理模块被配置成接收来自所述至少一个外部装置的消息包,以及从所述消息包中提取多个片段;
应用分类器,所述应用分类器被配置成:
根据所述多个片段确定所接收到的每个消息包是否是针对所述多个应用功能中之一的第一消息包和附加消息包中之一;以及
基于从所述第一消息包中提取的多个片段来识别所述多个应用功能中之一;
存储器装置,所述存储器装置存储包括多个规则的规则数据库,其中,每个规则限定针对所述多个应用功能中之一的多个消息包是否被允许通过所述网络装置;
规则引擎,所述规则引擎能够进行操作以响应于接收到所述第一消息包将由所述应用分类器识别的应用功能与所述规则数据库中的每个应用功能进行比较,其中,当所识别的应用功能被所述规则中的一个允许时,所述网络装置在所述外部装置与所述内部装置之间建立连接;以及
连接管理器,所述连接管理器进行操作以用于:
在建立所述连接之后,将所述第一消息包传送至所述内部装置,
识别属于所建立的连接上的应用功能的每个附加消息包;以及
经由所建立的连接将属于所述应用功能的附加消息包传送至所述内部装置,而不将每个附加消息包与所述规则数据库进行比较。
2.根据权利要求1所述的网络装置,其中:
所述存储器装置存储应用数据库,所述应用数据库通过识别属于所述应用功能中的每个应用功能的所述第一消息包和每个附加消息包来限定所述多个应用功能,
所述规则引擎包括第一状态,在所述第一状态下,将与所述第一消息包中的一个对应的每个应用功能与所述数据库中的所述多个规则进行比较,以确定所述应用功能是被允许还是被拒绝,以及确定是否传送所述第一消息包,以及
所述规则引擎包括第二状态,在所述第二状态下,传送与每个被允许的应用功能对应的所述附加消息包。
3.根据权利要求2所述的网络装置,其中,所述应用数据库针对每个应用功能限定多个状态。
4.根据权利要求2所述的网络装置,其中:
多个外部装置连接至多个内部装置,
所述网络装置在所述外部装置与所述内部装置之间建立多个连接,以及
所述连接管理器被配置成保持每个连接的记录和每个连接的当前状态。
5.根据权利要求2所述的网络装置,其中,所述应用数据库针对每个应用功能限定多个包签名。
6.根据权利要求5所述的网络装置,其中:
所述多个规则能够从用户界面配置,
每个规则包括与所述第一消息包和所述附加消息包中的一个对应的应用功能,以及
所述多个包签名中的每个包签名在显示在所述用户界面上之前被加密。
7.根据权利要求1所述的网络装置,还包括处理器,所述处理器能够在学习模式下操作以用于:
禁用所述规则数据库中的所述规则的至少一部分,以使得消息包能够在每个外部装置与所述内部装置之间被传送,
当所述规则被禁用时,将所述第一消息包、所述附加消息包以及所识别的所述应用功能中的至少一个的记录存储在所述存储器装置中,以及
基于存储在所述存储器装置中的所述记录来生成至少一个新的规则,所述至少一个新的规则用于限定应用功能是被允许还是被拒绝。
8.一种用于提供连接至工业网络的内部装置与至少一个外部装置之间的安全通信的方法,所述方法包括以下步骤:
在连接至所述内部装置与所述至少一个外部装置之间的所述工业网络的网络装置上限定至少一个防火墙规则,其中,每个防火墙规则是在所述至少一个外部装置上执行的多个应用功能中之一的功能,并且每个应用功能包括要被传送以执行该功能的第一消息包和至少一个附加消息包;
在所述网络装置处接收来自所述外部装置的针对所述应用功能的消息包;
利用在所述网络装置上执行的包处理模块从所接收到的消息包中提取多个片段;
根据所述多个片段确定所接收到的每个消息包是否是所述第一消息包和所述至少一个附加消息包中之一;使用在所述网络装置上执行的应用分类器基于从所述第一消息包中提取的所述多个片段来识别所述多个应用功能中之一;在所接收到的消息包是所识别的应用的第一消息包时,使用规则引擎对所识别的应用功能与所述防火墙规则中的每个防火墙规则进行比较,以确定是否将所接收的第一消息包从所述网络装置传送至所述内部装置;
在所述规则引擎确定所识别的应用被所述防火墙规则中之一允许时,在所述内部装置和所述外部装置之间的工业网络上建立与连接管理器的连接;
在所述网络装置处接收来自所述外部装置的所述至少一个附加消息包;以及
在所述至少一个附加消息包属于所建立的连接上的应用功能时,经由所建立的连接将所述第一消息包和所述至少一个附加消息包传送至所述内部装置,其中,所述至少一个附加消息包在不与所述防火墙规则中之一进行比较的情况下被传送。
9.根据权利要求8所述的方法,其中,多个外部装置连接至多个内部装置,以及其中,在所述外部装置与所述内部装置之间建立多个连接,所述方法还包括以下步骤:利用在所述网络装置上执行的连接管理器来保持每个连接的记录和每个连接的当前状态。
10.根据权利要求8所述的方法,还包括初始步骤:禁用所述防火墙规则,以使得将所接收的第一消息包和附加消息包中的每个消息包从所述网络装置传送至所述内部装置。
11.根据权利要求10所述的方法,还包括以下步骤:
当所述规则被禁用时,将所述第一消息包、所述附加消息包以及所识别的所述应用功能中的至少一个的记录存储在存储器装置中,以及
基于存储在所述存储器装置中的所述记录来生成至少一个防火墙规则,所述至少一个防火墙规则用于限定应用功能是被允许还是被拒绝。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/554,621 US10110561B2 (en) | 2014-11-26 | 2014-11-26 | Firewall with application packet classifer |
US14/554,621 | 2014-11-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635108A CN105635108A (zh) | 2016-06-01 |
CN105635108B true CN105635108B (zh) | 2019-05-17 |
Family
ID=54770795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510845751.8A Active CN105635108B (zh) | 2014-11-26 | 2015-11-26 | 具有应用包分类器的防火墙 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10110561B2 (zh) |
EP (1) | EP3026863B1 (zh) |
CN (1) | CN105635108B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9906497B2 (en) | 2014-10-06 | 2018-02-27 | Cryptzone North America, Inc. | Multi-tunneling virtual network adapter |
US10015201B2 (en) | 2015-06-30 | 2018-07-03 | At&T Intellectual Property I, L.P. | Implementing application level multimedia services as a switching function |
US10412048B2 (en) * | 2016-02-08 | 2019-09-10 | Cryptzone North America, Inc. | Protecting network devices by a firewall |
US9560015B1 (en) | 2016-04-12 | 2017-01-31 | Cryptzone North America, Inc. | Systems and methods for protecting network devices by a firewall |
US10530749B1 (en) * | 2016-10-24 | 2020-01-07 | Mission Secure, Inc. | Security system, device, and method for operational technology networks |
US11153277B2 (en) | 2016-10-24 | 2021-10-19 | Mission Secure, Inc. | Security system, device, and method for internet of things networks |
EP3340571B1 (en) * | 2016-12-20 | 2023-05-17 | ABB Schweiz AG | Gateway for transmitting data from a source system to a destination system, with rule-based forwarding and further processing of data, and method |
CN106973058A (zh) * | 2017-03-31 | 2017-07-21 | 北京奇艺世纪科技有限公司 | 一种Web应用防火墙规则更新方法、装置及系统 |
EP3544262A1 (en) * | 2018-03-22 | 2019-09-25 | Mitsubishi Electric R&D Centre Europe B.V. | Method of improving security in a factory automation network |
US10834056B2 (en) * | 2018-07-31 | 2020-11-10 | Ca, Inc. | Dynamically controlling firewall ports based on server transactions to reduce risks |
CN108900543A (zh) * | 2018-08-13 | 2018-11-27 | 郑州云海信息技术有限公司 | 管理防火墙规则的方法和装置 |
US11303575B2 (en) * | 2020-03-25 | 2022-04-12 | Juniper Networks, Inc. | Network traffic control based on application feature |
US11588856B2 (en) * | 2020-05-08 | 2023-02-21 | Rockwell Automation Technologies, Inc. | Automatic endpoint security policy assignment by zero-touch enrollment |
US11575571B2 (en) | 2020-05-08 | 2023-02-07 | Rockwell Automation Technologies, Inc. | Centralized security event generation policy |
CN115023919B (zh) * | 2020-05-11 | 2024-07-19 | 深圳市欢太科技有限公司 | 防火墙规则的更新方法、装置、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1656731A (zh) * | 2002-02-08 | 2005-08-17 | 杜松网络公司 | 基于多方法网关的网络安全系统和方法 |
CN101827084A (zh) * | 2009-01-28 | 2010-09-08 | 丛林网络公司 | 网络设备的高效的应用程序识别 |
CN103973700A (zh) * | 2014-05-21 | 2014-08-06 | 成都达信通通讯设备有限公司 | 移动终端预设联网地址防火墙隔离应用系统 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154775A (en) * | 1997-09-12 | 2000-11-28 | Lucent Technologies Inc. | Methods and apparatus for a computer network firewall with dynamic rule processing with the ability to dynamically alter the operations of rules |
US6567408B1 (en) * | 1999-02-01 | 2003-05-20 | Redback Networks Inc. | Methods and apparatus for packet classification with multi-level data structure |
US7171440B2 (en) * | 2001-07-17 | 2007-01-30 | The Boeing Company | System and method for virtual packet reassembly |
US20030084318A1 (en) * | 2001-10-31 | 2003-05-01 | Schertz Richard L. | System and method of graphically correlating data for an intrusion protection system |
FI20012338A0 (fi) * | 2001-11-29 | 2001-11-29 | Stonesoft Corp | Palomuuri tunneloitujen datapakettien suodattamiseksi |
US7254133B2 (en) * | 2002-07-15 | 2007-08-07 | Intel Corporation | Prevention of denial of service attacks |
US7444515B2 (en) * | 2003-08-14 | 2008-10-28 | Washington University | Method and apparatus for detecting predefined signatures in packet payload using Bloom filters |
US8136149B2 (en) * | 2004-06-07 | 2012-03-13 | Check Point Software Technologies, Inc. | Security system with methodology providing verified secured individual end points |
US20060075481A1 (en) * | 2004-09-28 | 2006-04-06 | Ross Alan D | System, method and device for intrusion prevention |
US20060117385A1 (en) * | 2004-11-30 | 2006-06-01 | Mester Michael L | Monitoring propagation protection within a network |
EP1878192B1 (en) | 2005-01-06 | 2011-06-22 | Rockwell Automation Technologies, Inc. | Firewall method and apparatus for industrial systems |
US7624436B2 (en) * | 2005-06-30 | 2009-11-24 | Intel Corporation | Multi-pattern packet content inspection mechanisms employing tagged values |
US7873998B1 (en) * | 2005-07-19 | 2011-01-18 | Trustwave Holdings, Inc. | Rapidly propagating threat detection |
US20080248879A1 (en) * | 2005-10-12 | 2008-10-09 | Wms Gaming Inc. | Gaming Device Firewall |
US8443442B2 (en) * | 2006-01-31 | 2013-05-14 | The Penn State Research Foundation | Signature-free buffer overflow attack blocker |
US7966659B1 (en) | 2006-04-18 | 2011-06-21 | Rockwell Automation Technologies, Inc. | Distributed learn mode for configuring a firewall, security authority, intrusion detection/prevention devices, and the like |
US8949297B2 (en) * | 2006-12-27 | 2015-02-03 | Ebay Inc. | Content switch management |
US8782771B2 (en) | 2007-06-19 | 2014-07-15 | Rockwell Automation Technologies, Inc. | Real-time industrial firewall |
US8112800B1 (en) * | 2007-11-08 | 2012-02-07 | Juniper Networks, Inc. | Multi-layered application classification and decoding |
US8418240B2 (en) * | 2007-12-26 | 2013-04-09 | Algorithmic Security (Israel) Ltd. | Reordering a firewall rule base according to usage statistics |
US8336098B2 (en) * | 2009-03-25 | 2012-12-18 | Sysmate Co., Ltd. | Method and apparatus for classifying harmful packet |
US8484474B2 (en) | 2010-07-01 | 2013-07-09 | Rockwell Automation Technologies, Inc. | Methods for firmware signature |
US20120198541A1 (en) | 2011-02-02 | 2012-08-02 | Reeves Randall E | Methods and apparatus for preventing network intrusion |
US9100324B2 (en) | 2011-10-18 | 2015-08-04 | Secure Crossing Research & Development, Inc. | Network protocol analyzer apparatus and method |
US8837474B2 (en) | 2011-12-19 | 2014-09-16 | Qualcomm Incorporated | Apparatus and methods for efficient network address translation and application level gateway processing |
DE102012218488A1 (de) * | 2012-10-10 | 2014-06-12 | Continental Automotive Gmbh | Verfahren und Vorrichtung zum Betreiben einer Anwendung eines Fahrzeugs |
EP2944055A4 (en) * | 2013-01-11 | 2016-08-17 | Db Networks Inc | SYSTEMS AND METHOD FOR DETECTING AND WEAKING DOWN THREATS FOR A STRUCTURED DATA STORAGE SYSTEM |
US20140380471A1 (en) * | 2013-06-21 | 2014-12-25 | Barracuda Networks, Inc. | Binary Document Content Leak Prevention Apparatus, System, and Method of Operation |
-
2014
- 2014-11-26 US US14/554,621 patent/US10110561B2/en active Active
-
2015
- 2015-11-23 EP EP15195794.1A patent/EP3026863B1/en active Active
- 2015-11-26 CN CN201510845751.8A patent/CN105635108B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1656731A (zh) * | 2002-02-08 | 2005-08-17 | 杜松网络公司 | 基于多方法网关的网络安全系统和方法 |
CN101827084A (zh) * | 2009-01-28 | 2010-09-08 | 丛林网络公司 | 网络设备的高效的应用程序识别 |
CN103973700A (zh) * | 2014-05-21 | 2014-08-06 | 成都达信通通讯设备有限公司 | 移动终端预设联网地址防火墙隔离应用系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3026863A1 (en) | 2016-06-01 |
CN105635108A (zh) | 2016-06-01 |
US20160149861A1 (en) | 2016-05-26 |
EP3026863B1 (en) | 2021-01-13 |
US10110561B2 (en) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635108B (zh) | 具有应用包分类器的防火墙 | |
WO2019138128A1 (en) | Method and system for providing secure access to artifacts in a cloud computing environment | |
US9596124B2 (en) | Assistance device of network system | |
CN113625665B (zh) | 集中式安全事件生成策略 | |
CN112994958B (zh) | 一种网络管理系统、方法、装置及电子设备 | |
CN101713962A (zh) | 模块化对象的公布和发现 | |
WO2017045450A1 (zh) | 资源的操作处理方法及装置 | |
EP2808799A1 (en) | Equipment management device, equipment management method, program and equipment management system | |
CN107407923A (zh) | Plc控制数据生成装置、plc控制数据生成方法、以及plc控制数据生成程序 | |
CN103858097A (zh) | 封装其它凭据提供者的凭据提供者 | |
JP6708083B2 (ja) | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、及び端末装置 | |
JP6575311B2 (ja) | ネットワークシステムおよび制御装置 | |
US10063664B2 (en) | Network system and control device | |
JP2015109015A (ja) | 接続先解決システムおよび接続先解決方法 | |
CN101283540A (zh) | 在数字权限管理中共享权限对象的方法及其装置和系统 | |
KR20210044682A (ko) | 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법 | |
WO2020202993A1 (ja) | 保守方法、保守サーバ、及びプログラム | |
WO2020175031A1 (ja) | 制御装置、管理プログラムおよび制御システム | |
ES2962496T3 (es) | Método y dispositivo para generar un proyecto de automatización de edificios | |
CN105306263A (zh) | 一种局域网可视化管理方法和装置 | |
JP2003288209A (ja) | オブジェクト利用ゲートウェイ装置 | |
WO2010143415A1 (ja) | 通信制御システム、通信制御装置、通信制御方法および通信制御プログラム | |
JP2017530483A (ja) | 電子デバイスを制御管理する方法、並びに前記方法を応用する制御システム | |
WO2016056375A1 (ja) | アプリケーションの実行システム | |
JP2005286732A (ja) | 監視システム及び監視方法並びにそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: ohio Applicant after: Rockwell automation technologies Address before: ohio Applicant before: Rockwell Automation Tech Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |