Система и способы проверки целостности установочного образа программного обеспечения Российский патент 2022 года по МПК G06F21/56 

Описание патента на изобретение RU2775157C1

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

Изобретение относится к области информационной безопасности.

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

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

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

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

Таким образом, возникает техническая проблема, заключающаяся в уязвимости недоверенных компонентов, участвующих в процессе установки ПО.

Из уровня техники известны различные системы, реализующие установку и обновление ПО на компьютере. Например, в патенте US10735184 описана система обновления ПО с использованием технологии блокчейн (англ. blockchain) для выполнения независимой проверки результата обновления ПО. В патенте US10225426 описаны способы обновления ПО путем верификации и обновления ПО верифицированной программой обновления.

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

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

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

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

Согласно варианту реализации, используется способ проверки целостности установочного образа программного обеспечения (далее — ПО) перед выполнением установки ПО, в котором: с помощью монитора безопасности устанавливают значение состояния установочного образа ПО (далее — образ ПО), указывающее на разрешение доступа к образу ПО только для средства проверки, при этом состояние образа ПО является параметром, используемым политиками безопасности для предоставления разрешения или запрета доступа к образу ПО компонентам, включающим: средство проверки, средство установки; с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства проверки при условии выполнения политик безопасности; с помощью средства проверки выполняют проверку целостности образа ПО согласно предоставленному доступу; при установлении, что целостность образа ПО не нарушена, с помощью монитора безопасности изменяют значение состояния образа ПО на новое, указывающее на разрешение доступа к образу ПО средству установки и запрет доступа к образу ПО средству проверки; с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства установки при выполнении политик безопасности.

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

Согласно другому частному варианту реализации политики безопасности используют темпоральную логику.

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

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

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

Согласно еще одному частному варианту реализации с помощью средства установки выполняют установку только того ПО, целостность которого не нарушена.

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

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

Согласно еще одному частному варианту реализации упомянутый доступ включает чтение данных.

Согласно варианту реализации, используется способ проверки целостности установочного образа программного обеспечения перед выполнением установки ПО, в котором: с помощью монитора безопасности устанавливают: значения уровней целостности средства проверки и средства установки (далее — компоненты) выше, чем значение уровня целостности образа ПО; значение уровня доступа средства проверки равным значению уровня целостности образа ПО, значение уровня доступа средства установки равным значению уровня целостности средства установки; политики безопасности, разрешающие доступ одного компонента к другому компоненту при условии, что значение уровня доступа одного компонента не выше значения уровня целостности другого компонента; с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства проверки при условии выполнения политик безопасности; с помощью средства проверки выполняют проверку целостности образа ПО согласно предоставленному доступу; при установлении, что целостность образа ПО не нарушена, с помощью монитора безопасности изменяют значение уровня целостности образа ПО на значение, равное значению уровня доступа средства установки; с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства установки при выполнении политик безопасности.

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

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

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

Согласно еще одному частному варианту реализации политики безопасности используют темпоральную логику.

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

Согласно другому частному варианту реализации упомянутый доступ к образу ПО включает чтение образа ПО.

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

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

На Фиг. 1 представлена схема межпроцессного взаимодействия на примере операционной системы с микроядерной архитектурой.

На Фиг. 2 представлена схема системы проверки целостности установочного образа ПО.

На Фиг. 3 представлен вариант способа проверки целостности установочного образа ПО перед выполнением установки ПО.

На Фиг. 4 представлен другой вариант способа проверки целостности установочного образа ПО перед выполнением установки ПО.

На Фиг. 5 представлена диаграмма конечного автомата для варианта реализации политик безопасности с использованием конечного автомата.

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

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

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

Глоссарий

Процесс (англ. process) — последовательность операций при выполнении программы или ее части вместе с используемыми данными, включает один или более потоков (англ. thread) и ассоциированные с ними системные ресурсы.

Межпроцессное взаимодействие (англ. inter-process communication, IPC) — набор способов обмена данными между множеством потоков в одном или более процессах. Процессы могут быть запущены на одном или более компьютерах, связанных между собой сетью. IPC-способы делятся на методы обмена сообщениями, синхронизации, разделяемой памяти и удаленных вызовов.

Асинхронный процесс — процесс, в котором операция не требует отклика для продолжения выполнения.

Синхронный процесс — процесс, в котором операция требует отклика для продолжения выполнения.

Операция — элементарное действие, выполняемое в рамках рассматриваемого процесса. В качестве операции может выступать, например, API-функция.

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

Целостность данных (англ. data integrity) — непротиворечивость, полнота и сохранность данных. Например, целостность данных, хранящихся в базе данных, означает, что находящиеся в ней данные должны быть полностью согласованы между собой, содержать все сведения, необходимые для выполнения возложенных на базу данных функций, при этом должно быть исключено их случайное уничтожение (стирание) или искажение. Все это обеспечивается системой управления базой данных.

Конечный автомат (англ. Finite State Machine) — модель дискретного устройства, характеризующаяся состояниями и переходами от одного состояния к другому. Каждое состояние конечного автомата характеризует одну из возможных ситуаций, в которой может находиться конечный автомат.

На Фиг. 1 представлена схема межпроцессного взаимодействия на примере операционной системы (далее — ОС) 100 с микроядерной архитектурой. ОС 100 включает изолированные процессы 131-132, которые взаимодействуют между собой, а также с ядром ОС 110 посредством программных интерфейсов путем обмена сообщениями. Монитор безопасности (также — монитор обращений) 120 — компонент ОС 100, предназначенный для осуществления контроля взаимодействий, также называемых событиями ОС, включающих: запуск 141 процесса 131, запрос 142 от процесса 131 или ответ 143 от другого процесса 132, обращение процесса 132 к монитору безопасности 120 (запрос безопасности 144). С использованием монитора безопасности 120 выполняют анализ каждого события ОС на предмет соответствия политикам безопасности 121, по результатам которого разрешают или запрещают выполнение данного события ОС. При этом монитор безопасности 120 может быть частью ядра ОС 110 или отдельным приложением. Монитор безопасности 120 исполняется в привилегированном режиме ядра ОС 110.

На Фиг. 2 представлена схема системы проверки целостности установочного образа ПО 230 на компьютере с ОС 100, пример архитектуры которой был представлен на Фиг. 1. Процесс установки ПО из установочного образа ПО 230 осуществляется с использованием системы установки 200. Установочный образ ПО 230 (далее — образ ПО) является файлом, расположенным в постоянной или оперативной памяти компьютера и включающим по меньшей мере один из следующих объектов: ПО, обновление ПО, вложенный образ ПО. Кроме того, образ ПО 230 может содержать комбинацию перечисленных объектов, например одно ПО и один вложенный образ ПО, который в свою очередь может содержать, например, еще одно ПО. При этом образ ПО 230 может использовать любую известную из уровня техники реализацию хранения ПО. Образ ПО 230, например, может быть архивом или установочным пакетом. Установочный пакет представляет собой файл архива, в который входят файлы ПО, управляющие файлы и опционально файлы для настройки процесса установки ПО. Упомянутые файлы могут быть представлены в исходном коде, в промежуточном коде или в исполняемом коде.

Система 200 включает такие компоненты, как средство проверки 240 и средство установки 250. Образ ПО 230 может быть доставлен на компьютер различными способами. Образ ПО 230, например, может быть предварительно сохранен на компьютер при установке ОС 100. Кроме того, образ ПО 230 может быть загружен с использованием загрузчика 220 с удаленного ресурса 210 и сохранен на компьютер. Стоит отметить, что все взаимодействия между средствами системы 200 осуществляются с использованием системных вызовов ядра ОС 110 и под контролем монитора безопасности 120. В частном варианте реализации хранение образа ПО 230 осуществляется на файловом хранилище 260, которое также является компонентом системы установки 200. В этом случае взаимодействие загрузчика 220, средства проверки 240 и средства установки 250 с образом ПО 230 может осуществляться посредством взаимодействия с файловым хранилищем 260.

Так как техническая проблема заключается в уязвимости недоверенных компонентов, участвующих в процессе установки программного обеспечения, ниже рассматриваются возможные уязвимости в компонентах системы установки 200. Наиболее уязвимым и, следовательно, недоверенным является наиболее сложный в реализации компонент — система установки 200, в частности компонент системы 200 (на фигуре не показан), управляющий процессом установки ПО. Загрузчик 220 также является недоверенным и уязвимым компонентом, в частности из-за взаимодействия с внешней сетью. Доверенными компонентами являются средство проверки 240 и средство установки 250, которые являются специализированными компонентами, в которых возможно удостовериться в их корректной работе. Именно поэтому возникает необходимость в мониторе безопасности 120, который использует политики безопасности для проверки целостности установочного образа ПО 230 после его загрузки недоверенным компонентом (загрузчиком 220) и перед установкой ПО из образа ПО 230 доверенным компонентом (средством установки 250). Это позволяет достичь заявленного технического результата.

Монитор безопасности 120 предназначен для предоставления согласно политикам безопасности 121 разрешения или запрета доступа к образу ПО 230 компонентам системы установки 200. При этом доступ к образу ПО 230 является межпроцессным взаимодействием и включает чтение образа ПО 230. Средство проверки 240 предназначено для выполнения проверки целостности образа ПО 230 согласно предоставленному доступу. Под целостностью образа ПО 230 понимается неизменность данных образа ПО 230 при осуществлении процесса установки ПО. Таким образом, если на одном из этапов процесса установки ПО файл образа ПО 230 был изменен или заменен, его целостность считается нарушенной. Средство установки 250 предназначено для выполнения установки ПО, содержащегося в образе ПО 230. Непосредственно установка ПО может происходить любым известным из уровня техники методом, в частности путем извлечения из образа ПО 230 всех файлов, относящихся к устанавливаемому ПО, последующего сохранения упомянутых файлов в файловую систему компьютера, последующего создания и изменения конфигурационных файлов для корректной работы устанавливаемого ПО.

В одном частном варианте реализации целостность образа ПО 230 считается не нарушенной, если целостность по меньшей мере одного объекта, содержащегося в образе ПО 230, не нарушена. Например, если образ ПО 230 содержит два ПО, и данные файла образа ПО 230, относящиеся к первому из ПО, были изменены, в то время как данные, относящиеся ко второму из ПО, не были изменены, то целостность такого образа ПО 230 будет считаться не нарушенной. В этом варианте реализации с помощью средства установки 250 выполняют установку только того ПО, целостность которого не нарушена, то есть только второго ПО. Таким образом, упомянутый частный вариант реализации обеспечивает установку программного обеспечения из образа ПО 230, целостность которого не нарушена. В то же время система 200 блокирует установку программного обеспечения из образа ПО 230, целостность которого нарушена, таким образом обеспечивая безопасность ОС 100 и компьютера.

В одном из частных вариантов реализации с помощью средства проверки 240 выполняют проверку целостности образа ПО 230 одним из способов:

путем проверки электронно-цифровой подписи (далее — ЭЦП) образа ПО 230 или путем проверки ЭЦП объектов, содержащихся в образе ПО 230;

путем получения подтверждения от пользователя;

путем использования кодов аутентификации сообщений, в частности имитовставки (англ. message authentication code — код аутентификации сообщения);

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

путем проверки заданных атрибутов образа ПО 230.

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

Политики безопасности 121 — это заранее заданные правила, разрешающие или запрещающие доступ одного компонента (например, средства проверки 240) к другому компоненту (например, образу ПО 230 системы 200) при выполнении условия соответствующей политики безопасности 121.

В одном частном примере реализации монитор безопасности 120 дополнительно предназначен для установления значения состояния образа ПО 230, указывающего на разрешение доступа к образу ПО 230 только для средства проверки 240. Состояние образа ПО 230 — это параметр, используемый политиками безопасности 121 для предоставления разрешения или запрета доступа компонентам системы 200 к образу ПО 230. Кроме того, монитор безопасности 120 предназначен для изменения значения состояния образа ПО 230 на новое, указывающее на разрешение доступа к образу ПО 230 средству установки 250 и запрет доступа к образу ПО 230 средству проверки 240. Например, состояние образа ПО 230 «состояние 1» указывает на разрешение доступа к образу ПО 230 только для средства проверки 240, «состояние 2» указывает на разрешение доступа к образу ПО 230 средству установки 250 и запрет доступа к образу ПО 230 средству проверки 240 и т.д.

В еще одном частном варианте реализации политики безопасности 121 реализованы с использованием конечного автомата, где состоянием конечного автомата является состояние образа ПО 230, при этом политика безопасности 121 определяет разрешение или запрет доступа к образу ПО 230 в зависимости от состояния конечного автомата и в соответствии с таблицей переходов состояний конечного автомата. Возможный пример реализации политик безопасности 121 с использованием конечного автомата будет представлен далее при описании Фиг. 5.

В еще одном частном варианте реализации политики безопасности 121 реализованы с использованием модели мандатного контроля целостности (англ. Mandatory integrity control). Модель мандатного контроля целостности предоставляет механизм контроля доступа к защищаемым объектам, которыми в заявленном изобретении являются компоненты системы 200. Согласно модели мандатного контроля доступа с использованием монитора безопасности 120 компонентам системы 200 ставят в соответствие два числа, называемые уровнем целостности (англ. integrity level) и уровнем доступа (англ. access level). При этом для контроля доступа одного компонента (субъекта доступа) к другому компоненту (объекту доступа) используются политики безопасности 121 на основе мандатного контроля доступа, то есть использующие значения уровней целостности и уровней доступа компонентов. Например, может быть использована политика безопасности 121, согласно которой одному компоненту разрешен доступ на чтение к другому компоненту, если значение уровня целостности первого компонента не ниже значения уровня целостности другого компонента, или если это условие не выполняется, то в случае когда значение уровня доступа первого компонента не выше значения уровня целостности другого компонента. Следует различать понятие «целостность образа ПО 230», который означает неизменность данных образа ПО 230, а также понятия «уровень целостности» и «уровень доступа», где значения уровня целостности и уровня доступа используются политиками безопасности 121 и монитором безопасности 120 для определения разрешения или запрета доступа к образу ПО 230 в соответствии с упомянутыми политиками безопасности 121.

В рассматриваемом варианте реализации монитор безопасности 120 дополнительно предназначен для установки значений уровней целостности средства проверки 240 и средства установки 250 выше, чем значение уровня целостности образа ПО 230. Монитор безопасности 120 также предназначен для установки значения уровня доступа средства проверки 240 равным значению уровня целостности образа ПО 230 и значения уровня доступа средства установки 250 равным значению уровня целостности средства установки 250. Стоит отметить, что образ ПО 230 является пассивным компонентом (объектом доступа), который сам не запрашивает доступ к другим компонентам, но к которому может быть получен доступ другими компонентами. Поэтому образ ПО 230 обладает только уровнем целостности, но не обладает уровнем доступа. Монитор безопасности 120 также предназначен для установки политик безопасности 121, разрешающих доступ одного компонента к другому компоненту при условии, что значение уровня доступа одного компонента не выше значения уровня целостности другого компонента. Кроме того, в данном варианте реализации монитор безопасности 120 служит для изменения значения уровня целостности образа ПО 230 на значение, равное значению уровня доступа средства установки 250, при условии, что целостность образа ПО 230 не нарушена.

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

На Фиг. 3 представлен вариант способа проверки целостности установочного образа ПО 230 перед выполнением установки ПО.

На шаге 310 с помощью монитора безопасности 120 устанавливают значение состояния образа ПО 230, указывающее на разрешение доступа к образу ПО 230 только для средства проверки 240. Затем на шаге 320 с помощью монитора безопасности 120 предоставляют доступ к образу ПО 230 по запросу от средства проверки 240 при условии выполнения политик безопасности 121. На шаге 330 с помощью средства проверки 240 выполняют проверку целостности образа ПО 230 согласно предоставленному доступу. При установлении, что целостность образа ПО 230 не нарушена, на шаге 340 с помощью монитора безопасности 120 изменяют значение состояния образа ПО 230 на новое, указывающее на разрешение доступа к образу ПО 230 средству установки 250 и запрет доступа к образу ПО 230 средству проверки 240. В итоге на шаге 350 с помощью монитора безопасности 120 предоставляют доступ к образу ПО 230 по запросу от средства установки 250 при выполнении политик безопасности 121. После этого на шаге 360 с использованием средства установки 250 выполняют установку ПО, содержащегося в образе ПО 230.

Таким образом, на каждом шаге монитором безопасности 120 с использованием политик безопасности 121 обеспечивается контроль процесса установки ПО из образа ПО 230. Поэтому даже в случае наличия уязвимостей отдельных компонентов системы 200 будет обеспечена безопасность процесса установки ПО. В частности, шаги 310-320 обеспечивают предоставление доступа к образу ПО 230 только средству проверки 240, которое на шаге 330 выполняет проверку целостности образа ПО 230. В итоге шаги 340-350 гарантируют, что только средство установки 250 получает доступ к образу ПО 230, целостность которого не нарушена по результатам проверки средством проверки 240. Соответственно, если результат проверки на шаге 330 показал, что целостность образа ПО 230 нарушена, то результат такой проверки не будет проигнорирован средством установки 250, а ПО, содержащееся в образе ПО 230, не будет установлено. Кроме того, образ ПО 230 не может быть подменен после подтверждения его целостности на шаге 330, но до чтения образа ПО 230 средством установки 250 на шаге 350. Это обеспечивается тем, что на шаге 340 с помощью монитора безопасности 120 изменяют значение состояния образа ПО 230 на новое, указывающее на разрешение доступа к образу ПО 230 средству установки 250 и запрет доступа к образу ПО 230 средству проверки 240. Следовательно, изобретение, представленное на Фиг. 1-3, решает заявленную техническую проблему и достигает заявленного технического результата.

Частные варианты реализации системы проверки целостности образа ПО 230, раскрытые при описании Фиг. 1-2, также применимы и к способу, описанному на Фиг. 3.

На Фиг. 4 представлен другой вариант способа проверки целостности установочного образа ПО 230 перед выполнением установки ПО.

На шаге 410 с помощью монитора безопасности 120 устанавливают:

значения уровней целостности средства проверки 240 и средства установки 250 выше, чем значение уровня целостности образа ПО 230 (далее — компоненты);

значение уровня доступа средства проверки 240 равным значению уровня целостности образа ПО 230, значение уровня доступа средства установки 250 равным значению уровня целостности средства установки 250;

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

На шаге 420 с помощью монитора безопасности 120 предоставляют доступ к образу ПО 230 по запросу от средства проверки 240 при условии выполнения политик безопасности 121. Далее на шаге 430 с помощью средства проверки 240 выполняют проверку целостности образа ПО 230 согласно предоставленному доступу. При установлении, что целостность образа ПО 230 не нарушена, на шаге 440 с помощью монитора безопасности 120 изменяют значение уровня целостности образа ПО 230 на значение, равное значению уровня доступа средства установки 250. В итоге на шаге 450 с помощью монитора безопасности 120 предоставляют доступ к образу ПО 230 по запросу от средства установки 250 при выполнении политик безопасности 121. После этого на шаге 460 с использованием средства установки 250 выполняют установку ПО, содержащегося в образе ПО 230.

Таким образом, на каждом шаге монитором безопасности 120 с использованием политик безопасности 121 обеспечивается контроль процесса установки ПО из образа ПО 230. Поэтому даже в случае наличия уязвимостей отдельных компонентов системы 200 будет обеспечена безопасность процесса установки ПО. В частности, шаги 410-420 обеспечивают предоставление доступа к образу ПО 230 только средству проверки 240, которое на шаге 430 выполнит проверку целостности образа ПО 230. В итоге шаги 440-450 гарантируют, что только средство установки 250 получит доступ к образу ПО 230, целостность которого не нарушена по результатам проверки средством проверки 240. Соответственно, если результат проверки на шаге 430 показал, что целостность образа ПО 230 нарушена, то результат такой проверки не будет проигнорирован средством установки 250, а ПО, содержащееся в образе ПО 230, не будет установлено. Кроме того, образ ПО 230 не может быть подменен после подтверждения его целостности на шаге 430, но до чтения образа ПО 230 средством установки 250 на шаге 450. Это обеспечивается тем, что на шаге 440 с помощью монитора безопасности 120 изменяют значение уровня целостности образа ПО 230 на значение, равное значению уровня доступа средства установки 250.

Следовательно, изобретение, представленное на Фиг. 1-4, решает заявленную техническую проблему и достигает заявленного технического результата.

Частные варианты реализации системы, представленные при описании Фиг. 1-2, применимы также и к способам, представленным при описании Фиг. 3-4.

Пример реализации политик безопасности 121 с использованием модели мандатного контроля целостности (по способу на Фиг. 4).

В данном примере уровень целостности и уровень доступа компонентов системы 200 могут принимать одно из трех значений: низкий, средний, высокий.

Политики безопасности 121 могут быть заданы с использованием языка спецификации, например PSL (англ. policy specification language). На примере PSL мандатный контроль целостности задан классом политик mandatory_integrity_control. Класс политик безопасности определяет множество правил, соответствующих правилам модели, используемой в политике безопасности. Упомянутая модель может быть одной из следующих: конечный автомат, мандатный контроль целостности, темпоральная логика. Спецификация политики безопасности определяет соответствие упомянутых правил и взаимодействий в системе. При каждой попытке взаимодействия монитор безопасности 120 исполняет правила для определения решения о допустимости указанного взаимодействия. Для использования класса политик на его основе создают объект политики, для которого указывают конфигурацию. Например, для модели мандатного контроля целостности задают уровни целостности и уровни доступа. Таким образом, для задания уровней целостности определяют объект политик integrity, являющийся экземпляром класса mandatory_integrity_control:

В конфигурации объекта политик integrity заданы три уровня целостности LOW (низкий), MEDIUM (средний) и HIGH (высокий) в порядке возрастания. То есть LOW < MEDIUM < HIGH.

Далее задается политика безопасности 121 для создания процессов, реализующих компоненты системы 200:

где level — уровень целостности.

Директива execute указана для назначения правил, которые будут исполнены монитором безопасности 120 при создании соответствующих процессов, а также для предоставления монитору безопасности 120 необходимого контекста ядром ОС 110 (метод exec интерфейса execute). Message.image указывает образ файла, из которого создают компонент системы 200. Кроме того, передаются идентификатор процесса, обратившегося к ядру ОС 110 для создания нового процесса dst.

Согласно приведенной выше политике безопасности с использованием монитора безопасности 120 загрузчику 220 (downloader) устанавливают значение уровня целостности LOW. Так как значение уровня доступа загрузчика 220 не задано, считается, что оно равно заданному значению уровня целостности загрузчика 220 — LOW. Таким образом, после загрузки образа ПО 230 упомянутому образу ПО 230 также будет задано значение уровня целостности LOW, равное значению уровня целостности загрузившего его загрузчика 220.

где levelA — уровень доступа.

Согласно данной политике безопасности с использованием монитора безопасности 120 средству проверки 240 (verifier) устанавливают значение уровня целостности HIGH и значение уровня доступа LOW.

Согласно данной политике безопасности с использованием монитора безопасности 120 средству установки 250 (installer) устанавливают значение уровня целостности HIGH. Т.к. значение уровня доступа средства установки 250 не задано, считается, что оно равно заданному значению уровня целостности — HIGH.

Согласно данной политике безопасности с использованием монитора безопасности 120 файловому хранилищу 260 (FileSystem), если оно присутствует в системе установки 200, устанавливают значение уровня целостности HIGH. Т.к. значение уровня доступа файлового хранилища 260 не задано, считается, что оно равно заданному значению уровня целостности — HIGH.

Таким образом, согласно представленному примеру, на шаге 410 с помощью монитора безопасности 120 устанавливают значения уровней целостности и политик безопасности 121. Согласно описанным политикам безопасности 121, загруженный образ ПО 230 имеет уровень целостности LOW. На шаге 420 средству проверки 240 с помощью монитора безопасности 120 предоставляют доступ к образу ПО 230, т.к. значение уровня доступа средства проверки 240 равно LOW, что совпадает со значением уровня целостности образа ПО 230. Таким образом, на шаге 430 с помощью средства проверки 240 выполняют проверку целостности образа ПО 230 согласно предоставленному доступу. После этого, если целостность образа ПО 230 не нарушена, на шаге 440 с помощью монитора безопасности 120 изменяют значение уровня целостности образа ПО 230 на значение, равное значению уровня доступа средства установки 240, то есть на значение HIGH. Далее на шаге 450 с помощью монитора безопасности 120 предоставляют доступ к образу ПО 230 по запросу от средства установки 250 при выполнении политик безопасности 121, то есть если уровень доступа средства установки 250 не выше уровня целостности образа ПО 230. В данном случае они будут совпадать, принимая значение HIGH. Следовательно, на шаге 460 с помощью средства установки 250 будет произведена установка ПО, содержащегося в образе ПО 230.

Стоит отметить, что если бы существовало поддельное файловое хранилище 280 с уровнем целостности MEDIUM, то с использованием методов (сервисов) поддельного файлового хранилища 280 загрузчик 220 записал бы поддельный образ ПО 270 в поддельное файловое хранилище 280 с уровнем целостности LOW. Такой поддельный образ ПО 270 пройдет проверку целостности средством проверки 240. Хотя уровень целостности поддельного образа ПО 270 и будет повышен до максимально допустимого значения, это значение не будет превышать значение уровня целостности поддельного файлового хранилища 280, то есть значения MEDIUM<HIGH. В результате средство установки 250 не получит доступ к поддельному образу ПО 270 и не установит ПО из поддельного образа ПО 270, т.к. значение уровня целостности поддельного образа ПО 270 будет равно MEDIUM<HIGH.

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

Пример реализации политик безопасности 121 с использованием конечного автомата (Фиг. 5).

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

Ниже представлено описание конечного автомата install_checker:

Конечный автомат install_checker может находиться в одном из следующих состояний (states): initialized510 (начальное), sealed 520 (запечатанное) и verified 530 (проверенное). Таблица переходов конечного автомата install_checker представлена в структуре transitions. При инициализации конечного автомата install_checker, он находится в состоянии initialized 510. Из состояния initialized 510 конечный автомат может перейти только в состояние sealed 520, которое соответствует состоянию образа ПО 230, указывающему на разрешение доступа к образу ПО 230 только для средства проверки 240.

Из состояния sealed 520 конечный автомат может перейти только в состояние verified 530, которое соответствует состоянию образа ПО 230, указывающему на разрешение доступа к образу ПО 230 средству установки 250 и запрет доступа к образу ПО средству проверки 240. Из состояния verified 530 конечный автомат install_checker может перейти в то же состояние verified 530 или в состояние initialized 510.

Ниже представлены примеры политик безопасности 121, использующие конечный автомат install_checker.

Согласно данной политике безопасности, системе установки 200 (Manager) разрешен запрос 142 (request) к методу install средства установки 250 (installer) при условии, что конечный автомат install_checker находится в состоянии verified 530. При этом метод install выполняет установку ПО из образа ПО 230.

Согласно данной политике безопасности, средству проверки 240 (verifier) разрешено выполнить запрос безопасности 144 (security) на изменение состояния (метод confirm) конечного автомата install_checker на verified. При этом изменение состояния конечного автомата выполнит монитор безопасности 120 в случае, если указанное изменение состояния конечного автомата находится в соответствии с таблицей переходов конечного автомата.

Согласно данной политике безопасности, системе установки 200 (Manager) разрешен запрос 142 к методу write файлового хранилища storage на запись образа ПО 230 при условии, что конечный автомат install_checker находится в состоянии initialized. В этом случае загрузчик 220 начнет процесс записи образа ПО 230.

Согласно данной политике безопасности, системе установки 200 (Manager) разрешен запрос 142 на вызов метода commit (подтверждение завершения записи образа ПО 230) файлового хранилища storage. При этом состояние конечного автомата install_checker будет изменено с initialized на sealed.

Согласно данной политике безопасности, средству проверки 240 (Verifier) разрешен запрос 142 к файловому хранилищу (Storage) на чтение (метод read, то есть разрешен доступ на чтение) образа ПО 230 при условии, что конечный автомат install_checker находится в состоянии sealed 520.

Согласно данной политике безопасности, средству установки 250 (Installer) разрешен запрос 142 к файловому хранилищу на чтение (метод read, то есть разрешен доступ на чтение) образа ПО 230 при условии, что конечный автомат install_checker находится в состоянии verified 530.

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

Пример реализации политик безопасности 121 с использованием темпоральной логики.

При этом подходе определенным взаимодействиям между процессами 131-132 в ОС 100 ставятся в соответствие события состояния образа ПО 230 из множества, которое определяют в соответствии с целями безопасности. В частном примере реализации такое множество включает события {seal, verify, apply}, где seal — событие «запечатывания» образа ПО 230, verify — событие проверки целостности образа ПО 230, apply — событие установки ПО из образа ПО 230. Свойства (требования) безопасности формулируют с помощью формулы темпоральной логики, например следующим образом:

Свойство 1. Всегда, когда выполняется проверка целостности образа ПО 230, должно быть гарантировано, что после процесса проверки целостности образа ПО 230 упомянутый образ ПО 230 не будет изменен. При использовании той же схемы, что и в случае конечного автомата, данное свойство можно записать в виде формулы:

G (verify => P seal),

где G — темпоральный оператор «всегда в будущем», P — темпоральный оператор «хотя бы один раз в прошлом».

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

Свойство 2. Установка ПО из образа ПО 230 возможна только в том случае, если подтверждена целостность образа ПО 230. Данное свойство можно записать в виде формулы:

G (apply => P verify).

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

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

!apply U verify,

где U — темпоральный оператор «до тех пор, пока не наступит заданное событие».

Далее представлен пример реализации политики безопасности 121 с использованием темпоральной логики при установке программного обеспечения.

Политика control связывает с данным межпроцессным взаимодействием событие apply и проверяет истинность формулы, указанной в конфигурации объекта политик. Если формула истинна, политика разрешает взаимодействие, если ложна — запрещает.

Средство проверки 240 сообщает монитору безопасности 120 об успешной проверке образа ПО 230 — событие verify:

Метод restart удаляет всю историю событий объекта класса tl.

При вызове метода commit происходит «запечатывание» образа ПО 230.

Так как средство установки 250 (Installer) считается доверенным компонентом, то выполнение чтения образа ПО 230 будет осуществлено им только по команде от системы установки 200 (Manager), для которой была задана политика безопасности ранее.

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

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

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

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

название год авторы номер документа
Система и способ формирования монитора безопасности 2021
  • Кулагин Дмитрий Александрович
  • Буренков Владимир Сергеевич
  • Бондаренко Александр Александрович
RU2773108C1
Сетевой шлюз и способ передачи данных из первой сети во вторую сеть 2021
  • Верещагин Алексей Георгиевич
  • Кашицын Денис Сергеевич
  • Донцов Максим Андреевич
  • Морозов Руслан Юрьевич
  • Лукиян Дмитрий Сергеевич
RU2770458C1
Система и способ контроля доставки сообщений, передаваемых между процессами из разных операционных систем 2021
  • Симановский Андрей Юрьевич
  • Рогачев Сергей Викторович
  • Пинчук Станислав Юрьевич
RU2777302C1
Система и способ контроля доступа к данным 2021
  • Верещагин Алексей Георгиевич
  • Кашицын Денис Сергеевич
  • Донцов Максим Андреевич
  • Морозов Руслан Юрьевич
  • Лукиян Дмитрий Сергеевич
RU2790338C1
Система и способ контроля доступа к данным приложений для изоляции данных одного приложения от данных другого приложения 2023
  • Мымрин Максим Константинович
  • Рощин Евгений Евгеньевич
  • Ефимушкин Роман Николаевич
RU2816864C1
СИСТЕМА И СПОСОБ ПРИМЕНЕНИЯ ПРАВИЛ ДОСТУПА К ФАЙЛАМ ПРИ ИХ ПЕРЕДАЧЕ МЕЖДУ КОМПЬЮТЕРАМИ 2013
  • Макаров Александр Николаевич
  • Строгов Владимир Владимирович
  • Кирикова Евгения Павловна
RU2573785C2
СПОСОБ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОГО ВЫПОЛНЕНИЯ ФАЙЛА СЦЕНАРИЯ 2014
  • Ладиков Андрей Владимирович
  • Солодовников Андрей Юрьевич
RU2584507C1
СИСТЕМА И СПОСОБ АВТОМАТИЧЕСКОЙ РЕГУЛИРОВКИ ПРАВИЛ КОНТРОЛЯ ПРИЛОЖЕНИЙ 2013
  • Казачков Андрей Владимирович
  • Правдивый Андрей Александрович
  • Шияфетдинов Дамир Рафекович
RU2589852C2
Программируемый логический контроллер для управления устройствами реального времени 2024
  • Барсуков Сергей Николаевич
  • Сорокин Игорь Александрович
  • Мотавин Александр Михайлович
  • Духвалов Андрей Петрович
RU2825561C1
Система и способ обеспечения межпроцессного взаимодействия в электронных блоках управления транспортными средствами 2020
  • Шадрин Александр Викторович
  • Кулагин Дмитрий Александрович
RU2749157C1

Иллюстрации к изобретению RU 2 775 157 C1

Реферат патента 2022 года Система и способы проверки целостности установочного образа программного обеспечения

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

Формула изобретения RU 2 775 157 C1

1. Способ проверки целостности установочного образа программного обеспечения (далее — ПО) перед выполнением установки ПО, в котором:

а) с помощью монитора безопасности устанавливают значение состояния установочного образа ПО (далее — образ ПО), указывающее на разрешение доступа к образу ПО только для средства проверки, при этом состояние образа ПО является параметром, используемым политиками безопасности для предоставления разрешения или запрета доступа к образу ПО компонентам, включающим: средство проверки, средство установки;

б) с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства проверки при условии выполнения политик безопасности;

в) с помощью средства проверки выполняют проверку целостности образа ПО согласно предоставленному доступу;

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

д) с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства установки при выполнении политик безопасности.

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

3. Способ по п. 1, в котором политики безопасности используют темпоральную логику.

4. Способ по п. 1, в котором упомянутый образ ПО содержит один или несколько объектов из следующих:

• ПО;

• обновление ПО;

• вложенный образ ПО.

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

6. Способ по п. 1, в котором с помощью средства установки выполняют установку ПО, содержащегося в упомянутом образе ПО.

7. Способ по п. 5, в котором с помощью средства установки выполняют установку только того ПО, содержащегося в упомянутом образе ПО, целостность которого не нарушена.

8. Способ по п. 1, в котором выполняют проверку целостности образа ПО одним из способов:

• путем проверки электронно-цифровой подписи упомянутого образа ПО;

• путем получения подтверждения от пользователя;

• путем использования кодов аутентификации сообщений, в частности имитовставки;

• путем проверки соответствия роли пользователя заданным требованиям;

• путем проверки заданных атрибутов образа ПО.

9. Способ по п. 1, в котором с помощью загрузчика загружают установочный образ ПО с удаленного ресурса.

10. Способ по п. 1, в котором упомянутый доступ включает чтение данных.

11. Способ проверки целостности установочного образа программного обеспечения перед выполнением установки ПО, в котором:

а) с помощью монитора безопасности устанавливают:

• значения уровней целостности средства проверки и средства установки (далее — компоненты) выше, чем значение уровня целостности образа ПО;

• значение уровня доступа средства проверки равным значению уровня целостности образа ПО, значение уровня доступа средства установки равным значению уровня целостности средства установки;

• политики безопасности, разрешающие доступ одного компонента к другому компоненту при условии, что значение уровня доступа одного компонента не выше значения уровня целостности другого компонента;

б) с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства проверки при условии выполнения политик безопасности;

в) с помощью средства проверки выполняют проверку целостности образа ПО согласно предоставленному доступу;

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

д) с помощью монитора безопасности предоставляют доступ к образу ПО по запросу от средства установки при выполнении политик безопасности.

12. Система проверки целостности установочного образа ПО перед выполнением установки ПО, содержащая:

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

б) упомянутое средство проверки, предназначенное для выполнения проверки целостности образа ПО согласно предоставленному доступу;

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

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

• установления значения состояния образа ПО, указывающего на разрешение доступа к образу ПО только для средства проверки, при этом состояние образа ПО является параметром, используемым политиками безопасности для предоставления разрешения или запрета доступа к образу ПО упомянутым компонентам;

• изменения значения состояния образа ПО на новое, указывающее на разрешение доступа к образу ПО средству установки и запрет доступа к образу ПО средству проверки.

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

15. Система по п. 12, в которой политики безопасности используют темпоральную логику.

16. Система по п. 12, в которой монитор безопасности дополнительно предназначен для:

• установки значений уровней целостности средства проверки и средства установки выше, чем значение уровня целостности образа ПО;

• установки значения уровня доступа средства проверки равным значению уровня целостности образа ПО, значение уровня доступа средства установки равным значению уровня целостности средства установки;

• установки политик безопасности, разрешающих доступ одного компонента к другому компоненту при условии, что значение уровня доступа одного компонента не выше значения уровня целостности другого компонента, где упомянутый доступ включает чтение данных;

• изменения значения уровня целостности образа ПО на значение, равное значению уровня доступа средства установки, при условии, что целостность образа ПО не нарушена.

17. Система по п. 12, в которой упомянутый доступ к образу ПО включает чтение образа ПО.

Документы, цитированные в отчете о поиске Патент 2022 года RU2775157C1

СИСТЕМА И СПОСОБ ДЛЯ ОПРЕДЕЛЕНИЯ ДОВЕРИЯ ПРИ ОБНОВЛЕНИИ РАЗРЕШЕННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2012
  • Солодовников Андрей Юрьевич
  • Круглов Кирилл Николаевич
RU2495487C1
СПОСОБ И СИСТЕМА ДЛЯ ОГРАНИЧЕНИЯ ОБНОВЛЕНИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2005
  • Гунякти Каглар
  • Хатлелид Кристьян Эрик
RU2375739C2
Способ защиты программного обеспечения от недекларированных возможностей, содержащихся в получаемых обновлениях 2018
  • Добрышин Михаил Михайлович
  • Закалкин Павел Владимирович
  • Гречишников Евгений Владимирович
  • Стародубцев Юрий Иванович
  • Бречко Александр Александрович
RU2696951C1
Способ восстановления спиралей из вольфрамовой проволоки для электрических ламп накаливания, наполненных газом 1924
  • Вейнрейх А.С.
  • Гладков К.К.
SU2020A1
US 10225426 B2, 05.03.2019.

RU 2 775 157 C1

Авторы

Буренков Владимир Сергеевич

Кулагин Дмитрий Александрович

Даты

2022-06-28Публикация

2021-05-13Подача