CN116541192A - 自动化装置的自动化软件的分析方法 - Google Patents

自动化装置的自动化软件的分析方法 Download PDF

Info

Publication number
CN116541192A
CN116541192A CN202310053875.7A CN202310053875A CN116541192A CN 116541192 A CN116541192 A CN 116541192A CN 202310053875 A CN202310053875 A CN 202310053875A CN 116541192 A CN116541192 A CN 116541192A
Authority
CN
China
Prior art keywords
automation
software
copy
automation device
technical
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.)
Pending
Application number
CN202310053875.7A
Other languages
English (en)
Inventor
P·赫斯
A·罗伊特格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenz Group
Original Assignee
Lenz Group
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenz Group filed Critical Lenz Group
Publication of CN116541192A publication Critical patent/CN116541192A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Biomedical Technology (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种对技术装置、特别是机器和/或设备的自动化装置、特别是可编程控制器的自动化软件进行分析的方法。所述自动化装置能够借助自动化软件而执行自动化任务,所述自动化软件能够由所述自动化装置来运行,其中所述自动化软件包括程序和与所述程序进行交互的数据。通过分析软件将所述自动化软件的在第一时间点存储在所述自动化装置的数据存储器中的第一版本与所述自动化软件的在第二时间点存储在所述自动化装置的数据存储器中的第二版本进行比较。

Description

自动化装置的自动化软件的分析方法
技术领域
本发明涉及一种根据权利要求1的前序部分所述的对自动化装置的自动化软件进行分析的方法。
上述类型的自动化装置用于实现技术装置(如机器和/或设备)的自动化。在此情况下,自动化程度的范围是从单个控制和/或调节技术任务(如确保驱动器的恒定转速)到高度复杂的自动化任务,其中例如借助多个过程技术上相关的机器和/或设备来控制整个生产线。
背景技术
能够实现自动化技术现今的较高潜力的原因特别是在于,现代的自动化装置能够通过自动化软件来执行自动化技术任务。例如,在采用形式为可编程控制器形式的自动化装置或过程控制系统时就是如此,可编程控制器现在也被称为“可编程自动化控制器(PAC)”,特别是在其能够执行复杂的自动化任务的情况下。
代替其功能由电子组件的通常不可变的接线而预设的早期电子自动化装置,通过使用由自动化装置来运行的软件,基于使用可运行的自动化软件的自动化装置可以更好地适配不同的自动化任务。在实践中,这些自动化装置也能够借此处理更复杂的自动化任务。
在此过程中可以理解的是,由于自动化技术领域中的要求和方案日益复杂,自动化装置需要越来越复杂的自动化软件。在此情况下,相应的软件包含多个组成部分,这些组成部分是针对自动化装置或具有自动化装置作为其组成部分的技术装置的特定类型,甚至是针对具体的自动化装置或相应技术装置的特定用途。
然而,在自动化软件发生非期望的变化时,高度的灵活性和复杂性使得故障排除变得越来越困难。此外,由于自动化软件的组成部分在自动化装置的运行过程中必然会发生变化,上述情形会进一步恶化。此外,由于此类自动化装置的联网程度越来越高,通过数据链路访问自动化装置而引起自动化软件的此类非期望的更改的风险也越来越大。这可能是非希望地发生的,例如因在通过数据链路对自动化装置进行原则上授权的访问时产生的错误而发生。然而,对自动化软件进行未经授权的更改的针对性攻击的风险也有所增大。两种情形都可能会对资本财货以及/或者乃至人的健康和生命造成相当大的损害。
发明内容
因此,本发明的目的是提出一种对自动化装置的自动化软件进行分析的方法,所述方法能够快速识别出可能的对自动化软件的希望和/或非希望的操纵。
上述自动化装置例如可以是可编程控制器。原则上,所述分析自动化软件的方法适用于所有能够借助可通过自动化装置来运行的自动化软件而执行自动化技术任务的自动化装置。自动化装置也可以是安全控制装置、所谓的功能安全控制器、传感器和/或执行器,其具有相应的集成自动化软件,如固件,以便独立运行软件,也可以是用于自动化任务的计算机、网络设备(如路由器或交换机)、可编程控制器和/或过程控制系统。
本发明用以达成上述目的的解决方案特别是在于,通过分析软件将所述自动化软件的在第一时间点存储在自动化装置的数据存储器中的第一版本与所述自动化软件的在第二时间点存储在自动化装置的数据存储器中的第二版本进行比较。
数据存储器可以是非易失性存储器,如硬盘和/或存储卡,但也可以是易失性存储器,如工作存储器。
就本发明而言业已表明,通过借助分析软件实现的对自动化软件的两个版本的这种比较,可以尽可能自动化且有效地对自动化软件进行分析,此分析适于识别自动化软件的问题变化。
此点特别是基于以下认识:在实践中证实是有问题的自动化软件的变化通常发生在自动化软件的在自动化装置的正常操作中的特定时间点之间不会发生任何变化的部分中。从而特别是能够借助分析软件来识别自动化软件的这些部分中的变化。
自动化软件包括程序和与程序进行交互的数据。这些数据特别是可以是由程序来处理、即特别是读入的数据以及由程序生成的数据,即由程序存储在数据存储器中的数据。
所述方法可以提出,在单独的计算机上运行所述分析软件,通过数据链路将计算机与自动化装置连接在一起。例如在该分析是对可能的攻击的分析并且预计需要采取证据保全措施的情况下,例如上述方案较为有利。就此而言,其特别是可以是专用的取证计算机。在存在疑问的情况下,专用的取证计算机指的是适于在遵循取证标准的情况下实施所述方法的计算机。
作为替代和/或补充方案,分析软件可以是在自动化装置或通过数据链路与该自动化装置连接的另一自动化装置上运行的软件。这种分析软件例如可以是服务。因此,例如可以将分析软件作为服务在可编程控制器上运行,并且可以将通过数据链路与控制器连接的形式为执行器的自动化装置用于分析自动化软件。此举的有利之处在于,不需额外的硬件组件来实施所述方法。
作为替代和/或补充方案,可以通过云计算系统来运行所述分析软件。此举具有高度的位置独立性的优势,特别是可以在短时间内“远程”进行分析。
特别是当在云计算系统和/或自动化装置上运行分析软件的情况下,可以在虚拟环境中,例如以容器虚拟化的方式,运行该分析软件。此举例如可以通过使用“Docker”软件来实现。作为替代和/或补充方案,可以在虚拟机上运行该分析软件。
所述方法可以提出,通过所述分析软件将自动化软件的第一版本的第一副本和/或自动化软件的第二版本的第二副本存储在为此而设置的存储区中。有利地将第一副本和/或第二副本用于进行比较。在此情况下有利的是,在第一副本和第二副本之间进行比较。
在此情况下,优点在于,无需进一步访问自动化装置来进行实际分析。针对用于进行比较的每个版本,仅须读取一次自动化软件。相应地,特别是在第一时间点读出第一副本并且特别是在第二时间点读出第二副本。此处理方式的另一优点是,对存储在自动化装置上的自动化软件的更改一旦完成就无法进一步影响这些副本。
所述方法可以提出,通过分析软件在使用写保护器的情况下对自动化软件进行访问。特别是可以使用写保护器的情况下创建第一副本和/或第二副本。写保护器可以是指硬件和/或软件,其确保作为只读访问对待读出的介质进行访问,在本实例中特别是对自动化装置的数据存储器进行访问。由此确保在制作副本时,不会改变存储在自动化装置的数据存储器上的自动化软件。一方面,此举的优点在于,确保不会使存储在自动化装置的数据存储器上的自动化软件发生可能有害的更改。此外,如果应将分析结果将用作正面材料,例如在法律诉讼中,通过写保护器避免此种可能的更改是较为有利的。
所述方法可以提出,自动化软件的存储在预设存储区中的副本受到保护以免发生更改。作为替代和/或补充方案,所述方法可以提出,自动化软件的存储在预设存储区中的副本受到保护以免发生未被识别的更改。受到保护以免发生未被识别的更改特别地指的是虽然可以对副本进行更改,但随后可以识别出这种更改的存在。特别是可以使用哈希函数来保护自动化软件的副本以免发生更改和/或未被识别的更改。这种哈希函数或散列函数能够针对存储在所设置的存储区中的副本计算哈希值。在此情况下,无法或者至少在实践中几乎无法从哈希值回溯到哈希值所基于的数据。这类哈希函数也被称为密码学哈希函数或加密哈希函数。这样就易于识别出存储副本的变化,因为在副本发生变化时,形成副本的数据不再与其哈希值“相匹配”。在此情况下,通过针对这些数据重新计算哈希值并将其与所存储的哈希值进行比较,可以很容易地检查数据是否已发生变化。
作为替代和/或补充方案,可以借助认证特征来保护自动化软件的存储在所设置的存储区中的副本以免发生更改和/或未被识别的更改。这种认证特征特别是能够识别对副本进行更改的发起者。特别是能够识别出分析软件作为对副本进行更改的发起者。这样就能确保存储在副本中的数据实际上是被分析软件所存储。
认证特征例如可以是根据X.509标准的证书。例如可以将这种证书例如用作对副本进行签名的密钥。此种签名能够检查该副本是否是由证书持有人所创建。在此情况下,证书持有人特别是为分析软件的使用者。
作为替代和/或补充方案,可以以加密的方式存储该副本。其优点在于,无法选择性地操纵加密的数据,因为这些数据无法在不预先解密的情况下进行读取。也可以将例如符合X.509标准的证书用作用于进行加密的密钥。
第一副本和/或第二副本可以是自动化装置的数据载体和/或工作存储器的取证副本。取证副本为相应数据载体和/或工作存储器的未改变的一对一物理副本。如果应将副本用于进行举证,例如在法律诉讼的范围内,符合该要求的副本则特别是较为有利。在此情况下,该取证副本特别是可以是自动化装置的硬盘和/或容置在自动化装置中的存储卡的取证副本。这种取证副本的另一优点在于,可以通过导入虚拟环境来对其进行重建和分析。
自动化软件可以是操作系统和/或操作系统的组成部分。操作系统的组成部分特别是可以是内核或操作系统核心。作为替代和/或补充方案,操作系统的组成部分可以是库。操作系统的上述元件基于其对于自动化装置的功能的核心作用是自动化软件的特别敏感的组成部分,因而是上述分析自动化软件的方法的优选主题。
自动化软件可以包括运行时环境和/或运行时环境的组成部分。运行时环境特别是用于执行针对相应运行时环境而编写的程序。因此,其例如可以是针对可视化软件、特别是基于网络的可视化软件的运行时环境。运行时环境特别是能够将第三方的软件纳入自动化软件中。在此情况下,该软件仅须满足运行时环境的要求,第三方不需要深入了解自动化装置或自动化装置的其他自动化软件,而是可以以适用于运行时环境的方式设计其软件。因此,这类运行时环境在所述及的类型的自动化软件中也起到核心作用,故而是本方法的优选主题。
运行时环境的组成部分特别是可以是运行时库、标准库、编程接口和/或运行时变量。
作为替代和/或补充方案,所述方法可以提出,所述自动化软件包括配置数据。配置数据指的是与自动化装置和/或具有自动化装置作为其组成部分的技术装置的技术设计特征相关的数据。借助这类配置数据将自动化装置的自动化软件与相应自动化装置和/或具有自动化装置作为其组成部分的相应技术装置适配。在此情况下,设计特征特别地指的是对于所有自动化装置和/或特定类型的技术装置而言相同的这类技术设计特征。这些技术设计特征特别地可以是指驱动系统的轴配置、特别是驱动系统的轴数量以及/或者技术装置的可选模块的存在,例如提取装置和/或质量控制装置的存在。
作为替代和/或补充方案,所述方法可以提出,所述自动化软件包括参数化数据。参数化数据指的是与自动化装置和/或具有自动化装置作为其组成部分的技术装置的技术参数相关的数据。这些技术参数是针对特定自动化装置和/或技术装置单独确定的参数。例如可以单独确定这些技术参数,以便将技术装置制造过程中的制造公差考虑在内或对其进行补偿。因此,技术参数特别地可以是通过在相应技术装置上进行测量而确定的参数。这些技术参数特别地可以涉及诸如参考位置、限动位置、探头位置和/或轴长度等尺寸,特别是工业机器人的尺寸。
所述自动化软件可以包括应用数据。就此而言,应用数据指的是与自动化装置和/或具有自动化装置作为其组成部分的技术装置的具体用途相关的数据。这特别是可表明,这些应用数据与单个技术装置的相关用途有关。就每个单个技术装置而言,相应用途可能与同类型的其他单个装置有所不同。所述应用数据特别是可以是用于技术装置的操作过程的程序、调节器参数、极限值(例如针对允许的转速、转矩、加速度、速度和/或加速度率)、额定值(例如针对转速、转矩、加速度、速度和/或加速度率)、过程参数,如温度、压力、浓度、混合比、质量流量和/或体积流量。
所述方法特别是可以提出,通过分析软件识别自动化软件的不可变部分,该部分在自动化装置的正常操作过程中不会发生变化。作为替代和/或补充方案,所述方法可以提出,通过分析软件识别自动化软件的可变部分,该部分在自动化装置的正常操作过程中会发生变化。
识别自动化软件的可变和/或不可变部分能够在由自动化软件实施的对自动化软件的第一版本和自动化软件的第二版本的比较过程中,选择性地评估和/或屏蔽自动化软件的部分。这样就能一方面减少待比较的数据量,从而加速该过程。此外,可以通过对自动化软件的那些更改,从一开始就减少结果集,在这些更改中,常规操作过程中的更改本就是可能的或预期的。针对每个所发现的更改而言,由此增大了以下可能性:其实际上是与自动化软件的不得更改的部分相关的更改,因此代表了分析基础问题的潜在原因和/或进一步操作技术装置的危险。
所述方法特别是可以提出,仅结合自动化软件的已被分析软件识别的不可变部分进行比较。作为替代和/或补充方案,所述方法可以提出,在屏蔽自动化软件的已被自动化软件识别的不可变部分的情况下进行比较。这种对自动化软件的子集评估相应地实现了较高的分析效率。
所述方法特别是可以提出,在识别自动化软件的不可变部分时,将操作系统、操作系统的组成部分、运行时环境、运行时环境的组成部分、配置数据、参数化数据、应用数据、硬件相关的地址和/或证书的签发者与自动化软件的不可变部分进行对应。
事实表明,以上述方式运行的软件组成部分在上述类型的自动化装置的正常操作过程中通常不会发生任何变化。因此,特别是可以通过以下方式来识别自动化软件的不可变部分:通过分析软件搜索上述类型的自动化软件的此类软件组成部分并且通过分析软件将其与自动化软件的不可变部分进行对应。为了识别自动化软件的不可变部分,所述方法可以提出,对关于对应于自动化软件的不可变部分的软件组成部分的类型的先验知识进行保存。先验知识特别是指的并不是在分析软件运行时产生的知识,而是在实施所述方法之前就保存在该分析软件中的知识。作为替代和/或补充方案,所述方法可以提出,使用比较值,其能够实现对自动化软件的不可变部分的识别。比较值特别是可以是软件组成部分(例如操作系统的组成部分)的哈希值。特别是可以将先验知识和/或哈希值保存在分析软件和/或资源(例如分析软件所使用的数据库)中。
作为替代和/或补充方案,所述方法可以提出,在识别自动化软件的可变部分时,将当前时钟时间、密钥、证书、非硬件相关的地址和/或数据、缓存文件与自动化软件的可变部分进行对应。
事实表明,以上述方式运行的软件组成部分在上述类型的自动化装置的正常操作过程中通常会发生变化。因此,特别是可以通过以下方式来识别自动化软件的可变部分:通过分析软件搜索上述类型的自动化软件的此类软件组成部分并且通过分析软件将其与自动化软件的可变部分进行对应。为了识别自动化软件的可变部分,所述方法可以提出,对关于对应于自动化软件的可变部分的软件组成部分的类型的先验知识进行保存。
所述方法可以提出,根据特定事件的出现来选择第一时间点和/或第二时间点。
第一时间点可以是通过信息技术安全系统、特别是防火墙、入侵检测系统和/或病毒扫描器识别到安全相关事件之前的时间点。第二时间点特别是为识别出事件之后的时间点。
就此而言,防火墙指的是对自动化装置的数据链路进行检查且特别是进行调节的硬件和/或软件。病毒扫描器检查存储在自动化装置的数据存储器中的文件。病毒扫描器特别是可以隔离和/或删除被病毒扫描器识别为有害和/或潜在有害的文件。入侵检测系统可以适于检查数据、特别是通过数据链路传输的数据,以了解其内容。特别是可以检查是否包含已知有害的内容或基于其特性而被归类为潜在有害的内容,例如来自虚假发件人的电子邮件。此类检查也被称为基于签名的检查。作为替代和/或补充方案,入侵检测系统可以适于对异常事件进行检查,例如用户是否通过自动化装置上的数据链路在短时间内接连从地理上彼此远离的位置登录相应界面,例如在几分钟内先从德国登录,而后从地理上间隔较远的外国进行登录。
识别到这种与安全有关的事件可以指示对技术装置的操作或技术装置自身的危害。分析自动化软件的方法允许以简单且快速的方式检测和识别这种事件对自动化软件的影响。然后可以根据结果及时且针对性地采取措施,此举一方面可以对潜在的危险干预作出早期反应,另一方面,在攻击尝试事后被证实是无害的情况下,此举可以帮助避免因过度的措施(例如由于过早地中断操作)而产生的成本。
作为替代和/或补充方案,第一时间点可以是在自动化装置和/或具有自动化装置作为其组成部分的技术装置完成启动到开始正常操作之间的时间点。经证实,在正常操作过程中,上述类型的自动化软件至少大部分相对较少发生变化。因此,从自动化装置完成试运行到开始正常操作之间的时间点尤其适于作为第一时间点,因为自动化软件的在该时间点存储的第一版本恰好反映了自动化软件在完成试运行后被视为适于永久运行的状态。特别是如果在该时间点已创建了自动化软件的副本,则可以相应地将该副本用作供分析软件在未来进行比较的参考版本。
第二时间点特别是可以是在将自动化软件的备份副本导入自动化装置中之后的时间点。导入备份副本是重建自动化软件的期望状态的一个简单且相对较为强大的措施。然而,在导入备份副本时,存在无法准确重建期望状态的风险。一方面,这可能有技术上的原因,但另一方面,人为错误来源也起到推动作用,例如在错误地选择了备份副本的有误版本或者甚至是属于另一自动化装置的错误备份副本的情况下。在此情况下,所描述的方法能够快速识别出错误并且例如可以避免在用错误的自动化软件重新启动技术装置时造成损失。
作为替代和/或补充方案,所述方法可以提出,以时控的方式通过分析软件实现上述分析。因此,所述方法例如可以提出,以特定时间间隔或者在自动化装置和/或具有自动化装置作为其组成部分的技术装置的特定使用时间之后,对自动化软件进行分析。
所述方法可以提出,通过用户界面,特别是通过光学显示器(如显示屏)针对在进行比较时所确定的自动化软件的第一版本与自动化软件的第二版本之间的差异、特别是自动化软件的第一版本的不可变部分与自动化软件的第二版本的不可变部分之间的差异而发出信号。借此,用户能够有目的地进行调查并且视情况纠正这些变化或由这些变化而引起的问题,特别是有目的地确定变化的原因。这样就能根据现有技术大幅简化和缩短通常较为冗长且耗时的故障排除。此外,通过提早识别错误使得用户能够及时进行干预,所述干预至少可以减少,在最佳情况下甚至可以防止在分析过程中识别出的自动化软件的变更对技术装置的操作产生影响。
自动化装置特别是可以是电驱动系统的控制装置。电驱动系统对上述类型的控制装置提出了较高的要求,特别是在实时能力方面。同时,除了单纯控制一个驱动器和/或多个驱动器之外,上述控制装置还必须提供许多附加的功能,例如通过数据链路实现远程维护访问。这类自动化装置的基础软件架构相应地较为复杂,为了能够满足相应功能的不同要求,需要采用这些软件架构。然而,电驱动系统通常是技术装置的基本组成部分,因此,对自动化装置的软件的干预通常与整个技术装置的长期的停用相关。因此,特别是就这类自动化装置而言,较为冗长的故障排除具有不利影响。因此,在采用这类自动化装置的情况下,上述分析软件的方法恰好可以有利地应用。
附图说明
下面结合图1对本发明的其他实际实施方式和优点进行说明。
具体实施方式
示例性方法可以提出,首先在第一方法步骤10中启动技术装置。能够借助可通过自动化装置来运行的自动化软件而执行自动化技术任务的自动化装置是技术装置的组成部分。
于在所示示例中处于启动10之后的第一时间点,在方法步骤12中通过分析软件将自动化软件的在第一时间点存储在自动化设备的数据存储器上的第一版本的第一副本存储在为此而设置的存储区中。在所示示例中,作为方法步骤14,在于方法步骤12中存储第一副本后,开始正常操作。
如所示示例中那样,该方法可以提出,在方法步骤16中识别操作事件、特别是安全相关事件致使在进一步的方法步骤18中对自动化软件的第二版本的第二副本进行存储,第二版本在通过安全相关事件的发生而选择的第二时间点存储在自动化装置的数据存储器中。换句话说,该示例性方法提出,第一副本相当于自动化软件的在识别安全相关事件之前的第一时间点存储在自动化装置的数据存储器中的第一版本,第二副本相当于自动化软件的在识别安全相关事件之后的第二时间点存储在自动化装置的数据存储器中的第二版本。
就此而言,该方法可以提出,在方法步骤12和18中所存储的副本是特别是在使用写保护器的情况下制作的取证副本。
在进一步的方法步骤20中,可以对自动化软件的不可变部分进行识别。在随后的方法步骤22中,通过分析软件对自动化软件的在方法步骤12和18中被存储为副本的两个版本的被识别为不可变的部分进行比较。在示例性方法中,在进一步步骤24中通过作为用户界面的显示屏将在方法步骤22中进行比较时识别的对自动化软件的不可变部分的更改输出给用户。
本说明书、附图以及权利要求书中所揭露的本发明的特征(作为单项特征或特征组合)对于在其不同实施方式中实现本发明而言皆尤为重要。本发明并不局限于所描述的实施方式。本发明可以在权利要求书的范围内以及在考虑到本领域技术人员的知识水平的情况下加以更改。
附图标记表
10启动
12存储第一副本
14开始正常操作
16识别操作事件
18存储第二副本
20识别自动化软件的不可变部分
22比较
24可视化

Claims (15)

1.一种对技术装置、特别是机器和/或设备的自动化装置、特别是可编程控制器的自动化软件进行分析的方法,
其中所述自动化装置能够借助所述自动化软件而执行自动化任务,所述自动化软件能够由所述自动化装置来运行,其中所述自动化软件包括程序和与所述程序进行交互的数据,
其特征在于,
通过分析软件将所述自动化软件的在第一时间点存储在所述自动化装置的数据存储器中的第一版本与所述自动化软件的在第二时间点存储在所述自动化装置的数据存储器中的第二版本进行比较。
2.根据前述权利要求中任一项所述的方法,其特征在于,通过所述分析软件将所述自动化软件的第一版本的第一副本和/或所述自动化软件的第二版本的第二副本存储在为此而设置的存储区中,并且将所述第一副本和/或所述第二副本用于进行比较。
3.根据权利要求2所述的方法,其特征在于,通过所述分析软件在使用写保护器的情况下对所述自动化软件进行访问,特别是创建所述第一副本和/或所述第二副本。
4.根据前述权利要求中任一项所述的方法,其特征在于,对所述软件的存储在所设置的存储区中的副本进行保护以免发生更改和/或发生未被识别的更改,特别是使用哈希函数以及/或者借助认证特征,所述认证特征能够识别出发起者并且特别是能够识别出所述分析软件作为对所述副本进行更改的发起者。
5.根据前述权利要求中任一项所述的方法,其特征在于,在所述第一时间点和/或所述第二时间点存储的副本为所述自动化装置的数据载体和/或工作存储器的取证副本,特别是所述自动化装置的硬盘和/或容置在所述自动化装置中的存储卡的取证副本。
6.根据前述权利要求中任一项所述的方法,其特征在于,所述自动化软件包括操作系统和/或操作系统的组成部分,特别是内核和/或库。
7.根据前述权利要求中任一项所述的方法,其特征在于,所述自动化软件包括运行时环境和/或运行时环境的组成部分,特别是运行时库、标准库、编程接口和/或运行时变量。
8.根据前述权利要求中任一项所述的方法,其特征在于,所述自动化软件包括配置数据,所述配置数据与所述自动化装置和/或具有所述自动化装置作为其组成部分的技术装置的技术设计特征相关,其中所述技术设计特征特别地指的是对于所有自动化装置和/或特定类型的技术装置而言相同的技术设计特征。
9.根据前述权利要求中任一项所述的方法,其特征在于,所述自动化软件包括参数化数据,所述参数化数据与所述自动化装置和/或具有所述自动化装置作为其组成部分的技术装置的技术参数相关,其中所述技术参数特别是为针对特定自动化装置和/或技术装置单独确定的参数。
10.根据前述权利要求中任一项所述的方法,其特征在于,所述自动化软件包括应用数据,所述应用数据与单个自动化装置和/或具有所述自动化装置作为其组成部分的单个技术装置的具体用途相关,其中所述应用数据特别是与所述单个技术装置的相关用途有关。
11.根据前述权利要求中任一项所述的方法,其特征在于,通过所述分析软件识别所述自动化软件的不可变部分,所述不可变部分在所述自动化装置的正常操作过程中不会发生变化,以及/或者,识别所述自动化软件的可变部分,所述可变部分在所述自动化装置的正常操作过程中发生变化,其中特别是仅结合所述不可变部分以及/或者在屏蔽所述不可变部分的情况下进行比较。
12.根据权利要求11所述的方法,其特征在于,在识别所述自动化软件的不可变部分时,将操作系统、操作系统的组成部分、运行时环境、运行时环境的组成部分、配置数据、参数化数据、应用数据、硬件相关的地址和/或证书的签发者与所述自动化软件的不可变部分进行对应,以及/或者,在识别所述自动化软件的可变部分时,将当前时钟时间、密钥、证书、非硬件相关的地址和/或数据、缓存文件与所述自动化软件的可变部分进行对应。
13.根据前述权利要求中任一项所述的方法,其特征在于,所述第一时间点是通过信息技术安全系统、特别是防火墙、入侵检测系统和/或病毒扫描器识别到安全相关事件以及/或者将所述自动化软件的备份副本导入所述自动化装置中之前的时间点,所述第二时间点为识别出所述事件之后的时间点。
14.根据前述权利要求中任一项所述的方法,其特征在于,所述第一时间点是在所述自动化装置和/或具有所述自动化装置作为其组成部分的技术装置完成试运行到开始正常操作之间的时间点。
15.根据前述权利要求中任一项所述的方法,其特征在于,所述自动化装置为电驱动系统的控制装置。
CN202310053875.7A 2022-02-03 2023-02-03 自动化装置的自动化软件的分析方法 Pending CN116541192A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022102616.7A DE102022102616A1 (de) 2022-02-03 2022-02-03 Verfahren zur Analyse einer Automatisierungssoftware einer Automatisierungseinrichtung
DE102022102616.7 2022-02-03

Publications (1)

Publication Number Publication Date
CN116541192A true CN116541192A (zh) 2023-08-04

Family

ID=87160590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310053875.7A Pending CN116541192A (zh) 2022-02-03 2023-02-03 自动化装置的自动化软件的分析方法

Country Status (3)

Country Link
US (1) US20230251957A1 (zh)
CN (1) CN116541192A (zh)
DE (1) DE102022102616A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10228142B4 (de) 2001-08-01 2005-10-13 Siemens Ag System zur Sicherung von Softwarekomponenten und/oder Computerprogrammen
ES2905268T3 (es) 2014-07-30 2022-04-07 Siemens Ag Protección de un componente de automatización contra manipulaciones de programa mediante coincidencia de firmas

Also Published As

Publication number Publication date
DE102022102616A1 (de) 2023-08-03
US20230251957A1 (en) 2023-08-10

Similar Documents

Publication Publication Date Title
EP3101581B1 (en) Security system for industrial control infrastructure using dynamic signatures
CN109690545B (zh) Plc虚拟补丁和安全上下文的自动分发
CN101840221B (zh) 可移动安全模块及相关方法
CN108989042B (zh) 用于授权更新自动化技术现场设备的方法
CN110678864A (zh) 危害和取证数据的plc指标的收集
US10007783B2 (en) Method for protecting an automation component against program manipulations by signature reconciliation
US20170177865A1 (en) Industrial Control System Emulator for Malware Analysis
US11782420B2 (en) Malware detection system
CN117336326A (zh) 工业物联网的数据采集分析方法、装置、设备及存储介质
CN115097807A (zh) 面向可编程逻辑控制器的内存攻击检测方法及系统
CN113557482A (zh) 控制器系统
Awad et al. Towards generic memory forensic framework for programmable logic controllers
US20220155747A1 (en) Control system and setting method
JP6437457B2 (ja) 制御および調節ユニットのシステム状態の不正操作を識別する装置および該装置を含む核技術設備
US11783063B2 (en) Control device
Cook et al. Introducing a forensics data type taxonomy of acquirable artefacts from programmable logic controllers
CN116541192A (zh) 自动化装置的自动化软件的分析方法
CN112241533A (zh) 为工业化边界设备提供应用容器的安全信息的方法和系统
US20180129793A1 (en) Precompile and encrypt industrial intellectual property
CN116541191A (zh) 技术装置操作过程中的操作事件的分析方法
CN111614607A (zh) 安全设计制定辅助装置
EP3951624A1 (en) Controller system
EP4068719A1 (de) Verfahren zum kryptographisch gesicherten nachweis eines geräteursprungs, gerät und überprüfungseinrichtung
EP4254096A1 (de) Verfahren zur implementierung einer automatisierungsfunktionalität auf einer automatisierungskomponente mit programmierbarer automatisierungsfunktionalität und system
KR20240077747A (ko) Plc 및 plc의 제어방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination