RU2638000C1 - Способ контроля системы исполнения программируемого логического контроллера - Google Patents
Способ контроля системы исполнения программируемого логического контроллера Download PDFInfo
- Publication number
- RU2638000C1 RU2638000C1 RU2017104131A RU2017104131A RU2638000C1 RU 2638000 C1 RU2638000 C1 RU 2638000C1 RU 2017104131 A RU2017104131 A RU 2017104131A RU 2017104131 A RU2017104131 A RU 2017104131A RU 2638000 C1 RU2638000 C1 RU 2638000C1
- Authority
- RU
- Russia
- Prior art keywords
- execution system
- plc
- module
- data
- modules
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012544 monitoring process Methods 0.000 title claims description 8
- 230000003993 interaction Effects 0.000 claims abstract description 54
- 239000012634 fragment Substances 0.000 claims abstract description 40
- 238000002955 isolation Methods 0.000 claims abstract description 16
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000000926 separation method Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 3
- 238000009434 installation Methods 0.000 abstract description 2
- 230000004048 modification Effects 0.000 abstract 1
- 238000012986 modification Methods 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 29
- 230000003287 optical effect Effects 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
- G06F21/126—Interacting with the operating system
-
- 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
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, 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
- G05B19/4063—Monitoring general control system
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13142—Debugging, tracing
-
- 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/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15115—Pc serves as plc, programming panel, monitoring panel
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Programmable Controllers (AREA)
Abstract
Изобретение относится к способам контроля исполнения системы исполнения программируемого логического контроллера (ПЛК). Технический результат заключается в обеспечении контроля над исполнением системы исполнения ПЛК. Способ контроля исполнения системы исполнения ПЛК включает: разделение системы исполнения на модули и их изоляцию, где фрагменты кода и данных, управляющие критическими объектами, выделяются в один модуль, а фрагменты кода, содержащие уязвимости, в другой; установку на ПЛК модуля безопасности; модификацию интерфейса обмена данными изолированных модулей так, чтобы взаимодействие осуществлялось только через модуль безопасности; контроль исполнения системы исполнения ПЛК посредством контроля взаимодействия изолированных модулей системы исполнения ПЛК между собой и с ресурсами операционной системой модулем безопасности. 13 з.п. ф-лы, 13 ил.
Description
Область техники
Настоящее изобретение относится к способам контроля функционирования программируемых логических контроллеров и связанных с ним периферийных устройств, предназначенных для контроля и управления машинами и производственными процессами.
Уровень техники
Атаки на автоматизированные системы управления (сокр. АСУ) уже давно не редкость. Атакам подвергаются почти все элементы АСУ, не являются исключением и программируемые логические контроллеры1 (1 ГОСТ Р МЭК 61131-1-2016. Национальный стандарт Российской Федерации. Контроллеры программируемые. Часть 1. Общая информация'' (утв. и введен в действие Приказом Росстандарта от 13.05.2016 N314-ст) (сокр. ПЛК, англ. PLC). ПЛК содержат множество уязвимостей2, (2 http://www.alphaguardian.net/category/plc-cyber-vulnerabilities/), которые могут быть использованы для атаки на АСУ. Одной из таких уязвимостей является использование систем исполнения ПЛК (напр. CodeSYS RTE), представляющих из себя монолитную или многокомпонентную программу, исполняющуюся в одном виртуальном адресном пространстве на операционной системе, под управлением которой работает ПЛК. Таким образом если будет скомпрометирован хотя бы один функциональный компонент3, (3 ГОСТ Р МЭК 61131-1-2016. - С. 2) поддерживаемый системой исполнения ПЛК, например, осуществляющий взаимодействие с устройствами ввода, скомпрометирована будет вся система исполнения ПЛК.
Техническая проблема заключается в невозможности обеспечить безопасное функционирование АСУ, содержащей систему исполнения ПЛК, функциональные компоненты которой содержат уязвимости4. (4 ГОСТ Р 56546-2015. Национальный стандарт Российской Федерации. Защита информации. Уязвимости информационных систем. Классификация уязвимостей информационных систем'' (утв. и введен в действие Приказом Росстандарта от 19.08.2015 N 1181-ст).
В уровне технике отсутствуют решения, позволяющие решить указанную проблему кардинально. Используются различные сканеры уязвимостей и фильтры. Примером подобного решения приведен в статье "Protecting Industrial Control Systems with Cisco IPS Industrial Signatures"5 (5 http://www.cisco.com/c/en/us/about/security-center/protecting-industrial-control-systems-networks-ips.html).
Также в настоящее время возможны два полюсных варианта, в первом случае дизайн ПЛК разрабатывается таким образом, чтобы выполнять строго детерминированную задачу, что в принципе исключает какую-либо гибкость6 (6 способность переходить с одного вида продукции на другой с минимальными затратами времени и труда) и в использовании систем исполнения в их классическом понимании, нет необходимости. Либо используются ПЛК совместно с системами исполнения, что придает ПЛК максимальную гибкость, но при этом полностью игнорируется вопрос информационной безопасности (англ. information security), хотя выполнению требований по функциональной безопасности (англ. functional safety) уделяется очень пристальное внимание ввиду их нормативной регламентации7. (7 Стандарт IEC 61508 - Функциональная безопасность электрических, электронных, программируемых электронных систем, связанных с безопасностью).
Раскрытие изобретения
Настоящее изобретение предназначено для контроля исполнения системы исполнения ПЛК на программируемом логическом контроллере.
Технический результат настоящего изобретения заключается в обеспечении контроля над исполнением системы исполнения ПЛК на программируемом логическом контроллере. Технический результат достигается за счет контроля модулем безопасности взаимодействия модулей системы исполнения ПЛК между собой и операционной системой, который осуществляется путем разделения системы исполнения ПЛК на модули и модификации интерфейса обмена данными модулей между собой и с ресурсами операционной системы таким образом, чтобы направить взаимодействие через модуль безопасности, который и осуществляет контроль.
Другой технический результат настоящего изобретения заключается в повышении безопасности функционирования АСУ. Повышение безопасности АСУ достигается за счет разделения системы исполнения на модули и их изоляции, где фрагменты кода и данных, управляющие критическими объектами8 (8 ГОСТ Р 53114-2008. Национальный стандарт Российской Федерации. Защита информации. Обеспечение информационной безопасности в организации. Основные термины и определения'' (утв. и введен в действие Приказом Ростехрегулирования от 18.12.2008 N 532-ст), С. 6) выделяются в один модуль, а фрагменты кода, содержащие уязвимости, в другой. В результате реализации уязвимости в одном модуле злоумышленник не сможет скомпрометировать другой модуль, так как модули разделены и изолированы, а взаимодействие между ними контролируется.
Способ контроля исполнения системы исполнения ПЛК, в котором разделяют код и данные системы исполнения ПЛК или ее части на отдельные программные модули, при этом на программные модули разделяют на основании:
- функциональной структуры системы исполнения ПЛК, где выделяют в, по меньшей мере, один модуль функционально законченный фрагмент кода и данных системы исполнения ПЛК, остальной код и данные системы исполнения ПЛК выделяют в другой модуль; или
- угроз безопасности для системы исполнения ПЛК, где выделяют в, по меньшей мере, один модуль фрагмент кода и данных системы исполнения, содержащий уязвимость, используемую для реализации угроз, остальная часть кода и данных системы исполнения выделяют в другой модуль; или
- критичности кода и данных системы исполнения, где выделяют в, по меньшей мере, один модуль фрагмент кода и данных системы исполнения ПЛК, который управляет критическим объектом, остальной код и данные системы исполнения ПЛК выделяют в другой модуль.
По меньшей мере, один полученный модуль изолируют от других модулей и от ресурсов операционной системы, в которой исполняется система исполнения ПЛК, исключая возможность непосредственного обмена данными с другими модулями и с ресурсами ОС ПЛК. Устанавливают на ПЛК модуль безопасности. Модифицируют интерфейс обмена данными изолированных модулей, предназначенный для взаимодействия между собой, с другими модулями и с ресурсами операционной системы в условиях изоляции таким образом, чтобы указанное взаимодействие в условиях изоляции модулей осуществлялось только через установленный модуль безопасности, а формат данных, которыми обмениваются, соответствовал формату, определенному модулем безопасности. Контролируют исполнение системы исполнения ПЛК посредством контроля взаимодействия изолированных модулей системы исполнения ПЛК между собой и с ресурсами операционной системы модулем безопасности, при этом контроль в частном случае предполагает мониторинг взаимодействия, корректировку взаимодействия, остановку взаимодействия. Модули могут исполняться в отдельном процессе.
В частном случае изолируют модуль путем контейнеризации, а модуль безопасности устанавливается на операционную систему, под управление которой исполняется система исполнения ПЛК. Для изоляции возможно использовать технологию контейнеризации Linux или использовать технологию контейнеризации PikeOS.
В частном случае модуль безопасности исполняется под управлением операционной системы, под управлением которой исполняется система исполнения ПЛК.
В другом частном случае изолируют модули путем виртуализации, а модуль безопасности устанавливается на гипервизор.
При модификации интерфейса обмена данными меняют порядок и протокол обмена данными. При этом модифицируют интерфейс обмена данными для осуществления этого обмена через модуль безопасности не для любого взаимодействия модулей между собой и ОС, а только для критического, где критичность определяется на основании существующих и потенциальных угроз для системы исполнения ПЛК. В частном случае модуль безопасности осуществляет контроль на основании правил, формат которых совпадает с форматом данных, которыми модули обмениваются с собой и с операционной системой и взаимодействие проверяется модулем безопасности на соответствие, по меньшей мере одному, правилу.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 изображает примеры систем исполнения ПЛК и систем программирования и отладки;
Фиг. 2 изображает осуществление настоящего изобретения;
Фиг. 3 изображает варианты разделения системы исполнения ПЛК на модули;
Фиг. 4 изображает варианты изоляции модулей системы исполнения ПЛК;
Фиг. 5 изображает варианты установки модуля безопасности на ПЛК;
Фиг. 6 изображает пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение.
Осуществление изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
Программируемый логический контроллер - электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов. Система исполнения (англ. execution runtime, runtime environment) - программное и/или аппаратное окружение необходимое для выполнения компьютерной программы и доступное во время выполнения компьютерной программы. Известна также как система выполнения, среда выполнения, среда исполнения, исполнительная система.
Система исполнения программируемого логического контроллера9 (9 Петров И.В. «Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования» - М.: Солон-Пресс, 2010 - С. 48) (англ. control runtime system) - программное окружение, установленное на ПЛК, необходимое для выполнения управляющей (прикладной) программы и доступное во время выполнения управляющей программе. Обеспечивает загрузку, исполнение прикладной программы ПЛК и функции отладки. Устанавливается в контроллер в процессе его изготовления. Является монолитной программой (однокомпонентной) или программный комплекс (состоит из несколких компонентов). В случае монолитной программы все функционально законченные фрагменты кода10 (10 Под кодом здесь и далее понимается программный код в различных его формах: объектного кода, байт кода (промежуточный код), исполняемого кода, машинного кода) и данных программы, отвечающие за сетевой обмен, доступ к устройствам ввода вывода и иные функции размещены в рамках одного компонента, в другом случае разносятся по нескольким компонентам (напр. библиотекам). Примеры указанных систем: исполнительная система MasterPLC11, (11 http://www.insat.ru/products/?category=395) система исполнения CodeSys Runtime12 (12 https://www.codesys.com/products/codesys-runtime.html). На Фиг. 1 изображен вариант организации системы исполнения ПЛК. Функционально законченные фрагменты кода и данных, реализующие функции сетевого обмена, доступа к устройствам ввода вывода и иные функции, размещенные в рамках одной программы, далее будут обозначаться абстрактно: Функции А, Функции В, Функции С, где, например, под «Функцией А» понимается функционально законченный фрагменты кода и данных, отвечающие за реализацию «Функции А». Функциональный компонент следует отличать от программного компонента. Функциональный компонент является элементом функциональной структуры, а программный компонент - элемент программного комплекса.
Компонент системы исполнения - набор функционально законченных фрагментов кода и данных, объединенных в программу (приложение, библиотеку), функцию, функциональный блок, из которых иерархически строится система исполнения. Компоненты взаимодействуют между собой посредством интерфейса. В рамках данной заявки модуль системы исполнения - частный случай компонента, который исполняется отдельно от других компонентов системы исполнения ПЛК (напр. в другом адресном пространстве).
Совокупность взаимосвязанных компонентов (модулей), из которых иерархически строится система исполнения, реализует функциональную структуру13 (13 ''ГОСТ Р МЭК 61131-1-2016. Национальный стандарт Российской Федерации. Контроллеры программируемые. Часть 1. Общая информация'' (утв. и введен в действие Приказом Росстандарта от 13.05.2016 N314-ст), - С. 3) (функции, выполняемые системой исполнения). Порядок и формат взаимодействия взаимосвязанных компонентов определяются функциональной логикой. В частном случае, реализованная функциональная структура и функциональная логика (способ взаимодействия элементов функциональной структуры) являются реализованной в коде среды выполнения бизнес-логикой. Способ взаимодействия в частном случае определяет порядок и формат взаимодействия элементов.
Бизнес-логика системы исполнения - реализованная в коде классов, методов, процедур, функций среды выполнения совокупность правил, принципов, зависимостей поведения объектов в предметной области. Элемент бизнес-логики среды выполнения функционально законченный набор инструкций, классов, методов, процедур, функций. Совокупность элементов образует функциональную структуру системы исполнения или ее часть.
Бизнес-логика системы исполнения ПЛК - реализованная в коде классов, методов, процедур, функций среды выполнения совокупность правил, принципов, зависимостей поведения объектов в автоматизируемом технологическом процессе. Например, порядок сетевого обмена, доступ к устройствам ввода вывода, взаимодействие с ОС ПЛК.
Система программирования и отладки программ14 (14 ''ГОСТ Р МЭК 61131-1-2016. Национальный стандарт Российской Федерации. Контроллеры программируемые. Часть 1. Общая информация'' (утв. и введен в действие Приказом Росстандарта от 13.05.2016 N314-ст), - С. 2) (сокр. СПиО) связана с системой исполнения ПЛК. Именно посредством данной системы прикладная программа загружается в память ПЛК и передается под управление системе исполнения ПЛК. Пример СПиО изображен на Фиг. 1. В частном случае данная система может использоваться для управления системой исполнения ПЛК изменения ее конфигурации и установки дополнительных модулей на ПЛК.
Как отмечалось в разделе «Уровень техники» системы исполнения ПЛК имеют проблемы с безопасностью, по причине того, что система исполнения ПЛК представляет из себя монолитную программу или состоит из компонентов, которые исполняются в одном процессе. Настоящее изобретение позволяет разделить систему исполнения на модули, что позволит контролировать взаимодействие любых элементов функциональной структуры системы исполнения ПЛК или любых фрагментов кода системы исполнения между собой и с ресурсами операционной системы. Настоящее изобретение при использовании с другими системами исполнения, монолитными программами или многокомпонентными программами, исполняющимися в одном процессе, также позволяет:
повысить безопасность компьютерных систем, на которых перечисленные объекты функционируют (исполняются); и обеспечить контроль взаимодействия элементов этих объектов.
Данное изобретение применимо не только к программам или системам исполнениям целиком, но и к любым монолитным частям и компонентам программ и программных комплексов контроль над исполнением которых необходимо обеспечить, а также повысить безопасность компьютерных систем, на которых упомянутые части или компоненты исполняются. Поэтому следует отметить, что все, указанное для системы исполнения ПЛК, справедливо в равной мере, если явно не указано иное, или иное не следует из сущности системы исполнения ПЛК, вытекающей из особенностей ПЛК, для:
- других систем исполнения, их частей и отдельных компонентов (модулей);
- монолитных программ и их частей;
- многокомпонентных программ, исполняющихся в одном адресном пространстве, и отдельных компонентов (модулей) этих программ.
Осуществление данного изобретения изображено на Фиг. 2. На первом этапе 200 реализации способа получают систему исполнения ПЛК. Система исполнения ПЛК либо извлекается из ПЛК, либо систему исполнения ПЛК получают перед установкой на ПЛК. В другом частном случае способ реализуют с первого этапа непосредственно на ПЛК.
Далее на этапе 210 разделяют код и данные системы исполнения ПЛК на отдельные модули код и данные разделяются на основании функциональной структуры15 (15 ГОСТ МЭК 61131-1) системы исполнения ПЛК. При таком разделении выделяют в, по меньшей мере, один модуль функционально законченный фрагмент кода и данных системы исполнения ПЛК, остальной код и данные системы исполнения ПЛК выделяют в другой модуль. На Фиг. 3а изображен пример такого разделения, где фрагмент кода и данных предназначенный для выполнения «функций А» выделяется в «модуль 1», фрагмент кода и данных, предназначенные для выполнения «функций В», выделяется в «модуль 2», фрагмент кода и данных предназначенные для выполнения «других функций», оставшихся, выделяется в «модуль 3».
Также код и данные системы ПЛК разделяют на основании угроз безопасности16 (16 ГОСТ Р 56546-2015) для системы исполнения ПЛК. При таком разделении выделяют в, по меньшей мере, один модуль фрагмент кода и данных системы исполнения, содержащий уязвимость17 (17 Там же) (или уязвимый фрагмент кода, например, фрагмент, отвечающий за сетевое взаимодействие, именно он, как правило, подвергается атаке в первую очередь), используемую для реализации угроз, остальную часть кода и данных системы исполнения выделяют в другой модуль. На Фиг. 3б показано такое разделения, например фрагменты кода и данных, предназначенные для выполнения функций А, В, С, содержат уязвимости, фрагмент кода и данных, предназначенный для выполнения «функций А», выделяется в «модуль 1», фрагменты кода и данных, предназначенные для выполнения «функций В» и «функций С», выделяются в «модуль 2», фрагменты кода и данных, предназначенные для выполнения «других функций», оставшихся, и не содержащие уязвимости, выделяются в «модуль 3».
Разделение может осуществляться и на основании критичности фрагментов кода и данных системы исполнения, где выделяют в, по меньшей мере, один модуль фрагмент кода и данных системы исполнения ПЛК, который управляет критическим объектом18 (18 ГОСТ Р 53114-2008. Национальный стандарт Российской Федерации. «Защита информации. Обеспечение информационной безопасности в организации. Основные термины и определения'' (утв. и введен в действие Приказом Ростехрегулирования от 18.12.2008 №532-ст), С. 6) (критический фрагмент кода и данных), остальной код и данные системы исполнения ПЛК выделяют в другой модуль. На Фиг. 3в изображен пример такого разделения, где фрагмент кода и данных, предназначенный для выполнения «функций А», является критическим кодом и содержит критические данные, данный фрагмент выделяется в модуль 1, фрагменты кода и данных, предназначенные для выполнения «функций В», «функций С», «других функций», оставшихся, выделяются в «модуль 2».
Эти критерии при разделении могут использоваться как отдельно, так и совместно, в примере, изображенном на Фиг. 3б, используется разделение не только по наличию уязвимостей, но и на основании функциональной структуры системы исполнения ПЛК, а в примере, изображенном на Фиг. 3в, используется разделение не только по критичности кода/данных, но и на основании функциональной структуры системы исполнения ПЛК.
На Фиг. 3б и Фиг. 3в показаны примеры, где в модули выделяются функционально законченные фрагменты кода и данных, содержащие уязвимости или используемые для управление критическими объектами, в общем случае при разделении на основании критичности и угроз безопасности в модуль выделять функционально законченные фрагменты необязательно, выделяться могут любые критические фрагменты, или фрагменты, содержащие уязвимости, примеры представлены для простоты восприятия.
При выделении фрагментов кода в модули организуется способ взаимодействия (порядок обмена данными и формат данных) между модулями, эквивалентный способу взаимодействия этих фрагментов в системе исполнения ПЛК до разделения. Иначе говоря, какой фрагмент кода с каким фрагментом в каком порядке взаимодействовал, в таком порядке будут взаимодействовать модули, содержащие указанные фрагменты кода, после разделения системы исполнения ПЛК.
На этапе 220 изолируют созданные ранее модули друг от друга, от операционной системы и оборудования. Для изоляции используют технологии виртуализации с применением контейнеров или виртуальных машин19 (19 ГОСТ Р 56938-2016, Защита информации. Защита информации при использовании технологий виртуализации. Общие положения). При использовании контейнеров (см. Фиг. 4а), модуль помещают в контейнер, а в операционную систему устанавливается управляющая служба, через которую модули взаимодействуют между собой и с операционной системой, примерами таких служб являются службы Docker (англ. Docker engine). При использовании виртуальных машин модули помещаются в виртуальные машины с различными вариантами мониторов виртуальных машин, которыми являются:
- гипервизоры I типа (см. Фиг. 4б), например, VMware ESX;
- гипервизоры II типа (см. Фиг. 4в), Microsoft Virtual PC, VM Workstation, QEMU, Parallels, VirtualBox;
- гибридные гипервизоры (см. Фиг. 4г), Xen, Citrix XenServer, Microsoft Hyper-V.
Отдельно стоит отметить, что для изоляции в частном случае могут использоваться: партиции (англ. partition) PikeOS;20 (20 PikeOS - микроядерная операционная система реального времени, которая производится компанией SYSGO AG. Она ориентирована на безопасности критически важных встраиваемых систем. Она обеспечивает разделенную среду для нескольких операционных систем с различными целями проектирования и требованиями безопасности (оф. сайт https://www.sysgo.com/products/pikeos-hypervisor/) контейнеризация средствами Linux (англ. Linux Containers, сокр. LXC). В частном случае не все модули могут изолироваться, и их взаимодействие с операционной системой и другими модулями остается неизменным, данный факт отображен на примере модуля N на фигурах, для которого изоляция опциональна.
На этапе 230 устанавливают на ПЛК модуль безопасности, в частном случае модуль содержит функционально законченные наборы фрагментов кода и данных, отвечающие за реализацию функций безопасности (о том, как эти функции осуществляются будет описано ниже). Уровень архитектуры ПЛК, на котором будет функционировать модуль безопасности, будет определяться технологией, которая использовалась для изоляции модулей системы исполнения ПЛК. Например, если для изоляции использовались контейнеры (Фиг. 4а), и в ОС ПЛК установлена управляющая служба (напр. Docker), то модуль безопасности располагается на том же уровне, что и контейнеры (см. Фиг. 5а). Если для изоляции используются виртуальные машины (см. Фиг. 4б, Фиг. 4в, Фиг. 4г), то модуль безопасности устанавливается на уровне монитора виртуальных машин (гипервизора) или встраивается в него (см. Фиг. 5б, Фиг. 5в). На том же этапе модифицируют интерфейс обмена данными изолированных модулей, предназначенный для взаимодействия с другими модулями и с ресурсами операционной системы в условиях изоляции таким образом, чтобы указанное взаимодействие в условиях изоляции модулей осуществлялся только через установленный модуль безопасности, а формат данных, которыми обмениваются, соответствовал формату, определенному модулем безопасности. Таким образом структура сообщений, которыми обмениваются полностью или частично, известна модулю безопасности, данная структура (формат данных, иногда также называется интерфейсом) описывается, например, с помощью Interface Definition Language (IDL) и модуль безопасности в результате способен проверять, что передаваемое сообщение соответствует этому описанию, а также может использовать отдельные поля этого сообщения для целей контроля допустимости.
В результате модуль безопасности способен выполнять функции безопасности, а именно осуществлять контроль исполнения системы исполнения, который предполагает: мониторинг взаимодействия изолированных модулей между собой, с ресурсами операционной системы ПЛК или оборудованием; корректировку указанного взаимодействия, остановку взаимодействия. Модуль безопасности осуществляет контроль на основании правил, формат которых совпадает с форматом данных которыми модули обмениваются с собой и с операционной системой. Взаимодействие проверяется модулем безопасности на соответствие логическому правилу, которое хранится у модуля безопасности, правило содержит описание допустимого взаимодействия.
Модуль безопасности осуществляет мониторинг взаимодействия, где взаимодействие проверяется на соответствие правилу, если взаимодействие соответствует правилу, то взаимодействие пропускается и данные отправляются приемнику, если взаимодействие не соответствует правилу осуществляется корректировка взаимодействия (в данные, которыми обменивается приемник и источник, через модуль безопасности вносятся изменения) или взаимодействие не допускается (взаимодействие останавливается). Что должен сделать модуль безопасности при несоответствии взаимодействия правилу, описывающему подобное взаимодействие, определяется либо самим правилом, либо субсидиарным правилом, если правилом для осуществляемого взаимодействия модуль не располагает (диспозитивное регулирование). Например, допустимое взаимодействие (см. Фиг. 5б) «модуля 1» с «модулем 2», где «модуль 1» является источником, а «модуль 2» приемником, описывается основным «правилом А» и факультативным «правилом Б», также модуль безопасности содержит субсидиарное «правило X», которое необходимо применить в случае, когда ни одно другое правило никаких предписаний на возникшее взаимодействие не содержит. При контроле указанного взаимодействия модуль безопасности обнаружил, что взаимодействие «модуля 1» с «модулем 2» не соответствует «правилу А». «Правило А» на данный случай предписывает проверить взаимодействие на соответствие «правилу Б». Модуль безопасности поэтому проверяет взаимодействие на соответствие «правилу Б», модуль обнаруживает что взаимодействие не соответствует и «правилу Б», но на этот случай «правило Б» ничего не предписывает, поэтому модуль безопасности применяет некоторое «правило X», которое, например, предписывает остановить взаимодействие.
Настоящее изобретение в частном случае осуществляется посредством СПиО, элементы которой могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 6).
Фиг. 6 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 6. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.
Claims (22)
1. Способ контроля исполнения системы исполнения программируемого логического контроллера (ПЛК), в котором:
а) разделяют код и данные системы исполнения ПЛК или ее части на отдельные программные модули, при этом на программные модули разделяют на основании:
- функциональной структуры системы исполнения ПЛК, где выделяют в, по меньшей мере, один модуль функционально законченный фрагмент кода и данных системы исполнения ПЛК, остальной код и данные системы исполнения ПЛК выделяют в другой модуль; или
- угроз безопасности для системы исполнения ПЛК, где выделяют в, по меньшей мере, один модуль фрагмент кода и данных системы исполнения, содержащий уязвимость, используемую для реализации угроз, остальная часть кода и данных системы исполнения выделяют в другой модуль; или
- критичности кода и данных системы исполнения, где выделяют в, по меньшей мере, один модуль фрагмент кода и данных системы исполнения ПЛК, который управляет критическим объектом, остальной код и данные системы исполнения ПЛК выделяют в другой модуль;
б) изолируют, по меньшей мере, один полученный модуль от других модулей и от ресурсов операционной системы, в которой исполняется система исполнения ПЛК, исключая возможность непосредственного обмена данными с другими модулями и с ресурсами ОС ПЛК;
в) устанавливают на ПЛК модуль безопасности;
г) модифицируют интерфейс обмена данными изолированных модулей, предназначенный для взаимодействия изолированных модулей между собой, с другими модулями и с ресурсами операционной системы в условиях изоляции таким образом, чтобы указанное взаимодействие в условиях изоляции модулей осуществлялось только через установленный модуль безопасности, а формат данных, которыми обмениваются, соответствовал формату, определенному модулем безопасности;
д) контролируют исполнение системы исполнения ПЛК посредством контроля взаимодействия изолированных модулей системы исполнения ПЛК между собой и с ресурсами операционной системы модулем безопасности.
2. Способ по п. 1, в котором изолируют модуль путем контейнеризации.
3. Способ по п. 2, в котором модуль безопасности устанавливается на операционную систему, под управлением которой исполняется система исполнения ПЛК.
4. Способ по п. 2, в котором для изоляции используют технологию контейнеризации Linux.
5. Способ по п. 2, в котором для изоляции используют технологию контейнеризации PikeOS.
6. Способ по п. 1, в котором модуль безопасности исполняется под управлением операционной системы, под управлением которой исполняется система исполнения ПЛК.
7. Способ по п. 1, в котором изолируют модули путем виртуализации.
8. Способ по п. 7, в котором модуль безопасности устанавливается на гипервизор.
9. Способ по п. 1, где при модификации интерфейса обмена данными меняется порядок и протокол обмена данными.
10. Способ по п. 1, в котором модифицируют интерфейс обмена данными для осуществления этого обмена через модуль безопасности не для любого взаимодействия модулей между собой и ОС, а только для критического, где критичность определяется на основании существующих и потенциальных угроз для системы исполнения ПЛК.
11. Способ по п. 1, в котором контроль предполагает мониторинг взаимодействия, корректировку взаимодействия, остановку взаимодействия.
12. Способ по п. 11, в котором модуль безопасности осуществляет контроль на основании правил, формат которых совпадает с форматом данных, которыми модули обмениваются с собой и с операционной системой.
13. Способ по п. 12, в котором взаимодействие проверяется модулем безопасности на соответствие, по меньшей мере одному, правилу.
14. Способ по п. 1, в котором модуль исполняется в отдельном процессе.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017104131A RU2638000C1 (ru) | 2017-02-08 | 2017-02-08 | Способ контроля системы исполнения программируемого логического контроллера |
US15/715,258 US10599120B2 (en) | 2017-02-08 | 2017-09-26 | System and method of monitoring of the execution system of a programmable logic controller |
JP2017198987A JP6903544B2 (ja) | 2017-02-08 | 2017-10-13 | プログラマブル論理コントローラ実行システムの監視のためのシステム、方法、及び非一時的なコンピュータ可読媒体 |
EP17196462.0A EP3361332B1 (en) | 2017-02-08 | 2017-10-13 | System and method of monitoring of the execution system of a programmable logic controller |
CN201710998035.2A CN108399330B (zh) | 2017-02-08 | 2017-10-19 | 监控可编程逻辑控制器的执行系统的系统和方法 |
US16/799,313 US11029662B2 (en) | 2017-02-08 | 2020-02-24 | System and method for enabling data to be transmitted between program modules based on compliance with rules |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017104131A RU2638000C1 (ru) | 2017-02-08 | 2017-02-08 | Способ контроля системы исполнения программируемого логического контроллера |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2638000C1 true RU2638000C1 (ru) | 2017-12-08 |
Family
ID=60581489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017104131A RU2638000C1 (ru) | 2017-02-08 | 2017-02-08 | Способ контроля системы исполнения программируемого логического контроллера |
Country Status (4)
Country | Link |
---|---|
US (2) | US10599120B2 (ru) |
JP (1) | JP6903544B2 (ru) |
CN (1) | CN108399330B (ru) |
RU (1) | RU2638000C1 (ru) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019217624A1 (de) * | 2019-11-15 | 2021-05-20 | Robert Bosch Gmbh | Industrielles Steuerungssystem in der Automatisierungstechnik mit unabhängig voneinander agierenden Modulen |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321829A (en) * | 1990-07-20 | 1994-06-14 | Icom, Inc. | Graphical interfaces for monitoring ladder logic programs |
WO2006087191A1 (de) * | 2005-02-17 | 2006-08-24 | Bosch Rexroth Ag | Maschinensteuerung mit sicherheitsfunktion |
RU2458394C2 (ru) * | 2006-10-27 | 2012-08-10 | Майкрософт Корпорейшн | Виртуализация для диверсифицированной защиты от несанкционированного вмешательства |
RU2011122280A (ru) * | 2008-12-02 | 2012-12-10 | Майкрософт Корпорейшн | Безопасное изолированное выполнение подключаемых модулей |
JP2013171346A (ja) * | 2012-02-17 | 2013-09-02 | Fuji Electric Co Ltd | 制御システム、制御装置及びプログラム実行制御方法 |
CN104597833A (zh) * | 2015-01-14 | 2015-05-06 | 上海海得控制系统股份有限公司 | 一种plc保护系统及保护方法 |
US20160028693A1 (en) * | 2014-07-28 | 2016-01-28 | Ge Intelligent Platforms, Inc. | Apparatus and method for security of industrial control networks |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730318B2 (en) | 2003-10-24 | 2010-06-01 | Microsoft Corporation | Integration of high-assurance features into an application through application factoring |
JP4664055B2 (ja) | 2004-12-10 | 2011-04-06 | 株式会社エヌ・ティ・ティ・ドコモ | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
US8667589B1 (en) | 2013-10-27 | 2014-03-04 | Konstantin Saprygin | Protection against unauthorized access to automated system for control of technological processes |
EP3260976A1 (en) * | 2014-06-30 | 2017-12-27 | Firmitas Cyber Solutions (Israel) Ltd. | System and method of generating a secured communication layer |
US10365626B2 (en) | 2015-02-12 | 2019-07-30 | Siemens Aktiengesellschaft | Extending the functionality of a programmable logic controller (PLC) with apps without changing the PLC programming |
US10944764B2 (en) * | 2015-02-13 | 2021-03-09 | Fisher-Rosemount Systems, Inc. | Security event detection through virtual machine introspection |
WO2016172514A1 (en) | 2015-04-24 | 2016-10-27 | Siemens Aktiengesellschaft | Improving control system resilience by highly coupling security functions with control |
US10375106B1 (en) * | 2016-01-13 | 2019-08-06 | National Technology & Engineering Solutions Of Sandia, Llc | Backplane filtering and firewalls |
-
2017
- 2017-02-08 RU RU2017104131A patent/RU2638000C1/ru active
- 2017-09-26 US US15/715,258 patent/US10599120B2/en active Active
- 2017-10-13 JP JP2017198987A patent/JP6903544B2/ja active Active
- 2017-10-19 CN CN201710998035.2A patent/CN108399330B/zh active Active
-
2020
- 2020-02-24 US US16/799,313 patent/US11029662B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321829A (en) * | 1990-07-20 | 1994-06-14 | Icom, Inc. | Graphical interfaces for monitoring ladder logic programs |
WO2006087191A1 (de) * | 2005-02-17 | 2006-08-24 | Bosch Rexroth Ag | Maschinensteuerung mit sicherheitsfunktion |
RU2458394C2 (ru) * | 2006-10-27 | 2012-08-10 | Майкрософт Корпорейшн | Виртуализация для диверсифицированной защиты от несанкционированного вмешательства |
RU2011122280A (ru) * | 2008-12-02 | 2012-12-10 | Майкрософт Корпорейшн | Безопасное изолированное выполнение подключаемых модулей |
JP2013171346A (ja) * | 2012-02-17 | 2013-09-02 | Fuji Electric Co Ltd | 制御システム、制御装置及びプログラム実行制御方法 |
US20160028693A1 (en) * | 2014-07-28 | 2016-01-28 | Ge Intelligent Platforms, Inc. | Apparatus and method for security of industrial control networks |
CN104597833A (zh) * | 2015-01-14 | 2015-05-06 | 上海海得控制系统股份有限公司 | 一种plc保护系统及保护方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6903544B2 (ja) | 2021-07-14 |
US20200192321A1 (en) | 2020-06-18 |
CN108399330A (zh) | 2018-08-14 |
JP2018139098A (ja) | 2018-09-06 |
US20180224823A1 (en) | 2018-08-09 |
CN108399330B (zh) | 2022-01-04 |
US11029662B2 (en) | 2021-06-08 |
US10599120B2 (en) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113711541B (zh) | 改变容器化工作负载隔离的方法和系统 | |
US20200301764A1 (en) | Operating system on a computing system | |
US9621592B2 (en) | System and method for software defined deployment of security appliances using policy templates | |
US8689282B1 (en) | Security policy enforcement framework for cloud-based information processing systems | |
EP2979211B1 (en) | Protecting software application | |
JP6745921B2 (ja) | Plcの仮想的なパッチおよびセキュリティコンテキストの自動配信 | |
WO2017052947A1 (en) | Hardware-assisted software verification and secure execution | |
US10776486B2 (en) | Analysis system, analysis method, analysis device, and storage medium for analyzing operation of a program executed in an analysis environment | |
EP2286333A1 (en) | Secure multi-purpose computing client | |
JP2018129019A (ja) | 仮想マシンにおける悪意のあるファイルを分析するシステム及び方法 | |
US10242194B2 (en) | Method and apparatus for trusted execution of applications | |
CN113544643A (zh) | 使用初始程序加载机制启动安全客户机 | |
US9122633B2 (en) | Case secure computer architecture | |
TWI772747B (zh) | 用於將中斷及例外注入安全虛擬機器之電腦實施方法、電腦系統及電腦程式產品 | |
RU2638000C1 (ru) | Способ контроля системы исполнения программируемого логического контроллера | |
RU2637435C1 (ru) | Способ обнаружения аномального исполнения системы исполнения программируемого логического контроллера | |
EP3361332B1 (en) | System and method of monitoring of the execution system of a programmable logic controller | |
Cheruvu et al. | IoT Software Security Building Blocks | |
Ramos | Security challenges with virtualization | |
Rautava | Reusable generic software robot | |
Bazuku et al. | An Overview of Computer Operating Systems and Emerging Trends | |
Saxena | Container Image Security with Trivy and Istio Inter-Service Secure Communication in Kubernetes | |
dos Santos Ramos | Security challenges with virtualization | |
CN117940921A (zh) | 在容器中执行特权操作 | |
Owopetu | Private cloud implementation and security: using Eucalyptus and Xen Frameworks |