АППАРАТНАЯ ВИРТУАЛИЗИРОВАННАЯ ИЗОЛЯЦИЯ ДЛЯ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ Российский патент 2021 года по МПК G06F21/53 H04L12/46 

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

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

[0001] Заражения вычислительных устройств зачастую возникают, когда пользователи просматривают Интернет на недоверенных веб-узлах, либо когда они загружают или открывают недоверенные сетевые ресурсы, такие как приложения и документы. Эти заражения обеспечивают возможность взломщикам красть учетные данные пользователя или даже получать управление над вычислительным устройством, чтобы переназначать его для собственных средств взломщика. Хотя одно решение противостоять этим атакам на уровне ядра состоит в том, чтобы блокировать сетевой доступ к вычислительному устройству, это сильно ограничивает функциональность множества современных вычислительных устройств. Дополнительно, во внутреннем рабочем окружении, деактивация сетевого доступа снижает производительность и удовлетворенность работой сотрудников. В качестве компромисса, многие работодатели предоставляют ограниченный сетевой доступ за счет предотвращения осуществления доступа сотрудников к недоверенным сетевым ресурсам. Тем не менее, этот ограниченный сетевой доступ приводит к увеличенным административным затратам для работодателя, поскольку работодатель должен согласованно обновлять политику, задающую то, какие сетевые ресурсы являются недоверенными. Это может приводить к разочарованию использованием вычислительных устройств как пользователями, так и работодателем.

Сущность изобретения

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

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

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

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

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

[0006] Подробное описание приводится со ссылкой на прилагаемые чертежи. На чертежах, самая левая цифра(ы) ссылки с номером идентифицирует чертеж, на котором впервые появляется ссылка с номером. Использование одинаковых номеров ссылок в различных случаях в описании и на чертежах может указывать похожие или идентичные элементы. Объекты, представленные на чертежах, могут указывать один или более объектов, и в силу этого объекты могут взаимозаменяемо упоминаться в форме единственного или множественного числа в пояснении.

[0007] Фиг. 1 иллюстрирует примерную систему, реализующую аппаратную виртуализированную изоляцию для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

[0008] Фиг. 2 иллюстрирует примерную архитектуру системы для аппаратной виртуализированной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

[0009] Фиг. 3 является блок-схемой последовательности операций способа, иллюстрирующей примерный процесс для реализации аппаратной виртуализированной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

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

[0011] Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей примерный процесс для управления контейнером для аппаратной виртуализированной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

[0012] Фиг. 6 является блок-схемой последовательности операций способа, иллюстрирующей примерный процесс для реализации аппаратной виртуализированной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

[0013] Фиг. 7 иллюстрирует примерную систему, которая включает в себя примерное вычислительное устройство, которое представляет одну или более систем и/или устройств, которые могут реализовывать различные технологии, описанные в данном документе.

Подробное описание изобретения

[0014] В данном документе поясняется аппаратная виртуализированная изоляция для обеспечения безопасности. Операционная система, исполняемая на вычислительном устройстве, также упоминаемая в данном документе в качестве хостовой операционной системы, исполняемой на хост-устройстве, использует контейнеры для сегментации аппаратных ресурсов. В отличие от множества подходов на основе виртуальных машин или на основе принципа песочницы, использование контейнеров в сочетании с технологиями аппаратной виртуализированной изоляции для обеспечения безопасности, описанными в данном документе, защищает вычислительное устройство от атак посредством изоляции веб-браузеров, связанных приложений и компонентов операционной системы, таких как ядро, файловая система и сеть, от недоверенных сетевых ресурсов. Изоляция недоверенных сетевых ресурсов принудительно активируется и отслеживается через один или более фильтров операционной системы и диспетчеров политик. Таким образом, когда хост-устройство запрашивает доступ к недоверенному сетевому ресурсу, хост-устройство содержит недоверенный сетевой ресурс в одном или более контейнерах, которые предоставляют полную изоляцию ядра от хостовой операционной системы. Как пояснено в данном документе, сетевые ресурсы означают местоположения (например, устройств, либо в которых данные постоянно размещаются), к которым хост-устройство может осуществлять доступ через сеть, а также одно или более из данных, исполняемых фрагментов или сетевых соединений, предоставленных посредством одного или более местоположений. Например, сетевые ресурсы могут представлять собой файлы, приложения, почтовые сообщения, документы, универсальные указатели ресурса (URL-адреса), адреса по Интернет-протоколу (IP), порты по протоколу управления передачей (TCP), имя в системе доменных имен (DNS), хранилища данных, аппаратные устройства или комбинации вышеозначенного. Доверенный сетевой ресурс означает сетевой ресурс, который является доверенным на предмет того, что он не имеет вредоносного программного обеспечения или используется злоумышленными пользователями, и идентифицируется посредством одной или более политик для хост-устройства. Недоверенный сетевой ресурс означает сетевой ресурс, который не является доверенным (например, который может иметь вредоносное программное обеспечение или использоваться злоумышленными пользователями).

[0015] Чтобы защищать хост-устройство от злонамеренных атак, политика используется для задания нумерованного списка доверенных сетевых ресурсов. В корпоративном окружении, в котором множество пользователей организации соединяются и совместно используют доступ к общим корпоративным данным и/или сетям, эта политика может задаваться администратором организации, чтобы обеспечивать то, что отдельные пользователи, а также совместно используемые данные и сети организации остаются защищенными. Когда пользователь хост-устройства запрашивает доступ к сетевому ресурсу, запрашиваемый сетевой ресурс сравнивается с политикой, с тем чтобы определять то, представляет собой запрашиваемый сетевой ресурс или нет доверенный сетевой ресурс. Если политика указывает то, что запрашиваемый сетевой ресурс представляет собой доверенный сетевой ресурс, технологии аппаратной виртуализированной изоляции для обеспечения безопасности, описанные в данном документе, разрешают осуществление доступа к доверенному сетевому ресурсу посредством хостовой операционной системы. Политика может быть дополнительно использована для того, чтобы изолировать сетевые интерфейсы вычислительного устройства, реализующего технологии виртуализированной изоляции для обеспечения безопасности, описанные в данном документе, посредством ограничения доступа к одному или более видов сетевой связи хост-устройства для недоверенных сетевых ресурсов. Например, если хост-устройство поддерживает связь в беспроводной локальной вычислительной сети (WLAN), связь по стандарту широкополосной связи для мобильных устройств, коммутируемые соединения, соединения по виртуальной частной сети (VPN) и прямые соединения, к примеру, последовательные кабельные соединения, прямые кабельные соединения, либо линию инфракрасной связи, сетевая связь, связанная с недоверенными сетевыми ресурсами, может ограничиваться WLAN-связью.

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

[0017] Соответственно, посредством активации контейнеров для того, чтобы осуществлять доступ к недоверенным сетевым ресурсам, технологии аппаратной виртуализированной изоляции для обеспечения безопасности, описанные в данном документе, создают два или более отдельных экземпляра операционной системы или вложенного окружения выполнения, каждый из которых имеет возможности сетевых подключений. Посредством мониторинга данных и операций, выполняемых в этих вложенных окружениях выполнения, технологии аппаратной виртуализированной изоляции для обеспечения безопасности, описанные в данном документе, выполнены с возможностью предотвращать осуществление доступа к недоверенным сетевым ресурсам посредством хостовой операционной системы. Технологии аппаратной виртуализированной изоляции для обеспечения безопасности, описанные в данном документе, дополнительно обеспечивают возможность хост-системе сканировать и совместно использовать информацию DNS и протокола передачи гипертекста (HTTP) из защищенной хостовой операционной системы, чтобы повышать производительность просмотра веб-страниц либо другой сетевой активности в одном или более изолированных контейнеров.

[0018] Технологии аппаратной виртуализированной изоляции для обеспечения безопасности, описанные в данном документе, дополнительно обеспечивают возможность хостовой операционной системе загружать и осуществлять доступ к файлам в изоляции, к примеру, в одном или более контейнеров, которые являются отдельными от ядра хостовой операционной системы. Это обеспечивает возможность хостовой операционной системе сканировать отдельные сетевые ресурсы, такие как файлы, приложения, веб-узлы и т.д., чтобы определять уровень риска, ассоциированный с отдельными отсканированными сетевыми ресурсами.

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

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

Аппаратная виртуализированная изоляция для обеспечения безопасности система

[0021] Фиг. 1 иллюстрирует примерную систему 100, реализующую аппаратную виртуализированную изоляцию для обеспечения безопасности в соответствии с одним или более вариантами осуществления. Система 100 реализуется, по меньшей мере, частично посредством хост-устройства. Любое из множества различных типов вычислительных устройств может использоваться для того, чтобы реализовывать систему 100, к примеру, серверный компьютер, настольный компьютер, переносной компьютер или нетбук, мобильное устройство (например, планшетное или фаблетное устройство, сотовый или другой беспроводной телефон (например, смартфон), компьютер-блокнот, мобильная станция), носимое устройство (например, очки, шлем-дисплей, часы, браслет, очки или гарнитура виртуальной реальности, гарнитура или очки дополненной реальности), электронное мультимедийное устройство (например, электронный мультимедийный прибор, абонентская приставка, функционально соединенная с устройством отображения, игровая приставка), устройство Интернета вещей (IoT) (например, объекты или вещи с программным обеспечением, микропрограммным обеспечением и/или аппаратными средствами, чтобы обеспечивать возможность связи с другими устройствами), телевизионный приемник или другое устройство отображения, автомобильный компьютер и т.д. Таким образом, вычислительное устройство, реализующее систему 100, может варьироваться в диапазоне от полноресурсного устройства со значительными ресурсами запоминающего устройства и процессора (такого как персональные компьютеры, игровые консоли) до малоресурсного устройства с ограниченными ресурсами запоминающего устройства и/или обработки (такого как традиционные абонентские приставки, карманные игровые консоли).

[0022] Система 100 включает в себя хостовую операционную систему 102, службу 104 управления и мониторинга и веб-прокси-сервер 106. Служба 104 управления и мониторинга представляет службу, которая предоставляет одну или более административных политик для вычислительного устройства, реализующего хостовую операционную систему 102, как пояснено в данном документе. Веб-прокси-сервер 106 представляет функциональность, которая управляет доступом к одному или более сетевых ресурсов 122(1), …, 122(m), к которым осуществляется доступ удаленно из вычислительного устройства, реализующего хостовую операционную систему 102. Например, в одном или более вариантах осуществления, веб-прокси-сервер 106 управляет доступом к одному или более ресурсов, к которым осуществляется доступ из сети 108, посредством требования аутентификации из хостовой операционной системы 102, как подробнее пояснено ниже. Альтернативно, в одном или более вариантах осуществления, вычислительное устройство, реализующее хостовую операционную систему 102, осуществляет доступ к сетевым ресурсам через сеть 108, независимую от веб-прокси-сервера. Сеть 108 представляет функциональность сети передачи данных, такую как Интернет, локальная вычислительная сеть (LAN), телефонная сеть общего пользования, сеть intranet, другие сети общего пользования и/или коммерческие сети, комбинации вышеозначенного и т.д. В связи с этим, сетевые ресурсы 122(1), …, 122(m), к которым осуществляется доступ через сеть 108, могут включать в себя веб-узлы, веб-приложения, почтовые сообщения, документы и т.д.

[0023] В одном или более вариантах осуществления, хостовая операционная система 102, служба 104 управления и мониторинга и веб-прокси-сервер 106 реализуются как часть идентичного вычислительного устройства. Альтернативно, по меньшей мере, часть службы 104 управления и мониторинга и/или веб-прокси-сервера 106 может реализовываться на устройстве, которое является отдельным и удаленным от устройства, реализующего хостовую операционную систему 102. Например, в одном или более вариантах осуществления, служба 104 управления и мониторинга реализуется как служба управления мобильными устройствами (MDM), расположенная удаленно от вычислительного устройства, реализующего хостовую операционную систему 102. Альтернативно или дополнительно, служба 104 управления и мониторинга может реализовываться как сервер на основе упрощенного протокола доступа к каталогам (LDAP), расположенный удаленно от вычислительного устройства, реализующего хостовую операционную систему 102. Аналогично, веб-прокси-сервер 106 может реализовываться удаленно от устройства, реализующего хостовую операционную систему 102.

[0024] Служба 104 управления и мониторинга выполнена с возможностью предоставлять (например, проталкивать) политику в хостовую операционную систему 102. В одном или более вариантах осуществления, служба 104 управления и мониторинга выполнена с возможностью проталкивать политику в хостовую операционную систему 102 с регулярными интервалами, к примеру, при запуске системы, ежедневно и т.д. Альтернативно, служба 104 управления и мониторинга может быть выполнена с возможностью проталкивать политику в хостовую операционную систему 102 каждый раз, когда имеется обновление политики для хостовой операционной системы. Хотя в данном документе упоминается политика, проталкиваемая в хостовую операционную систему 102, служба 104 управления и мониторинга выполнена с возможностью предоставлять политику в хостовую операционную систему через любые подходящие способы передачи данных (например, через потоковую передачу). Альтернативно, в одном или более вариантах осуществления, хостовая операционная система 102 выполнена с возможностью получать (например, проталкивать) политику из службы 104 управления и мониторинга. Служба 104 управления и мониторинга имеет две роли. Во-первых, служба 104 управления и мониторинга принимает административную конфигурацию для отдельных сетевых ресурсов 122(1), …, 122(m), которые являются, в общем, доступными для пользователя хостовой операционной системы 102. В одном или более вариантах осуществления, эти сетевые ресурсы ассоциированы с индивидуальными уровнями доверия. Например, работодатель может задавать любой сетевой ресурс, который ассоциирован с веб-узлом работодателя, как имеющий высокий уровень доверия. Соответственно, политика для хостовой операционной системы 102 указывает то, что любые сетевые ресурсы, ассоциированные с веб-узлом работодателя, представляют собой доверенные сетевые ресурсы. Вторая роль службы 104 управления и мониторинга заключается в том, чтобы принимать обратную связь из хостовой операционной системы 102 относительно отслеживаемой активности, ассоциированной с отдельными сетевыми ресурсами, и компилировать эту отслеживаемую информацию в отчет для администратора. Этот компилированный отчет может использоваться администратором для того, чтобы обновлять политику, связанную с доверенными сетевыми ресурсами для хостовой операционной системы 102.

[0025] Служба 104 управления и мониторинга может быть выполнена с возможностью принимать конфигурационные данные политики от администратора устройства, которое реализует хостовую операционную систему 102. Как пояснено в данном документе, политика описывает информацию, связанную с доверенными сетевыми ресурсами, такими как доверенные веб-узлы, доверенные сетевые местоположения, доверенные сети и т.д. Когда служба 104 управления и мониторинга принимает политику от администратора, служба 104 управления и мониторинга выполнена с возможностью отправлять обновление политики в целевой набор вычислительных устройств. Целевой набор вычислительных устройств, в которые служба 104 управления и мониторинга отправляет обновления политики, задается администратором в соответствии с одним или более вариантами осуществления. Например, в корпоративном окружении, как пояснено выше, служба 104 управления и мониторинга выполнена с возможностью отправлять обновления политики в каждое вычислительное устройство, ассоциированное с организацией. Каждое вычислительное устройство, которое принимает обновление политики, выполнено с возможностью локально сохранять политику для использования при попытке осуществлять доступ к сетевым ресурсам.

[0026] Как подробнее пояснено ниже, вычислительное устройство, которое реализует хостовую операционную систему 102, выполнено с возможностью динамически отслеживать активность, ассоциированную с сетевыми ресурсами 122(1), …, 122(m), к которым осуществляется доступ. Отслеживаемая активность, ассоциированная с сетевыми ресурсами, обновляется локально в хостовой операционной системе 102 и передается обратно в службу 104 управления и мониторинга. Таким образом, служба 104 управления и мониторинга может непрерывно обновляться, чтобы предоставлять пользователю хостовой операционной системы 102 точный список доверенных сетевых ресурсов.

[0027] Хостовая операционная система 102 также включает в себя подсистему 110 аппаратной виртуализированной изоляции для обеспечения безопасности (HVSI), диспетчер 112 политик, одно или более приложений 114, сетевой фильтр 116, диспетчер 118 контейнеров и подсистему 120 безопасности. Хостовая операционная система 102 также управляет одним или более контейнеров, проиллюстрированных в качестве нескольких (n) контейнеров 130(1), …, 130(n).

[0028] HVSI-подсистема 110 представляет функциональность для вызова интерфейсов прикладного программирования (API) для запросов на изоляцию сети, чтобы определять то, является или нет доверенным запрашиваемый сетевой ресурс. Эти API для запросов на изоляцию сети являются уязвимыми, например, посредством диспетчера 112 политик. Если HVSI-подсистема 110 определяет то, что запрашиваемый сетевой ресурс является доверенным, HVSI-подсистема 110 разрешает осуществление доступа к запрашиваемому сетевому ресурсу посредством хостовой операционной системы 102. Альтернативно, если HVSI-подсистема 110 определяет то, что запрашиваемый сетевой ресурс не является доверенным, HVSI-подсистема 110 инструктирует хостовой операционной системе 102 активировать один или более контейнеров 130(1), …, 130(n) и разрешать одному или более активированных контейнеров осуществлять доступ к недоверенному сетевому ресурсу. Ниже подробнее поясняется функциональность HVSI-подсистемы 110. В соответствии с одним или более вариантами осуществления, HVSI-подсистема 110 определяет то, является или нет запрашиваемый сетевой ресурс доверенным, посредством обмена данными с диспетчером 112 политик.

[0029] Диспетчер 112 политик представляет функциональность для получения и сохранения одной или более политик для вычислительного устройства, реализующего хостовую операционную систему 102. Например, в одном или более вариантах осуществления, диспетчер 112 политик получает и сохраняет одну или более административных политик, которые задают один или более доверенных сетевых ресурсов для хостовой операционной системы 102. В соответствии с одной или более реализаций диспетчер 112 политик получает и сохраняет административные политики из службы 104 управления и мониторинга. Альтернативно или дополнительно, диспетчер 112 политик получает и сохраняет одну или более административных политик из удаленного источника, к примеру, из сети 108. Дополнительно или альтернативно, диспетчер 112 политик принимает и сохраняет одну или более административных политик от пользователя устройства, реализующего хостовую операционную систему 102.

[0030] Приложения 114 включают в себя одно или более приложений, которые выполняются посредством одного или более процессоров вычислительного устройства, реализующего хостовую операционную систему 102. Например, приложения 114 могут включать в себя приложение веб-браузера. Альтернативно или дополнительно, приложения 114 могут включать в себя такие приложения, как почтовые приложения, приложения обработки текстов, приложения для обработки электронных таблиц, приложения для обработки визуального представления и т.п.

[0031] Сетевой фильтр 116 представляет функциональность для соединения устройства, реализующего хостовую операционную систему 102, с сетью, такой как сеть 108. Сетевой фильтр 116 включает в себя, по меньшей мере, одну физическую сетевую интерфейсную карту и, по меньшей мере, одну хостовую виртуальную сетевую интерфейсную плату. Сетевой фильтр 116 дополнительно включает в себя драйвер фильтра, который выполнен с возможностью перехватывать запрашиваемые сетевые ресурсы по мере того, как они передаются из сети 108 в хостовую операционную систему 102. Эти перехваченные сетевые ресурсы затем сравниваются посредством HVSI-подсистемы 110 с одной или более политик, сохраненных в диспетчере 112 политик. Таким образом, сетевой фильтр 116 обеспечивает то, что предотвращается доступ хостовой операционной системы 102 к недоверенным сетевым ресурсам. Аналогично, сетевой фильтр 116 обеспечивает то, что один или более контейнеров 130(1), …, 130(n) не способны осуществлять доступ к доверенным сетевым ресурсам. Например, в одном или более вариантах осуществления, сетевой фильтр 116 выполнен с возможностью изменять данные, ассоциированные с отдельными пакетами доверенного сетевого ресурса, чтобы обеспечивать то, что к доверенному сетевому ресурсу осуществляется доступ только посредством хостовой операционной системы 102, и предотвращается осуществление доступа к нему посредством любого из одного или более контейнеров 130(1), …, 130(n).

[0032] Хостовая операционная система 102 дополнительно включает в себя диспетчер 118 контейнеров. Диспетчер 118 контейнеров управляет диспетчеризацией контейнеров 130(1), …, 130(n) в системе 100 и определяет то, какие контейнеры 130(1), …, 130(n) выполняются в хостовой операционной системе 102 в какие моменты времени. Диспетчер 118 контейнеров также отвечает за активацию одного или более контейнеров 130(1), …, 130(n) для отдельного пользователя системы 100 и за обеспечение того, что другие пользователи системы 100 не могут осуществлять доступ к одному или более контейнеров 130(1), …, 130(n), созданных для отдельного пользователя. Диспетчер 118 контейнеров также выполнен с возможностью собирать журналы регистрации и трассировки из любого одного или более созданных контейнеров 130(1), …, 130(n) для индикаторов системы телеметрии и безопасности. Например, в одном или более вариантах осуществления, диспетчер 118 контейнеров обращается к антивирусным приложениям, установленным относительно хостовой операционной системы 102, чтобы интерпретировать собранную информацию, и предоставляет отслеживаемые данные HVSI-подсистеме 110. В зависимости от числа физических процессоров и/или ядер процессора в вычислительном устройстве, выполняющем хостовую операционную систему 102, один контейнер 130(1), …, 130(n) может выполняться за один раз (например, в случае одного процессора с одноядерным), либо альтернативно, несколько контейнеров 130(1), …, 130(n) могут выполняться параллельно (например, в случае нескольких процессоров и/или нескольких ядер процессора). Дополнительно, в одном или более вариантах осуществления, диспетчер 118 контейнеров выполнен с возможностью отслеживать изменения пользовательской конфигурации, которые выполняются в одном или более контейнеров 130(1), …, 130(n). Например, диспетчер 118 контейнеров выполнен с возможностью обнаруживать изменения предпочтений пользователя, ассоциированных с веб-узлом, к которому осуществляется доступ в одном из контейнеров 130(1), …, 130(n). Хостовая операционная система 102 выполнена с возможностью использовать эти обнаруженные изменения контейнера и применять их к одному или более связанных веб-узлов, к которым осуществляется доступ в хостовой операционной системе.

[0033] Подсистема 120 безопасности представляет функциональность для принудительной активации политики безопасности в хостовой операционной системе 102. Подсистема 120 безопасности выполнена с возможностью верифицировать вход пользователя в учетную запись устройства, реализующего хостовую операционную систему 102, обрабатывать изменения пароля для вошедшего в учетную запись пользователя, создавать маркеры доступа для вошедшего в учетную запись пользователя и т.д.

[0034] Каждый контейнер 130(1), …, 130(n) может реализовываться различными способами. Один тип контейнера, в качестве которого может реализовываться контейнер 130, упоминается как контейнер процессов. Для контейнера процессов, прикладные процессы в контейнере выполняются, как если они работают в собственной отдельной системе (например, в вычислительном устройстве), которая выполняется с использованием изоляции пространств имен. Операционная система хоста 102 реализует изоляцию пространств имен. Изоляция пространств имен предоставляет процессы в контейнере в составном виде, состоящем из совместно используемых частей хостовой операционной системы 102 и изолированных частей операционной системы, которые являются конкретными для каждого контейнера, таких как файловая система, конфигурация, сеть и т.д.

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

[0036] В одном или более вариантах осуществления, каждый контейнер 130(1), …, 130(n) включает в себя одно или более виртуальных приложений 132(1), …, 132(n). Отдельные одно или более виртуальных приложений 132(1), …, 132(n) соответствуют экземплярам отдельных приложений 114 в хостовой операционной системе 102. Виртуальные приложения 132(1), …, 132(n) в силу этого являются применимыми для того, чтобы осуществлять доступ к недоверенным сетевым ресурсам в одном или более контейнеров 130(1), …, 130(n) аналогично тому, как одно из приложений 114 должно осуществлять доступ к доверенному сетевому ресурсу в хостовой операционной системе 102.

[0037] После рассмотрения примерной системы для реализации аппаратной виртуализированной изоляции для обеспечения безопасности, теперь рассмотрим примерную архитектуру для системы, реализующей аппаратную виртуализированную изоляцию для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

Архитектура системы

[0038] Фиг. 2 иллюстрирует примерную архитектуру 200 системы для аппаратной виртуализированной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления. Хотя пояснено в данном документе в качестве аппаратной виртуализированной изоляции для обеспечения безопасности, следует понимать и принимать во внимание, что технологии, поясненные в данном документе, также могут упоминаться как изоляция на основе виртуализации (VBI). Архитектура 200 системы реализуется, по меньшей мере, частично посредством вычислительного устройства. Любое из множество различных типов вычислительных устройств может использоваться для того, чтобы реализовывать архитектуру 200 системы, аналогично вышеприведенному пояснению относительно типов того, что может использоваться для того, чтобы реализовывать систему 100 по фиг. 1.

[0039] В проиллюстрированном примере, вычислительное устройство, реализующее архитектуру 200 системы, включает в себя две отдельные и изолированные части: хостовую операционную систему 102 и контейнер 130. Хостовая операционная система 102 изолируется от любого одного или более контейнеров 130, чтобы защищать хостовую операционную систему от атак или заражений, которые могут получаться в результате недоверенных сетевых ресурсов, как проиллюстрировано посредством пунктирной линии на фиг. 2.

[0040] Хостовая операционная система 102 проиллюстрирована как включающая в себя HVSI-подсистему 110, диспетчер 112 политик, сетевой фильтр 116, диспетчер 118 контейнеров и подсистему 120 безопасности. Дополнительно, хостовая операционная система 102 включает в себя приложение 202, которое может представлять собой одно из приложений 114, проиллюстрированных на фиг. 1. Приложение 202 включает в себя HVSI-библиотеку 204, функциональность которой подробнее поясняется ниже.

[0041] Контейнер 130 включает в себя виртуальное приложение 206, которое представляет экземпляр приложения 202, включенного в хостовую операционную систему 102. Контейнер 130 дополнительно включает в себя виртуальную подсистему 210 безопасности, функциональность которой подробнее поясняется ниже. Дополнительно, контейнер 130 включает в себя систему 214 входа в учетную запись, которая представляет функциональность диспетчера контента 118, чтобы управлять и отслеживать активность сетевых ресурсов в одном или более контейнеров 130, активированных посредством устройства, реализующего архитектуру 200 системы.

[0042] Хостовая операционная система 102 и контейнер 130, хотя изолированы друг от друга, функционально соединяются через шину 216 виртуальной машины. Шина 216 виртуальной машины представляет собой канал связи, который обеспечивает возможность частям хоста и контейнера обмениваться данными между собой. Дополнительно или альтернативно, хостовая операционная система 102 и контейнер 130 функционально соединяются через другие средства, такие как физическая сеть, виртуальная сеть, соединения по протоколу на основе блоков простых сообщений (SMB) или на основе удаленного вызова процедур (RPC).

[0043] После рассмотрения архитектуры системы для системы, реализующей аппаратную виртуализированную изоляцию для обеспечения безопасности, теперь рассмотрим функциональность отдельных компонентов, проиллюстрированных в части хоста и части контейнера архитектуры 200 системы.

HVSI-подсистема

[0044] HVSI-подсистема 110 представляет функциональность для реализации аппаратной виртуализированной изоляции для обеспечения безопасности в вычислительном устройстве, реализующем архитектуру 200 системы. Чтобы реализовывать аппаратную виртуализированную изоляцию для обеспечения безопасности, HVSI-подсистема 110 выполнена с возможностью обмениваться данными с диспетчером 112 политик, сетевым фильтром 116, диспетчером 118 контейнеров, подсистемой 120 безопасности, приложением 202 и любым одним или более контейнеров 130. В одном или более вариантах осуществления, HVSI-подсистема 110 автоматически запускается после запуска вычислительного устройства, реализующего архитектуру 200 системы. Альтернативно, HVSI-подсистема 110 запускается в другие моменты времени, к примеру, посредством HVSI-библиотеки 204 приложения 202, когда приложение 202 запускается посредством хостовой операционной системы.

[0045] Когда HVSI-подсистема 110 запускается, она вызывает диспетчер 118 контейнеров для того, чтобы создавать контейнер для пользователя, вошедшего в учетную запись на вычислительном устройстве, реализующем архитектуру 200 системы, если контейнер для пользователя уже не существует. Диспетчер 118 контейнеров должен создавать случайные или псевдослучайные уникальные учетные данные локальной учетной записи, которые следует использовать для того, чтобы соединяться с контейнером. Эти учетные данные локальной учетной записи известны только для хостовой операционной системы 102 и используются для того, чтобы соединять хостовую операционную систему 102 с контейнером. Транзакция учетных данных локальной учетной записи между хостовой операционной системой 102 и контейнером является прозрачной для пользователя хостовой операционной системы 102 и предотвращает соединение злонамеренных атак или заражений с контейнером по физическому сетевому Интернет-соединению хостовой операционной системы 102. В вариантах осуществления, в которых хостовая операционная система 102 имеет множество пользователей, диспетчер 118 контейнеров выполнен с возможностью создавать отдельные контейнеры для отдельных пользователей. Каждый отдельный контейнер имеет различные случайные или псевдослучайные уникальные учетные данные локальной учетной записи таким образом, что осуществление доступа хостовой операционной системы 102 к любым контейнерам, которые не созданы для вошедшего в учетную запись пользователя, ограничивается. Диспетчер 118 контейнеров обеспечивает разделение контейнеров посредством аутентификации ассоциированных учетных данных пользователя до разрешения доступа к одному или более контейнеров.

[0046] HVSI-подсистема 110 затем инструктирует диспетчеру 118 контейнеров приостанавливать контейнер до тех пор, пока HVSI-подсистема 110 не обнаруживает то, что приложение, выполняемое на вычислительном устройстве, реализующем архитектуру 200 системы, пытается осуществлять доступ к одному или более недоверенных сетевых ресурсов. HVSI-подсистема 110 выполнена с возможностью отслеживать связь между хостовой операционной системой и одним или более местоположений удаленных ресурсов на основе информации, предоставляемой в HVSI-подсистему 110 посредством сетевого фильтра 116.

[0047] Когда хостовая операционная система 102 пытается осуществлять доступ к сетевому ресурсу, HVSI-подсистема 110 обменивается данными с диспетчером 112 политик, чтобы определять то, представляет собой запрашиваемый сетевой ресурс или нет доверенный сетевой ресурс. Если HVSI-подсистема 110 определяет то, что запрашиваемый сетевой ресурс представляет собой доверенный сетевой ресурс, HVSI-подсистема 110 разрешает осуществление доступа к доверенному сетевому ресурсу посредством приложения в хостовой операционной системе 102, такого как приложение 202. Информация, ассоциированная с сетевым ресурсом, который HVSI-подсистема 110 может использовать для того, чтобы определять то, является или нет сетевой ресурс доверенным, включает в себя, тип файла, тип приложения, результаты антивирусного сканирования сетевого ресурса, вирусную сигнатуру, информацию источников почтовых сообщений, метаданные документов, URL-адреса, IP-адреса, TCP-порты, DNS-имя, идентификаторы аппаратных устройств или комбинации вышеозначенного. Например, если HVSI-подсистема 110 выявляет, что приложение 202 запрашивает осуществление навигации в конкретную веб-страницу, HVSI-подсистема 110 сравнивает информацию, ассоциированную с конкретной веб-страницей, с одной или более политик из диспетчера 112 политик, и разрешает приложению 202 осуществлять доступ к конкретной веб-странице в ответ на определение того, что конкретная веб-страница является доверенной. HVSI-подсистема 110 определяет то, что конкретная веб-страница является доверенной, например, на основе одного или более из полностью определенного доменного имени (FQDN) конкретной веб-страницы, корневого доменного имени веб-узла с использованием сервера доменных имен (DNS), адреса по Интернет-протоколу (IP) либо аналогичного способа адресации на основе универсальных указателей ресурса (URL-адресов). В соответствии с одним или более вариантами осуществления, HVSI-подсистема 110 дополнительно выполнена с возможностью определять то, является или нет сетевой ресурс доверенным, посредством приема информации из облачной службы, реализованной удаленно от вычислительного устройства 102, которое поддерживает список злоумышленных сетевых ресурсов. Например, если HVSI-подсистема 110 выявляет, что приложение 202 запрашивает осуществление навигации в конкретную веб-страницу, HVSI-подсистема 110 обращается к облачной службе через сеть 108, чтобы сравнивать конкретную веб-страницу со списком потенциально злоумышленных сетевых ресурсов, сохраненных в облачной службе. Если облачная служба указывает то, что конкретный веб-узел включен в список потенциально злоумышленных сетевых ресурсов, конкретная веб-страница определяется как недоверенная.

[0048] Альтернативно, если HVSI-подсистема 110 определяет то, что запрашиваемый сетевой ресурс не представляет собой доверенный сетевой ресурс, HVSI-подсистема 110 инструктирует диспетчеру 118 контейнеров активировать контейнер 130 с тем, чтобы обрабатывать недоверенный сетевой ресурс. На основе типа приложения, которое запрашивает недоверенный сетевой ресурс в хост-системе, HVSI-подсистема 110 инструктирует диспетчеру 118 контейнеров запускать виртуальную версию приложения в контейнере 130. Например, если HVSI-подсистема 110 определяет то, что приложение 202 запрашивает доступ к недоверенному сетевому ресурсу, HVSI-подсистема 110 инструктирует диспетчеру 118 контейнеров создавать виртуальное приложение 206 в контейнере 130. Таким образом, контейнер 130 выполнен с возможностью взаимодействовать с одним или более недоверенных сетевых ресурсов, идентично тому, как хостовая операционная система 102 должна взаимодействовать с одним или более доверенных сетевых ресурсов. В одном или более вариантах осуществления, контейнер 130 активируется посредством и реализуется на устройстве, реализующем хостовую операционную систему 102. Альтернативно, контейнер 130 активируется посредством и реализуется на устройстве, которое отличается от устройства, реализующего хостовую операционную систему 102. Альтернативно, контейнер 130 реализуется посредством устройства, которое отличается от устройства, реализующего операционную систему 102, но активируется посредством устройства, реализующего хостовую операционную систему 102.

[0049] Для возможности пользователю вычислительного устройства, реализующего хостовую операционную систему 102, просматривать и иначе взаимодействовать с любым одним или более недоверенных сетевых ресурсов, к которым осуществляется доступ посредством виртуального приложения в контейнере 130, HVSI-подсистема 110 выполнена с возможностью обмениваться данными с контейнером 130, чтобы инструктировать отображение интерфейса для виртуального приложения 206. Например, в одном или более вариантах осуществления, HVSI-подсистема 110 использует режим локальной интеграции удаленных приложений (RAIL) протокола удаленного рабочего стола (RDP) с использованием шины 216 виртуальной машины. Таким образом, хостовая операционная система 102 может отображать интерфейс виртуального приложения 206 на устройстве отображения устройства, реализующего хостовую операционную систему 102. В одном или более вариантах осуществления, интерфейс имеет такую конфигурацию, в которой пользователь хостовой операционной системы 102 воспринимает интерфейс в качестве части самой хостовой операционной системы. Альтернативно, HVSI-подсистема 110 выполнена с возможностью отображать интерфейс, соответствующий виртуальному приложению 206, с визуальным индикатором того, что отображаемый интерфейс соответствует одному или более недоверенных сетевых ресурсов. В других вариантах осуществления, HVSI-подсистема 110 использует X-оконную систему или альтернативную реализацию удаленного рабочего стола для того, чтобы отображать интерфейс, соответствующий виртуальному приложению 206.

[0050] После того, как контейнер 130 активируется посредством диспетчера 118 контейнеров, сетевой фильтр 116 фильтрует все вызовы сетевых ресурсов из хостовой операционной системы 102 и контейнера 130. Например, HVSI-подсистема 110 инструктирует сетевому фильтру 116 блокировать все вызовы в недоверенные сетевые ресурсы из хостовой операционной системы 102 и разрешать только вызовы в доверенные сетевые ресурсы из хостовой операционной системы 102. Аналогично, HVSI-подсистема 110 инструктирует сетевому фильтру 116 разрешать все вызовы в недоверенные сетевые ресурсы из контейнера 130 и блокировать все вызовы в доверенные сетевые ресурсы из контейнера 130.

[0051] HVSI-подсистема 110 выполнена с возможностью инструктировать диспетчеру 118 контейнеров отслеживать всю активность, ассоциированную с недоверенными сетевыми ресурсами, к которым осуществляется доступ посредством контейнера 130. Когда HVSI-подсистема 110 принимает индикатор из диспетчера 118 контейнеров в отношении того, что все экземпляры виртуальных приложений 206, выполняемых в контейнере 130, завершаются, HVSI-подсистема 110 завершает любое соединение между хостовой операционной системой 102 и любыми контейнерами 130, к которым осуществляется доступ посредством хостовой операционной системы 102. HVSI-подсистема 110 в таком случае должна либо приостанавливать, либо завершать один или более контейнеров 130. Например, в одном или более вариантах осуществления, когда HVSI-подсистема 110 выявляет, что обработка виртуального приложения 206 завершена, HVSI-подсистема 110 завершает соединение с контейнером 130 и приостанавливает контейнер, чтобы ожидать дополнительных запросов на предмет недоверенных сетевых ресурсов. Альтернативно, если HVSI-подсистема 110 определяет то, что пользователь выходит из учетной записи на устройстве, реализующем архитектуру 200 системы, HVSI-подсистема 110 завершает любой один или более контейнеров 130, которые активированы посредством хостовой операционной системы 102.

[0052] Посредством обмена данными с компонентами хостовой операционной системы 102, такими как диспетчер 112 политик, сетевой фильтр 116, диспетчер 118 контейнеров и подсистема 120 безопасности, HVSI-подсистема 110 выполнена с возможностью определять то, является или нет запрашиваемый сетевой ресурс доверенным, ограничивать открытие недоверенных сетевых ресурсов для изолированного контейнера и управлять одним или более процессами, выполняемыми в изолированном контейнере. Это обеспечивает возможность HVSI-подсистеме 110 выполнять технологии аппаратной виртуализированной изоляции для обеспечения безопасности, чтобы защищать устройство, реализующее хостовую операционную систему 102, от атак или заражений на уровне ядра, которые могут вызываться посредством недоверенных сетевых ресурсов.

[0053] После рассмотрения примерной архитектуры системы хостовой операционной системы, которая выполняет аппаратную виртуализированную изоляцию для обеспечения безопасности, теперь рассмотрим отдельные компоненты хостовой операционной системы в соответствии с одним или более вариантами осуществления.

Диспетчер политик

[0054] Диспетчер 112 политик представляет функциональность хостовой операционной системы 102 для получения и сохранения одной или более политик для вычислительного устройства, реализующего хостовую операционную систему. Например, диспетчер 112 политик выполнен с возможностью получать и сохранять одну или более политик из службы 104 управления и мониторинга, проиллюстрированной на фиг. 1. Каждая из одной или более политик указывает один или более доверенных сетевых ресурсов, к которым хостовой операционной системе 102 разрешается осуществлять доступ. Дополнительно, политика может указывать один или более объектов политики и один или более соответствующих параметров безопасности для объекта политики. Эти объекты политики и соответствующие параметры безопасности предоставляют ограничения, задающие то, как хостовая операционная система может взаимодействовать с одним или более недоверенных сетевых ресурсов.

[0055] Например, объект политики может идентифицировать то, разрешается или нет хостовой операционной системе 102 реализовывать виртуальные приложения в изолированных контейнерах, таких как контейнер 130. Если соответствующий параметр безопасности для этого объекта политики указывает то, что хостовой операционной системе 102 разрешается реализовывать виртуальные приложения и изолированные контейнеры, то хостовая операционная система может открывать один или более недоверенных сетевых ресурсов в виртуальном приложении 206 изолированного контейнера 130. Альтернативно или дополнительно, объект политики указывает определенные виртуальные приложения, которые разрешается открывать в изолированном контейнере. Соответствующий параметр безопасности для этого объекта политики может идентифицировать одно или более конкретных приложений, которым разрешается виртуальное открытие в изолированном контейнере. Альтернативно или дополнительно, объект политики указывает то, что хостовая операционная система 102 может копировать между изолированным контейнером 130 и самой хостовой операционной системой 102. Соответствующий параметр безопасности указывает один или более типов файлов, которые могут копироваться в промежутке между изолированным контейнером 130 и хостовой операционной системой 102. Альтернативно или дополнительно, объект политики указывает настройки печати для виртуальных приложений, открытых в изолированном контейнере 130. Соответствующий параметр безопасности для этого объекта политики указывает то, может или нет выполнять печать виртуальное приложение 206, исполняющееся в изолированном контейнере 130, и если может, один или более принтеров, приложений или типов файлов, для которых виртуальному приложению 206 разрешается выполнять печать. Альтернативно или дополнительно, объект политики указывает то, разрешается или нет сетевой трафик для виртуального приложения 206. Соответствующий параметр безопасности для этого объекта политики может указывать одно или более виртуальных приложений, для которых сетевой трафик разрешается в изолированном контейнере. Альтернативно или дополнительно, объект политики указывает то, разрешаются или нет фоновые задачи для виртуального приложения 206. Соответствующий параметр безопасности указывает одно или более виртуальных приложений, для которых фоновые задачи разрешаются в изолированном контейнере 130. Альтернативно или дополнительно, объект политики указывает то, разрешается или нет виртуальному приложению 206, выполняемому в контейнере, использовать один или более аппаратных ресурсов вычислительного устройства, реализующего хостовую операционную систему 102, таких как GPU вычислительного устройства для графического ускорения.

[0056] Следующая таблица предоставляет примерный набор объектов политики и соответствующих параметров безопасности, таких как объекты политики и параметры безопасности, поясненные выше. В соответствии со стандартным процедурами обеспечения безопасности, эта примерная политике имеет подразумеваемое правило доступа по принципу "отказ по умолчанию", которое не проиллюстрировано. Тем не менее, следует понимать и принимать во внимание, что поясненные объекты политики и соответствующие параметры безопасности являются примерными и не являются исчерпывающими по объему.

Объект политики Параметр безопасности Разрешить изоляцию виртуальных приложений в контейнере? Да Виртуальные приложения для изоляции контейнеров Веб-браузер, блокнот, приложение обработки текстов, почтовое приложение Настройки буфера обмена Текст и изображения разрешены Настройки печати Принтер 1; печать в PDF; печать в XPS Сетевой трафик для виртуальных изолированных приложений? Активирован для веб-браузера Фоновые задачи для виртуальных изолированных приложений? Активированы для почтового приложения

[0057] Когда хостовая операционная система 102 запускается, HVSI-подсистема 110 контактирует с диспетчером 112 политик, чтобы получать список доверенных сетевых ресурсов для хостовой операционной системы, наряду с любыми объектами политики и соответствующими параметрами безопасности. HVSI-подсистема 110 агрегирует эти доверенные сетевые ресурсы, объекты политики и соответствующие параметры безопасности и применяет эту агрегированную политику к хостовой операционной системе 102. В одном или более вариантах осуществления, запрос на предмет этой агрегированной политики выполняется каждый раз, когда хостовая операционная система 102 запрашивает выполнение действия или пытается осуществлять доступ к сетевому ресурсу. Например, когда хостовая операционная система 102 запрашивает открытие приложения 202, которое включено в параметр безопасности, соответствующий объекту политики "виртуальные приложения для изоляции контейнеров", HVSI-подсистема 110 инструктирует хостовой операционной системе 102 открывать виртуальную версию этого приложения 206 в изолированном контейнере 130.

[0058] HVSI-подсистема 110 дополнительно выполнена с возможностью отслеживать активность в одном или более из изолированного контейнера(ов) 130, чтобы обеспечивать то, что контейнер(ы) не получает доступ к доверенным сетевым ресурсам. Например, если виртуальная версия веб-браузера выполняется в изолированном контейнере 130, и HVSI-подсистема 110 обнаруживает то, что виртуальный веб-браузер пытается осуществлять доступ к сетевому ресурсу, который указывается посредством диспетчера 112 политик в качестве доверенного сетевого ресурса, HVSI-подсистема 110 может предотвращать открытие или иное осуществление доступа к этому доверенному сетевому ресурсу посредством виртуального веб-браузера и вместо этого инструктировать открытие доверенного сетевого ресурса в соответствующем веб-браузере в хостовой операционной системе 102. Посредством ограничения доступа и открытия доверенных сетевых ресурсов для хостовой операционной системы 102 и ограничения доступа и открытия недоверенных сетевых ресурсов для одного или более изолированных контейнеров 130, HVSI-подсистема 110 обеспечивает то, что доверенные сетевые ресурсы не повреждаются посредством недоверенных сетевых ресурсов.

[0059] В дополнение к приему списка доверенных сетевых ресурсов, объектов политики и соответствующих параметров безопасности из диспетчера 112 политик, хостовая операционная система 102 выполнена с возможностью наблюдать одно или более локальных событий, которые могут оказывать влияние на политику для хостовой операционной системы. Например, рассмотрим сценарий, в котором виртуальный веб-браузер выполняется в изолированном контейнере 130. HVSI-подсистема 110 отслеживает поведение каждого сетевого ресурса, к которому осуществляется доступ посредством виртуального веб-браузера в изолированном контейнере 130. Когда виртуальное веб-приложение осуществляет навигацию в недоверенный сетевой ресурс, загрузка недоверенного сетевого ресурса может инструктировать запись в реестр контейнера 130 неожиданным способом. С использованием диспетчера 118 контейнеров, который подробнее поясняется ниже, HVSI-подсистема 110 получает данные из контейнера 130 и вычисляет обновленную локальную политику для недоверенного сетевого ресурса. Например, в одном или более вариантах осуществления, HVSI-подсистема 110 обновляет локальную политику для недоверенного сетевого ресурса посредством деактивации настроек печати и копирования, ассоциированных с недоверенным сетевым ресурсом. HVSI-подсистема 110 затем выполнена с возможностью агрегировать эти полученные данные и сообщать полученные данные в удаленную службу, к примеру, в службу 104 управления и мониторинга, проиллюстрированную на фиг. 1. В соответствии с одним или более вариантами осуществления, HVSI-подсистема 110 обращается к локально установленным приложениям хостовой операционной системы 102, к примеру, к антивирусным приложениям, для получения дополнительной информации при обновлении этой локальной политики. Например, HVSI-подсистема 110 использует одно или более антивирусных приложений для того, чтобы сканировать недоверенный сетевой ресурс в контейнере 130 и назначать уровень безопасности недоверенному сетевому ресурсу. Таким образом, HVSI-подсистема 110 выполнена с возможностью постоянно обновлять политику и дополнительно защищать вычислительное устройство, реализующее хостовую операционную систему 102, от недоверенных сетевых ресурсов.

[0060] В одном или более вариантах осуществления, HVSI-подсистема 110 реализует независимый механизм обработки политик на основе хоста, который отвечает на локальную активность в хостовой операционной системе 102 и контейнере 130. Этот независимый механизм обработки политик на основе хоста уменьшает полные обходы для службы 104 управления и мониторинга, обеспечивая возможность службе управления и мониторинга управлять множеством клиентов. В одном или более вариантах осуществления, диспетчер 112 политик получает шаблон или сигнатуру из службы 104 управления и мониторинга. Диспетчер 112 политик предоставляет этот шаблон или сигнатуру в HVSI-подсистему 110. Когда контейнер 130 активируется, HVSI-подсистема 110 вычисляет требуемую политику на основе комбинации из шаблона или сигнатуры политик, которая совпадает с активностью, наблюдаемой в контейнере 130. Например, если виртуальное веб-приложение выполняется в контейнере 130, и сетевой ресурс, к которому виртуальное веб-приложение пытается осуществлять доступ в качестве URL-адреса, совпадает с комбинацией в шаблоне политик, HVSI-подсистема 110 вычисляет уровень риска и обновляет политику. Это динамически приводит к применению конкретного действия к виртуальному приложению в контейнере 130, к примеру, действия разрешения, действия блокировки или действия перенаправления. В этом варианте осуществления, политика является динамической, разгружая локальную оценку и политику от службы 104 управления и мониторинга на HVSI-подсистему 110.

[0061] В качестве альтернативного примера, рассмотрим сценарий, в котором пользователь загружает и устанавливает новое приложение из недоверенного веб-узла в контейнере 130. В этом примере, HVSI-подсистема 110 оценивает загруженное приложение на предмет существующей политики и вычисляет политику, которая применяется к загруженному приложению в изолированном контейнере 130. В одном или более вариантах осуществления, эта вычисленная политика основана на одном или более объектов политики и соответствующих параметров безопасности аналогичных приложений. Например, если загруженное приложение представляет собой почтовое приложение, HVSI-подсистема 110 идентифицирует один или более объектов политики и соответствующих параметров безопасности, связанных с другими почтовыми приложениями, и применяет аналогичные настройки политики для загруженного почтового приложения. HVSI-подсистема 110 выполнена с возможностью отслеживать активность, ассоциированную с загруженным приложением в контейнере 130, и выполнена с возможностью повторно вычислять локальную политику на основе этой наблюдаемой активности. Дополнительно или альтернативно, информация, описывающая наблюдаемую активность любого одного или более загруженных приложений или сетевых ресурсов, к которым осуществляется доступ в контейнере 130, агрегируется и передается в удаленную службу, такую как служба 104 управления и мониторинга, проиллюстрированная на фиг. 1. В некоторых вариантах осуществления, хостовая операционная система 102 выполняет локальный анализ для информации, описывающей наблюдаемую активность в контейнере 130, и вычисляет дополнительную политику безопасности. Например, если загруженное приложение демонстрирует аномальное поведение, загруженное приложение может завершаться, и контейнер сбрасывается в свое предыдущее рабочее состояние до загрузки приложения. Как пояснено в данном документе, аномальное поведение в контейнере означает, например, индикатор, который интерпретируется посредством HVSI-подсистемы 110 в качестве попытки компрометировать ядро или операционную систему контейнера 130.

[0062] Чтобы принудительно активировать политику для хостовой операционной системы 102, HVSI-подсистема 110 использует один или более сетевых фильтров, к примеру, сетевой фильтр 116.

Сетевой фильтр

[0063] Сетевой фильтр 116 представляет функциональность для перехвата и проверки входящего и исходящего сетевого трафика для хостовой операционной системы 102. Сетевой фильтр 116 имеет функциональность принудительной активации для сетевого трафика, включающей в себя перенаправление, блокирование и/или модификацию сетевого трафика, в числе других возможностей. Например, сетевой фильтр 116 выполнен с возможностью перехватывать и проверять весь сетевой трафик и обмен данными в промежутке между хостовой операционной системой 102 и любым одним или более изолированных контейнеров 130. Аналогично, сетевой фильтр 116 выполнен с возможностью перехватывать и проверять весь сетевой трафик и обмен данными в промежутке между хостовой операционной системой 102 и любыми местоположениями удаленных ресурсов, к которым осуществляется доступ через сеть, к примеру, через сеть 108, проиллюстрированную на фиг. 1. В одном или более вариантах осуществления, чтобы обеспечивать взаимодействие хостовой операционной системы 102 с любым одним или более изолированных контейнеров 130, сетевой фильтр 116 включает в себя виртуальный коммутатор, по меньшей мере, одну сетевую интерфейсную плату для хостовой операционной системы и одну или более виртуальных сетевых интерфейсных плат для одного или более изолированных контейнеров.

[0064] С использованием политики, принимаемой из диспетчера 112 политик, HVSI-подсистема 110 взаимодействует с сетевым фильтром 116, чтобы обеспечивать то, что контейнер 130 не имеет возможность осуществлять доступ к доверенным сетевым ресурсам. Аналогично, HVSI-подсистема 110 взаимодействует с сетевым фильтром 116, чтобы обеспечивать то, что хостовая операционная система 102 не имеет возможность осуществлять доступ или иным образом открывать любые один или более недоверенных сетевых ресурсов. В одном или более вариантах осуществления, сетевой фильтр 116 выполнен с возможностью изменять данные отдельных пакетов, ассоциированных с доверенными сетевыми ресурсами, чтобы обеспечивать то, что доверенные данные остаются в хостовой операционной системе 102 и не протекают в контейнер 130. Как подробнее пояснено ниже, в сценарии аутентификации через прокси-сервер, сетевой фильтр 116 вводит учетную информацию в сетевой трафик, чтобы обеспечивать прокси-прохождение и предотвращать утечку или иное осуществление доступа к учетным данным посредством контейнера. В некоторых вариантах осуществления, сетевой фильтр 116 проверяет достоверность того, что сетевой трафик исходит или завершается в сетевом ресурсе, относительно которого выполнен запрос во время DNS-поиска. Чтобы добиваться этого, идентификаторы на основе разрешенных сетевых ресурсов встраиваются внутри контейнера и ассоциируются с одним или более имен сетевых ресурсов. Сетевой стек в контейнере включает эти идентификаторы в сетевой трафик. Сетевой фильтр 116 проверяет достоверность того, соответствует или нет идентификатор имени сетевого ресурса. Если проверка достоверности завершается удачно, трафик перенаправляется, если она завершается неудачно, трафик отбрасывается. В некоторых вариантах осуществления, сетевой фильтр 116 выделяет идентификатор из перенаправленного сетевого трафика.

[0065] В соответствии с одним или более вариантами осуществления, сетевой фильтр 116 реализуется как расширение виртуального коммутатора. Альтернативно, сетевой фильтр 116 реализуется как любой модуль, который имеет несколько возможностей, включающих в себя перехват, проверку, перенаправление, модификацию и блокирование сетевого трафика. В других вариантах осуществления, сетевой фильтр встроен в брандмауэр или другое защитное программное обеспечение вычислительного устройства, реализующего хостовую операционную систему 102. В соответствии с одним или более вариантами осуществления, сетевой фильтр 116 устанавливается в хостовой операционной системе 102, когда политика принимается в хостовой операционной системе. Например, сетевой фильтр 116 может устанавливаться, когда диспетчер 112 политик принимает политику из службы 104 управления и мониторинга, проиллюстрированной на фиг. 1. Тем не менее, поскольку сетевой фильтр 116 требует ресурсов (например, запоминающего устройства) устройства, реализующего хостовую операционную систему 102, в одном или более вариантах осуществления, сетевой фильтр 116 не устанавливается, когда не присутствует политика в хостовой операционной системе. Таким образом, когда отсутствует политика для того, чтобы отклонять недоверенные сетевые ресурсы в изолированные контейнеры, к примеру, в контейнер 130, сетевой фильтр 116 не устанавливается, чтобы уменьшать объем служебной информации по ресурсам.

[0066] В некоторых вариантах осуществления, сетевой фильтр 116 принудительно активирует то, какой сетевой интерфейс используется для того, чтобы соединяться с ресурсом. Например, в то время как хостовая операционная система 102 находится в организации, предполагается обеспечение безопасности. В организации, приложение 202, исполняющееся в хостовой операционной системе 102, может просто использовать любой доступный физический интерфейс (например, Ethernet, Wi-Fi и т.д.). Тем не менее, когда хостовая операционная система 102 находится в сети общего пользования (например, за пределами организации в общедоступном Wi-Fi кофейни), сетевой фильтр 116 может разрешать приложению 202 и другим приложениям, исполняющимся в хостовой операционной системе 102, использовать только определенный сетевой интерфейс, такой как VPN-интерфейс, что повышает сетевую безопасность. В некоторых конфигурациях, сетевой фильтр 116 разрешает одному или более приложений, выполняемых в контейнере 130, осуществлять доступ к сети общего пользования без использования VPN. В вариантах осуществления, в которых один сетевой интерфейс изолируется для связи хостовой операционной системы 102, и другой сетевой интерфейс изолируется для связи контейнера 130, сетевой фильтр 116 выполнен с возможностью предоставлять индикатор сетевому стеку контейнера 130 в отношении того, что сетевая связь для контейнера изолируется, в другой сетевой интерфейс.

[0067] HVSI-подсистема 110 вызывает сетевой фильтр 116 и инструктирует сетевому фильтру 116 присоединять себя к сетевым портам устройства, реализующего хостовую операционную систему 102. После того, как сетевой фильтр 116 присоединяется к сетевым портам, можно отслеживать, фильтровать и/или блокировать сетевой трафик. В одном или более вариантах осуществления, сетевой фильтр 116 включает в себя локальный DNS-сервер, чтобы дополнительно принудительно активировать политику для хостовой операционной системы 102. Например, в одном или более вариантах осуществления, DNS-сервер сетевого фильтра 116 преобразует сетевые ресурсы в соответствующие IP-адреса, чтобы верифицировать источник отдельных сетевых ресурсов. В одной или более реализаций, сетевой фильтр 116 включает в себя одну или более систем управления вводом-выводом (IOCTL), которые выполнены с возможностью разрешать или блокировать сетевой трафик как для хостовой операционной системы 102, так и для любого одного или более контейнеров 130. В других реализациях, эта конфигурация выполняется через API, файл или командную оболочку.

[0068] Сетевой фильтр 116 выполнен с возможностью отслеживать сетевой трафик (например, HTTP-трафик), чтобы обеспечивать то, что хостовая операционная система 102 и контейнер 130 не осуществляют доступ к сетевым ресурсам, которые не разрешаются для соответствующей хостовой операционной системы или контейнера. Чтобы отслеживать HTTP-трафик, сетевой фильтр 116 выполняет проверку HTTP-заголовков с одним или более веб-прокси-серверов, упрощающих сетевой трафик между хостовой операционной системой 102 и/или любым одним или более изолированных контейнеров 130, таких как веб-прокси-сервер 106, проиллюстрированный на фиг. 1. Альтернативно, в соответствии с одним или более вариантами осуществления, сетевой фильтр 116 выполнен с возможностью реализовывать собственный HTTP-прокси-сервер.

[0069] Чтобы поддерживать функции сетевой связи в проксированных окружениях и через изменения сети, сетевой фильтр 116 включает в себя транслятор сетевых адресов (NAT). NAT предоставляет контейнеру 130 частную сеть и шлюз, чтобы достигать сети за пределами хостовой операционной системы 102. В соответствии с одним или более вариантами осуществления, NAT выполнен с возможностью передавать конфигурацию внешнего сетевого прокси-сервера и перенаправлять уведомления в отношении изменений во внешней сети в хостовую операционную систему 102. Например, в одном или более вариантах осуществления, сетевой фильтр 116 использует NAT для того, чтобы перенаправлять уведомления в отношении изменений в сети в хостовую операционную систему 102, когда состояние сетевого соединения изменяется, к примеру, когда сетевой адаптер по стандарту Wi-Fi (IEEE 802.11) выходит или входит в диапазон Wi-Fi-сети. Дополнительно, NAT сетевого фильтра 116 выполнен с возможностью эмулировать идентификационные данные внешней сети, чтобы обеспечивать то, что контейнер 130 может корректно идентифицировать различные сети. Например, NAT может принимать адрес уровня управления доступом к среде (MAC) внешнего сетевого шлюза хоста и многократно использовать его в качестве MAC-адреса частного сетевого шлюза, предоставленного посредством NAT. Это обеспечивает то, что программное HTTP-обеспечение контейнера 130 должно надлежащим образом совмещать HTTP-кэш, и обеспечивает то, что обнаружение прокси не дублируется при повторном соединении с идентичной сетью. Посредством эмуляции идентификационных данных внешней сети, NAT сетевого фильтра 116 значительно повышает производительность повторного соединения с сетью и улучшает возможности работы пользователей для пользователя хостовой операционной системы 102. Дополнительно, NAT сетевого фильтра 116 выполнен с возможностью перенаправлять настройки "режима ожидания с подключением с низким уровнем мощности" в хостовую операционную систему 102 для одного или более виртуальных приложений 206, которые выполняются в одном или более изолированных контейнеров, таких как контейнер 130. Это обеспечивает возможность хостовой операционной системе 102 поддерживать активными все виртуальные приложения 206, выполняемые в одном или более активных изолированных контейнеров 130. В одном или более вариантах осуществления, функциональность NAT разгружается в другой компонент хостовой операционной системы 102. Например, инициализация частной сети и шлюза, чтобы достигать сети за пределами хостовой операционной системы 102, перенаправление уведомлений в отношении изменений в сети, эмуляция идентификационных данных внешней сети и перенаправление настроек режима ожидания с подключением с низким уровнем мощности могут выполняться посредством одной или комбинации сетевого фильтра 116, HVSI-подсистемы 110 или диспетчера 118 контейнеров.

[0070] HVSI-подсистема 110 выполнена с возможностью взаимодействовать с сетевым фильтром 116, чтобы выполнять аутентификацию через веб-прокси-сервер в соответствии с одним или более вариантами осуществления. Например, множество корпоративных систем используют один или более веб-прокси-серверов для того, чтобы управлять доступом в Интернет для отдельных пользователей организации. Эти веб-прокси-серверы требуют аутентификации перед разрешением отдельным пользователям или приложениям осуществлять доступ к сетевым ресурсам, таким как веб-узлы, посредством запрашивания учетных данных пользователя, таких как имя пользователя и ассоциированный пароль. Соответственно, сетевой фильтр 116 выполнен с возможностью идентифицировать веб-прокси-сервер, который требуется для того, чтобы упрощать доступ к веб-узлу, такому как веб-прокси-сервер 106, проиллюстрированный на фиг. 1. Тем не менее, в сценариях, в которых виртуальное приложение, выполняемое в изолированном контейнере, требует аутентификации через веб-прокси-сервер, возникают проблемы безопасности. Например, один или более недоверенных сетевых ресурсов, которые являются открытыми и выполняются в изолированном контейнере 130, могут получать неавторизованный доступ к учетным данным пользователя и компрометировать безопасность ассоциированных учетных записей пользователей.

[0071] Чтобы предоставлять прозрачное взаимодействие с пользователем для виртуальных приложений 206, выполняемых в контейнере 130, которые требуют аутентификации через веб-прокси-сервер, HVSI-подсистема 110 выполнена с возможностью предоставлять учетные данные пользователя в веб-прокси-сервер из хостовой операционной системы 102 без предоставления учетных данных пользователя в контейнер 130. HVSI-подсистема 110 выполнена с возможностью предоставлять учетные данные пользователя в веб-прокси-сервер для виртуального приложения 206, выполняемого в контейнере 130, посредством реализации виртуальной подсистемы 210 безопасности в изолированном контейнере. Виртуальная подсистема 210 безопасности выполнена с возможностью взаимодействовать с подсистемой 120 безопасности хостовой операционной системы 102. Например, в одном или более вариантах осуществления, HVSI-подсистема 110 обнаруживает то, что виртуальное веб-приложение 206 вызывает сетевой ресурс, который требует аутентификации через веб-прокси-сервер. HVSI-подсистема 110 выполнена с возможностью реализовывать виртуальную подсистему 210 безопасности в изолированном контейнере таким образом, что виртуальная подсистема 210 безопасности может взаимодействовать с подсистемой 120 безопасности хостовой операционной системы 102. Связь между виртуальной подсистемой 210 безопасности и подсистемой 120 безопасности может выполняться по соединению, установленному посредством HVSI-подсистемы 110, к примеру, через шину 216 виртуальной машины.

[0072] Когда виртуальное веб-приложение 206 в контейнере 130 пытается осуществлять доступ к сетевому ресурсу через веб-прокси-сервер, веб-прокси-сервер возвращается с окликом на предмет учетных данных пользователя. В этом сценарии, виртуальная подсистема 210 безопасности выполнена с возможностью вызывать подсистему 120 безопасности хостовой операционной системы 102, чтобы предоставлять аутентификацию в веб-прокси-сервер. В ответ на прием этого вызова, подсистема 120 безопасности выполнена с возможностью формировать фиктивный блоб (большой бинарный объект) учетных данных, который указывает владение учетными данными пользователя, без фактического содержания учетных данных пользователя в блобе учетных данных. Как пояснено в данном документе, фиктивный блоб также может упоминаться как псевдоаутентификация учетных данных пользователя. Подсистема 120 безопасности возвращает сформированный фиктивный блоб учетных данных в виртуальную подсистему 210 безопасности. Виртуальная подсистема 210 безопасности затем предоставляет фиктивный блоб учетных данных в виртуальное веб-приложение 206 таким образом, что виртуальное веб-приложение может встраивать фиктивный блоб учетных данных в HTTP-ответ в веб-прокси-сервер. Таким образом, контейнер 130 выполнен с возможностью доказывать владение учетными данными пользователя без приема фактических учетных данных пользователя из хостовой операционной системы 102. В соответствии с одним или более вариантами осуществления, подтверждение владения учетными данными в фиктивном блобе выполняется посредством применения хеш-функции обеспечения безопасности к фактическим учетным данным и включения хешированных учетных данных в фиктивный блоб. Это обеспечивает то, что учетные данные пользователя не компрометируются посредством недоверенных сетевых ресурсов, которые могут выполняться в контейнере 130.

[0073] Альтернативно, если виртуальная подсистема 210 безопасности передает запрос веб-прокси-сервера на предмет учетных данных пользователя в подсистему 120 безопасности хостовой операционной системы 102, подсистема 120 безопасности выполнена с возможностью формировать два блоба учетных данных. Первый блоб учетных данных, сформированный посредством подсистемы 120 безопасности, представляет собой фиктивный блоб учетных данных, как описано выше. Второй блоб учетных данных, сформированный посредством подсистемы 120 безопасности, содержит фактические учетные данные пользователя, запрашиваемые посредством веб-прокси-сервера. В этом сценарии, фиктивный блоб учетных данных предоставляется в виртуальную подсистему 210 безопасности в контейнере 130, и блоб, содержащий фактические учетные данные пользователя, предоставляется в сетевой фильтр 116 в хостовой операционной системе 102. Как пояснено выше, виртуальное веб-приложение 206 выполнено с возможностью принимать фиктивный блоб учетных данных из виртуальной подсистемы 210 безопасности и встраивать фиктивный блоб учетных данных в HTTP-ответ в веб-прокси-сервер. Поскольку весь сетевой трафик как из хостовой операционной системы 102, так и из контейнера 130 фильтруется через сетевой фильтр 116, сетевой фильтр 116 выполнен с возможностью перехватывать HTTP-ответ из контейнера и заменять фиктивный блоб фактическим блобом учетных данных пользователя до передачи HTTP-ответа в веб-прокси-сервер. В соответствии с одним или более вариантами осуществления, в которых хостовая операционная система 102 функционирует во вложенном вычислительном окружении, эта замена блоба учетных данных может выполняться многократно на каждом уровне вложенного окружения. Альтернативно, в одном или более вариантах осуществления, сетевой фильтр 116 встраивает разрешенные идентификаторы сетевых ресурсов в контейнер 130, чтобы проверять достоверность того, что сетевой трафик исходит и завершается в сетевом ресурсе, относительно которого выполнен запрос во время DNS-поиска, как пояснено выше.

[0074] Когда HVSI-подсистема 110 определяет то, что хостовая операционная система 102 пытается осуществлять доступ к недоверенному сетевому ресурсу, с использованием диспетчера 112 политик, сетевого фильтра 116 и подсистемы безопасности 110, как пояснено в данном документе, HVSI-подсистема 110 обменивается данными с диспетчером 118 контейнеров для того, чтобы управлять и отслеживать один или более контейнеров 130 на предмет осуществления доступа к недоверенному сетевому ресурсу.

Диспетчер контейнеров

[0075] Диспетчер 118 контейнеров отвечает за активацию одного или более контейнеров 130, которые изолируются от хостовой операционной системы 102, чтобы осуществлять доступ к недоверенным сетевым ресурсам. Как пояснено в данном документе, активация контейнера, к примеру, контейнера 130, включает в себя создание одного или более новых контейнеров или возобновление выполнения одного или более приостановленных контейнеров. Диспетчер 118 контейнеров дополнительно выполнен с возможностью активировать один или более контейнеров для отдельного пользователя, вошедшего в учетную запись в хостовой операционной системе 102, и обеспечивать то, что ограничивается осуществление доступа любых других пользователей хостовой операционной системы к активированным одному или более контейнеров для отдельного пользователя. Диспетчер 118 контейнеров обеспечивает преобразование пользователя, вошедшего в учетную запись в хостовой операционной системе 102, в контейнер 130. В некоторых вариантах осуществления, в которых предусмотрено множество пользователей хостовой операционной системы 102 и несколько контейнеров, диспетчер 118 контейнеров выполнен с возможностью видеть идентификационные данные вошедшего в учетную запись пользователя и непосредственно ассоциировать их с одним или более соответствующих контейнеров. Это ограничение предотвращает просмотр или иное взаимодействие с контейнерами других пользователей.

[0076] Диспетчер 118 контейнеров дополнительно выполнен с возможностью собирать журналы регистрации и трассировки, описывающие активность в контейнере 130. Диспетчер 118 контейнеров выполнен с возможностью использовать эти журналы регистрации и трассировки для того, чтобы отслеживать использование контейнеров на предмет индикаторов системы телеметрии и безопасности. В соответствии с одним или более вариантами осуществления, диспетчер 118 контейнеров обращается к локальным приложениям, установленным в хостовой операционной системе 102, таким как антивирусное приложение, чтобы интерпретировать любые проблемы безопасности, ассоциированные с отслеживаемой активностью в контейнере 130. Диспетчер 118 контейнеров выполнен с возможностью агрегировать эту отслеживаемую информацию и предоставлять отслеживаемую информацию в HVSI-подсистему 110. Альтернативно или дополнительно, диспетчер 118 контейнеров выполнен с возможностью предоставлять эту отслеживаемую информацию в один или более удаленных источников, таких как служба 104 управления и мониторинга, проиллюстрированная на фиг. 1.

[0077] Когда хостовая операционная система 102 запускается, HVSI-подсистема 110 определяет то, присутствует или нет политика. В одном или более вариантах осуществления, HVSI-подсистема 110 определяет то, присутствует или нет политика, посредством обмена данными с диспетчером 112 политик, как пояснено в данном документе. Если HVSI-подсистема 110 определяет то, что политика присутствует в хостовой операционной системе 102, диспетчер 118 контейнеров выполнен с возможностью активировать контейнер 130, чтобы обрабатывать любые недоверенные сетевые ресурсы, которые запрашиваются посредством хостовой операционной системы. Диспетчер 118 контейнеров выполнен с возможностью активировать контейнер 130 посредством обмена данными с хостовой операционной системой 102, чтобы определять то, существует или нет базовый образ контейнера. Если диспетчер 118 контейнеров определяет то, что базовый образ контейнера не существует, диспетчер 118 контейнеров выполнен с возможностью создавать базовый образ контейнера. Если диспетчер 118 контейнеров определяет то, что базовый образ контейнера существует, или после того, как диспетчер 118 контейнеров создает базовый образ контейнера, диспетчер 118 контейнеров ожидает входа пользователя в учетную запись в хостовой операционной системе 102.

[0078] Базовый образ контейнера содержит требуемую информацию, чтобы создавать и активировать изолированный контейнер, который включает в себя собственную операционную систему, к примеру, контейнер 130. Например, в одном или более вариантах осуществления, базовый образ контейнера содержит информацию, описывающую то, как хостовая операционная система 102 должна задавать настройки реестра для контейнера. Информация относительно настроек реестра требуется, поскольку некоторые виртуальные приложения, которые открыты в контейнере 130, ведут себя по-другому по сравнению с версией приложения, которое должно быть открыто в хостовой операционной системе 102. Дополнительно или альтернативно, базовый образ контейнера включает в себя информацию, описывающую то, как создавать учетную запись пользователя в пределах виртуального приложения, исполняющегося в контейнере 130. Дополнительно или альтернативно, базовый образ контейнера включает в себя информацию относительно объема выделенных ресурсов, таких как запоминающее устройство, процессоры, диски или сети, которые могут требоваться посредством контейнера 130 в случае активности.

[0079] Когда пользователь входит в учетную запись в хостовой операционной системе 102, диспетчер 118 контейнеров определяет то, существует или нет контейнер, соответствующий базовому образу контейнера. Если диспетчер 118 контейнеров определяет то, что контейнер не существует для базового образа контейнера, диспетчер 118 контейнеров может создавать контейнер, к примеру, контейнер 130. Чтобы обеспечивать то, что базовый образ контейнера точно представляет хостовую операционную систему 102, диспетчер 118 контейнеров выполнен с возможностью признавать любые существующие базовые образы контейнера недостоверным и создавать один или более новых базовых образов контейнера после обновления операционной системы. Таким образом, диспетчер 118 контейнеров обеспечивает то, что базовый образ контейнера включает в себя любой обновленный двоичный код хостовой операционной системы, за счет этого поддерживая контейнеры, созданные из базового образа контейнера, актуальными с хостовой операционной системой 102. В случае обновления хостовой операционной системы 102 диспетчер 118 контейнеров выполнен с возможностью либо принудительно закрывать все открытые контейнеры, либо ожидать до тех пор, пока пользовательская активность в контейнере не прекращается, с тем чтобы удалять базовый образ контейнера и создавать новый базовый образ контейнера. После создания контейнера, диспетчер 118 контейнеров переводит контейнер в приостановленный режим. Когда контейнер находится в приостановленном режиме, контейнер использует меньше ресурсов устройства, реализующего хостовую операционную систему 102, за счет этого уменьшая объем служебной информации по ресурсам. Диспетчер 118 контейнеров выполнен с возможностью поддерживать один или более изолированных контейнеров 130 в приостановленном режиме до тех пор, пока хостовая операционная система 102 не запрашивает доступ к одному или более недоверенных сетевых ресурсов.

[0080] Когда HVSI-подсистема 110 обнаруживает то, что хостовая операционная система 102 запрашивает доступ к одному или более недоверенных сетевых ресурсов, HVSI-подсистема 110 инструктирует диспетчеру 118 контейнеров активировать один или более приостановленных контейнеров для того, чтобы обрабатывать один или более недоверенных сетевых ресурсов. В одном или более вариантах осуществления, хостинг одного или более контейнеров выполняется на вычислительном устройстве, которое реализует хостовую операционную систему 102. Альтернативно, по меньшей мере, хостинг одного или более контейнеров может выполняться на вычислительном устройстве, которое является удаленным от вычислительного устройства, реализующего хостовую операционную систему 102. В сценарии, в котором хостинг контейнера выполняется на другом вычислительном устройстве, диспетчер 118 контейнеров выполнен с возможностью обмениваться данными с другим вычислительным устройством для того, чтобы управлять и отслеживать удаленные контейнеры. Поскольку диспетчер 118 контейнеров может активировать приостановленный контейнер быстрее, чем он может создавать контейнер, поддержание одного или более приостановленных контейнеров обеспечивает возможность хостовой операционной системе 102 быстро отвечать на запросы на предмет недоверенных сетевых ресурсов.

[0081] В ответ на определение того, что хостовая операционная система 102 запрашивает доступ к одному или более недоверенных сетевых ресурсов, диспетчер 118 контейнеров выполнен с возможностью идентифицировать приложение в хостовой операционной системе, которая запрашивает недоверенный сетевой ресурс. Диспетчер 118 контейнеров выполнен с возможностью запускать виртуальную версию приложения в контейнере 130, чтобы обрабатывать недоверенный сетевой ресурс. После того, как диспетчер 118 контейнеров активирует виртуальную версию приложения в контейнере 130, HVSI-подсистема 110 выполнена с возможностью удаленно относительно контейнера 130 отображать интерфейс виртуального приложения на дисплее устройства, реализующего хостовую операционную систему 102.

[0082] Диспетчер 118 контейнеров выполнен с возможностью обмениваться данными с HVSI-подсистемой 110, чтобы обеспечивать то, что соответствующая аппаратная технология виртуализации существует в хостовой операционной системе 102 и в контейнере 130, если хостинг контейнера выполняется посредством удаленного вычислительного устройства. Для надлежащего функционирования диспетчера 118 контейнеров, диспетчер 118 контейнеров выполнен с возможностью верифицировать то, что интерфейсы прикладного программирования (API) хостовой операционной системы 102 доступны для того, чтобы управлять жизненными циклами изолированных контейнеров и ассоциированными сетевыми стеками.

[0083] Диспетчер 118 контейнеров выполнен с возможностью отслеживать активность в контейнере 130 с использованием системы 214 входа в учетную запись. Таким образом, диспетчер 118 контейнеров выполнен с возможностью обнаруживать любое подозрительное поведение сети или сетевого ресурса, к которому осуществляется доступ в контейнере 130, то, занимает или нет контейнер 130 слишком много дискового пространства, и т.д. На основе информации, полученной из системы 214 входа в учетную запись, диспетчер 118 контейнеров имеет возможность информировать HVSI-подсистему 110 в отношении того, как управлять одним или более контейнерами 130. Например, в одном или более вариантах осуществления, диспетчер 118 контейнеров выявляет, что доступ к одному или более недоверенных сетевых ресурсов в контейнере 130 завершен, и передает эту информацию в HVSI-подсистему 110. В ответ на прием этой информации, HVSI-подсистема 110 переводит контейнер 130 в приостановленный режим до тех пор, пока впоследствии не требуется обрабатывать дополнительный недоверенный сетевой ресурс.

[0084] Диспетчер 118 контейнеров также выполнен с возможностью отслеживать и определять того, когда пользователь хостовой операционной системы 102 выходит из учетной записи. В ответ на определение того, что пользователь хостовой операционной системы 102 выходит из учетной записи, диспетчер 118 контейнеров предоставляет эту информацию в HVSI-подсистему 110. HVSI-подсистема 110 выполнена с возможностью удалять один или более контейнеров 130 в ответ на выход пользователя из учетной записи. Как пояснено в данном документе, удаление контейнера также очищает любую информацию, включенную в контейнер.

[0085] Диспетчер 118 контейнеров также выполнен с возможностью совместно использовать информацию DNS и протокола передачи гипертекста (HTTP) из хостовой операционной системы 102, чтобы повышать производительность просмотра веб-страниц либо другой сетевой активности в одном или более изолированных контейнеров. В одном или более вариантах осуществления, диспетчер 118 контейнеров поддерживает кэш DNS-запросов, выполненных из предыдущих примеров, когда контейнер 130 осуществляет доступ к сетевым ресурсам, а также HTTP-данных, таких как файлы Интернет-данных или куки-файлы веб-узла, которые обеспечивают возможность будущих запросов в контейнере на то, чтобы осуществлять доступ к недоверенным веб-узлам, чтобы запоминать одно или более предыдущих предпочтений, конфигураций или настроек пользователя.

[0086] В дополнение к приему информации относительно отслеживаемой активности в контейнере 130 из диспетчера 118 контейнеров, HVSI-подсистема 110 также выполнена с возможностью принимать информацию относительно активности контейнеров из одной или более HVSI-библиотек 208.

HVSI-библиотека

[0087] Как пояснено в данном документе, HVSI-библиотека представляет собой небольшую облегченную асинхронную библиотеку, которая выполнена с возможностью связываться статически или динамически в пределах приложения. Например, в проиллюстрированной архитектуре 200 системы по фиг. 2, приложение 202 включает в себя HVSI-библиотеку 204, и виртуальное приложение 206 включает в себя виртуальную HVSI-библиотеку 208. Каждая HVSI-библиотека выполнена с возможностью выполняться в соответствующем приложении и отвечает за перехват и перенаправление вызовов сетевых ресурсов из приложения в HVSI-подсистему 110.

[0088] Когда пользователь хостовой операционной системы 102 пытается открывать сетевой ресурс через приложение 202, HVSI-библиотека 204 передает информацию относительно запрашиваемого сетевого ресурса в HVSI-подсистему 110. HVSI-подсистема 110 сравнивает эту информацию с одной или более политик, полученных из диспетчера 112 политик, чтобы определять то, представляет собой запрашиваемый сетевой ресурс или нет доверенный сетевой ресурс. Если HVSI-подсистема 110 определяет то, что запрашиваемый сетевой ресурс представляет собой доверенный сетевой ресурс, HVSI-подсистема 110 разрешает приложению 202 осуществлять доступ к запрашиваемому сетевому ресурсу. Альтернативно, если HVSI-подсистема 110 определяет то, что запрашиваемый сетевой ресурс не представляет собой доверенный сетевой ресурс, HVSI-подсистема 110 перенаправляет недоверенный сетевой ресурс в виртуальное приложение 206 в контейнере 130.

[0089] Виртуальная HVSI-библиотека 208 в контейнере 130 выполнена с возможностью перехватывать запросы на сетевые ресурсы из виртуального приложения 206 и передавать информацию относительно запрашиваемых сетевых ресурсов в HVSI-подсистему 110. HVSI-подсистема 110 аналогично выполнена с возможностью сравнивать эту информацию с любыми политиками для хостовой операционной системы 102, чтобы обеспечивать то, что доверенные сетевые ресурсы не предоставляются в контейнер 130. В одном или более вариантах осуществления, виртуальное приложение не должно связываться с виртуальной HVSI-библиотекой 208, чтобы обеспечивать совместимость. В этих вариантах осуществления, система 214 входа в учетную запись и сетевой фильтр 116 работают с возможностью перехватывать запросы на сетевые ресурсы из виртуального приложения и передавать информацию относительно запрашиваемых сетевых ресурсов в HVSI-подсистему 110.

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

Примерные процедуры

[0091] Фиг. 3 является блок-схемой последовательности операций способа, иллюстрирующей примерный процесс 300 для реализации аппаратной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления. Процесс 300 выполняется посредством системы, такой как система 100 по фиг. 1, и может реализовываться в программном обеспечении, микропрограммном обеспечении, аппаратных средствах или комбинациях вышеозначенного. Процесс 300 показан как набор этапов и не ограничен порядком, показанным для выполнения операций различных этапов. Процесс 300 представляет собой примерный процесс для реализации аппаратной виртуализированной изоляции для обеспечения безопасности; дополнительные пояснения реализации аппаратной виртуализированной изоляции для обеспечения безопасности включены в данный документ со ссылкой на различные чертежи.

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

[0093] В ответ на обнаружение попытки доступа к сетевому ресурсу, процесс 300 переходит к определению того, является или нет сетевой ресурс доверенным (этап 304). Определение того, является или нет сетевой ресурс доверенным, выполняется посредством сравнения сетевого ресурса с политикой, которая либо сохраняется в хостовой операционной системе, либо к которой осуществляется доступ удаленно посредством хостовой операционной системы. Например, в одном или более вариантах осуществления, хостовая операционная система локально сохраняет политику, к примеру, в диспетчере 112 политик по фиг. 1, который ведет и нумерует список доверенных сетевых ресурсов. Альтернативно или дополнительно, политика принимается из службы управления и мониторинга, которая является удаленной от хостовой операционной системы, к примеру, из службы 104 управления и мониторинга по фиг. 1. Дополнительно или альтернативно, хостовая операционная система обновляет локальную политику на основе отслеживаемой активности, ассоциированной с активностью сетевых ресурсов в хостовой операционной системе и ассоциированных контейнерах. Как пояснено в данном документе, политика может непрерывно обновляться, чтобы поддерживать текущий список доверенных сетевых ресурсов.

[0094] В ответ на определение того, что сетевой ресурс представляет собой доверенный сетевой ресурс, процесс 300 разрешает осуществление доступа к сетевому ресурсу посредством приложения в хостовой операционной системе (этап 312). Например, если процесс 300 выполняется посредством системы 100 по фиг. 1, и определяется то, что сетевой ресурс представляет собой доверенный сетевой ресурс, процесс 300 должен разрешать одному из приложений 114 в хостовой операционной системе 102 осуществлять доступ к доверенному сетевому ресурсу.

[0095] В ответ на определение того, что сетевой ресурс не представляет собой доверенный сетевой ресурс, процесс 300 определяет то, активируется или нет аппаратная виртуализированная изоляция для обеспечения безопасности в хостовой операционной системе (этап 306). Если процесс определяет то, что аппаратная виртуализированная изоляция для обеспечения безопасности не предоставляется, процесс разрешает приложению в хостовой операционной системе осуществлять доступ к недоверенному сетевому ресурсу (этап 312). Соответственно, хостовая операционная система, которая не обеспечивает аппаратную виртуализированную изоляцию для обеспечения безопасности, как пояснено в данном документе, разрешает осуществление доступа к недоверенному сетевому ресурсу посредством приложения в хостовой операционной системе, за счет этого вызывая уязвимость устройства, реализующего хостовую операционную систему, к злонамеренным атакам или заражениям из недоверенного сетевого ресурса.

[0096] Альтернативно, если процесс 300 определяет то, что аппаратная виртуализированная изоляция для обеспечения безопасности активируется, процесс переходит к активации контейнера (этап 308). Как пояснено в данном документе, активация контейнера включает в себя создание контейнера в соответствии с одним или более вариантами осуществления. Альтернативно или дополнительно, активация контейнера включает в себя идентификацию приостановленного контейнера и возобновление обработки приостановленного контейнера. Как пояснено в данном документе, контейнер представляет изолированное окружение выполнения, которое является отдельным от хостовой операционной системы, такой как хостовая операционная система 102. Контейнер включает в себя собственное ядро, которое является отдельным от ядра хостовой операционной системы, и в силу этого защищает от атак на уровне ядра, ассоциированных с недоверенным сетевым ресурсом, которые могут быть направлены на хостовую операционную систему. Соответственно, даже если контейнер становится скомпрометированным, хостовая операционная система изолируется и защищается от заражений или атак, ассоциированных с недоверенными сетевыми ресурсами.

[0097] В ответ на активацию контейнера, хостовая операционная система разрешает контейнеру осуществлять доступ к сетевому ресурсу (этап 310). Хостовая операционная система продолжает отслеживать активность в контейнере, ассоциированном с сетевым ресурсом и любым одним или более дополнительных сетевых ресурсов, которые называются посредством контейнера, чтобы обеспечивать то, что к доверенным сетевым ресурсам не осуществляется доступ посредством контейнера. Аналогично, система обеспечивает то, что к недоверенным сетевым ресурсам не осуществляется доступ посредством хостовой операционной системы.

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

[0099] Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей примерный процесс 400 для активации контейнера для аппаратной виртуализированной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

[00100] Процесс 400 выполняется посредством хостовой операционной системы, такой как хостовая операционная система 102 по фиг. 1, и может реализовываться в программном обеспечении, микропрограммном обеспечении, аппаратных средствах или комбинациях вышеозначенного. Процесс 400 показан как набор этапов и не ограничен порядком, показанным для выполнения операций различных этапов. Процесс 400 представляет собой примерный процесс для активации контейнера для аппаратной виртуализированной изоляции для обеспечения безопасности; дополнительные пояснения активации контейнера для аппаратной виртуализированной изоляции для обеспечения безопасности включены в данный документ со ссылкой на различные чертежи.

[00101] В процессе 400, хостовая операционная система запускается (этап 402). После того, как хостовая операционная система запущена, хостовая операционная система переходит к определению того, существует или нет базовый образ контейнера (этап 404).

[00102] Если хостовая операционная система определяет то, что базовый образ контейнера не существует, хостовая операционная система переходит к созданию базового образа контейнера (этап 406). Если хостовая операционная система определяет то, что базовый образ контейнера существует, или в ответ на создание базового образа контейнера, хостовая операционная система ожидает до тех пор, пока пользователь не входит в учетную запись (этап 408). Пользователь может входить в учетную запись в хостовой операционной системе посредством ввода одних или более учетных данных, которые уникально ассоциированы с пользователем, таких как имя пользователя, пароль и т.д.

[00103] После того, как пользователь входит в учетную запись, хостовая операционная система определяет то, существует или нет контейнер для вошедшего в учетную запись пользователя (этап 410). Как пояснено в данном документе, контейнер является уникальным для отдельного пользователя и разрешает пользователю взаимодействовать с недоверенными сетевыми ресурсами в изолированном окружении выполнения, которое является отдельным от хостовой операционной системы.

[00104] Если хостовая операционная система определяет то, что контейнер не существует для вошедшего в учетную запись пользователя, хостовая операционная система переходит к созданию контейнера для вошедшего в учетную запись пользователя (этап 412). Хостовая операционная система выполнена с возможностью создавать контейнер для вошедшего в учетную запись пользователя в соответствии с любой одной или более технологий, поясненных в данном документе.

[00105] Если хостовая операционная система определяет то, что контейнер существует для вошедшего в учетную запись пользователя, или после того, как хостовая операционная система создает контейнер для вошедшего в учетную запись пользователя, хостовая операционная система переходит к активации контейнера для вошедшего в учетную запись пользователя (этап 414). Таким образом, хостовая операционная система активирует контейнер, когда пользователь входит в учетную запись в хостовой операционной системе, которая подготавливается с возможностью обрабатывать любые недоверенные сетевые ресурсы, которые запрашиваются посредством хостовой операционной системы.

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

[00107] Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей примерный процесс 500 для управления контейнером для аппаратной виртуализированной изоляции для обеспечения безопасности в соответствии с одним или более вариантами осуществления.

[00108] Процесс 500 выполняется посредством хостовой операционной системы, такой как хостовая операционная система 102 по фиг. 1, и может реализовываться в программном обеспечении, микропрограммном обеспечении, аппаратных средствах или комбинациях вышеозначенного. Процесс 500 показан как набор этапов и не ограничен порядком, показанным для выполнения операций различных этапов. Процесс 500 представляет собой примерный процесс для управления контейнером для аппаратной виртуализированной изоляции для обеспечения безопасности; дополнительные пояснения управления контейнером для аппаратной виртуализированной изоляции для обеспечения безопасности включены в данный документ со ссылкой на различные чертежи.

[00109] В процессе 500, после того, как пользователь входит в учетную запись в хостовой операционной системе, и контейнер активирован для вошедшего в учетную запись пользователя, хостовая операционная система приостанавливает контейнер (этап 502). Посредством приостановки контейнера, хостовая операционная система уменьшает объем системных ресурсов для устройства, реализующего хостовую операционную систему, которые требуются для того, чтобы поддерживать активный контейнер. Поскольку возобновление приостановленного контейнера может выполняться быстрее, чем создание контейнера, хостовая операционная система 500, реализующая процесс, выполнена с возможностью быстро отвечать на запрос на то, чтобы осуществлять доступ к недоверенному сетевому ресурсу.

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

[00111] В ответ на обнаружение доступа к недоверенному сетевому ресурсу, хостовая операционная система 500, реализующая процесс, активирует приостановленный контейнер (этап 506). После того, как приостановленный контейнер активируется, хостовая операционная система разрешает виртуальному экземпляру приложения, выполняемому в контейнере, осуществлять доступ к недоверенному сетевому ресурсу. Хостовая операционная система может быть выполнена с возможностью обмениваться данными с контейнером через шину виртуальной машины, чтобы устанавливать и активировать виртуальный экземпляр приложения и инструктировать отображение интерфейса виртуального экземпляра приложения. Таким образом, контейнер разрешает пользователю хостовой операционной системы 500, реализующей процесс, взаимодействовать с одним или более недоверенных сетевых ресурсов, в то время как один или более недоверенных сетевых ресурсов работают во вложенном окружении выполнения, которое изолируется от хостовой операционной системы.

[00112] Хостовая операционная система 500, реализующая процесс, выполнена с возможностью поддерживать контейнер в активном состоянии до тех пор, пока инициирующее событие не обнаруживается (этап 508), или до тех пор, пока хостовая операционная система не определяет то, что доступ к любому или более недоверенных сетевых ресурсов завершен (этап 510). Например, если хостовая операционная система 500, реализующая процесс, идентифицирует один или более веб-узлов, открытых в веб-приложении, в качестве недоверенных сетевых ресурсов, система может идентифицировать то, что доступ к одному или более недоверенных сетевых ресурсов завершен, в ответ на закрытие веб-приложения пользователем. Если хостовая операционная система определяет то, что доступ к одному или более недоверенных сетевых ресурсов завершен, хостовая операционная система приостанавливает контейнер (этап 502). Посредством приостановки контейнера, когда контейнер не осуществляет доступ к недоверенным сетевым ресурсам, хостовая операционная система уменьшает объем системных ресурсов, требуемых для того, чтобы поддерживать активный контейнер. Аналогично, посредством приостановки контейнера, вместо удаления контейнера, хостовая операционная система может легко активировать приостановленный контейнер при обнаружении попытки получения доступа к одному или более дополнительных недоверенных сетевых ресурсов.

[00113] В ответ на обнаружение инициирующего события, хостовая операционная система выполнена с возможностью удалять контейнер (этап 512). Как пояснено в данном документе, инициирующее событие может означать обнаружение того, что пользователь хостовой операционной системы 500, реализующей процесс, выходит из учетной записи.

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

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

[00115] Фиг. 6 является блок-схемой последовательности операций способа, иллюстрирующей процесс 600 для реализации аппаратной виртуализированной изоляции для обеспечения безопасности в хостовой операционной системе в соответствии с одним или более вариантами осуществления.

[00116] Процесс 600 выполняется посредством хостовой операционной системы, такой как хостовая операционная система 102 по фиг. 1, и может реализовываться в программном обеспечении, микропрограммном обеспечении, аппаратных средствах или комбинациях вышеозначенного. Процесс 600 показан как набор этапов и не ограничен порядком, показанным для выполнения операций различных этапов. Процесс 600 представляет собой примерный процесс для использования одного или более контейнеров для аппаратной виртуализированной изоляции для обеспечения безопасности; дополнительные пояснения использования одного или более контейнеров для аппаратной виртуализированной изоляции для обеспечения безопасности включены в данный документ со ссылкой на различные чертежи.

[00117] В процессе 600, хостовая операционная система выполняет приложение (этап 602). Приложение может представлять собой любой тип приложения, к примеру, веб-приложение, приложение обработки текстов, почтовое приложение и т.д.

[00118] Хостовая операционная система обнаруживает то, что приложение пытается осуществлять доступ к сетевому ресурсу (этап 604). Хостовая операционная система выполнена с возможностью обнаруживать то, что приложение запрашивает доступ к сетевому ресурсу, посредством мониторинга сетевой связи с использованием сетевого фильтра, как пояснено в данном документе.

[00119] В ответ на обнаружение того, что приложение, выполняемое в хостовой операционной системе, запрашивает доступ к сетевому ресурсу, хостовая операционная система определяет то, что сетевой ресурс представляет собой недоверенный сетевой ресурс (этап 606). Хостовая операционная система выполнена с возможностью определять то, что сетевой ресурс является недоверенным, посредством сравнения сетевого ресурса с одной или более политик для хостовой операционной системы, как пояснено в данном документе.

[00120] В ответ на определение того, что сетевой ресурс представляет собой недоверенный сетевой ресурс, хостовая операционная система выполнена с возможностью активировать контейнер, который изолируется от хостовой операционной системы (этап 608). Как пояснено в данном документе, контейнер, который изолируется от хостовой операционной системы, включает в себя собственное ядро, которое является отдельным и изолированным от ядра хостовой операционной системы, в силу этого защищая хостовую операционную систему от атак ядра.

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

[00122] В ответ на запуск виртуальной версии приложения в изолированном контейнере, хостовая операционная система передает недоверенный сетевой ресурс в изолированный контейнер и разрешает версии приложения, выполняемого в изолированном контейнере, осуществлять доступ к недоверенному сетевому ресурсу (этап 612). В ответ на запуск версии приложения в изолированном контейнере, хостовая операционная система также выполнена с возможностью отображать интерфейс для версии приложения, работающего в изолированном контейнере, на дисплее устройства, реализующего хостовую операционную систему (этап 614). Таким образом, хостовая операционная система предоставляет возможность пользователю взаимодействовать с виртуальной версией приложения, запущенного в изолированном контейнере, без вызывания уязвимости хостовой операционной системы из одного или более недоверенных сетевых ресурсов, к которым осуществляется доступ посредством изолированного контейнера.

[00123] В то время, когда виртуальная версия приложения в изолированном контейнере выполняется, хостовая операционная система выполнена с возможностью разрешать виртуальной версии приложения в изолированном контейнере осуществлять доступ к одному или более дополнительных недоверенных сетевых ресурсов (этап 618). Хостовая операционная система выполнена с возможностью разрешать версии приложения, выполняемого в изолированном контейнере, осуществлять доступ к недоверенным сетевым ресурсам, посредством мониторинга сетевой связи между изолированным контейнером и одним или более местоположений сетевого ресурса.

[00124] Аналогично, в то время когда виртуальная версия приложения исполняется в изолированном контейнере, хостовая операционная система выполнена с возможностью предотвращать осуществление доступа виртуальной версии приложения в изолированном контейнере к одному или более доверенных сетевых ресурсов (этап 620). Таким образом, хостовая операционная система выполнена с возможностью обеспечивать то, что только к доверенным сетевым ресурсам осуществляется доступ посредством хостовой операционной системы, и что к недоверенным сетевым ресурсам осуществляется доступ только посредством одного или более изолированных контейнеров.

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

Примерная система

[00126] Хотя конкретная функциональность пояснена в данном документе со ссылкой на конкретные модули, следует отметить, что функциональность отдельных модулей, поясненных в данном документе, может разделяться на несколько модулей, и/или, по меньшей мере, некоторая функциональность нескольких модулей может комбинироваться в один модуль. Дополнительно, конкретный модуль, поясненный в данном документе как выполняющий действие, включает в себя этот конкретный модуль, непосредственно выполняющий действие, либо альтернативно, этот конкретный модуль, активирующий или иным способом осуществляющий доступ к другому компоненту или модулю, который выполняет действие (или выполняет действие в сочетании с этим конкретным модулем). Таким образом, конкретный модуль, выполняющий действие, включает в себя этот конкретный модуль, непосредственно выполняющий действие, и/или другой модуль, активируемый или иным способом доступный посредством этого конкретного модуля, выполняющего действие.

[00127] Фиг. 7 иллюстрирует примерную систему, в общем, как 700, которая включает в себя примерное вычислительное устройство 702, которое представляет одну или более систем и/или устройств, которые могут реализовывать различные технологии, описанные в данном документе. Вычислительное устройство 702, например, может представлять собой сервер поставщика услуг, устройство, ассоциированное с клиентом (например, клиентское устройство), внутрикристальную систему и/или любое другое подходящее вычислительное устройство или вычислительную систему.

[00128] Примерное вычислительное устройство 702, как проиллюстрировано, включает в себя систему 704 обработки, один или более машиночитаемых носителей 706 и один или более интерфейсов 708 ввода-вывода, которые функционально соединяются между собой. Хотя не показано, вычислительное устройство 702 дополнительно может включать в себя системную шину или другую систему передачи данных и команд, которая соединяет различные компоненты между собой. Системная шина может включать в себя любую или комбинацию различных шинных структур, к примеру, шину запоминающего устройства или контроллер запоминающего устройства, периферийную шину, универсальную последовательную шину и/или процессорную или локальную шину, которая использует любую из множества шинных архитектур. Также рассматриваются множество других примеров, к примеру, линии управления и передачи данных.

[00129] Система 704 обработки представляет функциональность для того, чтобы выполнять одну или более операций с использованием аппаратных средств. Соответственно, система 704 обработки проиллюстрирована как включающая в себя аппаратные элементы 710, которые могут быть сконфигурированы как процессоры, функциональные блоки и т.д. Это может включать в себя реализацию в аппаратных средствах в качестве специализированной интегральной схемы или другого логического устройства, сформированного с использованием одного или более полупроводников. Аппаратные элементы 710 не ограничены материалами, из которых они сформированы, или механизмами обработки, используемыми в них. Например, процессоры могут содержать полупроводники(и) и/или транзисторы (к примеру, электронные интегральные схемы (IC)). В этом контексте, процессорноисполняемые инструкции могут представлять собой электронноисполняемые инструкции.

[00130] Машиночитаемые носители 706 проиллюстрированы как включающие в себя запоминающее устройство/устройство 712 хранения данных. Запоминающее устройство/устройство 712 хранения данных представляет емкость запоминающего устройства/устройства хранения данных, ассоциированную с одним или более машиночитаемых носителей. Запоминающее устройство/устройство 712 хранения данных может включать в себя энергозависимые носители (к примеру, оперативное запоминающее устройство (RAM)) и/или энергонезависимые носители (к примеру, постоянное запоминающее устройство (ROM), резистивное RAM (ReRAM), флэш-память, оптические диски, магнитные диски и т.д.). Запоминающее устройство/устройство 712 хранения данных может включать в себя стационарные носители (например, RAM, ROM, стационарный жесткий диск и т.д.), а также съемные носители (например, флэш-память, съемный жесткий диск, оптический диск и т.д.). Машиночитаемые носители 706 могут быть сконфигурированы множеством других способов, как подробнее описано ниже.

[00131] Один или более интерфейсов 708 ввода-вывода представляют функциональность для того, чтобы обеспечивать возможность пользователю вводить команды и информацию в вычислительное устройство 702, а также обеспечивать возможность представления информации пользователю и/или в другие компоненты или устройства с использованием различных устройств ввода-вывода. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон (например, для речевых вводов), сканер, сенсорную функциональность (например, емкостные или другие датчики, которые выполнены с возможностью обнаруживать физическое касание), камеру (например, которая может использовать видимые или невидимые длины волн, к примеру, инфракрасные частоты, для того чтобы обнаруживать перемещение, которое не заключает в себе касание, в качестве жестов), датчик (например, датчик внешнего освещения или датчик движения) и т.д. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), динамики, принтер, сетевую карту, тактильное устройство и т.д. Таким образом, вычислительное устройство 702 может быть сконфигурировано множеством способов, как подробнее описано ниже, чтобы поддерживать пользовательское взаимодействие.

[00132] Вычислительное устройство 702 также включает в себя хостовую операционную систему 714. Хостовая операционная система 714 предоставляет различное управление аппаратной виртуализированной изоляцией для обеспечения безопасности, как пояснено выше. Хостовая операционная система 714 может реализовывать, например, хостовую операционную систему 102 по фиг. 1.

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

[00134] Реализация описанных модулей и технологий может сохраняться или передаваться по некоторой форме машиночитаемых носителей. Машиночитаемые носители могут включать в себя множество носителей, к которым может осуществляться доступ посредством вычислительного устройства 702. В качестве примера, а не ограничения, машиночитаемые носители могут включать в себя "машиночитаемые носители хранения данных" и "машиночитаемые среды передачи сигналов".

[00135] "Машиночитаемые носители хранения данных" означают носители и/или устройства, которые обеспечивают постоянное хранение информации и/или хранение, которое является материальным, в отличие от простой передачи сигналов, несущих или сигналов в чистом виде. Таким образом, машиночитаемые носители хранения данных означают "не среды передачи сигналов". Машиночитаемые носители хранения данных включают в себя аппаратные средства, такие как энергозависимые и энергонезависимые, съемные и стационарные носители и/или устройства хранения данных, реализованные в способе или технологии, подходящей для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули, логические элементы/схемы или другие данные. Примеры машиночитаемых носителей хранения данных могут включать в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию запоминающих устройств, CD-ROM, универсальные цифровые диски (DVD) или другие оптические устройства хранения данных, жесткие диски, магнитные кассеты, магнитную ленту, устройства хранения данных на магнитных дисках или другие магнитные устройства хранения данных, либо другое устройство хранения данных, материальные носители или изделие, подходящие для того, чтобы сохранять требуемую информацию, которым может осуществляться доступ посредством компьютера.

[00136] "Машиночитаемые среды передачи сигналов" означают среду передачи сигналов, которая выполнена с возможностью передавать инструкции в аппаратные средства вычислительного устройства 702, к примеру, через сеть. Среды передачи сигналов типично могут осуществлять машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущие, сигналы данных или другой транспортный механизм. Среды передачи сигналов также включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более характеристик, заданных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (RF), инфракрасные и другие беспроводные среды.

[00137] Как описано выше, аппаратные элементы 710 и машиночитаемые носители 706 представляют инструкции, модули, программируемую логику устройств и/или фиксированную логику устройств, реализованную в аппаратной форме, которая может использоваться в некоторых вариантах осуществления для того, чтобы реализовывать, по меньшей мере, некоторые аспекты технологий, описанных в данном документе. Аппаратные элементы могут включать в себя компоненты интегральной схемы или внутрикристальной системы, специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA), комплексного программируемого логического устройства (CPLD) и другие реализации в кремнии либо другие аппаратные устройства. В этом контексте, аппаратный элемент может работать в качестве устройства обработки, которое выполняет программные задачи, заданные посредством инструкций, модулей и/или логики, осуществленной посредством аппаратного элемента, а также в качестве аппаратного устройства, используемого для того, чтобы сохранять инструкции для выполнения, например, в качестве машиночитаемых носителей хранения данных, описанные ранее.

[00138] Комбинации вышеприведенного также могут использоваться для того, чтобы реализовывать различные технологии и модули, описанные в данном документе. Соответственно, программное обеспечение, аппаратные или программные модули и другие программные модули могут реализовываться как одна или более инструкций и/или логика, осуществленная на некоторой форме машиночитаемых носителей хранения данных и/или посредством одного или более аппаратных элементов 710. Вычислительное устройство 702 может быть выполнено с возможностью реализовывать конкретные инструкции и/или функции, соответствующие программным и/или аппаратным модулям. Соответственно, реализация модулей в качестве модуля, который выполняется посредством вычислительного устройства 702 в качестве программного обеспечения, может достигаться, по меньшей мере, частично в аппаратных средствах, например, посредством использования машиночитаемых носителей хранения данных и/или аппаратных элементов 710 системы обработки. Инструкции и/или функции могут быть выполняемыми/осуществляемыми посредством одного или более изделий (например, одного или более вычислительных устройств 702 и/или систем 704 обработки) для того, чтобы реализовывать технологии, модули и примеры, описанные в данном документе.

[00139] Как подробнее проиллюстрировано на фиг. 7, примерная система 700 предоставляет повсеместные окружения для прозрачного взаимодействия с пользователем при запуске приложения на персональном компьютере (PC), телевизионном устройстве и/или мобильном устройстве. Службы и приложения запускаются практически аналогично во всех трех окружениях для стандартного взаимодействия с пользователем при переходе между устройствами при использовании приложения, проведении видеоигры, просмотре видео и т.д.

[00140] В примерной системе 700, несколько устройств соединяются через центральное вычислительное устройство. Центральное вычислительное устройство может быть локальным для нескольких устройств или может быть расположено удаленно относительно нескольких устройств. В одном или более вариантах осуществления, центральное вычислительное устройство может представлять собой облако из одного или более серверных компьютеров, которые соединяются с несколькими устройствами через сеть, Интернет или другую линию передачи данных.

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

[00142] В различных реализациях, вычислительное устройство 702 может допускать множество различных конфигураций, к примеру, для вариантов использования в компьютере 716, на мобильном устройстве 718 и телевизионном приемнике 720. Каждая из этих конфигураций включает в себя устройства, которые могут иметь, в общем, различные конструкции и характеристики, и в силу этого вычислительное устройство 702 может быть сконфигурировано согласно одному или более различных классов устройств. Например, вычислительное устройство 702 может быть реализовано как класс компьютера 716 для устройства, которое включает в себя персональный компьютер, настольный компьютер, многоэкранный компьютер, переносной компьютер, нетбук и т.д.

[00143] Вычислительное устройство 702 также может быть реализовано как класс мобильного устройства 718 для устройства, которое включает в себя мобильные устройства, такие как мобильный телефон, портативный музыкальный проигрыватель, портативное игровое устройство, планшетный компьютер, многоэкранный компьютер и т.д. Вычислительное устройство 702 также может быть реализовано как класс телевизионного приемника 720 для устройства, которое включает в себя устройства, имеющие или соединенные, в общем, с большими экранами в нестандартных окружениях просмотра. Эти устройства включают в себя телевизионные приемники, абонентские приставки, игровые приставки и т.д.

[00144] Технологии, описанные в данном документе, могут поддерживаться посредством этих различных конфигураций вычислительного устройства 702 и не ограничены конкретными примерами технологий, описанных в данном документе. Эта функциональность также может реализовываться полностью или частично посредством использования распределенной системы, к примеру, по "облаку" 722 через платформу 724, как описано ниже.

[00145] Облако 722 включает в себя и/или представляет платформу 724 для ресурсов 726. Платформа 724 абстрагирует базовую функциональность аппаратных (например, серверов) и программных ресурсов облака 722. Ресурсы 726 могут включать в себя приложения и/или данные, которые могут быть использованы в то время, когда компьютерная обработка выполняется на серверах, которые являются удаленными от вычислительного устройства 702. Ресурсы 726 также могут включать в себя услуги, предоставляемые по Интернету и/или через абонентскую сеть, к примеру, через сотовую или Wi-Fi-сеть.

[00146] Платформа 724 может абстрагировать ресурсы и функции, чтобы соединять вычислительное устройство 702 с другими вычислительными устройствами. Платформа 724 также может служить для того, чтобы абстрагировать масштабирование ресурсов, чтобы предоставлять соответствующий уровень масштаба для выявленной потребности в ресурсах 726, которые реализуются через платформу 724. Соответственно, в варианте осуществления подключаемого устройства, реализация функциональности, описанной в данном документе, может быть распределена по всей системе 700. Например, функциональность может реализовываться частично на вычислительном устройстве 702, а также через платформу 724, которая абстрагирует функциональность облака 722. Следует отметить, что облако 722 может размещаться в огромном числе конфигураций. Например, облако 722 может реализовываться как одно облако, как несколько экземпляров облака 722, все из которых ведут себя как одно облако или с одним или более экземпляров платформы 724, реализованной в основе облака 722, и ведут себя, как если один или более экземпляров платформы 724 реализованы в облаке.

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

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

[00149] Альтернативно или в дополнение к любым вышеописанным способам, любое одно или комбинация следующего: способ дополнительно содержит разрешение версии приложения, выполняемого в контейнере, осуществлять доступ к одному или более дополнительных недоверенных сетевых ресурсов, и предотвращение осуществления доступа приложения, выполняемого в контейнере, к доверенным сетевым ресурсам; способ дополнительно содержит обнаружение доступа к файлу или приложению посредством хостовой операционной системы, и в ответ на определение того, что файл или приложение представляет собой недоверенный сетевой ресурс, разрешение открытия файла или приложения в контейнере; при этом контейнер включает в себя экземпляр хостовой операционной системы и ядро, которое является отдельным и изолированным от ядра хостовой операционной системы; способ дополнительно содержит прием, по меньшей мере, одной политики, которая включает в себя, по меньшей мере, нумерованный список доверенных сетевых ресурсов, при этом определение того, представляет сетевой ресурс собой доверенный сетевой ресурс или недоверенный сетевой ресурс, содержит сравнение сетевого ресурса с нумерованным списком доверенных сетевых ресурсов, причем нумерованный список доверенных сетевых ресурсов идентифицируется на основе одного или более из типа файла сетевого ресурса, сетевого местоположения, ассоциированного с сетевым ресурсом, или типа приложения, которое пытается осуществлять доступ к сетевому ресурсу; при этом контейнер активируется для пользователя, который входит в учетную запись в хостовой операционной системе, способ дополнительно содержит определение того, что другой пользователь входит в учетную запись в хостовой операционной системе, и активацию, для другого пользователя, другого контейнера, который изолируется от хостовой операционной системы и контейнера; способ дополнительно содержит определение того, что доступ к сетевому ресурсу запрашивается по недоверенному сетевому интерфейсу, и в ответ на определение того, что доступ к сетевому ресурсу, запрашивается по недоверенному сетевому интерфейсу: ограничение сетевой связи для приложения в хостовой операционной системе интерфейсом виртуальной частной сети (VPN), разрешение версии приложения, выполняемого в контейнере, выполнять сетевую связь по недоверенному сетевому интерфейсу, и указание сетевому стеку контейнера то, что сетевая связь для контейнера изолируется относительно недоверенного сетевого интерфейса; способ дополнительно содержит перехват, посредством хостовой операционной системы, ответа на запрос веб-прокси-сервера на предмет учетных данных пользователя и вставку одних или более учетных данных пользователя в ответ на запрос веб-прокси-сервера без передачи одних или более учетных данных пользователя в контейнер; способ дополнительно содержит сканирование одного или более недоверенных сетевых ресурсов, к которым осуществляется доступ в контейнере, и использование антивирусного программного обеспечения в хостовой операционной системе для того, чтобы назначать один или более уровней риска одному или более недоверенных сетевых ресурсов и подвергать карантину, очищать или удалять один из одного или более недоверенных сетевых ресурсов, если уровень установленного процента риска указывает то, что недоверенный сетевой ресурс является злоумышленным; способ дополнительно содержит мониторинг активности, ассоциированной с недоверенным сетевым ресурсом в контейнере, и обновление локальной политики в хостовой операционной системе на основе отслеживаемой активности; при этом приложение представляет собой веб-приложение, и недоверенный сетевой ресурс представляет собой веб-страницу; при этом контейнер активируется для связи по сетевым ресурсам по первому интерфейсу сетевой связи, способ дополнительно содержит активацию второго контейнера для связи по сетевым ресурсам по второму интерфейсу сетевой связи, способ дополнительно содержит: обнаружение того, что версия приложения, выполняемого в контейнере, прекращает обработку, в ответ на обнаружение того, что версии приложения, выполняемого в контейнере, прекращает обработку, приостановку, посредством хостовой операционной системы, контейнера, чтобы уменьшать объем системных ресурсов, используемых посредством контейнера, обнаружение дополнительного доступа к дополнительному сетевому ресурсу посредством приложения, активацию приостановленного контейнера в ответ на определение того, что дополнительный сетевой ресурс представляет собой недоверенный ресурс, разрешение версии приложения, выполняемого в контейнере, осуществлять доступ к дополнительному недоверенному сетевому ресурсу, обнаружение того, что пользователь хостовой операционной системы выходит из учетной записи, и удаление контейнера в ответ на обнаружение того, что пользователя выходит из учетной записи; способ дополнительно содержит обнаружение обновления хостовой операционной системы, и в ответ на обнаружение обновления хостовой операционной системы, удаление контейнера и создание нового контейнера, который отражает один или более обновленных двоичных кодов хостовой операционной системы; при этом хостовая операционная система выполнена с возможностью определять то, представляет собой сетевой ресурс или нет доверенный сетевой ресурс, на основе одного или более из типа файла сетевого ресурса, сетевого местоположения, ассоциированного с сетевым ресурсом, типа приложения, которое пытается осуществлять доступ к сетевому ресурсу, антивирусного сканирования сетевого ресурса либо на основе обращения к облачной службе, которая поддерживает список злоумышленных сетевых ресурсов; при этом контейнер активируется для пользователя, который входит в учетную запись в хостовой операционной системе, способ дополнительно содержит активацию одного или более дополнительных контейнеров для пользователя и предотвращение осуществление доступа других пользователей хостовой операционной системы к контейнеру и одному или более дополнительных контейнеров; способ дополнительно содержит прием запроса из версии приложения, выполняемого в контейнере, на предмет учетных данных пользователя, и предоставление псевдоаутентификации в версию приложения, выполняемого в контейнере, которая включает в себя информацию, доказывающую владение учетными данными пользователя, без предоставления учетных данных пользователя в контейнер; способ дополнительно содержит идентификацию, посредством хостовой операционной системы, локальной сети и эмуляции локальной сети для контейнера; способ дополнительно содержит идентификацию локальной сети и эмуляцию локальной сети в основе транслятора сетевых адресов (NAT) для контейнера; способ дополнительно содержит совместное использование информации системы доменных имен (DNS) и протокола передачи гипертекста (HTTP) между хостовой операционной системой и контейнером; способ дополнительно содержит отслеживание, посредством хостовой операционной системы, одного или более изменений конфигурации, выполняемых посредством версии приложения, выполняемого в контейнере; способ дополнительно содержит получение, посредством хостовой операционной системы, телеметрии из контейнера и анализ активности контейнеров на основе полученной телеметрии; способ дополнительно содержит реализацию механизма обработки политик в хостовой операционной системе, которая выполнена с возможностью вычислять политику для контейнера на основе отслеживаемой активности в контейнере, причем вычисленная политика основана на одном или более шаблонов политик или сигнатур политик.

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

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

[00152] Устройство содержит: один или более процессоров; и один или более машиночитаемых носителей хранения данных, сохраняющих машиночитаемые инструкции, которые выполняются посредством одного или более процессоров, чтобы выполнять операции, содержащие: выполнение веб-приложения в хостовой операционной системе устройства; обнаружение доступа к сетевому ресурсу посредством веб-приложения; определение того, что сетевой ресурс представляет собой недоверенный ресурс, посредством сравнения сетевого ресурса с политикой, принимаемой из службы управления и мониторинга, которая расположена удаленно от устройства; в ответ на определение того, что сетевой ресурс представляет собой недоверенный сетевой ресурс: активацию, посредством хостовой операционной системы, контейнера, который изолируется от хостовой операционной системы и выполнен с возможностью выполнять версию веб-приложения; разрешение, посредством хостовой операционной системы, версии веб-приложения, выполняемого в контейнере, осуществлять доступ к недоверенному сетевому ресурсу; разрешение версии веб-приложения, выполняемого в контейнере, осуществлять доступ к одному или более дополнительных недоверенных сетевых ресурсов; и предотвращение осуществления доступа версии веб-приложения, выполняемого в контейнере, к доверенным сетевым ресурсам.

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

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

название год авторы номер документа
СИСТЕМА И СПОСОБ ДЛЯ ВИРТУАЛИЗАЦИИ ГРАФИЧЕСКИХ ПОДСИСТЕМ 2005
  • Блит Дэвид Р.
RU2406128C2
ОБРАБОТКА КОНТЕНТА ДЛЯ ПРИЛОЖЕНИЙ 2012
  • Рисни Дэвид Л. Мл.
  • Грэхем Скотт Б.
  • Журдэн Матиас
  • Искин Сермет
  • Росс Дэвид Эндрю
RU2626658C2
СПОСОБ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОГО ВЫПОЛНЕНИЯ ФАЙЛА СЦЕНАРИЯ 2014
  • Ладиков Андрей Владимирович
  • Солодовников Андрей Юрьевич
RU2584507C1
БЕЗОПАСНЫЙ И СТАБИЛЬНЫЙ ХОСТИНГ РАСШИРЕНИЙ ТРЕТЬИХ СТОРОН ДЛЯ ВЕБ-СЛУЖБ 2006
  • Хант Гален К.
  • Ларус Джеймс Р.
  • Гоунарес Александер Дж.
  • Эндрес Реймонд Е.
RU2424556C2
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
RU2672712C2
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
  • Хейли Джон
RU2673969C2
СПОСОБ АВТОРИЗАЦИИ ОПЕРАЦИИ, ПРЕДНАЗНАЧЕННОЙ ДЛЯ ВЫПОЛНЕНИЯ НА ЗАДАННОМ ВЫЧИСЛИТЕЛЬНОМ УСТРОЙСТВЕ 2014
  • Стерн Аллон Дж.
RU2675902C2
УПРАВЛЕНИЕ СОСТОЯНИЕМ РАСПРЕДЕЛЕННЫХ АППАРАТНЫХ СРЕДСТВ В ВИРТУАЛЬНЫХ МАШИНАХ 2007
  • Оуни Эдриан Дж.
  • Торнтон Эндрю Джон
  • Ошинс Джейкоб
RU2429530C2
ОСЛАБЛЕНИЕ ПРОГРАММЫ-ВЫМОГАТЕЛЯ В ИНТЕГРИРОВАННЫХ ИЗОЛИРОВАННЫХ ПРИЛОЖЕНИЯХ 2020
  • Шварц, Джонатан Дэвид
  • Тарнуская, Анастасия
RU2807463C2
УПРАВЛЯЕМОЕ ПОЛИТИКАМИ ДЕЛЕГИРОВАНИЕ УЧЕТНЫХ ДАННЫХ ДЛЯ ЕДИНОЙ РЕГИСТРАЦИИ В СЕТИ И ЗАЩИЩЕННОГО ДОСТУПА К СЕТЕВЫМ РЕСУРСАМ 2007
  • Медвинский Геннадий
  • Илак Кристиан
  • Хагиу Костин
  • Парсонз Джон Э.
  • Фатхалла Мохамед Эмад Эль Дин
  • Лич Пол Дж.
  • Камель Тарек Бухаа Эль-Дин Махмуд
RU2439692C2

Иллюстрации к изобретению RU 2 755 880 C2

Реферат патента 2021 года АППАРАТНАЯ ВИРТУАЛИЗИРОВАННАЯ ИЗОЛЯЦИЯ ДЛЯ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ

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

Формула изобретения RU 2 755 880 C2

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

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

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

в качестве реакции на определение того, что сетевой ресурс представляет собой недоверенный сетевой ресурс:

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

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

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

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

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

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

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

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

ограничивают сетевую связь для приложения в хостовой операционной системе интерфейсом виртуальной частной сети (VPN);

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

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

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

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

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

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

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

12. Способ по п.1, дополнительно содержащий этапы, на которых:

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

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

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

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

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

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

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

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

18. Способ по п.1, дополнительно содержащий этапы, на которых идентифицируют локальную сеть и эмулируют эту локальную сеть посредством транслятора сетевых адресов (NAT) для контейнера.

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

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

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

22. Способ по п.1, дополнительно содержащий этапы, на которых:

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

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

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

один или более процессоров и

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

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

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

в качестве реакции на определение того, что сетевой ресурс представляет собой недоверенный сетевой ресурс:

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

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

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

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

в качестве реакции на определение того, что доступ к недоверенному сетевому ресурсу и дополнительному недоверенному сетевому ресурсу завершен, приостановку контейнера.

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

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

один или более процессоров и

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

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

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

в качестве реакции на определение того, что сетевой ресурс представляет собой недоверенный сетевой ресурс:

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

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

в качестве реакции на определение того, что доступ к недоверенному сетевому ресурсу завершен, приостановку контейнера.

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

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

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

в качестве реакции на определение того, что сетевой ресурс представляет собой недоверенный сетевой ресурс:

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

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

в качестве реакции на определение того, что доступ к недоверенному сетевому ресурсу завершен, приостановку контейнера.

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

Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса 1924
  • Шапошников Н.П.
SU2015A1
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек 1923
  • Григорьев П.Н.
SU2007A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
СИСТЕМА И СПОСОБ ЗАЩИТЫ КОМПЬЮТЕРНЫХ ПРИЛОЖЕНИЙ 2011
  • Русаков Вячеслав Евгеньевич
  • Ширяев Александр Васильевич
RU2460133C1

RU 2 755 880 C2

Авторы

Паи Навин Нараян

Джеффриз Чарльз Г.

Висванатхан Гиридхар

Шультц Бенджамин М.

Смит Фредерик Дж.

Ройтер Ларс

Эберсол Майкл Б.

Диас Куэльяр Херардо

Пашов Иван Димитров

Гаддехосур Поорнананда Р.

Пулапака Хари Р.

Рао Викрам Мангалоре

Даты

2021-09-22Публикация

2017-05-25Подача