CN113312626A - 评估软件对工业自动化和控制系统的影响的系统和方法 - Google Patents
评估软件对工业自动化和控制系统的影响的系统和方法 Download PDFInfo
- Publication number
- CN113312626A CN113312626A CN202110207758.2A CN202110207758A CN113312626A CN 113312626 A CN113312626 A CN 113312626A CN 202110207758 A CN202110207758 A CN 202110207758A CN 113312626 A CN113312626 A CN 113312626A
- Authority
- CN
- China
- Prior art keywords
- iacs
- software
- particular configuration
- impact
- sample
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012360 testing method Methods 0.000 claims abstract description 142
- 238000004458 analytical method Methods 0.000 claims abstract description 39
- 230000006378 damage Effects 0.000 claims abstract description 16
- 238000011156 evaluation Methods 0.000 claims description 17
- 208000015181 infectious disease Diseases 0.000 claims description 16
- 244000035744 Hura crepitans Species 0.000 claims description 15
- 230000000694 effects Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 10
- 230000015556 catabolic process Effects 0.000 claims description 6
- 238000006731 degradation reaction Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000015654 memory Effects 0.000 description 25
- 238000003860 storage Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000004801 process automation Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31229—Supervisor, master, workstation controller, automation, machine control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及评估软件对工业自动化和控制系统(IACS)的组件的影响的系统和方法。在一方面,示例性方法包括:针对对IACS造成损害的能力来选择要分析的软件的样本;对于正在被测试的IACS的每种特定配置,执行分析以识别所选样本对所述特定配置的影响,其中,所识别的影响至少包括导致所述IACS的所述特定配置的操作中断的原因和事件,所述特定配置至少包括正在测试设备上模拟的工业系统的组件;分析所有所识别的原因和事件;以及基于所述分析,通过确定所述软件对所述特定配置的影响程度来评估所选样本的影响。
Description
技术领域
本发明涉及工业自动化和控制系统领域,更具体地,涉及评估软件(例如,正在被研究的软件)对工业自动化和控制系统(例如自动化控制系统)的影响的系统和方法。例如,可以研究软件(例如恶意软件)的影响,以识别和减轻影响工业自动化和控制系统的可用性的漏洞。
背景技术
目前,观察到各种恶意活动者对关键基础设施对象的兴趣。关键基础设施对象可以包括工业领域中的对象,例如用于供电、供水、石油和天然气行业、汽车行业以及用于建筑物、数据存储和数据传输的自动化系统的对象。这些对象包含各种工业自动化系统,例如工业控制系统(Industrial Control System,ICS)或工业自动化和控制系统(IndustrialAutomation and Control Systems,IACS)。ICS又可能包含监控系统。工业监控系统的一个示例是技术过程自动化控制系统(Automated Control System for TechnologicalProcesses,ACS TP)。
与传统的网络威胁处理相比,ICS的安全性保证涉及具有许多差异的特定的过程。网络威胁是造成破坏信息安全的危险的各种因素和状况的集合。尤其是,ICS的保护策略涉及保留技术过程的操作能力的方式。相反,在公司系统中,保持数据的机密性和可用性更为重要。
对工业系统及其各自的ICS和IT系统的大量威胁涉及普通的恶意软件,即,不是为目标网络攻击而设计的软件。在本文中,“普通恶意软件”是指不是专门针对工业系统攻击而开发的恶意软件。即使如此,如经验所示,尽管这些恶意软件对IT系统的工作影响不大,但这些恶意软件可能会影响ICS的各组件的完整性和可用性,因此,它们可能间接影响技术和制造过程的稳定性。例如,诸如加密恶意软件之类的恶意程序以及目标是破坏计算机硬盘中的文件的程序(文件清除器),可能会对ICS和各种技术系统的IT系统造成毁灭性的技术影响。
在另一个示例中,矿工程序(用于通过利用大量计算资源来挖掘加密货币的程序)被认为在办公网络中相对无害。然而,在矿工程序的运行和传播过程中,其采矿活动可能会导致ICS的某些组件的拒绝服务。
在另一示例中,网络蠕虫(各种恶意程序)对IT系统和技术网络均构成极大的危险,并且与矿工程序的后果相比,其动作的后果可能更为严重。例如,借助网络漏洞,已知在ICS的许多计算机上发现的网络蠕虫都已通过网络文件夹、可删除媒介以及本地(LAN)和全局网络(WAN)进行了传播,并破坏了被感染设备上的数据。在许多情况下,网络蠕虫的这种动作能够导致ICS的拒绝服务,尤其是对监控和远程控制系统来说。此外,网络蠕虫还可能导致紧急情况。
在另一示例中,多功能间谍软件是通常能够窃取机密信息、下载并运行其他恶意软件并通过向其他恶意活动者提供对被感染设备的未经授权的远程控制的可能性而造成进一步损害的软件。这些程序也称为后门程序。
这种恶意软件程序在计算机上进行活动的后果取决于被攻击的技术系统对企业生产过程和业务过程的重要性。在许多情况下,此类恶意软件程序对ICS具有不成比例的严重影响。这种影响主要归因于ICS系统中的特定架构和入侵。因此,可能不会对企业的IT系统产生重大负面影响的恶意软件仍可能对企业造成严重后果。例如,恶意软件可能导致工业网络中的系统停机,并中断生产过程。
还应当指出,不仅恶意软件可能对ICS、尤其是对自动化控制系统产生重大负面影响,而且包含错误的合法软件也能够导致无法解释的行为和对ICS的工作的破坏。
此外,工业系统抵御外部计算机威胁的安全性本身就是紧迫的问题。特别是,有必要控制并确保工业控制器(可编程逻辑控制器)和自动化控制系统的安全性。
同时,为了创建抵御威胁的必要保护级别,有必要对工业系统的风险进行预先评估,从而能够基于普通软件和/或恶意软件而考虑对工业系统的各种元件(例如PLC、SCADA、SiS)的外部动作。
威胁的一个示例是对工业系统的元件的攻击,在此期间,这些元件被通知拒绝服务。通常的策略涉及在每种配置中测试ICS的每个单独设备。这经常会产生问题,因为通常的策略需要购买ICS的设备并且需要将ICS的设备放置在适当位置,这可能是一件昂贵的事情。此外,特定元件在工业网络中将如何表现(这在大多数情况下对于特定工业对象将是唯一的)同样是未知的。
因此,需要一种用于确定(即,预先确定)由恶意软件的间接动作引起的工业系统及其ICS元件(组件)的拒绝服务的发生条件的方法。换句话说,需要确定在攻击之前恶意软件对工业自动化和控制系统的影响。
发明内容
本发明的各方面涉及评估软件对工业自动化和控制系统的影响,例如,正在被研究的软件对工业自动化系统的影响。
在一个示例性方面,提供了一种用于评估软件对工业自动化和控制系统的影响的方法,该方法包括:针对对工业自动化和控制系统(IACS)造成损害的潜在能力来选择要分析的软件的样本;对于正在被测试的IACS的每种特定配置,执行分析以识别软件的所选样本对IACS的所述特定配置的影响,其中,所识别的影响至少包括导致IACS的所述特定配置的操作中断的原因和事件,所述特定配置至少包括正在测试设备上模拟的工业系统的组件,其中,所述测试包括:监控所述特定配置的组件之间的请求和响应;分析所有所识别的导致IACS的所述特定配置的操作中断的原因和事件;以及基于所述分析,通过确定所述软件对IACS的所述特定配置的影响程度来评估软件的所选样本的影响。
在一方面,执行分析以识别所选样本的影响还包括收集数据,所述数据包括以下项中的至少一者:从所述特定配置的一个组件向另一个组件发送请求的时间、响应来自所述特定配置的组件的请求的时间、以及组件对作用于IACS的所述特定配置上的命令做出反应的延迟时间。
在一方面,导致IACS的所述特定配置的操作中断的原因包括以下项中的至少一者:发送请求的时间超过第一预定阈值、响应请求的时间超过第二预定阈值、以及做出反应的延迟时间超过第三预定阈值。
在一方面,使用任何数量的标准来执行对软件的样本的选择,所述标准指示表示对以下项中的至少一者构成威胁的影响:IACS的所述特定配置的可用性、操作能力、以及完整性。
在一方面,通过以下来执行对软件的样本的选择:在沙盒的隔离环境中启动并运行软件的每个样本;当在沙盒中运行期间生成事件日志,其中,生成的事件日志包含在运行期间发生的所有活动;以及基于对生成的事件日志的分析,选择用于在测试设备上进行测试的要研究的软件的合适的样本。
在一方面,所述方法还包括:对于正在被测试的IACS的每个特定配置,基于对软件的所选样本的影响的评估来生成建议,所述建议包括以下项中的至少一者:启动检测被所述软件的样本感染的指标的建议、防止被软件的所选样本感染的建议、删除所述软件的样本并删除被所述软件的样本感染的后果的建议、修正受到所述软件的样本影响的特定配置的组件的建议、以及执行附加测试的建议。
在一方面,用于识别所选样本的影响的分析包括执行至少一项测试,该至少一项测试旨在收集关于所选软件对正在被测试并且正在测试设备上被模拟的IACS的配置的影响的数据。
在一方面,所述方法还包括根据接收到的用于测试的规范在测试设备上生成IAСS的配置,其中,所述规范包括关于以下项中的至少一者的信息:IAСS的组件、IACS的组件的功能性性能、IACS的组件之间发生的交互、以及关于IAСS的组件之间交换的数据的信息。
在一方面,基于以下项中的至少一者来选择软件的样本:工业系统的类型、工业系统的组件、正在被测试的IACS的配置的组件。
在一方面,以自动化方式执行用于识别所选样本的影响的分析。
在一方面,所述方法还包括:对于正在被测试的IACS的每个特定配置,通过确定IACS的所述特定配置的计算资源的退化概率来执行对所选样本的影响的评估。
根据本发明的一个方面,提供了一种用于评估软件对工业自动化和控制系统的影响的系统,该系统包括硬件处理器,该硬件处理器被配置为:针对对工业自动化和控制系统(IACS)造成损害的潜在能力来选择要分析的软件的样本;对于正在被测试的IACS的每种特定配置,执行分析以识别软件的所选样本对IACS的所述特定配置的影响,其中,所识别的影响至少包括导致IACS的所述特定配置的操作中断的原因和事件,所述特定配置至少包括正在测试设备上模拟的工业系统的组件,其中,所述测试包括:监控所述特定配置的组件之间的请求和响应;分析所有所识别的导致IACS的所述特定配置的操作中断的原因和事件;以及基于所述分析,通过确定所述软件对IACS的所述特定配置的影响程度来评估软件的所选样本的影响。
在一个示例性方面,提供了一种非暂时性计算机可读介质,其上存储有一组用于评估软件对工业自动化和控制系统的影响的指令,其中,该组指令包括用于以下操作的指令:针对对工业自动化和控制系统(IACS)造成损害的潜在能力来选择要分析的软件的样本;对于正在被测试的IACS的每种特定配置,执行分析以识别软件的所选样本对IACS的所述特定配置的影响,其中,所识别的影响至少包括导致IACS的所述特定配置的操作中断的原因和事件,所述特定配置至少包括正在测试设备上模拟的工业系统的组件,其中,所述测试包括:监控所述特定配置的组件之间的请求和响应;分析所有所识别的导致IACS的所述特定配置的操作中断的原因和事件;以及基于所述分析,通过确定所述软件对IACS的所述特定配置的影响程度来评估软件的所选样本的影响。
本发明的方法和系统被设计用于评估软件(例如,正在被研究的恶意软件)对工业自动化系统的影响。例如,评估对可用性的影响。本发明的方法解决了上述缺点,并且基于对诸如恶意软件之类的各种软件对工业控制系统的操作能力或可用性的影响的评估揭露了各种工业自动化和控制系统(例如,工业控制系统(ICS))的漏洞点。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同具体实施方式一起用来阐述这些示例性方面的原理和实现方式。
图1示出了用于实现本发明的方法的工业基础设施的架构的示例。
图2示出了根据本发明的教导的、用于评估软件对IACS(例如,在ICS上)的基础设施的特定配置的操作的影响的系统。
图3示出了根据本发明的示例性测试设备,该示例性测试设备被设计用于模拟IACS、特别是ICS的特定配置。
图4示出了根据本发明的恶意软件对ICS的影响的示例性场景,在此期间发生拒绝服务。
图5示出了根据本发明的框图,该框图示出了评估软件对工业系统的组件的影响的示例性方法。
图6示出了根据本发明的框图,该框图示出了用于评估恶意软件的影响的方法的特定实例。
图7示出了可以在其上实现本发明的各方面的通用计算机系统的示例。
具体实施方式
本文中在用于评估软件对工业自动化和控制系统的影响(例如,研究软件对工业自动化系统的影响)的系统、方法和计算机程序的上下文中描述了示例性各方面。本领域的普通技术人员将认识到,以下描述仅是说明性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细参考如附图中所示的示例性方面的实现。在整个附图和以下描述中将尽可能使用相同的附图标记来指代相同或类似的项。
在一个方面,本发明描述了一种用于评估软件对工业自动化和控制系统的影响(例如,正在被研究的软件对工业自动化系统的影响)的系统,该系统在计算系统上实现,并且包括现实世界的设备、系统、部件以及部件组,这些现实世界的设备、系统、部件以及部件组使用诸如集成微电路(专用集成电路,ASIC)或现场可编程门阵列(FPGA)的硬件实现、或者例如以软件和硬件组合的形式(例如微处理器系统和程序指令集)实现、以及还在神经突触芯片上实现。所述系统的这些模块的功能可以仅通过硬件来实现,并且也可以以组合的形式来实现,其中系统模块的一些功能通过软件来实现,并且一些功能通过硬件来实现。在一些方面,部件、系统等中的一些或全部可以在通用计算机(诸如图7所示的通用计算机)的处理器上运行。此外,系统部件可以在单个计算设备内实现,或者也可以分散在多个互连的计算设备之间。
本发明使得能够至少评估恶意软件对工业自动化和控制系统(IACS)的特定配置的操作的影响。在一方面,在执行至少一项评估的过程中,本发明的系统和方法实现以下动作中的至少一者:
·在沙盒类型的模拟环境中分析恶意软件,然后识别合适的恶意软件,用于测试IACS、尤其是ICS的特定配置,
·在IACS、尤其是ICS的特定配置的模拟环境中对恶意软件的样本进行受控测试,
·识别并测量恶意软件的每个样本对IACS、尤其是ICS的特定配置的影响,
·分析所有所识别的导致IACS的特定配置操作中断的原因(事件),以及
·宣布关于在IACS的特定配置中的特定恶意软件的特定样本的危险性的判决。
在本发明的其他方面,所述方法包括生成相应的报告,该报告包含由于恶意软件的至少一个样本的恶意活动而获得的妥协迹象,其中,妥协迹象至少表明影响IACS的操作的一个或另一个中断的原因或事件。此外,本发明的方法还使得能够评估合法软件对IACS的特定配置的操作的影响。
本发明的方法具有多个优点。第一个优点是拓宽了用于评估软件(例如,正在被研究的恶意软件)对工业自动化系统的特定配置的工作能力的影响的技术手段的范围。本发明的第二个优点是识别各种工业自动化系统的弱点。本发明的第三个优点是识别、分类并通知对IACS、尤其是ICS的特定系统的特定配置具有重大影响的恶意软件。
本发明的方法和系统使得至少能够评估软件(正在被分析/研究的软件)对工业自动化和控制系统(IACS)的特定基础设施配置的操作(工作能力)的影响。IACS主要是指在工业信息和通信网络中被整合在一起的各种工业控制系统(ICS)。而ICS的一个示例是技术过程自动控制系统(ACS TP)及其组件。ICS是一组硬件和软件解决方案,其被设计用于使工业企业中的技术设备的控制自动化。ICS的组件的示例是:数据采集与监控控制(SCADA)系统、分布式控制系统(DCS)、安全仪表系统(SiS)、基于可编程逻辑控制器(PLC)的系统、数据网关、开放平台通信(OPC)和将上述系统整合到技术网络中的网络设备,等等。
在本发明的上下文中,“被研究的软件”主要是指恶意软件,但不仅仅指恶意软件。因此,被研究的软件也可以是能够损害IACS的操作的软件。此类被研究的软件的示例为:
·与IACS或其组件不兼容或仅部分兼容的合法软件,
·包含能够导致IACS或其组件的行为无法解释的错误的合法软件,
·已经过现代化改造或已经发布了新版本的专用(认证)软件,
·未经认证的软件,其通常是合法的并且被设计直接用于IACS的组件的操作,以及
·其动作可能会导致IACS的组件的拒绝服务或导致紧急情况的不受信任的软件。
因此,本发明的方法允许检测被研究的软件的操作中的任何异常,并且能够评估被研究的软件关于其与工业系统和网络中的目标软件的兼容性或不兼容性的影响。还应注意,恶意软件包括非目标恶意软件。非目标恶意软件是初始创建不是用于直接对工业系统和网络造成任何损害的恶意软件。最可能的是,非目标恶意软件所造成的影响和损害是副作用,甚至是此类软件开发中的错误的结果。
本发明的方法具有用于评估被研究的软件对例如ICS和类似系统的操作能力的影响的以下功能性性能:
1)自动分析在用户个人计算机和网络两者中检测到的计算机程序的功能和行为,然后识别可能能够对ICS的系统造成损害的被研究软件的类型和实际样本。
2)在项1)所述的筛选过程中,对测试设备进行至少一项自动研究,针对至少一种被研究的软件模拟ICS或几种不同ICS的特定配置。在研究期间,根据各种参数(包括用于测量ICS及其组件或由ICS控制的对象的生产率和/或暂时故障的参数),当软件在测试设备上在ICS的所呈现配置中运行时评估软件的影响。
3)根据被研究的软件(尤其是恶意软件)对ICS的影响来对软件进行分类,以及确定由于对被研究的软件对ICS的影响的分析而产生的妥协指标和伪像,从而创建签名或行为规则,以便能够检测到如下指标,这些指标可以在随后被使用以发现相应软件对ICS的感染。
4)做出关于以下的判定:立即在ICS系统中以及在ICS通过其链接到工业对象的其他设备或系统的信息和通信网络中,进行额外的研究或采取可能的措施以免受被研究的(恶意)软件的影响。
本发明相对于其他方法的一些优点是用于以下的能力:
·对对ICS的特定配置有重大影响的软件(包括恶意软件)进行检测和随后的分类;
·检测ICS的特定配置的弱点,并随后生成相应的报告;以及
·形成模拟ICS的基础设施或整个ICS的特定配置的测试设备,并随后在该测试设备上测试被研究的软件的样本。
图1示出了工业基础设施100的架构的示例,针对该工业基础设施100实现本发明的方法。工业基础设施100可以具有五个不同的交互网络层。第一网络层是现场层,其包括正在使用的许多工业(现场)设备。现场设备的示例是传感器、阀、换能器、致动机构(例如泵、激光器或机床)以及其他设备。第二网络层是技术网络,其包括各种工业控制器,尤其是可编程逻辑控制器(PLC)。该控制器提供对现场设备的控制,并与第三网络层的组件进行交互。第三网络层是控制层(分布式计算机网络),其包括工作站(计算机)、服务器和网络设备。工作站可以包含工业控制系统(ICS),例如技术过程自动控制系统(ACS TP)或SCADA。服务器可以执行计算、控制和监控的功能。第四层是企业层(办公网络),其通常包括工业企业员工的个人工作站和服务器。第五网络层是与企业外部的基本设备进行交互的层,其可以通过信息和通信网络(例如因特网)连接到所述基本设备。
工业自动化和控制系统(IACS)的示例可以包括一个或多个工业控制器,其有助于监控和控制相应的工业设备和过程。诸如PLC之类的工业控制器可以借助内置的有线输入/输出(I/O)网络和/或通过工厂网络与现场设备交换数据,从而将技术网络和控制层的网络整合在一起。工业控制器通常可以从现场设备接收数字或模拟信号的任何给定组合,这些组合可以显示工业设备和/或与之相关的工业过程的当前状况(例如温度、位置、部件是否存在、液位等),并可以运行由用户事先确定的控制程序,该控制程序可以基于接收到的信号对正在监控的工业过程进行自动化决策。这样的控制程序也称为目标软件。工业控制器可以根据控制程序做出的决策,将相应的数字和/或模拟控制信号输出到现场设备。输出可以包含用于控制设备的信号、用于控制温度或位置的信号、用于处理或移动物料的机器人的工作命令、用于控制搅拌器的信号、用于控制运动的信号等。控制程序可以包含任何合适类型的代码,这些代码可用于处理读入到控制器中的输入信号,以及控制由工业控制器生成的输出信号,除其他之外,所述控制程序包括梯形逻辑、功能图、功能框图、结构化文本或其他类似平台。
图2示出了根据本发明的教导的用于评估软件对IACS(例如,在ICS上)的基础设施的特定配置的操作的影响的系统200。IACS的基础设施配置是基于特定组件或设备的组合而产生的,如图1所示,这些特定组件或设备构成了工业基础设施100的架构。
当检查ICS的操作时,首先检查ICS的工作能力的标记,例如检测ICS的至少一个组件或ICS本身的拒绝服务。用于评估被研究的软件对ICS的操作的影响的系统200(以下称为评估系统200)在功能上至少包括测试设备210、软件选择器220、可用性监控器230和影响评估器240(用于评估被研究的软件的影响的装置)。图2中呈现的系统200的组成对应于用于评估影响的系统200的功能呈现,其中各种组件的实现可以变化。用于评估影响的系统200的各种组件可以在同一设备上共同实现或在分开的设备上实现,例如在同一计算机上实现或在分开的计算机上实现。例如,软件选择器220、可用性监控器230和影响评估器240可以集成在测试设备210内(即,在同一计算机内)。在另一个示例中,可以在分开的计算机上实现软件选择器220、可用性监控器230和影响评估器240。在图7中呈现了用于实现系统200的示例性计算机。
测试设备210被配置为使用从软件选择器220获得的被研究软件的至少一个样本来执行根据规范而获得或产生的ICS的特定配置的测试。在测试期间,ICS组件之间会发生数据交换。为了执行测试,测试设备210使得可以通过至少一个控制程序根据仿真来重复ICS的某些配置。可以使用ICS的实际组件或使用ICS的虚拟组件来完成模拟ICS的特定配置的测试设备210的创建。该实现将取决于测试设备210本身的各方面。当使用虚拟组件时,相应地,测试设备210也将是虚拟的,并使用诸如虚拟化和仿真的相应技术在计算设备上实现。
当借助于硬件(设备)实现测试设备210时,根据获得的ICS的规范和组件的功能性性能来选择用于模拟ICS的特定配置的组件。根据功能性性能,在测试期间组件之间将发生数据的相应信息交换。例如,ICS的配置是将至少一个控制器PLC和至少一个SCADA系统整合在一起的技术网络。SCADA系统和PLC控制器位于不同的计算机(设备)上。具有SCADA系统的计算机(以下示例中的K1)将与PLC控制器的每个计算机(以下示例中的K2)交换数据。因此,K1每隔一秒钟便从K2请求关于设备的状况和操作模式的信息,该设备由相应的PLC控制器控制。
测试设备210的初步准备,具体地,用于评估的ICS的特定配置的形成,是借助于测试设备210的操作者(例如,用户)来完成的,或者是自动完成的。当以自动化方式执行测试设备210的准备时,测试设备210已经构成了将ICS的许多不同组件整合在一起的技术网络。ICS的大量不同组件在至少一个公共信息和通信网络(以下称为网络)中被整合在一起。当产生ICS的规范时,测试设备210上的某些组件将被打开或关闭,直到已经根据规范形成了ICS的特定配置的时间为止。应当注意,ICS的特定配置在测试设备210上的形成通常可以基于用于进行测试的现有技术网络的复制。
换句话说,测试设备210能够进行监控、控制和分析,以便可以确定被研究的软件(尤其是恶意软件)的样本对IACS的特定配置的操作的影响。借助于至少一个可用性监控器230和影响评估器240来执行影响的确定,其中,测试设备210从该软件选择器220获得IACS的特定配置的规范以及一种被研究的软件的至少一个样本。
软件选择器220被设计用于生成一组被研究的软件的样本,以将生成的该组样本发送到测试设备210和/或可用性监控器230,该组样本包含一种被研究的软件的至少一个样本。对该组的软件样本的选择基于对被研究的软件的执行的受控研究,然后生成事件日志并对其进行分析,以识别代表对ICS的配置的潜在威胁的影响,所述影响包括以下项中的至少一者:ICS的组件的可用性、工作能力或完整性。可用性是指对ICS的配置或其组件的访问的存在,即没有拒绝服务。也就是说,可用性指示在对ICS的配置或其组件的访问方面是否存在拒绝服务。
在一方面,如下地进行该组样本的生成。首先,软件选择器220从外部网络获得恶意软件的样本。在一方面,外部网络是因特网。应当指出,存在大量的恶意软件。因此,根据本发明的该方面,软件选择器220获得恶意软件的最流行样本和代表最大威胁的样本。在一方面,最大威胁的特征在于造成伤害的高风险。在另一方面,在选择恶意软件的样本时的限制标准是恶意软件的流行度,例如,为特定种类的设备或装置以及IACS的特定配置获得最流行的恶意软件。这些设备在操作期间使用不同的平台,例如x86和ARM。借助沙盒技术对获得的恶意软件的样本进行研究。沙盒技术是指为了安全运行计算机程序而在计算机上处于特殊隔离(孤立)环境中的技术。这种环境的一个示例是虚拟机。沙盒是在软件选择器220内实现的,该软件选择器220又可以借助图7所示的计算机来实现。根据本发明的该方面,沙盒可以构成标准环境(例如模拟个人计算机的环境)或特定环境,其中环境的详细信息与SCADA组件的存在和/或在该环境中运行的进程、磁盘上的文件、注册密钥和特定于技术网络的网络端口有关。
在分析期间,为每个恶意软件生成事件日志,该事件日志包含在隔离环境中运行恶意软件期间发生的所有活动。基于对每个恶意软件的活动日志的分析,软件选择器220选择合适的恶意软件以在测试设备210上进行测试。因此,如上所述,基于多个指标来进行样本的选择,这些指标表征(指示)代表对ICS的特定配置的可用性或工作能力、以及完整性的威胁的动作。此类指标的示例至少包括用于以下的指标:
·对发生的其他进程的内存的操纵,其中操纵涉及读或写运算符;
·分配了大量的内存,例如,等于或大于1Gb;
·一组与正在执行的文件有关的操作(文件的读/写),其中取决于特定文件,该组操作包括两个或更多个操作;
·发生的对系统设置的操纵,例如配置文件和/或注册表中的系统设置;
·发生的对系统文件的操纵,例如写入系统文件;
·与注册表一起发生的一组操作,其中该组操作涉及写入注册表,并且该组操作包括两个或更多个操作;
·发生的驱动程序的加载;以及
·发生的对进程的操纵,其中这些进程在沙盒中运行,并且特定于技术网络。
在事件日志的分析期间识别出选择标准中的至少一个之后,软件选择器220做出恶意软件的样本适合于在测试设备210上进行后续测试的判定。其中,测试设备210模拟ICS的特定配置。在这种情况下,恶意软件的样本被包括在被研究的软件的该组样本中以发送给测试设备210。之后,对被研究的软件的这种选择使得能够以更加个性化的方式来测试ICS的特定配置。
可用性监控器230适于监控针对在测试设备210上模拟的ICS的特定配置执行的自动测试。在该测试期间,可用性监控器230识别被研究的软件的每个样本对访问在被测试的ICS中包含的每个组件的影响,或对ICS的特定配置作为整体的影响。此外,在一方面,可用性监控器230同样具有能够测量所识别的影响的水平/程度的功能。在一方面,可以使用一种或多种概率性和确定性测量技术来测量所识别的影响的水平。在一方面,所识别的影响的水平的测量基于先前生成的量表。
在一方面,可用性监控器230可以包括服务器或路由器,服务器或路由器执行ICS的组件之间的某些数据的信息交换,并记录用于被测试的ICS的适当度量的参数。在这种情况下,数据交换借助于“镜像端口”或镜像进行,即,网络交换机的一个端口的数据包复制到另一个端口上。度量是根据ICS的配置确定的。可用性监控器230可以测量/记录的度量的完整列表保存在数据库(图2中未示出)中。
在另一方面,测试设备210上的测试是由可用性监控器230完成的。为了执行测试,可用性监控器230从软件选择器220中获得一组被研究的软件的样本。接下来,可用性监控器230根据获得的该组软件样本中的被研究软件的样本的数量,以及构成在测试设备210上正在模拟的ICS的配置的组件,来生成一系列的自动化测试。所生成的系列包括至少一项测试。每项测试的场景都描述了被测试的ICS的组件与一种被研究的软件所使用的至少一个样本之间的交互。在一方面,测试涉及被测试的ICS的组件的至少一次交互场景的运行,其中所述至少一次运行是在测试设备210的技术网络中感染/嵌入一种被研究的软件的至少一个样本之后执行的。
作为说明性示例,假设我们考虑一个测试场景的示例。还假设ICS包含以下两个组件:
·计算机А,其包含SCADA系统,以及
·计算机B,其包含PLC控制器,该PLC控制器又监控泵的工作。
然后,根据场景,一种恶意软件的样本已嵌入测试设备210中。泵被设计用于用水填充水箱。计算机A通过协议OPC UA与计算机B进行数据交换。因此,每一秒,计算机A就向计算机B请求关于泵的状况和操作模式的信息,其中关于操作模式的数据包含以下信息:泵是开还是关、泵正在泵送多少水、以及泵已经泵送了多少水(填充到水箱中)。如果水箱已装满,则计算机А向计算机B发送命令以关闭/停止泵。在给定的示例中,评估的度量为:
·从计算机А向计算机B发送请求的速度,以及
·计算机А对计算机B报告水箱已满的情况的反应延迟。
因此,测试包括收集关于构成ICS配置的组件之间的通信的数据(即监控)。收集的数据至少包括:从ICS配置的一个组件向另一个组件发送请求的时间、对来自ICS配置的另一个组件的请求做出响应的时间、组件对作用在ICS的组件上的命令做出反应的延迟时间。
在这种研究场景中,恶意软件的样本可能具有一定的影响,例如如下影响:增加了对关于状况的信息的请求的处理时间,和/或增加了发送对信息的请求的响应的时间。例如,如果最初对信息的响应是每秒发送一次,则现在可能每三秒或更多秒发送一次,在这种情况下,可能会出现计算机А对水箱的超载做出较迟反应的情况。
在另一个示例中,假设存在一种场景,其中为组件(例如上述泵)分配了一定的参数启用范围。还假设关闭泵的时间达1秒,并且在操作过程中已确定在0.2秒内(例如,平均)发生断开。还假设在测试恶意软件期间,断开泵的平均时间为0.8秒。0.8秒可能不被认为是重要的,但可能没有多少时间去应付意料之外的情况。例如,由于其他正当的原因,泵的生产率可能下降,并且由于正当的原因,可能没有时间资源。
在一方面,在测试过程中,可用性监控器230还生成关于被研究的软件的影响的报告,该报告嵌入在测试设备210(正在被测试的ICS)中。在一方面,根据度量的参数生成关于被研究的软件的影响的报告,定义这些度量主要是为了能够评估ICS的生产率和操作中的暂时故障(例如,拒绝服务)。ICS操作中典型故障的示例是网络服务或整个计算机未执行其预期功能的情况。在前面的示例中,如果计算机A在泵运行时未轮询计算机B,则水箱将溢出,这可能导致泵损坏,并且可能发生更严重的后果。
在一方面,所执行的测试的结果由可用性监控器230发送到影响评估器240。在一方面,将结果以报告的形式发送。
在一方面,所述结果包含关于以下项中的至少一者的信息:ICS整体以及其每个组件的工作能力、生产率、有效性和操作质量;组件交互期间的数据交换;ICS中发生的任何偏差;以及用于测试的被研究的软件的样本。
在一方面,影响评估器240被设计用于基于在测试设备210上模拟的ICS的特定配置的测试的执行期间由可用性监控器230采取的对度量的参数的测量,来评估被研究的软件对所提及的ICS的影响程度(影响水平)。
在对获得的数据进行分析期间,影响评估器240评估每个被研究的软件对ICS的影响,并确定在ICS被相应的被研究软件感染的情况下可能发生的后果。由影响评估器240确定的后果包括关于将对ICS的所测试的配置造成危害的类型和程度的指示。换句话说,确定危害由什么构成。
在一方面,影响的评估可以基于概率性技术。例如,可以在0(对应于最低概率)至100(对应于最高概率)的范围内给出指示概率的数字。因此,在执行测试时,即使IACS的组件(尤其是ICS的组件)在允许的范围内操作,也可以实现非零影响评估。这使得即使每个单独的组件都在允许的范围内工作,也可以检测到ICS的危险指标。由于所有组件的加权评估,这些组件的总和表示是否存在危险。
在另一方面,影响评估器240另外基于所进行的评估生成建议。在一方面,建议可以包含以下种类的信息:
·启动ICS的系统被危险软件(恶意软件)感染的指标的检测的建议,包括无需安装特殊软件(例如防病毒软件);
·防止被恶意软件感染的建议;
·消除感染或嵌入软件及其后果的建议;
·修正受到被研究的软件的样本影响的ICS的组件或网络流量(组件交互期间发送的数据)的建议;以及
·执行附加测试的建议。
在一方面,在评估期间,也可以确定最危险的恶意软件。在一方面,最危险的软件是在ICS中引起不可逆偏差的软件。
在一方面,影响评估器240可以基于对ICS的多种配置的一系列研究来生成危险等级。在一方面,危险等级包含关于对于技术系统(网络)的最危险的恶意软件的信息。
图3示出了根据本发明的示例性测试设备300,该示例性测试设备300被设计用于模拟IACS(特别是ICS)的特定配置。
在一方面,测试设备210代表必要的测试基础结构,以执行ICS的特定配置的模拟,以便针对被研究的软件来研究ICS的漏洞。
为了生成ICS的特定配置,测试设备210包含ICS的各种组件(从中选择必要的组件进行测试)以及至少一个服务器,该至少一个服务器用于生成用户的必要工作站或虚拟机。用于生成用户的必要工作站的服务器可以实现为虚拟化服务器(即ESXi)或在物理硬件上实现。应该注意的是,取决于测试设备210的多个方面,用户的工作站和虚拟机可以互换。测试设备210还包括软件选择器220、可用性监控器230和影响评估器240。测试设备210的所有单元被整合到技术网络中,通过该网络进行交互。技术网络可以分为几个网络。因此,例如,图3通过网卡(NIC#1、NIC#2和NIC#3)示意性地示出了三个网络。网卡(或网络接口控制器/网络接口卡)也称为网络适配器。
测试设备210使得可以执行以下进行测试所需的初步动作。所述初步动作可以包括用于以下的动作:
·在服务器上设置ICS的各个组件以及主机;
·在测试设备上安装ICS的各种组件,连接ICS并创建数据流;
·位于分离的虚拟局域网(分别为NIC#1和NIC#2)中的ICS的组件的控制和技术处理;以及
·(通过NIC#3)远程连接到ICS的组件以整体执行测试和研究。
图4示出了根据本发明的恶意软件对IACS(例如ICS)的影响的示例性场景400,在此期间发生拒绝服务。场景400包括5个主要步骤。
·在第一步骤中,将恶意软件420的样本嵌入到工作站440上,工作站440上安装了ICS的至少一个组件。该样本在其运行期间产生对工作站440的锁定或对工作站440的本地资源的修改。本地资源的示例是中央处理器(CPU)、主存储器(RAM)、文件、寄存器,等等。因此,修改是指大量消耗CPU/RAM或更改进程、文件或寄存器的内存。
·在第二步骤中,ICS 460的组件尝试且无法获得对工作站440的本地资源的访问权,这些本地资源已被恶意软件的样本锁定或更改。
·在第三步骤中,ICS 460的组件变得不稳定(例如,它锁定或崩溃)或无法正常工作(即,在与现场设备一起工作时监控技术过程),从而导致拒绝服务470。
·在第四步骤中,可用性监控器230收集在先前的步骤1-3中已经发生的事件。
·在第五步骤中,可用性监控器230编译关于发现的异常的报告480。
其他场景可以涉及对几个本地资源(例如,操作系统的配置、应用程序的配置文件等)的修改(这会影响ICS的组件的错误操作)、以及网络资源的锁定或修改(例如网络设备和PLC的DoS)。
例如,可以使用Windows性能分析(WPA)生产率分析框架并在筛选器的用户驱动程序上开发可用性监控器230。使用WPA并在筛选器的用户驱动程序上开发可用性监控器230使得检测广泛的事件成为可能。
图5示出了根据本发明的框图,该框图示出了用于评估软件(例如,恶意软件)对IACS的组件的影响的示例性方法500。可以使用图2中描述的系统来实现方法500。
在步骤510中,方法500针对被分析的软件(即被研究的软件)对工业自动化和控制系统(IACS)、特别是工业控制系统(ICS)造成损害的潜在能力来选择所述软件的样本。
在一方面,使用任何数量的标准来执行对软件的样本的选择,这些标准指示表示对以下项中的至少一者构成威胁的影响:IACS的配置的可用性、操作能力和完整性。
在一方面,通过以下来执行软件的样本的选择:在沙盒的隔离环境中启动并运行软件的每个样本;在沙盒中运行期间生成事件日志,其中,生成的事件日志包含在运行期间发生的所有活动;以及基于对生成的事件日志的分析,选择用于在测试设备上进行测试的要研究的软件的合适的样本。因此,基于对生成的事件日志(即,从沙盒中的运行中生成的事件日志)的分析,选择用于在测试设备210上进行测试的合适的“被研究的软件”。
在步骤530中,对于正在被测试的IACS的每个特定配置,方法500进行分析以识别被研究的软件的所选样本对IACS的特定配置的影响,其中,所识别的影响至少包括导致IACS的特定配置操作中断的原因和事件。
在一方面,所述测试包括监控特定配置的组件之间的请求和响应,收集数据,所述数据包括以下项中的至少一者:
·从特定配置的一个组件向另一个组件发送请求的时间,
·对来自特定配置的组件的请求做出响应的时间,以及
·组件对作用在IACS的特定配置上的命令做出反应的延迟时间。
在一方面,以自动化方式进行用于识别所选样本的影响的分析。
在一方面,用于识别所选样本的影响的分析包括执行至少一项测试,该至少一项测试旨在收集关于所选软件对被测试且在测试设备210上进行模拟的IACS的配置的影响的数据。测试的数量将取决于被研究的软件的数量。在每次测试期间,将被研究的软件的样本嵌入到被测试的IACS的配置中,并在被测试的IACS的配置的各个组件之间进行一定的数据的信息交换。数据的信息交换是根据配置的实际组件以及这些组件需要执行的任务确定的。在每项测试期间,记录所有所识别的导致模拟IACS的配置的测试设备210的操作中断的原因和/或事件。中断的示例可以是IACS的配置的组件的操作中的任何偏差,该偏差会导致相应组件的拒绝服务,或者导致作为整体的IACS的整个配置的拒绝服务。
在步骤550中,对于正在被测试的IACS的每个特定配置,方法500分析所有所识别的导致IACS的特定配置操作中断的原因和事件。
在一方面,所述原因包括以下项中的至少一者:发送请求的时间超过第一预定阈值、响应请求的时间超过第二预定阈值、以及做出反应的延迟时间超过第三预定阈值。
在步骤570中,对于正在被测试的IACS的每个特定配置,方法500通过基于分析来确定软件对IACS的特定配置的影响程度以及IACS的特定配置的计算资源的退化概率,来评估软件的所选样本的影响。
被评估影响的所选软件是“被研究的软件”。基于该分析,确定被研究的软件对IACS的特定配置的影响的程度。此外,方法500还确定正在测试设备210上模拟的IACS的特定配置的计算资源的退化概率。
在一方面,所述方法还包括:对于被测试的IAS的每个特定配置,基于对软件的所选样本的影响的评估来生成建议,所述建议包括以下项中的至少一者:启动检测被所述软件的样本感染的指标的建议、防止软件的所选样本感染的建议、删除所述软件的样本并删除所述软件的样本的感染后果的建议、修正受到所述软件的样本影响的特定配置的组件的建议、以及执行附加测试的建议。
图6示出了根据本发明的框图,该框图示出了用于评估恶意软件的影响的方法600的特定实例。方法600是图5所示的方法500的特定实例。即,方法600是一种用于评估恶意软件的影响的方法,该恶意软件导致IACS的特定配置的组件的拒绝服务。可以使用图2中描述的系统来实现本发明的方法600。
假设,需要测试IACS的特定配置,以评估恶意软件对IACS的特定配置的影响,即评估IACS的稳健性。为了启动测试,首先,将规范发送到测试设备210,其中规范包含关于IACS的组件及其功能性性能的信息。此外,规范还可以包含关于组件之间如何进行交互或如何交换数据的信息。如果已经修改了IACS的配置的组件,并且发生的交互对于被测试漏洞的系统而言不是标准的,那么这些信息就是相关的。
在步骤610中,方法600根据接收到的用于测试的规范在测试设备210上产生IACS的特定配置。此过程可以涉及连接或断开某些组件(设备)以完全符合所接收的规范。
在一方面,方法600包括根据接收到的用于测试的规范在测试设备上产生IACS的配置,其中,规范包括关于以下项中的至少一者的信息:IACS的组件、IACS的组件的功能性性能、IACS的组件之间发生的交互、以及关于IACS的组件之间交换的数据的信息。
在步骤620中,方法600获得一组被研究的软件,其中,该组软件包括一个恶意软件的至少一个样本。由于存在大量恶意软件,因此最初可以限制接收到的该组被研究的软件。例如,限制可以基于恶意软件的样本的流行度或威胁程度。
在一方面,方法600还包括可选步骤615,其中,基于以下项中的至少一者来选择软件样本:工业系统的类型、工业系统的组件、被测试的IACS的配置的组件。换句话说,可以在可选步骤615中预先选择该组被研究的软件,并且该组被研究的软件可以对应于包括正在被测试的IACS配置的组件的特定种类的设备或装置。在一方面,在可选步骤615中,基于在沙盒(或沙盒类型)的模拟环境中对恶意软件的分析并且随后生成事件日志,对恶意软件的每个样本的事件日志进行分析,并基于对事件日志的分析选择合适的恶意软件进行测试,来完成对该组被研究的软件的选择。
在一个方面,使用一系列标准来执行对恶意软件的选择,所述一系列标准指示表示对以下项中的至少一者构成威胁的影响:IACS的相应特定配置的可用性、操作能力和完整性。
在步骤630中,方法600使用测试设备210,使用接收到的该组被研究的软件来测试IACS的生成的配置。在测试期间,在IACS配置的各个组件之间进行数据的信息交换。该测试包含场景,在该场景中,在测试期间会进行数据交换。此外,该场景还涉及在测试期间使用恶意软件的样本。
在步骤640中,在测试期间,方法600识别测试设备210的组件的拒绝服务的发生,所述测试设备210的组件用于模拟IACS的特定配置。
在步骤650中,方法600分析与识别出的拒绝服务的发生有关的所有识别出的原因和事件,所述拒绝服务指示模拟IACS的特定配置的测试设备210的操作中断。
在步骤660中,方法600确定恶意软件对IACS的特定配置的影响以及IACS的特定配置的性能退化的程度。
在步骤680中,方法600基于所确定的相应恶意软件的影响,做出特定恶意软件对IACS的特定配置的危险性的判决。
在步骤690中,方法600识别影响IACS的特定配置的操作中的故障的妥协指标。注意,步骤680和690可以互换,并且可以并行执行。
图7是示出了根据示例性方面的计算机系统20的框图,在计算机系统20上可以实现用于评估软件对工业自动化和控制系统的组件的影响的系统和方法的各方面。计算机系统20可以是多个计算设备的形式,或者是单个计算设备的形式,例如台式电脑、笔记本电脑、手提电脑、移动计算设备、智能手机、平板电脑、服务器、主机、嵌入式设备和其它形式的计算设备。
如图所示,计算机系统20包括中央处理单元(Central Processing Unit,CPU)21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。总线的示例可以包括PCI、ISA、串行总线(PCI-Express)、超传输TM(HyperTransportTM)、无限带宽TM(InfiniBandTM)、串行ATA、I2C、和其它合适的互连。中央处理单元21(也称为处理器)可以包括单组或多组具有单核或多核的处理器。处理器21可以执行实现本发明的技术的一种或多种计算机可执行代码。系统存储器22可以为用于存储本文中所使用的数据和/或由处理器21可执行的计算机程序的任何存储器。系统存储器22可以包括易失性存储器(诸如随机存取存储器(Random Access Memory,RAM)25)和非易失性存储器(诸如只读存储器(Read-Only Memory,ROM)24、闪存等)或其任意组合。基本输入/输出系统(Basic Input/Output System,BIOS)26可以存储用于在计算机系统20的元件之间传输信息的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
计算机系统20可以包括一个或多个存储设备,诸如一个或多个可移除存储设备27、一个或多个不可移除存储设备28、或其组合。所述一个或多个可移除存储设备27和一个或多个不可移除存储设备28借助存储器接口32连接到系统总线23。在一个方面,存储设备和相应的计算机可读存储介质为用于存储计算机指令、数据结构、程序模块、和计算机系统20的其它数据的电源独立的模块。系统存储器22、可移除存储设备27和不可移除存储设备28可以使用各种各样的计算机可读存储介质。计算机可读存储介质的示例包括:机器存储器,诸如缓存、SRAM、DRAM、零电容RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM;闪存或其它存储技术,诸如在固态驱动器(Solid State Drive,SSD)或闪存驱动器中;磁带盒、磁带、和磁盘存储器,诸如在硬盘驱动器或软盘中;光学存储器,诸如在光盘(CD-ROM)或数字通用光盘(Digital Versatile Disk,DVD)中;以及可用于存储期望数据且可被计算机系统20访问的任何其它介质。
计算机系统20的系统存储器22、可移除存储设备27和不可移除存储设备28可以用于存储操作系统35、附加应用程序37、其它程序模块38和程序数据39。计算机系统20可以包括用于传送来自输入设备40的数据的外围接口46,所述输入设备40诸如键盘、鼠标、光笔、游戏控制器、语音输入设备、触点输入设备、或其它外围设备,诸如借助一个或多个I/O端口的打印机或扫描仪,该一个或多个I/O端口诸如串行端口、并行端口、通用串行总线(Universal Serial Bus,USB)、或其它外围接口。显示设备47(诸如一个或多个监控器、投影仪或集成显示器)也可以通过输出接口48(诸如视频适配器)连接到系统总线23。除了显示设备47之外,计算机系统20还可以装配有其它外围输出设备(未示出),诸如扬声器和其它视听设备。
计算机系统20可以使用与一个或多个远程计算机49的网络连接而在网络环境中工作。所述一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括前面在描述计算机系统20的性质时所述的元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它网络节点。计算机系统20可以包括用于借助一个或多个网络而与远程计算机49通信的一个或多个网络接口51或网络适配器,该一个或多个网络诸如局域计算机网络(Local-Area computer Network,LAN)50、广域计算机网络(Wide-Area computer Network,WAN)、内联网、和因特网。网络接口51的示例可以包括以太网接口、帧中继接口、SONET(同步光纤网)接口、和无线接口。
本发明的各个方面可以为系统、方法和/或计算机程序产品。计算机程序产品可以包括一种或多种计算机可读存储介质,该计算机可读存储介质上具有用于使处理器执行本发明的各方面的计算机可读程序指令。
计算机可读存储介质可以为有形设备,该有形设备可以保持且存储指令或数据结构的形式的程序代码,该程序代码可以被计算设备(诸如计算系统20)的处理器访问。计算机可读存储介质可以为电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备、或其任何合适的组合。作为示例,这类计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、闪存、硬盘、便携式电脑磁盘、记忆棒、软盘、或甚至机械编码设备,诸如在其上记录有指令的凹槽中的打孔卡或凸起结构。如在本文中所使用的,计算机可读存储介质不应被视为暂时性信号本身,暂时性信号诸如无线电波或其它自由传播的电磁波、通过波导或传输介质传播的电磁波、或通过电线传输的电信号。
可以将本文中所描述的计算机可读程序指令从计算机可读存储介质下载到相应的计算设备、或借助网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光学传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。在每个计算设备中的网络接口从网络接收计算机可读程序指令并转发该计算机可读程序指令,用以存储在相应的计算设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以为汇编指令、指令集架构(Instruction-Set-Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言(包括面向对象的编程语言和传统程序化编程语言)的任何组合编写的源代码或目标代码。计算机可读程序指令(作为独立的软件包)可以完全地在用户的计算机上、部分地在用户的计算机上、部分地在用户的计算机上且部分地在远程计算机上、或完全地在远程计算机或服务器上执行。在后一种情况中,远程计算机可以通过任何类型的网络(包括LAN或WAN)连接到用户的计算机,或可以进行与外部计算机的连接(例如通过因特网)。在一些方面,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)、或可编程逻辑阵列(Programmable Logic Array,PLA))可以通过利用计算机可读程序指令的状态信息而执行计算机可读程序指令,以使该电子电路个性化,从而执行本发明的各方面。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。如本文中所使用的术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(ASIC)或FPGA)实现的部件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令集(该指令集在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以在计算机系统(诸如上文在图7中更详细描述的计算机系统)的处理器上运行。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所例示的任何特定的实现方式。
为了清楚起见,本文中没有公开各个方面的所有例行特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合(一个或多个)相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将明显的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。
Claims (21)
1.一种用于评估软件对工业自动化和控制系统的组件的影响的方法,所述方法包括:
针对对工业自动化和控制系统(IACS)造成损害的潜在能力来选择要分析的软件的样本;
对于正在被测试的IACS的每种特定配置,执行分析以识别所述软件的所选样本对所述IACS的所述特定配置的影响,其中,所识别的影响至少包括导致所述IACS的所述特定配置的操作中断的原因和事件,所述特定配置至少包括正在测试设备上模拟的所述工业自动化和控制系统的所述组件,其中,所述测试包括监控所述特定配置的组件之间的请求和响应;
对于正在被测试的所述IACS的每种特定配置,分析所有所识别的导致所述IACS的所述特定配置的操作中断的原因和事件;以及
对于正在被测试的所述IACS的每种特定配置,基于所述分析,通过确定所述软件对所述IACS的所述特定配置的影响程度来评估所述软件的所选样本的影响。
2.如权利要求1所述的方法,其中,执行所述分析以识别所选样本的影响还包括收集数据,所述数据包括以下项中的至少一者:从所述特定配置的一个组件向另一个组件发送请求的时间、响应来自所述特定配置的组件的请求的时间、以及组件对作用于所述IACS的所述特定配置上的命令做出反应的延迟时间。
3.如权利要求1所述的方法,其中,导致所述IACS的所述特定配置的操作中断的原因包括以下项中的至少一者:发送所述请求的时间超过第一预定阈值、响应所述请求的时间超过第二预定阈值、以及做出反应的延迟时间超过第三预定阈值。
4.如权利要求1所述的方法,其中,使用任何数量的标准来执行对所述软件的样本的选择,所述标准指示表示对以下项中的至少一者构成威胁的影响:所述IACS的配置的可用性、操作能力、以及完整性。
5.如权利要求1所述的方法,其中,通过以下来执行对所述软件的样本的选择:
在沙盒的隔离环境中启动并运行所述软件的每个样本;
当在所述沙盒中运行期间生成事件日志,其中,生成的事件日志包含在所述运行期间发生的所有活动;以及
基于对生成的事件日志的分析,选择用于在所述测试设备上进行测试的要被研究的所述软件的合适的样本。
6.如权利要求1所述的方法,还包括:
对于正在被测试的所述IACS的每个特定配置,基于对所述软件的所选样本的影响的评估来生成建议,所述建议包括以下项中的至少一者:
启动检测被所述软件的样本感染的指标的建议;
防止被所述软件的所选样本感染的建议;
删除所述软件的样本并删除被所述软件的样本感染的后果的建议;
修正受到所述软件的样本影响的所述特定配置的组件的建议;以及
执行附加测试的建议。
7.如权利要求1所述的方法,其中,用于识别所选样本的影响的分析包括执行至少一项测试,所述至少一项测试旨在收集关于所选软件对正在被测试并且正在所述测试设备上被模拟的所述IACS的配置的影响的数据。
8.如权利要求1所述的方法,还包括:
根据接收到的用于测试的规范在所述测试设备上生成所述IACS的配置,其中,所述规范包括关于以下项中的至少一者的信息:所述IACS的组件、所述IACS的组件的功能性性能、所述IACS的组件之间发生的交互、以及关于所述IACS的组件之间交换的数据的信息。
9.如权利要求1所述的方法,其中,基于以下项中的至少一者来选择所述软件的样本:所述工业自动化和控制系统的类型、所述工业自动化和控制系统的组件、正在被测试的所述IACS的配置的组件。
10.如权利要求1所述的方法,还包括:
对于正在被测试的所述IACS的每个特定配置,通过确定所述IACS的所述特定配置的计算资源的退化概率来执行对所选样本的影响的评估。
11.一种用于评估软件对工业自动化和控制系统的组件的影响的系统,该系统包括:
计算设备的至少一个处理器,所述处理器被配置为:
针对对工业自动化和控制系统(IACS)造成损害的潜在能力来选择要分析的软件的样本;
对于正在被测试的IACS的每种特定配置,执行分析以识别所述软件的所选样本对所述IACS的所述特定配置的影响,其中,所识别的影响至少包括导致所述IACS的所述特定配置的操作中断的原因和事件,所述特定配置至少包括正在测试设备上模拟的所述工业自动化和控制系统的所述组件,其中,所述测试包括监控所述特定配置的组件之间的请求和响应;
对于正在被测试的所述IACS的每种特定配置,分析所有所识别的导致所述IACS的所述特定配置的操作中断的原因和事件;以及
对于正在被测试的所述IACS的每种特定配置,基于所述分析,通过确定所述软件对所述IACS的所述特定配置的影响程度来评估所述软件的所选样本的影响。
12.如权利要求11所述的系统,其中,执行所述分析以识别所选样本的影响的配置还包括收集数据的配置,所述数据包括以下项中的至少一者:从所述特定配置的一个组件向另一个组件发送请求的时间、响应来自所述特定配置的组件的请求的时间、以及组件对作用于所述IACS的所述特定配置上的命令做出反应的延迟时间。
13.如权利要求11所述的系统,其中,导致所述IACS的所述特定配置的操作中断的原因包括以下项中的至少一者:发送所述请求的时间超过第一预定阈值、响应所述请求的时间超过第二预定阈值、以及做出反应的延迟时间超过第三预定阈值。
14.如权利要求11所述的系统,其中,使用任何数量的标准来执行对所述软件的样本的选择,所述标准指示表示对以下项中的至少一者构成威胁的影响:所述IACS的配置的可用性、操作能力、以及完整性。
15.如权利要求11所述的系统,其中,通过以下来执行对所述软件的样本的选择:
在沙盒的隔离环境中启动并运行所述软件的每个样本;
当在所述沙盒中运行期间生成事件日志,其中,生成的事件日志包含在所述运行期间发生的所有活动;以及
基于对生成的事件日志的分析,选择用于在所述测试设备上进行测试的要被研究的所述软件的合适的样本。
16.如权利要求11所述的系统,所述处理器还被配置为:
对于正在被测试的所述IACS的每个特定配置,基于对所述软件的所选样本的影响的评估来生成建议,所述建议包括以下项中的至少一者:
启动检测被所述软件的样本感染的指标的建议;
防止被所述软件的所选样本感染的建议;
删除所述软件的样本并删除被所述软件的样本感染的后果的建议;
修正受到所述软件的样本影响的所述特定配置的组件的建议;以及
执行附加测试的建议。
17.如权利要求11所述的系统,其中,用于识别所选样本的影响的分析包括执行至少一项测试,所述至少一项测试旨在收集关于所选软件对正在被测试并且正在所述测试设备上被模拟的所述IACS的配置的影响的数据。
18.如权利要求11所述的系统,所述处理器还被配置为:
根据接收到的用于测试的规范在所述测试设备上生成所述IACS的配置,其中,所述规范包括关于以下项中的至少一者的信息:所述IACS的组件、所述IACS的组件的功能性性能、所述IACS的组件之间发生的交互、以及关于所述IACS的组件之间交换的数据的信息。
19.如权利要求11所述的系统,其中,基于以下项中的至少一者来选择所述软件的样本:所述工业自动化和控制系统的类型、所述工业自动化和控制系统的组件、正在被测试的所述IACS的配置的组件。
20.如权利要求11所述的系统,所述处理器还被配置为:
对于正在被测试的所述IACS的每个特定配置,通过确定所述IACS的所述特定配置的计算资源的退化概率来执行对所选样本的影响的评估。
21.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有用于评估软件对工业自动化和控制系统的组件的影响的计算机可执行指令,所述计算机可执行指令包括用于以下操作的指令:
针对对工业自动化和控制系统(IACS)造成损害的潜在能力来选择要分析的软件的样本;
对于正在被测试的IACS的每种特定配置,执行分析以识别所述软件的所选样本对所述IACS的所述特定配置的影响,其中,所识别的影响至少包括导致所述IACS的所述特定配置的操作中断的原因和事件,所述特定配置至少包括正在测试设备上模拟的所述工业自动化和控制系统的所述组件,其中,所述测试包括监控所述特定配置的组件之间的请求和响应;
对于正在被测试的所述IACS的每种特定配置,分析所有所识别的导致所述IACS的所述特定配置的操作中断的原因和事件;以及
对于正在被测试的所述IACS的每种特定配置,基于所述分析,通过确定所述软件对所述IACS的所述特定配置的影响程度来评估所述软件的所选样本的影响。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020108165A RU2755252C2 (ru) | 2020-02-26 | 2020-02-26 | Способ и система для оценки влияния исследуемого ПО на доступность систем промышленной автоматизации |
RU2020108165 | 2020-02-26 | ||
US17/069,111 | 2020-10-13 | ||
US17/069,111 US11385987B2 (en) | 2020-02-26 | 2020-10-13 | System and method for assessing an impact of software on industrial automation and control systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312626A true CN113312626A (zh) | 2021-08-27 |
Family
ID=77367125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110207758.2A Pending CN113312626A (zh) | 2020-02-26 | 2021-02-24 | 评估软件对工业自动化和控制系统的影响的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11385987B2 (zh) |
CN (1) | CN113312626A (zh) |
RU (1) | RU2755252C2 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220318386A1 (en) * | 2021-03-31 | 2022-10-06 | Palo Alto Networks, Inc. | Generation of a causality tree representation of threat analysis report data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542198A (zh) * | 2010-12-03 | 2012-07-04 | 微软公司 | 预测减轻恶意软件威胁 |
CN103309342A (zh) * | 2012-03-15 | 2013-09-18 | 华北计算机系统工程研究所 | 一种针对工业控制系统的防危性验证方案 |
CN104142679A (zh) * | 2013-05-09 | 2014-11-12 | 洛克威尔自动控制技术股份有限公司 | 使用大数据进行的用于工业系统的风险评估 |
CN107526349A (zh) * | 2016-06-16 | 2017-12-29 | Abb瑞士股份有限公司 | 异常配置更改的检测 |
US10320828B1 (en) * | 2015-09-30 | 2019-06-11 | EMC IP Holding Company LLC | Evaluation of security in a cyber simulator |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009084B2 (en) * | 2002-10-21 | 2015-04-14 | Rockwell Automation Technologies, Inc. | System and methodology providing automation security analysis and network intrusion protection in an industrial environment |
JP5689333B2 (ja) * | 2011-02-15 | 2015-03-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 異常検知システム、異常検知装置、異常検知方法、プログラムおよび記録媒体 |
RU128741U1 (ru) * | 2011-06-28 | 2013-05-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система формирования решения проблем функционирования компьютерных систем |
WO2013082437A1 (en) * | 2011-12-02 | 2013-06-06 | Invincia, Inc. | Methods and apparatus for control and detection of malicious content using a sandbox environment |
EP2981893B1 (en) * | 2013-03-31 | 2023-06-07 | Schneider Electric USA, Inc. | Analyzing scada systems |
US9811447B2 (en) * | 2013-06-20 | 2017-11-07 | Entit Software Llc | Generating a fingerprint representing a response of an application to a simulation of a fault of an external service |
US20170177865A1 (en) * | 2014-01-17 | 2017-06-22 | MalCrawler Co. | Industrial Control System Emulator for Malware Analysis |
US9571517B2 (en) * | 2014-11-11 | 2017-02-14 | Goldman, Sachs & Co. | Synthetic cyber-risk model for vulnerability determination |
US9479531B1 (en) * | 2014-12-12 | 2016-10-25 | Symantec Corporation | Systems and methods for accelerating malware analyses in automated execution environments |
US9473522B1 (en) | 2015-04-20 | 2016-10-18 | SafeBreach Ltd. | System and method for securing a computer system against malicious actions by utilizing virtualized elements |
US9800604B2 (en) * | 2015-05-06 | 2017-10-24 | Honeywell International Inc. | Apparatus and method for assigning cyber-security risk consequences in industrial process control environments |
US10308246B1 (en) * | 2016-01-22 | 2019-06-04 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle signal control |
CN105807631B (zh) * | 2016-03-08 | 2019-02-12 | 北京工业大学 | 基于plc仿真的工控入侵检测方法和入侵检测系统 |
EP3545418A4 (en) * | 2016-11-22 | 2020-08-12 | AON Global Operations PLC, Singapore Branch | SYSTEMS AND PROCEDURES FOR RISK ASSESSMENT OF CYBERSECURITY |
US10419479B2 (en) * | 2017-01-12 | 2019-09-17 | Acalvio Technologies, Inc. | Testing environment cyber vaccine |
US10693878B2 (en) * | 2017-04-26 | 2020-06-23 | Cisco Technology, Inc. | Broker-coordinated selective sharing of data |
RU2661533C1 (ru) * | 2017-09-29 | 2018-07-17 | Акционерное общество "Лаборатория Касперского" | Система и способ обнаружения признаков компьютерной атаки |
RU2703329C1 (ru) * | 2018-11-30 | 2019-10-16 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ обнаружения несанкционированного использования сетевых устройств ограниченной функциональности из локальной сети и предотвращения исходящих от них распределенных сетевых атак |
-
2020
- 2020-02-26 RU RU2020108165A patent/RU2755252C2/ru active
- 2020-10-13 US US17/069,111 patent/US11385987B2/en active Active
-
2021
- 2021-02-24 CN CN202110207758.2A patent/CN113312626A/zh active Pending
-
2022
- 2022-07-01 US US17/855,861 patent/US11599443B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542198A (zh) * | 2010-12-03 | 2012-07-04 | 微软公司 | 预测减轻恶意软件威胁 |
CN103309342A (zh) * | 2012-03-15 | 2013-09-18 | 华北计算机系统工程研究所 | 一种针对工业控制系统的防危性验证方案 |
CN104142679A (zh) * | 2013-05-09 | 2014-11-12 | 洛克威尔自动控制技术股份有限公司 | 使用大数据进行的用于工业系统的风险评估 |
US10320828B1 (en) * | 2015-09-30 | 2019-06-11 | EMC IP Holding Company LLC | Evaluation of security in a cyber simulator |
CN107526349A (zh) * | 2016-06-16 | 2017-12-29 | Abb瑞士股份有限公司 | 异常配置更改的检测 |
Also Published As
Publication number | Publication date |
---|---|
US11599443B2 (en) | 2023-03-07 |
US20210263830A1 (en) | 2021-08-26 |
RU2020108165A (ru) | 2021-08-26 |
RU2020108165A3 (zh) | 2021-08-26 |
RU2755252C2 (ru) | 2021-09-14 |
US20220334949A1 (en) | 2022-10-20 |
US11385987B2 (en) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868825B1 (en) | Cybersecurity and threat assessment platform for computing environments | |
US11042647B1 (en) | Software assurance system for runtime environments | |
US10387655B2 (en) | Method, system and product for using a predictive model to predict if inputs reach a vulnerability of a program | |
US11748487B2 (en) | Detecting a potential security leak by a microservice | |
JP6680437B2 (ja) | コンピューティングプロセス内の未知の脆弱性を検出するためのシステム及び方法 | |
CN111488578A (zh) | 现代应用程序的连续漏洞管理 | |
US10320828B1 (en) | Evaluation of security in a cyber simulator | |
CN110678864A (zh) | 危害和取证数据的plc指标的收集 | |
US9804948B2 (en) | System, method, and computer program product for simulating at least one of a virtual environment and a debugging environment to prevent unwanted code from executing | |
US11503066B2 (en) | Holistic computer system cybersecurity evaluation and scoring | |
JP7377260B2 (ja) | 安全性に関連するデータストリームを検出する方法 | |
US20230171292A1 (en) | Holistic external network cybersecurity evaluation and scoring | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
EP3873056A1 (en) | System and method for assessing an impact of software on industrial automation and control systems | |
US11620129B1 (en) | Agent-based detection of fuzzing activity associated with a target program | |
Pektaş et al. | A dynamic malware analyzer against virtual machine aware malicious software | |
CN110659478A (zh) | 在隔离的环境中检测阻止分析的恶意文件的方法 | |
Choi et al. | All‐in‐One Framework for Detection, Unpacking, and Verification for Malware Analysis | |
US11599443B2 (en) | System and method for assessing an impact of malicious software causing a denial of service of components of industrial automation and control systems | |
Gashi et al. | A study of the relationship between antivirus regressions and label changes | |
CN117032894A (zh) | 容器安全状态检测方法、装置、电子设备及存储介质 | |
CN117076301A (zh) | 系统性能测试方法、装置及电子设备 | |
CN114553551B (zh) | 对入侵防御系统进行测试的方法及装置 | |
KR102541888B1 (ko) | 이미지 기반 악성코드 탐지 방법 및 장치와 이를 이용하는 인공지능 기반 엔드포인트 위협탐지 및 대응 시스템 | |
RU2755006C2 (ru) | Испытательный стенд мониторинга, контроля и анализа для оценки влияния вредоносного ПО на функционирование определенной конфигурации системы промышленной автоматизации и способ, реализующийся на нем |
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 |