掌桥专利:专业的专利平台
掌桥专利
首页

用于为计算机控制的组件提供应用的方法和测试环境

文献发布时间:2023-06-19 09:36:59


用于为计算机控制的组件提供应用的方法和测试环境

技术领域

本发明涉及用于为计算机控制的组件提供应用的方法和用于为计算机控制的组件提供应用的测试环境。

背景技术

应用程序是能由计算机执行的软件,特别用于工业应用和类似应用的、简称为应用的这种应用程序越来越多地由所谓的应用商店提供,应用商店是程序服务器(库),其通常来自多个将应用存储并且提供用于“下载”的提供商。用于这种应用存储器的常见的应用场景是提供用于所谓的边缘装置或工业边缘设备的应用,其位于自动化网络与开放的数据网络(通常是互联网)之间的接口处,并且其一方面提供用于自动化网络中的数据处理的计算能力,并且另一方面实现自动化网络与开放网络、特别是所谓的“云”之间的通常预先处理的数据的交换。

边缘设备、即用于执行应用的组件通常设置用于同时执行多个应用,这通常借助于容器可视化、特别通过处理所谓的Docker软件的容器实现。

与传统的自我闭合和封装的、通常由唯一的经营者“一手”实施项目化和程序化的自动化环境相比,由如今的系统中的应用存储器(应用商店)提供大量供应商的应用,这使应用的有关数据安全和类似方面的控制变困难。此外变困难的是,由组件、特别是边缘设备与开放的网络(互联网、云)的连接增加了未授权的访问和数据传输的危险。

因此,应用应当遵守限定的安全要求和数据处理规则(所谓的“方针”),即在由应用存储器提供的应用(App)中应当确保在(经由应用存储器提供)交付之前检查:应用的所有组成部分在已知的安全漏洞方面是否是毫无问题的,并且其是否首先匹配预设的方针、即数据访问规则、通信接口、连接的外围设备和类似物。

对此已知的是,应用、特别是所谓的“Docker图像文件”、也就是封装的程序包或“容器”在使用的库方面对安全漏洞进行检查和审核。这表示:大体近似认为在应用检查的运行库和类似物时因此生成的应用是毫无问题的。然而显而易见的是,认证的库的应用和类似应用实际上不确保应用不执行未经许可的访问。

发明内容

因此,本发明的目的在于,检查并且主要还在运行时间确保用于工业组件的应用的遵守规则的行为。

用于该目的的、根据本发明的解决方案的核心理念在于:使应用在发布(提供给生产运行)之前在特定的测试环境中运行或者执行,并且在此生成行为模式和数据访问的指纹或类似物,并且该指纹或类似物与应用一起存储在应用存储器中。因此,新应用的数据访问模式是已知的,其中,其还能在该测试周期期间更确切地在其对预设的规则/方针的适应方面进行检查。该解决方案的核心理念还提出:在运行时间中、即在应用的生产运行中以相应的方式形成新的指纹或类似物,并且将在测试运行中以及在生产运行中分别生成的指纹或类似物相互比较,从而能够识别和报告潜在的入侵(从外部)或错误行为(应用自身)。作为报告的替代,显而易见地还能进行自动终止或其他预编程的反应。通过确定指纹或类似物之间的允许的偏差程度,能够根据应用的使用目的来确定识别的不同的灵敏度。在此还能为检查的不同方面(例如访问工作存储器、访问网络接口或其他的通信装置、访问连接的控制装置的数据点等)也分别限定指纹之间的其他允许的偏差。

特别地,该目的的解决方案提出了根据本发明的方法和测试环境。

在此,提出一种用于为计算机控制的组件、特别是工业边缘设备提供应用的方法,其中,在创建应用之后借助于应用存储器、特别借助于应用商店为组件提供应用。在此,在提供应用之前在测试环境中执行应用,其中,在测试环境中执行应用时,通过在执行应用时利用或经由测试环境登记的互动来形成表示特性的第一数据组、特别是指纹、哈希值(Hash-Wert)、配置文件或特征表,其中,借助于应用存储器提供配属于应用的第一数据组,其中,为了执行应用将应用和第一数据组传输至组件,其中,在组件上执行应用期间,至少暂时地经由应用的在组件处利用或经由执行环境登记的互动来形成表示特性的第二数据组,其中,将表示特性的第一数据组和表示特性的第二数据组相互比较,其中,在表示特性的第一数据组和表示特性的第二数据组相互的偏差差超过预设的量时,报告故障和/或停止执行应用。通过该方法能够首先确保应用在其运行时间表现方面符合预设的准则,并且另一方面还能确保在测试运行中在认证应用期间确定的允许的应用的行为模式在持续运行(正向运行)中也无显著偏差。

此外,用于该目的的解决方案提出一种用于为计算机控制的组件、特别是工业边缘设备提供应用的测试环境,其中,测试环境包括封装的执行环境、特别是所谓的沙盒(Sandbox),以用于应用的试运行。在此,测试环境配备有用于利用或经由测试环境登记应用的互动的监视装置,其中,监视装置设置用于,由登记的互动形成表示特性的第一数据组、特别是(数字式)指纹、哈希值、配置文件或特征表,并且其中,测试环境设置用于,在应用的试运行之后并且在创建表示特性的第一数据组之后,将应用和表示特性的第一数据组传输至应用存储器。利用该测试环境,能够实现已经根据该方法论述的那些优点。

在此描述的特征和其优点合理地也适用于根据本发明的测试环境。有利的变体方案不仅能单独实施,还能相互合理组合地实施。

在一个有利的设计方案中,测试环境是封装的执行环境、特别是所谓的沙盒,因为在这种执行环境中能够特别好地控制、登记和追溯对存储器单元、寄存器、服务等的访问。在此,能够特别容易确定:是否进行或不进行不允许的互动(例如访问外部数据或类似物)。特别地,测试环境还能是虚拟机,该虚拟机模拟组件(执行环境)和组件的能通过应用访问的外围设备。因此实现的是,通过将合适的虚拟机简单地实例化,利用同一个测试环境、即“通用”的硬件平台,测试并且在可能的情况下认证用于不同目标系统(个人计算机、边缘设备、工业控制装置、人机接口设备、嵌入式系统和类似物)的应用。

在一个有利的设计方案中,表示特性的数据组应当尽可能小,以便简化处理,然而另一方面对连接到组件上的工业自动化组件或其他外围设备的数据的访问的类型和/或频率做出反应,以能够确保将不期望的互动与允许的互动区分开。为此有利地提出:以访问等级划分互动和其他的访问,并且根据各个访问等级的重要性或易损性分别单独调整指纹或表示特性的数据组的形成,还分别限定允许的偏差。随后,由各个访问等级的子数据组有利地形成总的表示特性的数据组。

有利的是,将表示特性的第一数据组与应用一起存储在应用存储器中或者至少与应用连接或关联,以实现共同访问。在此有利的是,借助于数字证书保护表示特性的第一数据组以防止篡改。在一个有利的变体方案中,数字证书也延伸用于应用,从而使应用和表示特性的第一数据组共同形成不可分离的防止篡改的单元。有利的是,能借助于公开密钥基础设施检查应用和表示特性的数据组的集成。

有利的是,将关于待登记的互动的类型和规模以及关于该互动的针对第一数据组和第二数据组的特别考虑的信息与表示特性的第一数据组连接。这例如能够根据专门的规则(例如作为XML数据)或者通过说明用于形成数据组或指纹或哈希值的版本准则来实现。优点是确保了根据相同的规则和准则分别创建第一数据组和第二数据组,这是之后比较结果的基础前提。此外,第一数据组还能包含关于允许或不允许或甚至可能规定的互动、数据访问和类似物的信息(黑名单、白名单),从而能够安全和快速地识别错误行为。这样实现的是,根据提供附加的数据安全的防火墙的类型,从一开始自动关闭组件侧、即生产运行中的测试环境侧的相应的端口、接口和类似物。

附图说明

接下来根据附图阐述根据本发明的方法的实施例。附图同样适用于阐述根据本发明的测试环境。

图1以示意图示出网络,该网络在此具有应用存储器、认证装置、用于应用的开发系统和作为用于在生产运行中执行应用的执行环境的组件。

具体实施方式

图1示出了开发环境EU、即用于开发软件的工作站。在开发环境EU中运行工程化系统ENG,利用其创建应用APP1。在当前情况中,应用APP1是用于工业边缘设备的软件,其在附图中作为用于应用APP1的目标系统的组件K。在当前的实施例中,应用APP1设置用于,收集能够与组件K交换数据的可编程逻辑控制器的生产数据,在统计学上对其进行评估,并且将其传输至外部的SCADA(Supervisory Control and Data Acquisition(监控与数据采集))系统。然而,工业控制装置和SCADA系统由于简明原因在附图中未示出。

该图还示出测试环境CE(certification enviroment),其原则上由服务器组成,在服务器上实例化不同的测试环境BOX1、BOX2,其中,测试环境BOX1、BOX2在当前的实例中是虚拟机,测试环境BOX1以其模拟所谓的Docker引擎,其中,Docker引擎对应于组件K的运行时间环境RT。另外,也以相同的方式模拟作为数据源的工业控制装置,如实际的工业控制装置代表了用于组件K的数据源那样。此外,测试环境BOX1也设计用于根据所描述的SCADA系统来模拟数据接收器。在一个可替换的实施方式中,测试环境BOX1、BOX2还能被置入到实际的环境中,即与实际的控制装置等连接。这种场景也被称为“HIL”(Hardware-in-the-loop(硬件在环))。

相应地,应用APP1是所谓的Docker容器,其在生产运行中在运行时间环境RT中运行,然而对于测试和认证来说在测试环境BOX1中执行。测试环境BOX1还包括日志功能UE1(监视引擎),利用其还能在其在测试环境BOX1中运行期间利用模拟的数据源和数据接收器记录和评估应用APP1的数据交换。此外,日志功能UE1设置用于,经由应用APP1的登记的互动(即对数据源的访问、至数据接收器的传输、内部的存储器访问、库调用、对(模拟的)硬件资源的访问等)形成表示特性的第一数据组EDS1,并且将其与应用APP1连接,并且在完成测试和认证之后将其传输至应用存储器REP(库)。

应用存储器REP在所示的整个系统中代表所谓的应用商店,利用其能够为组件K和其他的组件提供应用APP1、...、APPn。在此指出的是,其他的组件还能是其他类型的,并且各种“供货商”能够在可能的情况下也针对付款提供各种应用APP1、...、APPn。

如已阐述的那样,组件K展示多个用于运行所谓的Docker容器的运行时间环境RT(runtime environment),其中,仅示出一个运行时间环境RT。运行时间环境RT包括或具有对第二监视装置UEK的访问,其以类似方式或与测试环境BOX1的监视装置UE1一样地被创建。在此,监视装置UEK与比较装置VE连接,其设置用于将表示特性的第一数据组EDS1与由监视装置UEK在应用APP1生产运行时形成的表示特性的第二数据组(未示出)比较。然而,比较装置VE在此被编程,使得在存在表示特性的数据组相互的能管理的显著偏差时发布警告,停止应用APP1的运行或实现其他的预先编程的反应。

比较装置VE还能执行其他的控制功能,尤其能够利用表示特性的第一数据组EDS1或以其他的类型和方式接收和考虑预设的黑名单或预设的白名单(或两者),其中,黑名单说明决不允许执行的应用APP1的互动,并且白名单阐明允许至少一次或以定期的时间间隔或在确定条件下执行或者甚至必须一定执行的互动,例如唤起所谓的看门狗功能或类似物。

因此,所示系统中的通常的工作流程源于首先利用开发系统ENG为应用APP1编程。在此,还能可选地限定黑名单或白名单。此外,能够在开发时或其他的时间点并且通过其他的系统或者其他的工作站限定允许的互动模式,即限定允许在下层的可编程逻辑控制器的哪个数据点多久并且以哪种方式访问应用,允许传输哪些参数给数据接收器,允许访问哪些存储区域或信息(并且也以哪种类型或以哪种频率)等。所有后面提到的信息都被提供给测试环境BOX1的监视装置UE,据此开始运行测试环境BOX1中具体在那里形成的虚拟机VM1中的应用程序APP1。监视装置UE1包括算法,其由在测试运行或认证运行期间应用APP1的登记的互动形成表示特性的第一数据组EDS1。在此,由每个登记和监视的互动至少在第一次的唤起中生成校验值,其与其他的校验值补充哈希值或秘钥。当然,唤起的频率、唤起或互动的目标和类似物还能具有对形成的表示特性的第一数据组EDS1的影响。在此,登记的互动在单独的工作站上示出,从而能够使测试工程师确定:是否仅运行允许的互动,或者还运行不允许的互动,据此在后面的情况下退回应用APP1以用于修改。

在成功测试之后,应用APP1和生成的第一数据组EDS1相互连接成为归档文件,该归档文件利用数字秘钥认证,从而在之后能够追溯该数据包的保存,并且将其传输到应用存储器REP中并且因此提供应用。该归档文件或容器为了其应用而被传输至组件K,其中,具有应用APP1的部分以生产方式在运行时间环境RT中被接管,并且提供比较装置VE的表示特性的第一数据组EDS1,其中,为第二监视装置UEK输送表示特性的第一数据组EDS1的如下部分,该部分说明要监视的互动并且还说明应当根据哪个算法形成表示特性的第二数据组。在应用APP1在生产运行中运行时,通过监视装置UEK监视应用APP1与“环境”(即一般为外围设备、通信连接、存储器和类似物)互动、特别是与下层的可编辑逻辑存储器和/或接收器(如SCADA系统)的互动。在此根据规则生成表示特性的第二数据组并且以定期的间隔将其传输至比较装置VE,其中,在比较装置VE中检查:实际的运行时间表现是否显著或不显著地偏离或不偏离在测试环境BOX1中运行时的认证的运行时间表现。

在一个实施方式中,能够将关于运行时间表现的信息、即应用APP1的登记的互动用于训练神经网络、即人工智能,其中,自动生成的反馈和/或监视工作站的反馈能够实现对神经网络的训练,以能够区分允许和不允许的互动和行为模式。

随后能够保护训练的神经网络不受另外的改变影响,并且借助于供应、尤其借助于应用存储器REP,能够在最后为监视装置UEK提供训练的神经网络,以便监视生产运行中的应用APP1的互动、运行时间表现和访问行为。在该变体方案中,比较装置VE设置用于,接收和处理报告、特别是由于不允许的互动而产生的警告,并且引起相应的反应(报告、中断等)。

相关技术
  • 用于为计算机控制的组件提供应用的方法和测试环境
  • 用于为激活气囊提供冷气体的冷气体发生器以及用于为气囊激活提供冷气体的方法
技术分类

06120112230609