Способ обнаружения аномального исполнения системы исполнения программируемого логического контроллера

Изобретение относится к способам обнаружения аномалий функционирования программируемых логических контроллеров (ПЛК) и связанных с ним периферийных устройств, предназначенных для контроля и управления машинами и производственными процессами. Технический результат заключается в обеспечении обнаружения аномалий в исполнении системы исполнения ПЛК. Технический результат достигается за счет обнаружения модулем безопасности несоответствия взаимодействия, мониторинг которого осуществляется, установленному для данного взаимодействия правилу, при этом мониторинг взаимодействия осуществляется путем разделения системы исполнения ПЛК на модули и модификации интерфейса обмена данными модулей между собой и с ресурсами операционной системы таким образом, чтобы направить взаимодействие через модуль безопасности, который и осуществляет мониторинг взаимодействия и обнаружение аномалии. 13 з.п. ф-лы, 13 ил.

 

Область техники

Изобретение относится к способам обнаружения аномалий функционирования программируемых логических контроллеров и связанных с ним периферийных устройств, предназначенных для контроля и управления машинами и производственными процессами.

Уровень техники

Атаки на автоматизированные системы управления (сокр. АСУ) уже давно не редкость. Атакам подвергаются почти все элементы АСУ, не являются исключением и программируемые логические контроллеры (ГОСТ Р МЭК 61131-1-2016. Национальный стандарт Российской Федерации. Контроллеры программируемые. Часть 1. Общая информация (утв. и введен в действие Приказом Росстандарта от 13.05.2016 N314-ст)) (сокр. ПЛК, англ. PLC). ПЛК содержат множество уязвимостей (http://www.alphaguardian.net/category/plc-cyber-vulnerabilities/), которые могут быть использованы для атаки на АСУ. Одной из таких уязвимостей является использование систем исполнения ПЛК (напр., CodeSYS RTE), представляющих из себя монолитную или многокомпонентную программу, исполняющуюся в одном виртуальном адресном пространстве на операционной системе, под управлением которой работает ПЛК. Таким образом если будет скомпрометирован хотя бы один функциональный компонент (ГОСТ Р МЭК 61131-1-2016. - С. 2), поддерживаемый системой исполнения ПЛК, например осуществляющий взаимодействие с устройствами ввода, скомпрометирована будет вся система исполнения ПЛК.

Техническая проблема заключается в невозможности обнаружить аномалию внутри системы исполнения ПЛК в виду ее монолитности.

В уровне технике отсутствуют решения, позволяющие решить указанную проблему кардинально. Используются различные сканеры уязвимостей и фильтры. Примером подобного решения приведен в статье "Protecting Industrial Control Systems with Cisco IPS Industrial Signatures" (http://www.cisco.com/c/en/us/about/security-center/protecting-industrial-control-systems-networks-ips.html) Ho если фильтр пропустил какое-то взаимодействие и передал его системе исполнения ПЛК, то выявить аномалию становится практически невозможно ввиду закрытости самой системы исполнения, фактически для систем безопасности система исполнения ПЛК представляет из себя "черный ящик".

Также в настоящее время возможны два полюсных варианта решения указанной проблемы, в первом случае дизайн ПЛК разрабатывается таким образом, чтобы выполнять строго детерминированную задачу, что в принципе исключает какую-либо гибкость (способность переходить с одного вида продукции на другой с минимальными затратами времени и труда) и в использовании систем исполнения в их классическом понимании, нет необходимости. Либо используются ПЛК совместно с системами исполнения, что придает ПЛК максимальную гибкость, но при этом полностью игнорируется вопрос информационной безопасности (англ. information security), хотя выполнению требований по функциональной безопасности (англ. functional safety) уделяется очень пристальное внимание ввиду их нормативной регламентации (Стандарт IEC 61508 - Функциональная безопасность электрических, электронных, программируемых электронных систем, связанных с безопасностью).

Раскрытие изобретения

Настоящее изобретение предназначено для обнаружения аномалии в исполнении системы исполнения ПЛК на программируемом логическом контроллере.

Технический результат настоящего изобретения заключается в обеспечении обнаружения аномалий в исполнении системы исполнения ПЛК на программируемом логическом контроллере. Технический результат достигается за счет обнаружения модулем безопасности несоответствия взаимодействия, мониторинг которого осуществляется, установленному для данного взаимодействия правилу, при этом мониторинг взаимодействия осуществляется путем разделения системы исполнения ПЛК на модули и модификации интерфейса обмена данными модулей между собой и с ресурсами операционной системы таким образом, чтобы направить взаимодействие через модуль безопасности, который и осуществляет мониторинг взаимодействия и обнаружение аномалии.

Способ контроля исполнения системы исполнения ПЛК, в котором разделяют код и данные системы исполнения ПЛК или ее части на отдельные программные модули, при этом на программные модули разделяют на основании:

- функциональной структуры системы исполнения ПЛК, где выделяют в по меньшей мере один модуль функционально законченный фрагмент кода и данных системы исполнения ПЛК, остальной код и данные системы исполнения ПЛК выделяют в другой модуль; или

- угроз безопасности для системы исполнения ПЛК, где выделяют в по меньшей мере один модуль фрагмент кода и данных системы исполнения, содержащий уязвимость, используемую для реализации угроз, остальная часть кода и данных системы исполнения выделяют в другой модуль; или

- критичности кода и данных системы исполнения, где выделяют в по меньшей мере один модуль фрагмент кода и данных системы исполнения ПЛК, который управляет критическим объектом, остальной код и данные системы исполнения ПЛК выделяют в другой модуль.

Устанавливают на ПЛК модуль безопасности и модифицируют интерфейс обмена данными модулей, предназначенный для взаимодействия модулей между собой и с ресурсами операционной системы таким образом, чтобы указанное взаимодействие осуществлялось только через установленный модуль безопасности, а формат данных, которыми обмениваются, соответствовал формату, определенному модулем безопасности. Далее осуществляют мониторинг взаимодействия модулей системы исполнения ПЛК между собой и с ресурсами операционной системы путем проверки модулем безопасности по меньшей мере одного взаимодействия на соответствие правилам, установленным для данного взаимодействия. В процессе обнаруживают аномалии в исполнении системы исполнения ПЛК на основании обнаруженного модулем безопасности несоответствия взаимодействия, мониторинг которого осуществляется, установленному для данного взаимодействия правилу. Модули могут исполняться в отдельных процессах.

В частном случае дополнительно изолируют по меньшей мере один полученный модуль от других модулей и от ресурсов операционной системы в которой исполняется система исполнения ПЛК, исключая возможность непосредственного обмена данными с другими модулями и с ресурсами ОС ПЛК. В одном случае изолируют модуль путем контейнеризации, а модуль безопасности устанавливается на операционную систему под управление которой исполняется система исполнения ПЛК. Для изоляции возможно использовать технологию контейнеризации Linux.

В частном случае модуль безопасности исполняется под управлением операционной системы, под управлением которой исполняется система исполнения ПЛК.

В другом частном случае изолируют модули путем виртуализации, а модуль безопасности устанавливается на гипервизор. В частном случае для виртуализации используют технологию PikeOS.

При модификации интерфейса обмена данными меняют порядок и протокол обмена данными. При этом модифицируют интерфейс обмена данными для осуществления этого обмена через модуль безопасности не для любого взаимодействия модулей между собой и ОС, а только для критического, где критичность определяется на основании существующих и потенциальных угроз для системы исполнения ПЛК. В частном случае модуль безопасности осуществляет контроль на основании правил, формат которых совпадает с форматом данных, которыми модули обмениваются с собой и с операционной системой и взаимодействие проверяется модулем безопасности на соответствие по меньшей мере одному правилу.

Краткое описание чертежей

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:

Фиг. 1 изображает примеры систем исполнения ПЛК и систем программирования и отладки;

Фиг. 2 изображает осуществление настоящего изобретения;

Фиг. 3 изображает варианты разделения системы исполнения ПЛК на модули;

Фиг. 4 изображает варианты изоляции модулей системы исполнения ПЛК;

Фиг. 5 изображает варианты установки модуля безопасности на ПЛК;

Фиг. 6 изображает пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение.

Осуществление изобретения

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.

Программируемый логический контроллер - электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов. Система исполнения (англ. execution runtime, runtime environment) - программное и/или аппаратное окружение необходимое для выполнения компьютерной программы и доступное во время выполнения компьютерной программы. Известна также как система выполнения, среда выполнения, среда исполнения, исполнительная система.

Система исполнения программируемого логического контроллера (Петров И.В. «Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования» - М.: Солон-Пресс, 2010 - С. 48) (англ. control runtime system) - программное окружение, установленное на ПЛК, необходимое для выполнения управляющей (прикладной) программы и доступное во время выполнения управляющей программе. Обеспечивает загрузку, исполнение прикладной программы ПЛК и функции отладки. Устанавливается в контроллер в процессе его изготовления. Является монолитной программой (однокомпонентной) или программный комплекс (состоит из нескольких компонентов). В случае монолитной программы все функционально законченные фрагменты кода (под кодом здесь и далее понимается программный код в различных его формах: объектного кода, байт кода (промежуточный код), исполняемого кода, машинного кода) и данных программы, отвечающие за сетевой обмен, доступ к устройствам ввода вывода и иные функции размещены в рамках одного компонента, в другом случае разносятся по нескольким компонентам (напр., библиотекам). Примеры указанных систем: исполнительная система MasterPLC (http://www.insat.ru/products/?category=395), система исполнения CodeSys Runtime (https://www.codesys.com/products/codesys-runtime.html). На Фиг. 1 изображен вариант организации системы исполнения ПЛК. Функционально законченные фрагменты кода и данных, реализующие функции сетевого обмена, доступа к устройствам ввода вывода и иные функции, размещенные в рамках одной программы далее будут обозначаться абстрактно Функции А, Функции В, Функции С, где, например, под «Функцией А» понимается функционально законченный фрагменты кода и данных, отвечающие за реализацию «Функции А». Функциональный компонент следует отличать от программного компонента. Функциональный компонент является элементом функциональной структуры, а программный компонент элемент программного комплекса.

Компонент системы исполнения - набор функционально законченных фрагментов кода и данных, объединенных в программу (приложение, библиотеку), функцию, функциональный блок из которых иерархически строится система исполнения. Компоненты взаимодействуют между собой посредством интерфейса. В рамках данной заявки модуль системы исполнения - частный случай компонента, который исполняется отдельно от других компонентов системы исполнения ПЛК (напр., в другом адресном пространстве).

Совокупность взаимосвязанных компонентов (модулей), из которых иерархически строится система исполнения, реализует функциональную структуру ("ГОСТ Р МЭК 61131-1-2016. Национальный стандарт Российской Федерации. Контроллеры программируемые. Часть 1. Общая информация" (утв. и введен в действие Приказом Росстандарта от 13.05.2016 N 314-ст), - С. 3) (функции, выполняемые системой исполнения). Порядок и формат взаимодействия взаимосвязанных компонентов определяются функциональной логикой. В частном случае, реализованная функциональная структура и функциональная логика (способ взаимодействия элементов функциональной структуры), являются реализованной в коде среды выполнения бизнес-логикой. Способ взаимодействия в частном случае определяет порядок и формат взаимодействия элементов.

Бизнес-логика системы исполнения - реализованная в коде классов, методов, процедур, функций среды выполнения совокупность правил, принципов, зависимостей поведения объектов в предметной области. Элемент бизнес-логики среды выполнения функционально законченный набор инструкций, классов, методов, процедур, функций. Совокупность элементов образуют функциональную структуру системы исполнения или ее часть.

Бизнес-логика системы исполнения ПЛК - реализованная в коде классов, методов, процедур, функций среды выполнения совокупность правил, принципов, зависимостей поведения объектов в автоматизируемом технологическом процессе. Например, порядок сетевого обмена, доступ к устройствам ввода вывода, взаимодействие с ОС ПЛК.

Система программирования и отладки программ ("ГОСТ Р МЭК 61131-1-2016. Национальный стандарт Российской Федерации. Контроллеры программируемые. Часть 1. Общая информация" (утв. и введен в действие Приказом Росстандарта от 13.05.2016 N 314-ст), - С. 2) (сокр. СПиО) связана с системой исполнения ПЛК. Именно посредством данной системы прикладная программа загружается в память ПЛК и передается под управление системе исполнения ПЛК. Пример СПиО изображен на Фиг. 1. В частном случае данная система может использоваться для управления системой исполнения ПЛК изменения ее конфигурации и установки дополнительных модулей на ПЛК.

Как отмечалось в разделе «Уровень техники» системы исполнения ПЛК имеют проблемы с безопасностью, по причине того, что система исполнения ПЛК представляет из себя монолитную программу или состоит из компонентов, которые исполняются в одном процессе. Настоящее изобретение позволяет разделить систему исполнения на модули, что позволит контролировать взаимодействие любых элементов функциональной структуры системы исполнения ПЛК или любых фрагментов кода системы исполнения между собой и с ресурсами операционной системы. Настоящее изобретение при использовании с другими системами исполнения, монолитными программами или многокомпонентными программами, исполняющимися в одном процессе, также позволяет:

повысить безопасность компьютерных систем, на которых перечисленные объекты функционируют (исполняются); и

обеспечить контроль взаимодействия элементов этих объектов.

Данное изобретение применимо не только к программам или системам исполнениям целиком, но и к любым монолитным частям и компонентам программ и программных комплексов контроль над исполнением которых необходимо обеспечить, а также повысить безопасность компьютерных систем, на которых упомянутые части или компоненты исполняются. Поэтому следует отметить, что все указанное для системы исполнения ПЛК справедливо в равной мере, если явно не указано иное или иное не следует из сущности системы исполнения ПЛК, вытекающей из особенностей ПЛК, для:

- других систем исполнения, их частей и отдельных компонентов (модулей);

- монолитных программ и их частей;

- многокомпонентных программ, исполняющихся в одном адресном пространстве и отдельных компонентов (модулей) этих программ.

Осуществление данного изобретения изображено на Фиг. 2. На первом этапе 200 реализации способа получают систему исполнения ПЛК. Система исполнения ПЛК либо извлекается из ПЛК, либо систему исполнения ПЛК получают перед установкой на ПЛК. В другом частном случае способ реализуют с первого этапа непосредственно на ПЛК.

Далее на этапе 210 разделяют код и данные системы исполнения ПЛК на отдельные модули код и данные разделяются на основании функциональной структуры (ГОСТ МЭК 61131-1) системы исполнения ПЛК. При таком разделении выделяют в по меньшей мере один модуль функционально законченный фрагмент кода и данных системы исполнения ПЛК, остальной код и данные системы исполнения ПЛК выделяют в другой модуль. На Фиг. 3а изображен пример такого разделения, где фрагмент кода и данных, предназначенный для выполнения «функций А», выделяется в «модуль 1», фрагмент кода и данных, предназначенный для выполнения «функций В», выделяется в «модуль 2», фрагмент кода и данных, предназначенный для выполнения «других функций», оставшихся, выделяется в «модуль 3».

Также код и данные системы ПЛК разделяют на основании угроз безопасности (ГОСТ Р 56546-2015) для системы исполнения ПЛК. При таком разделении выделяют в по меньшей мере один модуль фрагмент кода и данных системы исполнения, содержащий уязвимость (ГОСТ Р 56546-2015) (или уязвимый фрагмент кода, например, фрагмент, отвечающий за сетевое взаимодействие, именно он, как правило, подвергается атаке в первую очередь), используемую для реализации угроз, остальную часть кода и данных системы исполнения выделяют в другой модуль. На Фиг. 3б показано такое разделения, например фрагменты кода и данных, предназначенные для выполнения функций А, В, С, содержат уязвимости, фрагмент кода и данных, предназначенный для выполнения «функций А», выделяется в «модуль 1», фрагменты кода и данных, предназначенные для выполнения «функций В» и «функций С», выделяются в «модуль 2», фрагменты кода и данных, предназначенные для выполнения «других функций», оставшихся, и не содержащие уязвимости, выделяются в «модуль 3».

Разделение может осуществляться и на основании критичности фрагментов кода и данных системы исполнения, где выделяют в по меньшей мере один модуль фрагмент кода и данных системы исполнения ПЛК, который управляет критическим объектом (ГОСТ Р 53114-2008. Национальный стандарт Российской Федерации. Защита информации. Обеспечение информационной безопасности в организации. Основные термины и определения" (утв. и введен в действие Приказом Ростехрегулирования от 18.12.2008 N 532-ст), с. 6) (критический фрагмент кода и данных), остальной код и данные системы исполнения ПЛК выделяют в другой модуль. На Фиг. 3в изображен пример такого разделения, где фрагмент кода и данных, предназначенный для выполнения «функций А», является критическим кодом и содержит критические данные, данный фрагмент выделяется в модуль 1, фрагменты кода и данных, предназначенные для выполнения «функций В», «функций С», «других функций», оставшихся, выделяются в «модуль 2».

Эти критерии при разделении могут использоваться как отдельно, так и совместно, в примере, изображенном на Фиг. 3б, используется разделение не только по наличию уязвимостей, но и на основании функциональной структуры системы исполнения ПЛК, а в примере, изображенном на Фиг. 3в, используется разделение не только по критичности кода/данных, но и на основании функциональной структуры системы исполнения ПЛК.

На Фиг. 3б и Фиг. 3в показаны примеры, где в модули выделяются функционально законченные фрагменты кода и данных, содержащие уязвимости или используемые для управление критическими объектами, в общем случае при разделении на основании критичности и угроз безопасности в модуль выделять функционально законченные фрагменты необязательно, выделятся могут любые критические фрагменты, или фрагменты содержащие уязвимости, примеры представлен для простоты восприятия.

При выделении фрагментов кода в модули организуется способ взаимодействия (порядок обмена данными и формат данных) между модулями, эквивалентный способу взаимодействия этих фрагментов в системе исполнения ПЛК до разделения. Иначе говоря, какой фрагмент кода с каким фрагментом в каком порядке взаимодействовал, в таком порядке будут взаимодействовать модули, содержащие указанные фрагменты кода, после разделения системы исполнения ПЛК.

На этапе 220 изолируют созданные ранее модули друг от друга, от операционной системы и оборудования. Для изоляции используют технологии виртуализации с применением контейнеров или виртуальных машин (ГОСТ Р 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 (PikeOS - микроядерная операционная система реального времени, которая производится компанией SYSGO AG). Она ориентирована на безопасности критически важных встраиваемых систем. Она обеспечивает разделенную среду для нескольких операционных систем с различными целями проектирования и требованиями безопасности (оф. сайт https://www.sysgo.com/products/pikeos-hypervisor/)) контейнеризация средствами Linux (англ. Linux Containers, сокр. LXC). В частном случае не все модули могут изолироваться, и их взаимодействие с операционной системой и другими модулями остается неизменным, данный факт отображен на примере модуля N на фигурах, для которого изоляция опциональна.

На этапе 230 устанавливают на ПЛК модуль безопасности, в частном случае модуль содержит функционально законченные наборы фрагментов кода и данных, отвечающие за реализацию функций безопасности (о том, как эти функции осуществляются будет описано ниже). Уровень архитектуры ПЛК на котором будет функционировать модуль безопасности будет определяться технологией, которая использовалась для изоляции модулей системы исполнения ПЛК. Например, если для изоляции использовались контейнеры (Фиг. 4а) и в ОС ПЛК установлена управляющая служба (напр., Docker), то модуль безопасности располагается на том же уровне, что и контейнеры (см. Фиг. 5а). Если для изоляции используются виртуальные машины (см. Фиг. 4б, Фиг. 4в, Фиг. 4г), то модуль безопасности устанавливается на уровне монитора виртуальных машин (гипервизора) или встраивается в него (см. Фиг. 5б, Фиг. 5в). На том же этапе модифицируют интерфейс обмена данными изолированных модулей, предназначенный для взаимодействия с другими модулями и с ресурсами операционной системы в условиях изоляции таким образом, чтобы указанное взаимодействие в условиях изоляции модулей осуществлялся только через установленный модуль безопасности, а формат данных, которыми обмениваются, соответствовал формату, определенному модулем безопасности.

В результате модуль безопасности способен выполнять функции безопасности, а именно осуществлять контроль исполнения системы исполнения, который предполагает: мониторинг взаимодействия изолированных модулей между собой, с ресурсами операционной системы ПЛК или оборудованием; корректировку указанного взаимодействия, остановку взаимодействия. Модуль безопасности осуществляет контроль на основании правил, формат которых совпадает с форматом данных которыми модули обмениваются с собой и с операционной системой. Взаимодействие проверяется модулем безопасности на соответствие логическому правилу, которое хранится у модуля безопасности, правило содержит описание допустимого взаимодействия.

Модуль безопасности осуществляет мониторинг взаимодействия, где взаимодействие проверяется на соответствие правилу, если взаимодействие соответствует правилу, то взаимодействие пропускается и данные отправляются приемнику, если взаимодействие не соответствует правилу осуществляется корректировка взаимодействия (в данные, которыми обменивается приемник и источник, через модуль безопасности вносятся изменения) или взаимодействие не допускается (взаимодействие останавливается). Что должен сделать модуль безопасности при несоответствии взаимодействия правилу, описывающему подобное взаимодействие, определяется либо самим правилом, либо субсидиарным правилом, если правилом для осуществляемого взаимодействия модуль не располагает (диспозитивное регулирование). Например, допустимое взаимодействие (см. Фиг. 5б) «модуля 1» с «модулем 2», где «модуль 1» является источником, а «модуль 2» приемником, описывается основным «правилом А» и факультативным «правилом Б», также модуль безопасности содержит субсидиарное «правило X», которое необходимо применить в случае, когда ни одно другое правило никаких предписаний на возникшее взаимодействие не содержит. При контроле указанного взаимодействия модуль безопасности обнаружил, что взаимодействие «модуля 1» с «модулем 2» не соответствует «правилу А». «Правило А» на данный случай предписывает проверить взаимодействие на соответствие «правилу Б». Модуль безопасности поэтому проверяет взаимодействие на соответствие «правилу Б», модуль обнаруживает, что взаимодействие не соответствует и «правилу Б», но на этот случай «правило Б» ничего не предписывает, поэтому модуль безопасности применяет некоторое «правило X», которое, например, предписывает остановить взаимодействие.

Настоящее изобретение в частном случае осуществляется посредством СПиО, элементы которой могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 6).

Данное изобретение можно также использовать для обнаружения аномалий при исполнении системы исполнения ПЛК. При обнаружении аномалий изолировать модули необязательно, и изоляция может использоваться в частном случае способами, описанными выше. После разделения на модули устанавливают на ПЛК модуль безопасности и модифицируют интерфейс обмена данными модулей, предназначенный для взаимодействия модулей между собой и с ресурсами операционной системы таким образом, чтобы указанное взаимодействие осуществлялось только через установленный модуль безопасности, а формат данных, которыми обмениваются, соответствовал формату, определенному модулем безопасности. Таким образом структура сообщений которыми обмениваются полностью или частично известна модулю безопасности, данная структура (формат данных, иногда также называется интерфейсом) описывается, например, с помощью Intreface Definition Language (IDL) и модуль безопасности в результате способен проверять, что передаваемое сообщение соответствует этому описанию, а также может использовать отдельные поля этого сообщения для целей контроля допустимости.

Далее осуществляют мониторинг взаимодействия модулей системы исполнения ПЛК между собой и с ресурсами операционной системы путем проверки модулем безопасности по меньшей мере одного взаимодействия на соответствие правилам, установленным для данного взаимодействия. Проверяются сообщения, которыми обмениваются модули между собой и системой модулем безопасности, это возможно, как указывалось выше, за счет того, что структура сообщений, которыми осуществляется обмен и на которых в частном случае строится взаимодействие, известна модулю безопасности.

В процессе мониторинга обнаруживают аномалии в исполнении системы исполнения ПЛК на основании обнаруженного модулем безопасности несоответствия взаимодействия, мониторинг которого осуществляется, установленному для данного взаимодействия правилу. В другом случае аномалии в исполнении системы исполнения ПЛК на основании обнаруженного модулем безопасности соответствия взаимодействия, мониторинг которого осуществляется, установленному для данного взаимодействия правилу, где правило описывает аномальный вариант данного взаимодействия.

Фиг. 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. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.

1. Способ обнаружения аномалии в исполнении системы исполнения ПЛК, в котором:

а) разделяют код и данные системы исполнения ПЛК или часть системы на отдельные программные модули, при этом на программные модули разделяют на основании:

- функциональной структуры системы исполнения ПЛК, где выделяют в по меньшей мере один модуль функционально законченный фрагмент кода и данных системы исполнения ПЛК, оставшийся код и данные системы исполнения ПЛК выделяют в другой модуль; или

- угроз безопасности для системы исполнения ПЛК, где выделяют в по меньшей мере один модуль фрагмент кода и данных системы исполнения, содержащий уязвимость, используемую для реализации угроз, оставшуюся часть кода и данных системы исполнения выделяют в другой модуль; или

- критичности кода и данных системы исполнения, где выделяют в по меньшей мере один модуль фрагмент кода и данных системы исполнения ПЛК, который управляет критическим объектом, оставшийся код и данные системы исполнения ПЛК выделяют в другой модуль;

б) устанавливают на ПЛК модуль безопасности;

в) модифицируют интерфейс обмена данными модулей, предназначенный для взаимодействия модулей между собой и с ресурсами операционной системы таким образом, чтобы указанное взаимодействие осуществлялось только через установленный модуль безопасности, а формат данных, которыми обмениваются, соответствовал формату, определенному модулем безопасности;

г) осуществляют мониторинг взаимодействия модулей системы исполнения ПЛК между собой и с ресурсами операционной системы путем проверки модулем безопасности по меньшей мере одного взаимодействия на соответствие правилам, установленным для данного взаимодействия;

д) обнаруживают аномалии в исполнении системы исполнения ПЛК на основании обнаруженного модулем безопасности несоответствия взаимодействия, мониторинг которого осуществляется, установленному для данного взаимодействия правилу.

2. Способ по п. 1, в котором изолируют по меньшей мере один полученный модуль от других модулей и от ресурсов операционной системы, в которой исполняется система исполнения ПЛК, исключая возможность непосредственного обмена данными с другими модулями и с ресурсами ОС ПЛК.

3. Способ по п. 2, в котором изолируют модуль путем контейнеризации.

4. Способ по п. 3, в котором модуль безопасности устанавливается на операционную систему, под управлением которой исполняется система исполнения ПЛК.

5. Способ по п. 3, в котором для изоляции используют технологию контейнеризации Linux.

6. Способ по п. 1, в котором модуль безопасности исполняется под управлением операционной системы, под управлением которой исполняется система исполнения ПЛК.

7. Способ по п. 2, в котором изолируют модули путем виртуализации.

8. Способ по п. 7, в котором для изоляции используют технологию виртуализации PikeOS.

9. Способ по п. 7, в котором модуль безопасности устанавливается на гипервизор.

10. Способ по п. 1, где при модификации интерфейса обмена данными меняется порядок и протокол обмена данными.

11. Способ по п. 1, в котором модифицируют интерфейс обмена данными для осуществления этого обмена через модуль безопасности не для любого взаимодействия модулей между собой и ОС, а только для критического, где критичность определяется на основании существующих и потенциальных угроз для системы исполнения ПЛК.

12. Способ по п. 1, в котором модуль безопасности осуществляет мониторинг на основании правил, формат которых совпадает с форматом данных, которыми модули обмениваются с собой и с операционной системой.

13. Способ по п. 12, в котором взаимодействие проверяется модулем безопасности на соответствие по меньшей мере одному правилу.

14. Способ по п. 1, в котором модуль исполняется в отдельном процессе.



 

Похожие патенты:

Изобретение относится к противодействию несанкционированного доступа к данным микрофона. Технический результат – блокирование доступа к данным микрофона со стороны неавторизованных процессов.

Изобретение относится к области защиты данных в памяти потребляемого продукта. Технический результат заключается в обеспечении хранения данных, которые важны для эксплуатации потребляемого продукта и/или устройства, которое ассоциируется с потребляемым продуктом, безопасным образом.

Изобретение относится к способу устранения уязвимостей в устройствах, которые создают сетевые соединения, получают и обрабатывают входящий трафик, имеют отдельный интерфейс для взаимодействия (далее - "умные" вещи).

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении защищенности канала обмена сообщениями между микропроцессорной картой с платежным приложением и терминалом.

Изобретение относится к способу и устройству для управления состоянием экрана терминала, а также к электронному устройству. Технический результат заключается в обеспечении быстрого управления переключением состояния блокировки экрана терминала, улучшении безопасности и уменьшении потребляемой мощности.

Изобретение относится к области обеспечения безопасности виртуальных сетей связи. Технический результат заключается в обеспечении защиты элементов виртуальных сетей связи от DDoS-атак.

Изобретение относится к управлению административной связью между учетной записью и устройством. Технический результат – повышение эффективности установления административной связи между устройством и учетными записями.

Изобретение относится к методикам аутентификации, а именно к аутентификации, основанной на использовании персональных биологических данных, таких как конфигурации вен тела человека.
Изобретение относится к области защиты информации, хранимой в информационных системах персональных данных (ИСПДн), от несанкционированного доступа (НСД) и может быть использовано на стадиях разработки и оптимизации ИСПДн в защищенном исполнении.

Изобретение относится к области аутентификации пользователей. Технический результат – эффективное управление безопасностью вычислительных ресурсов.

Изобретение относится к способам для обнаружения фишинговой веб-страницы. Техническим результатом является обнаружение фишинговых веб-страниц посредством создания правил обнаружения фишинговых веб-страниц с использованием по крайней мере одного уникального признака, идентифицирующего веб-страницу как фишинговую. Способ обнаружения фишинговой веб-страницы включает следующие шаги: загрузку на сервер фишинговой веб-страницы; выявление по крайней мере одного уникального признака, идентифицирующего загруженную веб-страницу как фишинговую; создание по крайней мере одного правила обнаружения фишинга с использованием по крайней мере одного уникального признака, идентифицирующего загруженную веб-страницу как фишинговую; формирование привязки дополнительных данных, включающих идентификацию цели фишинга, к по крайней мере одному правилу обнаружения фишинга; сохранение по крайней мере одного правила обнаружения фишинга вместе с привязкой дополнительных данных, идентифицирующих цель фишинга в хранилище данных; загрузку на сервер по крайней мере одной веб-страницы для проверки наличия фишинга; загрузку по крайней мере одного правила из хранилища данных; проверку в коде загруженной веб-страницы признаков фишинга по крайней мере одним загруженным правилом обнаружения фишинга; и идентификацию загруженной веб-страницы, как фишинговой веб-страницы, в случае обнаружения признаков фишинга в коде загруженной веб-страницы. 14 з.п. ф-лы, 7 ил.

Изобретение относится к средствам резервного копирования. Технический результат заключается в повышении надежности сохранения данных. Самовосстанавливающаяся система видеонаблюдения содержит одну или более камер наблюдения, выполненных с возможностью хранения данных настройки сетевого видеозаписывающего устройства, имеющего функциональную связь с камерами наблюдения. Сетевое видеозаписывающее устройство содержит данные настройки и модуль, выполненный с возможностью сохранения данных настройки в камерах наблюдения и/или с возможностью получения данных настройки, сохраненных в камерах наблюдения. Новое сетевое видеозаписывающее устройство, подключаемое к сети, получает сохраненные данные настройки с целью самонастройки без участия или при минимальном участии персонала. В вариантах осуществления изобретения данные настройки распределяются между множеством камер наблюдения и могут сохраняться в зашифрованном формате. 3 н. и 16 з.п. ф-лы, 3 ил.

Изобретение относится к области защиты информации в системах электронного документооборота. Технический результат заключается в обеспечении многоуровневого контроля целостности электронных документов. В заявленном способе от файла электронного документа вычисляют три контрольных значения хэш-кодов, соответствующих различным уровням представления электронного документа и определяемых как хэш-коды 1-го, 2-го и 3-го уровня. Значение хэш-кода 1-го уровня вычисляют от файла электронного документа, представленного в исходном формате. Хэш-код 2-го уровня вычисляют от файла, содержащего текст, представленный в унифицированной кодировке текста и с удаленными знаками «пробел». Хэш-код 3-го уровня вычисляют от файла электронного документа, содержащего критически значимые словарные величины, представленные в унифицированной кодировке текста. При проверке целостности электронного документа выполняют повторную процедуру вычисления значений хэш-кодов 1-го, 2-го и 3-го уровня, сравнивают их с соответствующими контрольными значениями. На основании полученного результата делают вывод о целостности электронного документа на каждом из уровней его представления. 2 ил.

Изобретение относится к области обеспечения компьютерной безопасности. Технический результат заключается в повышении эффективности защиты от компьютерного пиратства. Способ антипиратской авторизации доступа к компьютерной сети содержит этапы, на которых принимают от компьютера клиента запрос, определяют тест, который должен быть выполнен в отношении программного обеспечения компьютера клиента, выполняют тест и отказывают клиенту в авторизации доступа к компьютерной сети, если компьютер клиента терпит неудачу при прохождении теста, причем тест состоит по крайней мере из обработки циклического избыточного кода, контрольных сумм, значений хэш-функций, цифровых подписей, скрытого исполняемого кода, посредством чего обнаруживается пиратское программное обеспечение и достигается условие, при котором доступ к компьютерной сети возможен только с компьютерных устройств с легальным программным обеспечением, причем авторизация доступа производится к сети Интернет. 2 ил.

Изобретение относится к контролю целостности данных, обрабатываемых в автоматизированных системах. Технический результат – обеспечение необходимого уровня защиты записей данных в файле на основе задания соответствующих параметров метода «однократной записи»: степени вложенности в блок данных, количество используемых внешних ключей. Система контроля целостности журналов непрерывно ведущихся записей данных, выполненная в виде сервера администрирования, содержащая первый вход записей данных, первый блок формирования хэш-кода, блок хранения первого внешнего ключа, блок хранения второго внешнего ключа, второй блок формирования хэш-кода, при этом дополнительно введены: блок коммутации внешних ключей, блок коммутации внутренних ключей, k-2 блоков хранения внешних ключей, m-2 блоков формирования хэш-кода, m-1 входов записей данных, m-1 выходов системы защищенных записей данных, m блоков конкатенации с памятью, блок хранения ключа функции распределения внешних ключей, блок хранения ключа функции распределения внутренних ключей. 1 ил.

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении безопасности передачи данных. Система содержит: один или более процессоров; запоминающее устройство, подключенное к одному или более процессорам с возможностью осуществления связи; и компонент аутентификации процессов, сохраненный в запоминающем устройстве и содержащий инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам: принимать исполняемый файл, который включает в себя цифровую подпись; выбирать открытый ключ расшифрования, соответствующий закрытому ключу шифрования, использованному для генерирования цифровой подписи; аутентифицировать исполняемый файл посредством проверки цифровой подписи с помощью открытого ключа расшифрования; создавать процесс для исполнения аутентифицированного исполняемого файла и назначать этому процессу совместно измерение и уровень на основе открытого ключа расшифрования, причем уровень представляет собой один из множества ранжированных уровней разрешений доступа к системным ресурсам, а измерение представляет собой одно из множества ранжированных измерений, служащих для задания связанности разных наборов уровней разрешений доступа. 3 н. и 14 з.п. ф-лы, 7 ил.

Изобретение относится к вычислительной технике и может найти применение при организации санкционированного доступа к ресурсам вычислительной системы. Технический результат заключается в повышении надежности устройства и уменьшении его аппаратных ресурсов. Устройство содержит сканер биометрического параметра 1, дешифратор 2, рекуррентный регистр сдвига с линейной обратной связью 3, одновходовый логический элемент ИЛИ-НЕ 4, устройство ручного ввода пароля 5, вычитающий счетчик 6, первый многовходовый логический элемент ИЛИ-НЕ 7, генератор тактовых импульсов 8, первый двухвходовый логический элемент И 9, второй многовходовый логический элемент ИЛИ-НЕ 10, второй двухвходовый логический элемент И 11, вход конфигурации рекуррентного регистра сдвига с линейной обратной связью 12, выход выдачи сигнала разрешения доступа 13. 1 ил.

Изобретение относится к способам защиты данных с использованием сертификатов или электронных подписей. Технический результат заключается в повышении надежности. Способ электронной подписи документа, формируемой сервером электронной подписи после получения им от устройства пользователя хэша документа и совпадения полученного хэша документа с хэшем документа вычисленным сервером электронной подписи, при этом сервер электронной подписи хранит ключ электронной подписи пользователя в зашифрованном виде, а ключ шифрования хранится в мобильном приложении, установленном на телефоне пользователя, и зашифрован в свою очередь паролем пользователя. 5 з.п. ф-лы, 1 ил.

Изобретение относится к системам и способам обнаружения вредоносного кода в файле. Технический результат заключается в улучшении обнаружения вредоносного кода в файле в сравнении с существующими методами обнаружения вредоносного кода. Способ обнаружения вредоносного кода в файле включает: исполнение процесса, запущенного из файла, с использованием песочницы; перехват вызовов API-функций; последовательное внесение записей о перехваченных вызовах API-функций в первый журнал, сохранение дампа памяти процесса в базу дампов; повторение предыдущих операций до выполнения условия выхода; выявление в первом журнале по меньшей мере одной сигнатуры первого типа из числа сигнатур первого типа; после выявления сигнатуры первого типа передачу на исполнение в эмулятор по меньшей мере одного дампа памяти, сохраненного в базе дампов; во время исполнения процесса в эмуляторе последовательное внесение во второй журнал записей, содержащих информацию о вызове API-функции; определение вредоносного кода в файле при условии выявления во втором журнале по меньшей мере одной сигнатуры второго типа из базы данных сигнатур второго типа. 2 н. и 52 з.п. ф-лы, 4 ил.

Группа изобретений относится к технологиям создания профиля пользователя в различных вычислительных системах. Техническим результатом является расширение арсенала технических средств для создания профиля пользователя и аутентификации пользователя. Предложен способ создания профиля пользователя, выполняемый на сервере, в котором предварительно был создан первый профиль первого пользователя на основе параметров взаимодействия пользователя, полученных за заданный промежуток времени и связанных со множеством сеансов связи, причем первый профиль первого пользователя был сохранен в первой базе данных, связанной с сервером. Способ включает в себя этап, на котором осуществляют получение запроса на предоставление доступа к профилю первого пользователя и извлечение первого профиля первого пользователя из первой базы данных. Далее, в ответ на то, что по меньшей мере один параметр взаимодействия пользователя в полученном запросе отличается от параметров взаимодействия пользователя в первом профиле первого пользователя, выполнение проверочного действия, связанного с первым пользователем. 4 н. и 48 з.п. ф-лы, 3 ил.
Наверх