Система и способ для повышения безопасности изолированных сред исполнения авторизованного пользователя Российский патент 2024 года по МПК G06F21/53 G06F12/14 

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

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

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

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

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

При создании программ важно учитывать их взаимодействие с операционной системой (ОС), которая включает в себя комплекс системных программных средств. С одной стороны, ОС опирается на базовое программное обеспечение компьютера, входящее в его систему BIOS (от англ. basic input/output system - базовая система ввода-вывода), с другой стороны, ОС является основой для программного обеспечения более высокого уровня - прикладных программ и большинства служб и сервисов. ОС может быть установлена на компьютерные системы с разной архитектурой, например на настольные компьютеры, серверы, а также мобильные компьютерные системы, которые за последнее время получили очень широкое распространение. Это в свою очередь существенно повлияло на рост количества задач, выполняемых мобильными компьютерными системами. В качестве примеров выполняемых задач можно привести запуск и установку приложений, открытие и редактирование файлов, работу с сетевыми ресурсами и сервисами и т.д.

Учитывая огромное количество задач, остро стоит вопрос обеспечения безопасности их выполнения, в частности, противодействия компрометации данных злоумышленниками. Одной из реализаций такого механизма являются среды исполнения (англ. Execution Environment). Среда исполнения - инфраструктура, необходимая для запуска, выполнения и завершения программ. Среда исполнения относится к совокупности ресурсов программного и аппаратного обеспечения, которая позволяет программному обеспечению выполняться в компьютерной системе. Среда исполнения является механизмом операционной системы, который используется для предоставления возможности выполнения программ независимо от используемого языка программирования. Среда исполнения обеспечивает выполнение программных инструкций как высокого уровня (взаимодействуя с основной библиотекой программного обеспечения), так и низкого уровня (взаимодействуя с базовой архитектурой набора аппаратных команд).

Существует много способов оценки уровня безопасности сред исполнения. Одним из способов является детальный анализ используемой компьютерной системы, на которой реализована среда исполнения. В публикации «Remote Host Operation System Type Detection Based on Machine Learning Approach» (Leonid Kupershtein, Tatiana Martyniuk, Olesia Voitovych and Artur Borusevych Vinnytsia National Technical University, Khmelnytske shoes str., 95, Vinnytsia, 21021, Ukraine II International Scientific Symposium «Intelligent Solutions» IntSol-2021, September 28-30, 2021, Kyiv-Uzhhorod, Ukraine, https://ceur-ws.org/Vol-3106/Paper_7.pdf, дата обращения 12.12.2022) описана технология исследования среды исполнения на наличие уязвимого устройства, на котором установлена операционная система, с использованием машинного обучения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 2 иллюстрирует структуру системы повышения защищенности изолированных сред исполнения авторизированного пользователя.

Фиг. 3 иллюстрирует алгоритм повышения защищенности изолированных сред исполнения авторизированного пользователя.

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

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

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

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

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

Изолированная среда исполнения (песочница) - (англ. isolated execution environment, sandbox) специально выделенная среда для безопасного исполнения компьютерных программ, которая представляет собой жестко контролируемый набор ресурсов для исполнения, например место на диске или в памяти, доступ к сети, возможность взаимодействовать с главной операционной системой или считывать информацию с устройств ввода и т.д. Создание и реализацию изолированной среды исполнения осуществляют с использованием методов эмуляции и виртуализации (Умаров Д.А., Борисова С.Н. Исследование поведения вредоносных программ в защищенной среде исполнения // ФГБОУ ВПО "Пензенский государственный университет", электронный научный журнал "Инжиниринг и технологии". URL: https://engineering.pnzgu.ru/files/engineering.pnzgu.ru/iit_2019_vol_4_1_12(3).pdf (дата обращения: 10.11.2022)).

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

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

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

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

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

Фиг 1. иллюстрирует пример взаимодействия компьютерных систем одного пользователя. Основная компьютерная система пользователя 110 - компьютерная система, например смартфон, на которой пользователь выполняет основную часть задач. На современных смартфонах установлена ОС (например, ОС Android), которая использует отдельную изолированную среду исполнения для каждого запускаемого приложения. Наблюдение за изолированными средами исполнения позволяет обнаружить другие компьютерные системы, с которыми взаимодействует пользователь. В ходе осуществления деятельности, например передвижения по местности, пользователь может применить дополнительную компьютерную систему в виде смарт-часов 120, на которой установлена другая ОС (например, ОС Android Wear), которая использует отдельную изолированную среду исполнения для каждого запускаемого приложения. В ходе осуществления другой деятельности, например поиска в сети интернет, пользователь может применить еще одну дополнительную компьютерную систему 130, например ноутбук, на которой установлена ОС (например, ОС ChromeOS), которая использует отдельную изолированную среду исполнения для каждого запускаемого приложения. В ходе еще одной деятельности, например переноса просмотра видео в приложении со смартфона, пользователь может применить еще одну дополнительную компьютерную систему 140, например смарт-телевизор, на которой установлена ОС (например, ОС Tizen), которая использует отдельную изолированную среду исполнения для каждого запускаемого приложения. В ходе осуществления еще одной деятельности, например возобновления редактирования документа, пользователь может применить еще другую дополнительную компьютерную систему 150, например планшет, на которой установлена ОС (например, ОС IpadOS), которая использует отдельную изолированную среду исполнения для каждого запускаемого приложения. Все упомянутые ОС реализуют изолированные среды исполнения по принципу изоляции на основе разрешений. Каждая упомянутая среда исполнения является изолированной и обеспечивает безопасность доступа к данным. Приложения, запущенные в изолированной среде исполнения, имеют доступ только к ограниченному разрешениями перечню данных. Несанкционированный доступ к упомянутым данным иной среды исполнения и непредусмотренное соединение упомянутых данных в единое целое для последующей обработки является угрозой безопасности для пользователя. Для повышения защищенности изолированных сред исполнения и создания безопасного объединения изолированных сред исполнения одного пользователя применяют систему повышения защищенности изолированных сред исполнения.

Фиг 2. иллюстрирует структуру системы повышения защищенности изолированных сред исполнения авторизированного пользователя, которая включает в себя множество доступных компьютерных систем 210, средство проверки 220, средство формирования 230, средство выявления 240, средство объединения 250, базу данных правил 260.

Представленная на Фиг. 2 система реализуется с использованием компьютерной системы, например, компьютера, обладающего аппаратным процессором и памятью, пример которого представлен на Фиг. 4. Упомянутая система содержит функциональные и/или аппаратные модули и средства 220-250, которые в свою очередь содержат инструкции для исполнения на аппаратном процессоре. Ниже описаны варианты реализации упомянутых модулей и средств 220-250 системы.

Средство проверки 220 предназначено для выявления по крайней мере одной компьютерной системы пользователя, на которой пользователь авторизирован, и передачи данных о выявленной компьютерной системе средству формирования 230.

Средство проверки 220 выполняет выявление по крайней мере одной компьютерной системы пользователя путем анализа множества доступных компьютерных систем 210. Под анализом понимают, в частности, поиск приложений, которые используют по меньшей мере один из параметров, идентифицирующих компьютерную систему: Advertising ID, IMEI, MAC-address, Serial Number, Android ID. Средство проверки 220 выполняет выявление основной компьютерной системы пользователя 110.

Основная компьютерная система пользователя 110 - это наиболее часто используемая мобильная компьютерная система, на которой пользователь авторизирован, и которая осуществляет прием и передачу вызовов по мобильной сети.

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

Наличие авторизации позволяет однозначно определить то, какой пользователь несет ответственность за действия в упомянутой компьютерной системе. Проверку наличия авторизации выполняют путем выявления аккаунтов пользователей на компьютерной системе при помощи, например, API Android - AccountManager, используя команду AccountManager.getAccounts().

Продолжая пример из Фиг. 1, антивирусная программа, установленная на персональном компьютере пользователя, выполняет анализ компьютерных систем, подключенных к локальной сети, реализованной роутером. В результате анализа обнаружена мобильная компьютерная система 1, которая является основной компьютерной системой 110, в которой авторизирован пользователь 1.

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

Продолжая пример из Фиг. 1, на компьютерной системе 1, в которой авторизирован пользователь 1, устанавливают и запускают приложение безопасности Б, для работы которого формируется изолированная среда исполнения Б.

Средство выявления 240 предназначено для выявления по крайней мере двух изолированных сред исполнения с использованием сформированной изолированной среды исполнения приложения безопасности на по крайней мере одной выявленной компьютерной системе и передачи данных о выявленных изолированных средах исполнения средству объединения 250.

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

После обнаружения по крайней мере двух приложений, запущенных после запуска приложения безопасности, средство выявления 240 выявляет параметры каждой выявленной изолированной среды исполнения, которые сформированы в ОС для работы упомянутых приложений. Например, для изолированной среды исполнения, представленной в ОС Android, по меньшей мере следующие данные являются параметрами изолированной среды исполнения:

- идентификатор пользователя (уникальный для каждого приложения, единый для приложений одного поставщика);

- виртуальная машина для процесса, управляемая только уникальным идентификатором пользователя (ОС Android представляет собой многопользовательскую систему на базе ядра Linux, в которой каждое приложение является отдельным пользователем; по умолчанию система назначает каждому приложению уникальный идентификатор пользователя Linux, который используется только системой и неизвестен приложению; система устанавливает полномочия для всех файлов в приложении, с тем чтобы доступ к ним был разрешен только пользователю с идентификатором, назначенным этому приложению);

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

- базовые компоненты приложения (часть манифеста приложения);

- ресурсы приложения (часть манифеста приложения).

Например, для приложений, представленных в ОС Android, по меньшей мере следующие данные являются параметрами:

- активность (activity), выполняемая при помощи приложения - это отдельный экран в ОС Android, окно в приложении для рабочего стола или фрейм в Java-приложении, который позволяет разместить все компоненты пользовательского интерфейса или виджеты на экране;

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

- место хранения данных - каталог (папка), к которому во время работы имеет доступ приложение.

Продолжая пример из Фиг. 1, на компьютерной системе 1, в которой авторизирован пользователь 1, при помощи приложения Б, запущенного в изолированной среде исполнения Б, обнаруживают запуск приложения 1 и соответствующей ему изолированной среды исполнения 1. Через активность приложения 1 обнаруживают уже запущенное приложение 2 и соответствующую ему изолированную среду исполнения 2.

Средство объединения 250 предназначено для формирования безопасного объединения выявленных изолированных сред исполнения при помощи правил объединения из базы данных правил 260. Средство объединения 250 осуществляет формирование путем создания объединения выявленных изолированных сред и проверки его безопасности.

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

Продолжая пример из Фиг. 1, созданное объединение выглядит следующим образом:

- Пользователь 1, компьютерная система 1, приложение Б, изолированная среда исполнения Б;

- Пользователь 1, компьютерная система 1, приложение 1, изолированная среда 1, активность 1, место хранения данных 1, период времени активности 11: время 1 - время 3;

- Пользователь 1 компьютерная система 1, приложение 2, изолированная среда 2, активность 1, место хранения данных 1, период времени активности 21: время 1, время 2, время 3.

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

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

Существует по меньшей мере три типа транзита доступа к данным: подслушивание, подсматривание и слежение.

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

Например, одно приложение, запущенное в изолированной среде исполнения, реализованной в основной компьютерной системе (смартфон), имеет разрешения на чтение и озвучивание сообщения SMS (приложение для людей с ограниченными возможностями), второе приложение, запущенное в изолированной среде исполнения, реализованной в дополнительной компьютерной системе (смарт-телевизор), имеет разрешение на использование микрофона в любой момент времени (голосовой помощник). В данном примере может возникнуть транзит доступа к данным, когда приложение без доступа к данным из сообщений SMS получает такой доступ. Злоумышленник может воспользоваться возможностью транзита.

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

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

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

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

Средство объединения 250 выполняет проверку безопасности путем выявления наличия транзита доступа к данным выявленных изолированных сред исполнения на основании анализа параметров изолированных сред исполнения при помощи приложения безопасности.

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

Одним из примеров правила объединения может быть следующий набор условий:

- выявлено наличие транзита доступа 1-го типа;

- первая изолированная среда исполнения реализована в основной компьютерной системе;

- вторая изолированная среда исполнения реализована в дополнительной компьютерной среде;

- приложение, запущенное во второй изолированной среде исполнения, получает несанкционированный доступ к данным.

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

Другим примером правила объединения может быть следующий набор условий:

- выявлено наличие транзита доступа 2-го типа;

- первая изолированная среда исполнения реализована в основной компьютерной системе;

- вторая изолированная среда исполнения реализована в основной компьютерной среде;

- приложение, запущенное во второй изолированной среде исполнения, получает несанкционированный доступ к данным.

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

Еще одним примером правила, объединения может быть следующий набор условий:

- выявлено наличие транзита доступа 3-го типа;

- первая изолированная среда исполнения реализована в основной компьютерной системе;

- вторая изолированная среда исполнения реализована в дополнительной компьютерной среде;

- оба приложения, запущенные в первой и второй изолированной среде исполнения, представлены одним поставщиком ПО;

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

Продолжая пример из Фиг. 1, сформированное безопасное объединение выглядит следующим образом:

- Пользователь 1, компьютерная система 1, приложение Б, изолированная среда исполнения Б;

- Пользователь 1, компьютерная система 1, приложение 1, изолированная среда 1, активность 1, место хранения данных 1, период времени активности 11: время 1 - время 3; транзит 1 приложение 2;

- Пользователь 1 компьютерная система 1, приложение 2, изолированная среда 2, активность 1, место хранения данных 1, период времени активности 21: время 1, время 2, время 3; транзит 1 приложение 1 активность 1; ограничение на использование приложения в период время 1 - время 3, включительно.

База данных правил 260 предназначена для хранения правил объединения. Для хранения и обработки данных могут быть использованы различные виды баз данных, а именно: иерархические (IMS, TDMS, System 2000), сетевые (Cerebrum, Сronospro, DBVist), реляционные (DB2, Informix, Microsoft SQL Server), объектно-ориентированные (Jasmine, Versant, POET), объектно-реляционные (Oracle Database, PostgreSQL, FirstSQL/J, функциональные и т.д. Правила могут быть созданы при помощи алгоритмов машинного обучения и автоматизированной обработки больших массивов данных.

Приведем пример реализации. На домашнем компьютере, на котором пользователь выполняет задачи с использованием ОС Windows, и на котором установлено приложение безопасности Kaspersky Total Security, выполняют поиск связанных устройств, например через сеть Wi-Fi, и обнаруживают активный смартфон на ОС Android. Выявляют, что на смартфоне выполнена авторизация пользователя, который одновременно открыл приложение для обработки электронной почты на смартфоне и веб-сервис электронной почты в браузере на домашнем компьютере. С этого момента считают смартфон основной компьютерной системой и запрашивают разрешение на установку приложения безопасности (например, Kaspersky Internet Security for Android), которое реализует все или несколько средств 220-250. С помощью указанного приложения определяют наличие соединения с дополнительной компьютерной системой - смарт-телевизором на ОС Android. Устанавливают приложение безопасности на дополнительную компьютерную систему. Выявляют активность первого приложения - Google Assistant, которое запущено в основной изолированной среде исполнения, реализованной на смартфоне, которое в данный момент времени озвучивает SMS-сообщение. Выявляют активность второго приложения - Яндекс.Алиса, которое запущенно в изолированной среде исполнения, реализованной в дополнительной компьютерной системе. Регистрируют транзит доступа к данным от приложения Яндекс.Алиса к содержимому SMS-сообщения, доступ к которому есть только у Google Assistant. Ограничивают использование приложения Яндекс.Алиса на время активности приложения Google Assistant.

Фиг. 3 иллюстрирует алгоритм повышения защищенности изолированных сред исполнения авторизированного пользователя. На этапе 311 средство проверки 220 осуществляет выявление по меньшей мере одной компьютерной системы пользователя, на которой пользователь авторизирован, и передает данные о выявленной компьютерной системе средству формирования 230. На этапе 312 средство формирования 230 выполняет формирование изолированной среды исполнения приложения безопасности на выявленной компьютерной системе и передает данные о сформированной изолированной среде исполнения приложения безопасности средству выявления 240. На этапе 313 средство выявления 240 выполняет выявление по крайней мере двух изолированных сред исполнения с использованием сформированной изолированной среды исполнения приложения безопасности на по крайней мере одной выявленной компьютерной системе и передает данные о выявленных изолированных средах исполнения средству объединения 250. На этапе 314 средство объединения 250 создает объединение из выявленных ранее изолированных сред исполнения. На этапе 315 средство объединения 250 выполняет проверку безопасности объединения. Если по результатам проверки безопасности выявлено, что объединение небезопасно на этапе 316 средство объединения формирует безопасное объединение выявленных сред исполнения при помощи правил объединения. Если по результатам проверки безопасности выявлено, что объединение сред безопасно, то этапе 317 система завершает работу.

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

Как показано на Фиг. 4, компьютерная система 20 включает в себя: центральный процессор 21, системную память 22 и системную шину 23, которая связывает разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, способную взаимодействовать с любой другой шинной архитектурой. Примерами шин являются: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C и другие подходящие соединения между компонентами компьютерной системы 20. Центральный процессор 21 содержит один или несколько процессоров, имеющих одно или несколько ядер. Центральный процессор 21 исполняет один или несколько наборов машиночитаемых инструкций, реализующих способы, представленные в настоящем документе. Системная память 22 может быть любой памятью для хранения данных и/или компьютерных программ, исполняемых центральным процессором 21. Системная память может содержать как постоянное запоминающее устройство (ПЗУ) 24, так и память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.

Компьютерная система 20 включает в себя одно или несколько устройств хранения данных, таких как одно или несколько извлекаемых запоминающих устройств 27, одно или несколько неизвлекаемых запоминающих устройств 28, или комбинации извлекаемых и неизвлекаемых устройств. Одно или несколько извлекаемых запоминающих устройств 27 и/или неизвлекаемых запоминающих устройств 28 подключены к системной шине 23 через интерфейс 32. В одном из вариантов реализации извлекаемые запоминающие устройства 27 и соответствующие машиночитаемые носители информации представляют собой энергонезависимые модули для хранения компьютерных инструкций, структур данных, программных модулей и других данных компьютерной системы 20. Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28 могут использовать различные машиночитаемые носители информации. Примеры машиночитаемых носителей информации включают в себя машинную память, такую как кэш-память, SRAM, DRAM, ОЗУ не требующую конденсатора (Z-RAM), тиристорную память (T-RAM), eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; флэш-память или другие технологии памяти, такие как твердотельные накопители (SSD) или флэш-накопители; магнитные кассеты, магнитные ленты и магнитные диски, такие как жесткие диски или дискеты; оптические носители, такие как компакт-диски (CD-ROM) или цифровые универсальные диски (DVD); и любые другие носители, которые могут быть использованы для хранения нужных данных и к которым может получить доступ компьютерная система 20.

Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28, содержащиеся в компьютерной системе 20 используются для хранения операционной системы 35, приложений 37, других программных модулей 38 и программных данных 39. Компьютерная система 20 включает в себя периферийный интерфейс 46 для передачи данных от устройств ввода 40, таких как клавиатура, мышь, стилус, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, или других периферийных устройств, таких как принтер или сканер через один или несколько портов ввода/вывода, таких как последовательный порт, параллельный порт, универсальная последовательная шина (USB) или другой периферийный интерфейс. Устройство отображения 47, такое как один или несколько мониторов, проекторов или встроенных дисплеев, также подключено к системной шине 23 через выходной интерфейс 48, такой как видеоадаптер. Помимо устройств отображения 47, компьютерная система 20 оснащена другими периферийными устройствами вывода (на Фиг. 4 не показаны), такими как динамики и другие аудиовизуальные устройства.

Компьютерная система 20 может работать в сетевом окружении, используя сетевое соединение с одним или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 является рабочим персональным компьютером или сервером, который содержит большинство или все упомянутые компоненты, отмеченные ранее при описании сущности компьютерной системы 20, представленной на Фиг. 4. В сетевом окружении также могут присутствовать и другие устройства, например, маршрутизаторы, сетевые станции или другие сетевые узлы. Компьютерная система 20 может включать один или несколько сетевых интерфейсов 51 или сетевых адаптеров для связи с удаленными компьютерами 49 через одну или несколько сетей, таких как локальная компьютерная сеть (LAN) 50, глобальная компьютерная сеть (WAN), интранет и Интернет. Примерами сетевого интерфейса 51 являются интерфейс Ethernet, интерфейс Frame Relay, интерфейс SONET и беспроводные интерфейсы.

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

Машиночитаемый носитель информации является осязаемым устройством, которое сохраняет и хранит программный код в форме машиночитаемых инструкций или структур данных, к которым имеет доступ центральный процессор 21 компьютерной системы 20. Машиночитаемый носитель может быть электронным, магнитным, оптическим, электромагнитным, полупроводниковым запоминающим устройством или любой подходящей их комбинацией. В качестве примера, такой машиночитаемый носитель информации может включать в себя память с произвольным доступом (RAM), память только для чтения (ROM), EEPROM, портативный компакт-диск с памятью только для чтения (CD-ROM), цифровой универсальный диск (DVD), флэш-память, жесткий диск, портативную компьютерную дискету, карту памяти, дискету или даже механически закодированное устройство, такое как перфокарты или рельефные структуры с записанными на них инструкциями.

Система и способ, настоящего изобретения, могут быть рассмотрены в терминах средств. Термин "средство", используемый в настоящем документе, относится к реальному устройству, компоненту или группе компонентов, реализованных с помощью аппаратного обеспечения, например, с помощью интегральной схемы, специфичной для конкретного приложения (ASIC) или FPGA, или в виде комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора машиночитаемых инструкций для реализации функциональности средства, которые (в процессе выполнения) превращают микропроцессорную систему в устройство специального назначения. Средство также может быть реализовано в виде комбинации этих двух компонентов, при этом некоторые функции могут быть реализованы только аппаратным обеспечением, а другие функции - комбинацией аппаратного и программного обеспечения. В некоторых вариантах реализации, по крайней мере, часть, а в некоторых случаях и все средство может быть выполнено на центральном процессоре 21 компьютерной системы 20. Соответственно, каждое средство может быть реализовано в различных подходящих конфигурациях и не должно ограничиваться каким-либо конкретным вариантом реализации, приведенным в настоящем документе.

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

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

название год авторы номер документа
Способ выявления категории данных с использованием API, применяемого при создании приложений для пользователей с ограниченными возможностями 2017
  • Яблоков Виктор Владимирович
  • Филатов Константин Михайлович
RU2649796C1
Система и способ антивирусной проверки объектов на мобильном устройстве 2023
  • Яблоков Виктор Владимирович
  • Филатов Константин Михайлович
RU2818877C1
Система и способ выявления наличия уязвимости в операционной системе на основании данных о процессах и потоках 2022
  • Монастырский Алексей Владимирович
  • Кондратьев Дмитрий Андреевич
RU2797716C1
Способ создания сценария популярных событий активации 2015
  • Елисеев Евгений Юрьевич
  • Яблоков Виктор Владимирович
RU2679783C2
Способ блокировки доступа к данным на мобильных устройствах с использованием API для пользователей с ограниченными возможностями 2015
  • Демов Алексей Александрович
  • Филатов Константин Михайлович
  • Яблоков Виктор Владимирович
RU2618946C1
Система и способ модифицирования ограниченной среды исполнения для запуска, исполнения и проверки приложения на наличие вредоносного кода 2021
  • Бутузов Виталий Владимирович
  • Лискин Александр Викторович
RU2784701C1
Система и способ выявления скрытого поведения расширения браузера 2018
  • Виноградов Дмитрий Валерьевич
  • Давыдов Василий Александрович
  • Паринов Денис Игоревич
RU2697950C2
Способ и система для оценки влияния исследуемого ПО на доступность систем промышленной автоматизации 2020
  • Круглов Кирилл Николаевич
RU2755252C2
Способ и система обнаружения вредоносного программного обеспечения путем контроля исполнения программного обеспечения запущенного по сценарию 2013
  • Елисеев Евгений Юрьевич
  • Яблоков Виктор Владимирович
RU2653985C2
СПОСОБ АВТОРИЗАЦИИ ОПЕРАЦИИ, ПРЕДНАЗНАЧЕННОЙ ДЛЯ ВЫПОЛНЕНИЯ НА ЗАДАННОМ ВЫЧИСЛИТЕЛЬНОМ УСТРОЙСТВЕ 2014
  • Стерн Аллон Дж.
RU2675902C2

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

Реферат патента 2024 года Система и способ для повышения безопасности изолированных сред исполнения авторизованного пользователя

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

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

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

a) выявляют по крайней мере одну компьютерную систему, на которой пользователь авторизирован;

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

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

г) формируют безопасное объединение выявленных изолированных сред исполнения при помощи правил объединения.

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

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

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

5. Способ по п. 4, в котором при формировании изолированной среды исполнения приложения безопасности предоставляют приложению безопасности максимально возможное количество разрешений и доступов.

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

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

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

9. Способ по п. 8, в котором проверку безопасности объединения выявленных изолированных сред исполнения выполняют путем выявления наличия по крайней мере одного транзита доступа к данным на основании анализа параметров выявленных изолированных сред исполнения.

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

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

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

Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Способ получения цианистых соединений 1924
  • Климов Б.К.
SU2018A1
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок 1923
  • Григорьев П.Н.
SU2008A1
Токарный резец 1924
  • Г. Клопшток
SU2016A1
АППАРАТНАЯ ВИРТУАЛИЗИРОВАННАЯ ИЗОЛЯЦИЯ ДЛЯ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ 2017
  • Паи Навин Нараян
  • Джеффриз Чарльз Г.
  • Висванатхан Гиридхар
  • Шультц Бенджамин М.
  • Смит Фредерик Дж.
  • Ройтер Ларс
  • Эберсол Майкл Б.
  • Диас Куэльяр Херардо
  • Пашов Иван Димитров
  • Гаддехосур Поорнананда Р.
  • Пулапака Хари Р.
  • Рао Викрам Мангалоре
RU2755880C2

RU 2 821 160 C1

Авторы

Яблоков Виктор Владимирович

Филатов Константин Михайлович

Даты

2024-06-17Публикация

2023-04-27Подача