用于分析对象的系统和方法与流程

文档序号:11623729阅读:201来源:国知局
用于分析对象的系统和方法与流程

本发明涉及一种用于借助于被动的数据收集器和用于抑制到对象的指令的封锁模块来分析系统操作者的对象的系统和方法。



背景技术:

本发明处于基于代理的、用于所谓的基于云的系统和服务的数据收集的安全范围之内。本发明还涉及所谓的“物联网(iot)”或者所谓的“系统网(wos)”的范围。在基于代理的数据收集中,该代理表现为在数据源和基于云的系统之间的接口。其收集数据并且发送数据到系统。数据的发送能够直接经由中介者(所谓的代理者)或者经由网关实现。数据源是工业的自动化系统中的自动化或计算单元。其能够是可编程逻辑控制器、具有控制器的现场设备,比如发动机、变流器、传感器,又或者汽车中的控制器、光信号设备、照相机或者类似物。这些代理能够是纯软件代理,其在该境况下直接集成在前述的控制系统或者控制器中,并且在该处作为数据收集器起作用。可替换地,代理也能够在特有的硬件中运行,其随后直接经由通信协议(西门子s7、profibus、modbus、opcda/ua、soap/xml等)连接数据源。在数据源经由代理的耦联的要求方面能够将其分为下列类型。

在一种情况中,代理应当从数据源收集数据,发送给基于云的系统和/或能够接收从基于云的系统到数据源的控制信号。这样的数据收集和控制代理的实例能够是发动机中的代理,其在简单的应用情况中从发动机的传感器读取数据、例如加速数据,并且将这些数据为了分析目的而发送给基于云的系统。当涉及对于工业自动化系统来说由于其功能而被示出的并且因此必须被监视的发动机的时候,基于云的系统能够在评估数据之后确定异常情况并且将停止指令发送给代理,其随后再次将用于停止发动机的相应的信号发送给发动机的控制系统。

在另一种情况中,代理是被动的数据收集器,其仅收集数据并且发送给基于云的系统,其利用这些数据实施另外的分析功能。代理的这种形式应当不从基于云的系统接收指令。

在工业环境中引入与基于云的系统连接的数据收集的代理具有若干与安全相关的结果。代理为互联网示出了工业的自动化系统和各个自动化和计算单元。代理自身直接或间接地与汽车中的与互联网连接的控制系统连接能够是危险的。因此,客户察觉到经由互联网和代理与控制系统连接的基于云的系统是危险的。由于该原因并且为了使安全风险最小化,主要允许的代理是,其仅是被动的数据收集器并且仅允许到云(向外)的连接。然而,客户不再总认为这样的被动的代理是安全的。因此担心的是,能够从外入侵到被动的代理中并且将其改变,以使得其还是将控制指令发送给自动化或计算单元。也存在风险的是,被动的代理在代理的配置或执行指令的基础上将控制信号发送给数据源。所尝试遇到的是,能将被动的代理设置为使得其仅仅在向外连接模式中工作。然而在该模式中也能够实现将控制指令发送给自动化或计算单元,即经由基于应答通信向外请求。如果成功利用流氓软件感染了被动的代理,那么其对此能够安排的是,将修改的信号或指令发送给自动化和计算单元。取决于具体的应用情况能够发生的是,这样的代理之后例如应当为来自于云的远程服务所激活,其随后-至少在一定的时间内-表示自动化或计算单元的控制。



技术实现要素:

相应地从前述问题出发,本发明的目的在于提出一种系统和方法,其提升了前述的系统的安全性。

特别地,该目的阻止的是,被动的代理将控制信号发送给自动化单元。

该目的通过本发明的系统和本发明的方法实现。

用于分析至少一个对象的系统是系统操作者的对象。在这点上,对象例如理解为工厂自动化中的自动化系统,其由一系列基本上在控制和现场层中的不同的自动化部件、如可编程逻辑控制器组成。在此,对象的概念理解为每个智能的和装配有软件的现场部件或控制部件,并且就此来说该概念也应当包括驱动部件、监视部件或传感器部件,例如发动机或变流器。这些对象通常彼此联网并且由各种按等级布置的上级的控制系统所操纵和/或监视。除了工厂自动化之中的前述对象之外,该概念也应当理解为每个与计算单元-无论在哪种环境中工作-连接的、实施控制和监视功能的对象。例如,车辆(道路车辆、农业车辆或轨道车辆)能够表现为这样的对象,然而也能是房屋控制和监视环境中的智能的装置。系统操作者应当理解为,对象在其占据物或占有物之中或者在其直接的影响范围之中,并且对象利用其数据进行工作。

给对象在本地分配至少一个第一计算单元。通常,计算单元位于具有对象的结构上的单元中。然而也能考虑的是,对象和其计算单元不形成结构上的单元。然而也在这样的情况中,计算单元和对象应当相互在空间上邻近,但是至少位于本地的通信网之中的系统操作者的影响范围的界限中。第一计算单元具有数据存储器、至少一个评估单元和至少一个应用。评估单元实现为硬件和软件的组合。其设计为与数据存储器分开的独立的计算单元,然而其也能包括计算单元。数据存储器包括对象的数据。在这点上,数据存储器也应当理解为内部的寄存器或数据变量。对象的数据能够是内部的对象数据又或者是对象外围设备(用于对象的传感器或执行机构)的数据。该应用安排评估单元来处理第一数据存储器的数据并且将第一数据存储器上由此产生的用于传送的第一结果-特别是作为控制信号-传输给对象或上级的控制系统。

该系统包括至少一个代理和第二计算单元。第二计算单元远离第一计算单元并且位于服务运行者的占据物、占有物或影响范围之中。在此涉及基于云的计算单元。第二计算单元包括第二数据存储器、第二评估单元和至少一个第二应用。代理被分配给第一计算单元。其应当理解为,代理要么作为纯软件代理直接安装在第一计算单元的硬件上,并且就此来说也使用该计算单元的评估单元,或者该代理在特有的硬件上按照软件执行,并且维持本地的通信网之中到对象的计算单元的特有的通信连接。该代理将数据从第一数据存储器经由互联网传送到第二数据存储器处。在此,该代理能够读取地访问第一数据存储器。可替换地,该代理也能够在其存储到第一数据存储器中之前收集数据。第二应用安排第二评估单元来处理第二数据存储器的数据并且将由此产生的第二结果传输到第二数据存储器。在该形式中,第二评估单元也设计为与第二数据存储器分开的、独立的计算单元。

为了阻止从第二计算单元到第一计算单元的、用于对象的不期望的控制指令执行对象的行为又或者使用第一数据存储器中的数据,执行封锁模块(“cil”-controlinhibitionlayer),其闭锁在第一和第二数据存储器之间的数据的、从第二到第一数据存储器的方向上的传输。封锁模块仅允许代理读取访问第一数据存储器。其抑制了代理对第一数据存储器的或者用于对象的第一计算单元的评估单元的、所有的修改/写入/控制指令。在功能组织上,封锁模块或封锁层位于第一计算单元和代理之间。封锁模块占据局外者、即抗病毒程序或防火墙的角色,并且在此控制代理与计算单元的第一数据存储器的通信,通过其作为位于该通信之间的封锁层的方式。当在代理和第一数据存储器之间总是存在通信的时候,封锁模块决定允许或闭锁该通信。假如代理要尝试写入到第一数据存储器中,那么就将其闭锁。

根据另一个观点,封锁模块也能够附加地封锁在第一和第二数据存储器之间的数据的、从第一到第二数据存储器的方向上的交换。随后其基本上能够具有的优点为,系统操作者所期望的是完全或在确定的时间内禁止到基于云的计算单元的数据传输。在该情况中抑制代理从第一数据存储器中进行读取尝试。

特别有利地,封锁模块仅具有一个用于系统操作者的入口,经由其能配置调节编辑器。对此,系统操作者能够限定规则,其除了数据面之外能够进行确定。例如,对于不访问对象的以及对进程控制不重要的数据的、确定的类别允许写入访问。在复杂的设计方案中,封锁模块维持配置规则,其例如确定应当封锁控制指令的哪个类别。因此,例如能够为高炉闭锁额定温度预设,然而能够允许用于热处理进程的额定温度在正/负5度的范围中预设。根据其它的配置规则例如能够确定的是,数据的哪个类别能够被动地由数据源读取并且哪个类别不能。因此能考虑的是,系统操作者经由调节编辑器确定了不允许代理读取产品相关的kpi(keyperformanceindicator,关键绩效指标),因为其对于系统操作者来说示出了敏感的数据,其不期望存储在设备外部的计算单元中。

为了提高透明度并且出于报告原因,能够在封锁模块的另一个变体方案中也由此维持统计的是,处理、封锁或释放多少通信询问。

在一个变体实施方案中,封锁模块作为分开的软件模块在第一计算单元的独立的应用(例如cil.exe)中执行。其以该方式使用第一计算单元的评估单元(cpu),如其例如也使用用于代理的应用(例如agent.exe)那样。在通常能复杂地攻击代理和就此来说更大数量的通信库又或者由第三提供者(openssl)所使用的软件模块并且就此而言暴露了更高的风险的同时,封锁模块-与代理相比-仅具有非常特殊的和相对简单的功能。以更高的标准设计和编程例如严格的存储保护、严格的错误监视等和/或仅应用少量的库,这显著减少了潜在的攻击目标。一方面安全和另一方面工作能力或可用性之间的、以典型的方式出现的冲突能够以该方式进行计算。经由封锁模块能够执行更高的安全标准,像其以实际的方式利用代理(因为必要的工作能力并且包含开源软件)不能够实现的那样。

在另一个变体方案中,封锁模块以服务进程的形式执行并且能由代理借助于通信询问进行调用。在代理形成了用于数据存储器的通信询问之后,封锁模块首先获得与用于释放该通信的请求相连接的代理的通信询问。如果封锁模块不授权释放,那么代理就再次拒绝通信询问,在代理对于主动释放而言接受通信的情况下。在该变体方案中,封锁模块仅提供通信本身保持由代理负责的决定。

在其它的变体方案中,第一计算单元具有用于管理第一数据存储器的应用。封锁模块能在进行通信询问之后通过代理由用于管理第一数据存储器的应用进行调用。如果封锁模块不授权该释放,那么管理程序就再次拒绝通信询问,在通过封锁模块主动释放的情况中允许对数据源的访问。如前述变体方案那样,封锁模块在此也提供通信本身保持由代理和数据源负责的决定。

根据另一个观点,封锁模块在特有的硬件上执行。其特别有利的是,代理也在特有的硬件中执行。在该变体方案中,将封锁模块连接到设备侧的通信网络中,并且读取网络上的通信。对于所有的基于tcp/ip的通信协议(例如profinet、modbus、tcp/ip)来说,封锁模块能够闭锁到数据存储器的通信。以该方式能够有利地通过唯一的封锁模块也为多个第一计算单元执行前述的释放或封锁决定。

在另一个变体方案中,封锁模块具有中介者模块,其将中介者功能注入到通信协议的运行时间库中,该中介者功能告知封锁模块以便通信询问。中介者模块是软件程序,其经由现存的库接口访问库并且如下地改变库的代码,即将代理的该通信询问发送给封锁模块。封锁模块能够闭锁或者释放该通信询问,并且因此有利地在第一计算单元的方向上抑制控制指令。

附图说明

接下来根据附图描述本发明的实施例。在此示意性地示出:

图1示出由多个用于分析在基于云的计算单元中的对象的计算单元组成的系统,

图2示出代理和封锁模块的功能。

具体实施方式

图1示出了用于分析对象1a至1d的系统100。对象是控制和现场层中的自动化部件,如其例如在工厂自动化中已知的那样。对象1a示出了由变流器2经由控制线3驱控的发动机4。对象1b示出了可编程逻辑控制器5,其以常规的方式经由数字/模拟的输入/输出端6与进程外围设备7连接。在另一个变体方案中,对象1c示出了智能的现场设备8,并且对象1d示出了智能的直接控制的发动机9。这些对象经由本地的通信网络10并且在该实例中与控制系统11连接,其执行上级的控制和监视功能。对象1a至1d提供对象数据22,其不仅是内部的对象数据(在对象之中形成、计算)还是外部的对象数据(来自进程层101的附加数据)。这些对象被分配给计算单元12,其进行对象数据的处理,其监视、控制或调节对象。计算单元12对此设置有至少一个评估单元13、数据存储器14和应用15。对象的计算单元12经由数据连接16与设备外部的计算单元17连接并且与其交换数据。数据连接16优选地经由互联网实现。如图1所示的对象由相同的系统操作者、然而也能够是不同的系统操作者经由互联网与计算单元17连接,并且将对象数据发送给该计算单元。计算单元17具有评估单元18和数据存储器19。应用20在评估装置18和数据存储器19的帮助下展开对对象数据的处理。应用20能够映射复杂的控制和调节功能(例如在模拟中),或者执行分析、历史调查、状态监视等。

代理25-其功能在图2中详细描述-作为数据收集器使用并且收集和传输对象数据22到计算单元17。

图2示意性地示出了计算单元12和17中的数据的处理。在此,对象数据22由作为数据源的对象1发送给数据存储器14。这些数据能够是每个内部的对象数据,如为对象计算的额定值参量的内部的、相连的发动机的电流或电压或者运行的发动机的变流器的中间电路电压或电流(就此来说也是结果24)。然而,这些数据也能够是有关对象和/或由对象控制的和/或监视的进程的、外部的传感器或执行机构的传感器数据。根据实施方式,能够将对象数据连续地、循环地、时间控制地或事件控制地传输给数据存储器14。数据存储器14与评估单元13相互作用。评估单元13具有对数据存储器14的访问并且能够由该数据22要求或者调用。评估单元13能够作为硬件和软件的组合实现。在这里描述的变体方案中,评估单元设计为与数据存储器14分开的独立的计算单元。经由评估单元13处理对各种应用15的询问。应用15在此表现为在计算单元12上实施的程序。应用15安排评估单元13根据保存在应用15中的指示23来处理数据存储器14的数据22,并且将该处理的结果24传输给数据存储器14以用于通知对象1。能够借助于该结果来控制或者影响对象1。根据图2作为在计算单元12之中运行的可执行的应用的服务运行者的代理25,经由指令26安排评估单元13将数据存储器14的对象数据22,24经由数据连接16带到设备外部的计算单元17处。计算单元17具有数据存储器19、评估单元18和应用20。计算单元17能够包括各种服务运行者的应用。应用20具有根据保存在应用20中的指令21来处理数据存储器19的数据22的评估单元18和存储在数据存储器19中的结果27。经由代理25和数据连接16能够使数据存储器19的数据到达计算单元12。图2示意性地示出了代理25如何具有关于结果27的数据。为了阻止由代理不期望地实施对于对象的控制功能(在此示例性地在应用20的结果27的基础上),设置有封锁模块28,其抑制对数据存储器14的写入访问。这明确的是,代理应用25的指令26应当安排评估单元13将结果27传输给数据存储器14以用于通知对象1。封锁模块28在此作为分开的进程在相同的评估单元上运行。

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