通过签名平衡防止自动化组件受到程序篡改的制作方法

文档序号:9564776阅读:321来源:国知局
通过签名平衡防止自动化组件受到程序篡改的制作方法
【技术领域】
[0001]本发明涉及一种用于为自动化组件确定危险情形的方法。
【背景技术】
[0002]工厂自动化中的自动化系统是由一系列不同的自动化组件构成的,这些自动化组件基本上在控制及现场层面中、例如存储器能编程的控制系统。自动化组件的概念在此应理解成每个智能的并配有软件的现场或控制组件,并且就此而言在概念上也应该包括驱动、监控或传感器组件。自动化组件通常是彼此联网的并且由不同的、分等级布置的上级控制系统来操作和/或监控。等级上级的控制层面公知为操作者层面、管理层面或企业层面。
[0003]控制及现场层面中的自动化组件也越来越多地成为所谓的网络侵入和程序篡改(Programmmanipulat1n)的目标,其可能对例如制造过程的控制系统造成影响。如今已经有一系列的安全组件,它们虽然尽可能地防止、但是至少应该识别出整体上对自动化系统的入侵。然而,这通常是单个的、独自存在的提升自动化组件的工业安全性的措施,但是该措施当前既没有单独确保充分的全面篡改保护,也没有被公知以合适的方式组合这些安全组件。因此,具有“集成的安全功能”的自动化组件目前已经提供了针对程序修改的一定的保护。公知的和已经集成的安全机制是专有技术(Know-how)保护、防拷贝保护或访问保护。就应当确保的篡改保护而言,其仅仅涉及到将数据传输到前述的上级层面中,尤其是从HMI (人机界面)传输和传输给人机界面。然而,利用相应的耗费也能够绕开这些保护机制(例如暴力破解)。尽管如此,只要进行了程序修改,利用这些手段就不能识别程序篡改-即对过程行为的修改。
[0004]公知的还有所谓的SIEM解决方案(安全信息和事件管理),这些解决方案被集成到自动化环境中。在此,从组件中提取与安全相关的特征值,以便随后能够利用这些确保复杂的设备保护。在此,经由通行的协议如SNMP或者Syslog收集一般的信息,并且该信息可能与安全组件的其他信息相互关联。即使这样也不能全面地访问所有描述自动化组件的循环行为的变量。因此不能识别程序篡改。

【发明内容】

[0005]因此,本发明的目的是,提供一种方法,其通过可靠地识别自动化组件中的程序篡改确定了自动化组件的危险情形。该目的通过一种用于为自动化组件确定危险情形的方法来实现。自动化组件具有至少一种基本上循环的程序行为,其中,测定并存储有多个额定程序行为,该方法包括:a)循环地测定至少一个实际程序行为;b)循环地比较实际程序行为和已存在的额定程序行为;c)由比较循环地推导危险情形。相应的自动化组件基本上以循环运行来工作,如其例如由存储器可编程的控制系统中所公知的。在此,在自动化组件的输入端处循环地读取过程状态,并且在自动化组件的输出端循环地并且与循环的读取相关地输出。因此,对于自动化组件的输入端处和输出端处的每个过程状态都有过程映射。该过程映射在设备运行时被理解为实际程序行为,因为自动化组件的程序对于确定的输入过程映射生成确定的输出过程映射。在第一步骤中,现在测定或者说捕捉这种实际程序行为。测定或捕捉例如要理解为,这种实际程序行为、适当地与对相应时间点的同时捕捉一起、以所谓的“指纹”或第一签名的形式存储在格式适当的文件中。然而也能够设想,不进行在文件中的存储,而是将签名保存在存储器中,例如自动化组件的存储器中。在第二步骤中,现在将第一签名与第二签名相比较,其中,第二签名等于额定的程序变化。额定的程序变化在此应理解为在自动化组件中应该期待的、不受可能的篡改的程序变化。在进行实际监控之前,例如确定并存储多个额定程序变化。存储能够以适当的格式进行,其中适当地,实际程序变化以相同的格式存在。然后,在实际程序变化和额定程序变化之间的比较例如能够由此来实现,即,使这两个文件的所谓的哈希值相互比较,并且因此能够确定这些数据是否有显著区别。执行文件之间的比较的其他机制也是可行的。然后,在下一个步骤中通过对比较结果的质量性评估实现对危险情形的推导,即存在危险情形还是不存在。如果实际程序变化与存储的额定程序变化最大程度上一致,那么不存在危险。反之,从实际程序变化与额定程序变化不相符的情况可能证明有危险情形。最大程度上不一致在此应该理解为,不一定需要绝对的并且100%的一致,而是根据个别情况也能够允许与个别情况相关的确定程度的偏差,并且尽管如此也能够实现对危险情形的合格陈述。
[0006]以这种方式能够连续地监控程序行为,并且快速地识别程序篡改。在识别出第一和第二签名之间的偏差时,由此能够表明,在程序中进行了修改,这又是对可能的篡改的证据。能够采取可行的措施,例如发出警报和/或将过程自动引导到安全状态中。
[0007]根据本发明的另一个方面,在教导阶段中通过模糊逻辑和/或神经元网络和/或仿真软件测定所有的额定程序行为,其中,自动化组件的如此测定的额定程序行为能够存储在自动化组件自身中或者存储在上级的控制系统中。目标是,经过一定时间学习自动化组件在原始的且未改变的、即没有被篡改的状态中的行为,并且然后将该行为存储为第二签名。在此,具体是哪个类型的构建模块基本上无关紧要,只要行为具有循环的流程。这些模糊逻辑或者神经元网络的构造是公知的且在此不继续深入。重要的仅仅是,观察所有影响了自动化组件的行为的参量和变量。这些必须提前定义并且集成到逻辑中。按经验确定额定程序行为的可行途径在于使用仿真软件。利用这种仿真软件能够比较简单地实现,在设备出厂之前就已经测定并存储了额定程序行为。然后同样可行的是,在有期待的修改时,例如在随后的服务应用期间,再次学习改变了的额定程序变化,即为与该变化相关的额定程序变化生成并存储新的签名。
[0008]在一种实施方式中,测定的额定程序行为存储在自动化组件中。这是特别有利的,因为由此智能转移到了控制及现场层面,并且由此每个自动化组件都能够报告其篡改企图。同时,几乎没有使工业网络中的数据传输附加地负荷。
[0009]在另一种实施方式中,自动化组件的测定的额定程序行为存储在上级的控制层面中。在自动化组件也要连入到工厂自动化系统中的情况下有利的是,自动化组件不提供或者仅提供受限的(存储空间、处理器功率)可行性,即在该处放置其他的耗费处理器和存储器的功能,而没有不利地影响过程控制的处理时间。有利地,以这种方式也能够集成不同制造商的自动化组件。混合变体同样也是可行的。
[0010]根据本发明的一个重要的方面,如下地实现额定程序行为的存储,S卩,在存储了额定程序行为之后仅能够有读取访问。因为为了能够确保尽可能高的安全性,要注意的是,额定程序变化的签名不能够被篡改。因此,应如下地存储该签名,即,使得修改只能现场地并且不能通过远程访问来进行。以这种方式确保了额定程序行为不能屈服于外界的修改。
[0011]循环地测定实际程序行为对处理器负荷有影响,且从而只要程序在自动化组件中运行就对用于过程控制和监控的处理时间有影响。在程序在上级的控制系统中运行时,它对网络负荷有附加的影响。此外,用于测定实际程序行为的扫描率取决于自动化组件的类型和应用情况。如此,缓慢或迟钝的过程不需要过高的扫描率。因此,用于测定实际程序行为的时间间隔、扫描率有利地能够设计成可调节的。优选地,扫描率应该能够在2毫秒到5分钟的范围内调节。
[0012]在特别有利的实施方式中,由比较推导出的危险情形附加地与对于其他安全组件的危险情形独立测定的结果相结合。以这种方式能够有利地进一步减少可能的错误警报。在此,对实际和额定程序行为的签名的监控能够与其他的解决方案组合,例如SIEM解决方案(安全信息&事件管理)。SIEM解决方案示例性地独立于本文到现在为止所提出的解决方案。以这种方式,对于自动化组件的可能没有被教导的行为模式和因而引起的签名偏差,也能够不测定出危险情形或者以较低优先级使以下危险情形信号化,该危险情形例如不引起对过程的自动干涉。相反,在对实际和额定程序行为进行比较时将会识别出签名偏差,由于通过其他安全组件也与其无关地识别出潜在的侵入,在自动化组件中也应将以高概率表现出真实的程序篡改,并且能够迅速采取应对措施。
[0013]本发明的另一个方面包括计算机程序产品,用于确定在控制及监控设备内部的自动化组件的危险情形。自动化组件的概念在此应该包括每种形式的自动化组件,包括所谓的智能传感器或者执行机构或这两种的混合形式,它们对过程或设备数据执行受处理器并因而受软件控制的预处理或评估。除了所谓的存储器可编程的控制系统,任何智能的现场设备例如发动机、变流器或者诸如此类都应该属于自动化组件的概念范畴。计算机程序产品生成自动化组件的多个额定程序行为。这些额定程序行为定义了设备的预设的标准行为,即相应自动化组件在过程中的输出参数或者输出信号,其基于控制及监控设备的、基本上是相应自动化组件的相应的输入参数或输入信号。由于在控制和监控设备运行时发生变化的条件,例如变化的输入信号要求其他的输出信号,所以通过多个单个的、基本上分别描述了过程状态的额定程序行为来描述整个程序行为。这些标准过程状态作为额定程序行为以适当的方式存储。这能够在置于实际运行之前的、所谓的教导阶段期间实现,在该阶段中,经历或者模拟了所有的或者至少重要的过程状态。适当地,仿真软件能够有利于教导阶段。也能够设想,也在实际运行的一定阶段中获取额定程序状态,只要在这个阶段中能
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1