Исследование посвящено одному из аспектов проектирования автоматизированных систем управления объектами водного транспорта, такими как контейнерные терминалы, порты, судоремонтные предприятия, судоходные компании, шлюзованные судоходные каналы на регулируемых внутренних водных путях. Рассмотрена проблема создания методики проектной количественной оценки структурной сложности разрабатываемого программного обеспечения, поскольку указанная сложность является существенным фактором для оценки его надежности, а повышение сложности неизбежно приводит к возникновению различного рода уязвимостей в программном коде. Определена совокупность факторов, от которых зависит структурная сложность. Введена совокупность терминов для обозначения этих факторов при использовании модульного принципа разработки: «спектр модуля по вызовам», «спектр модуля по альтернативам», «глубина модуля», «цикличность модуля», «взвешенная глубина модуля», «взвешенная цикличность модуля». Обоснована целесообразность перехода к соответствующим безразмерным показателям. В развитие сформулированного ранее мультипликативного способа агрегирования общесистемного интегрального показателя из набора частных показателей приведена итоговая формула показателя проектной структурной сложности программного обеспечения автоматизированной системы управления и предложен способ его включения в проектную оценку общей надежности контура управления. Введена метрика для векторной оценки различия структурной сложности альтернативных программных продуктов.
Темой работы является исследование процесса широкого внедрения автоматизированных информационно-управляющих систем в промышленности, энергетике и на транспорте. Отмечается, что повышение их сложности неизбежно приводит к возникновению различного рода уязвимостей в этих системах, наличие которых позволяет злоумышленникам проникать в автоматизированные управляющие системы, брать их под свой контроль, а также нарушать нормальный режим работы управляемых ими технологических процессов. Подчеркивается, что в течение последнего десятилетия успешные кибератаки были зафиксированы в энергетике, в том числе атомной, в морском судоходстве, в портовых перегрузочных комплексах, а также в других системах. Превентивный подход к обеспечению безопасности автоматизированных управляющих систем заключается в выявлении и использовании существующих уязвимостей путем имитации возможных кибератак. Отмечается, что автоматизация такого достаточно трудоемкого процесса, как «тестирование на проникновение», позволяет сократить время, финансовые затраты и другие ресурсы. Исследованы основные методы выявления уязвимостей, в том числе с применением искусственного интеллекта. В представленном подходе к оптимизации процесса тестирования на проникновение в автоматизированные системы управления технологическими процессами использованы алгоритмы машинного обучения. Предпочтение отдано машинному обучению с подкреплением, основу которого составляет алгоритм Deep Q-learning. Предлагается интеграция методов сканирования сети, построения графа атак и обучения нейронных сетей для эффективного выявления уязвимостей и рисков в сетевых инфраструктурах. Для построения графа атак используются базы знаний MITRE ATT&CK с применением GBVA Framework, для выбора оптимальных действий в процессе тестирования - алгоритм Deep Q-learning.