ОСЛАБЛЕНИЕ ПРОГРАММЫ-ВЫМОГАТЕЛЯ В ИНТЕГРИРОВАННЫХ ИЗОЛИРОВАННЫХ ПРИЛОЖЕНИЯХ Российский патент 2023 года по МПК G06F21/44 G06F21/62 H04L9/32 

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

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

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

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

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

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

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

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

Краткое описание чертежей/фигур

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

[0007] Фиг. 1 показывает блок-схему системы для предоставления доступа к ресурсу защищенным способом согласно примерному варианту осуществления.

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

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

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

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

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

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

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

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

I. Введение

[0015] Настоящее описание и прилагаемые чертежи раскрывают один или более вариантов осуществления, которые включают в себя признаки настоящего изобретения. Объем настоящего изобретения не ограничивается раскрытыми вариантами осуществления. Раскрытые варианты осуществления просто иллюстрируют настоящее изобретение, и модифицированные версии раскрытых вариантов осуществления также охватываются настоящим изобретением. Варианты осуществления настоящего изобретения определены прилагаемой формулой изобретения.

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

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

[0018] Многочисленные примерные варианты осуществления описываются следующим образом. Следует отметить, что любые заголовки разделов/подразделов, представленные в данном документе, не предназначены для ограничения. Варианты осуществления описаны в этом документе, и любой тип варианта осуществления может быть включен в любой раздел/подраздел. Кроме того, варианты осуществления, раскрытые в любом разделе/подразделе, могут быть объединены с любыми другими вариантами осуществления, описанными в том же разделе/подразделе и/или другом разделе/подразделе, любым способом.

II. Примерные реализации

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

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

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

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

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

[0024] Ниже описаны примерные варианты осуществления для систем и способов предоставления доступа к ресурсу защищенным способом. Например, фиг. 1 показывает блок-схему системы 100 согласно примерному варианту осуществления. Как показано на фиг. 1, система 100 включает в себя вычислительное устройство 102, сервер 108 авторизации и сервер 112 ресурсов, которые коммуникативно связаны сетью 110, и защищенные ресурсы 116, подключенные к серверу 112 ресурсов. Система 100 может содержать любое количество вычислительных устройств и/или серверов, в том числе те, которые показаны на фиг. 1, и, возможно, одно или более дополнительных устройств, не проиллюстрированных явным образом. Как показано на фиг. 1, вычислительное устройство 102 включает в себя размещенную на нем виртуальную машину 104 и диспетчер 106 маркеров авторизации. Как более подробно описано ниже, диспетчер 106 маркеров авторизации может быть сконфигурирован для приема запроса маркера от приложения, выполняемого на виртуальной машине 104, получения маркера авторизации с индикатором доверия и предоставления маркера авторизации, включающего в себя индикатор доверия, приложению в виртуальной машине 104. Сервер 108 авторизации включает в себя издатель 110 маркеров. Сервер 112 ресурсов включает в себя диспетчер 114 ресурсов. Хотя фиг. 1 описывается в отношении приложения, выполняемого на виртуальной машине 104, такая реализация не предназначена для ограничения. Также рассматриваются другие типы частично и/или полностью изолированных вычислительных сред, в которых могут возникать запросы маркеров, как описано ниже. Система 100 далее описывается следующим образом.

[0025] Сеть 110 может включать в себя одну или более из любой из локальной сети (LAN), глобальной сети (WAN), персональной сети (PAN), комбинации сетей связи, таких как Интернет, и/или виртуальной сети. В примерных реализациях вычислительное устройство 102, сервер 108 авторизации, сервер 112 ресурсов и/или защищенные ресурсы 116 могут быть коммуникативно связаны друг с другом через сеть 110. В реализации любое одно или более вычислительных устройств 102, сервер 108 авторизации, сервер 112 ресурсов и/или защищенные ресурсы 116 могут обмениваться данными через один или более интерфейсов прикладного программирования (API) и/или в соответствии с другими интерфейсами и/или технологиями. Вычислительное устройство 102, сервер 108 авторизации, сервер 112 ресурсов и/или защищенные ресурсы 116 могут включать в себя, по меньшей мере, один сетевой интерфейс, который обеспечивает связь друг с другом. Примеры такого сетевого интерфейса, проводного или беспроводного, включают в себя беспроводной интерфейс беспроводной локальной сети (WLAN) IEEE 802.11, интерфейс всемирной совместимости для микроволнового доступа (Wi-MAX), интерфейс Ethernet, интерфейс универсальной последовательной шины (USB), интерфейс сотовой сети, интерфейс Bluetooth™, интерфейс беспроводной связи ближнего радиуса действия (NFC) и т.д. Дополнительные примеры сетевых интерфейсов описаны в другом месте в данном документе.

[0026] Вычислительное устройство 102 включает в себя любое вычислительное устройство одного или более пользователей (например, индивидуальных пользователей, семейных пользователей, корпоративных пользователей, государственных пользователей и т.д.), которое может содержать одно или более приложений, операционных систем, виртуальных машин, запоминающих устройств и т.д., которые могут выполняться, размещаться и/или храниться в нем или через одно или более других вычислительных устройств через сеть 110. В некоторых примерах вычислительное устройство 102 может осуществлять доступ к одному или более серверным устройствам, таким как сервер 108 аутентификации и/или сервер 112 ресурсов, для доступа к одному или более защищенным ресурсам 116, как описано в данном документе. Вычислительное устройство 102 может включать в себя любое количество вычислительных устройств, в том числе десятки, сотни, тысячи, миллионы или даже большее количество вычислительных устройств. Каждое вычислительное устройство вычислительного устройства 102 может быть стационарным или мобильным вычислительным устройством любого типа, в том числе мобильный компьютер или мобильное вычислительное устройство (например, устройство Microsoft® Surface®, персональный цифровой помощник (PDA), портативный компьютер, портативный компьютер, планшетный компьютер, такой как Apple iPad ™, нетбук и т.д.), мобильный телефон, носимое вычислительное устройство или другое мобильное устройство, или стационарное вычислительное устройство, такое как настольный компьютер или PC (персональный компьютер) или сервер. Вычислительное устройство 102 не ограничивается физической машиной, но может включать в себя другие типы машин или узлов, такие как виртуальная машина. Каждое вычислительное устройство 102 может взаимодействовать с сервером 108 авторизации и/или сервером 112 ресурсов через API и/или другие механизмы. Обратим внимание, что может присутствовать любое количество программных интерфейсов.

[0027] Сервер 108 авторизации может содержать любое вычислительное устройство, сервер и/или службу для выдачи одного или более маркеров авторизации вычислительным устройствам сети 110, запрашивающим такие маркеры. Как будет описано более подробно ниже, маркер авторизации может включать в себя любой объект (например, набор данных), который позволяет вычислительному устройству, вычислительной среде и/или приложениям получать доступ к ресурсу. Например, маркер авторизации может быть файлом или другим объектом, который включает в себя один или более из идентификатора для маркера, идентификатора для соответствующего сеанса входа в систему, идентификатора приложения, запрашивающего доступ, идентификатора пользователя для пользователя приложения, запрашивающего доступ и индикатора одной или более привилегий, предоставляемых маркером авторизации.

[0028] В некоторых примерах сервер 108 авторизации может содержать службу идентификации или поставщик идентификационных данных, сконфигурированный для проверки информации идентификации объекта, запрашивающего маркер авторизации, в том числе, помимо прочего, учетные данные пользователя (например, имя пользователя и/или пароль), псевдоним пользователя, номер учетной записи, биометрическую информацию или любую другую информацию или учетные данные, которые могут использоваться для безопасного доступа к ресурсу. В соответствии с реализациями, издатель 110 маркера сервера 108 авторизации может сгенерировать и выпустить маркер для передачи на вычислительное устройство 102, который дополнительно включает в себя индикатор доверия, который может указывать на уровень доверия среды, в которой был запрошен маркер, и/или предназначен для использования для доступа к ресурсу (например, защищенным ресурсам 116). В некоторых случаях сервер 108 авторизации может быть сконфигурирован для предоставления, на основе проверенной идентификационной информации, доступа к множеству ресурсов, не связанных и/или не уполномоченных с сервером 108 авторизации. В некоторых других случаях сервер 108 авторизации и/или сервер 112 ресурсов может содержать аффилированные объекты и/или может быть реализован на одном сервере или на совокупности серверов.

[0029] Сервер 112 ресурсов может содержать любое одно или более вычислительных устройств, серверов, служб, локальных процессов, удаленных машин, веб-служб и т.д. для размещения, управления и/или предоставления доступа к защищенным ресурсам 116 пользователями вычислительного устройства 102. Например, сервер 112 ресурсов может содержать сервер, расположенный в помещении организации и/или связанный с локальной сетью организации, удаленно расположенный сервер, облачный сервер (например, один или более серверов распределенным образом) или любое другое устройство или службу, которые могут размещать, управлять и/или предоставлять доступ к защищенным ресурсам 116. Защищенные ресурсы 116 могут включать в себя любой тип ресурса, подключенного к сети, в том числе, помимо прочего, вычислительные или обрабатывающие ресурсы, программные ресурсы (например, программное обеспечение как услуга (SaaS), платформа как услуга (PaaS) и т.д.), хранилище ресурсов (например, физические устройства хранения, локальные устройства хранения, облачные хранилища, жесткие диски, твердотельные накопители, устройства оперативной памяти (RAM) и т.д.), базы данных и т.д.

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

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

[0032] В примерах, когда приложение виртуальной машины 104 желает получить доступ к ресурсу за пределами виртуальной машины 104, приложение может предоставить запрос маркера диспетчеру 106 маркеров авторизации для соответствующего маркера авторизации. В соответствии с реализациями маркер 106 авторизации может быть сконфигурирован для назначения уровня доверия запросу маркера. Уровень доверия может указывать, например, что виртуальная машина 104 и/или приложение, выполняемое в ней, не являются доверенными и/или подвержены компрометации или взлому. Диспетчер 106 маркеров авторизации может предоставить запрос маркера и назначить уровень доверия издателю 110 маркера, чтобы получить маркер авторизации. Издатель 110 маркера может проверить информацию идентификации (например, учетные данные для входа в систему) и сгенерировать маркер авторизации, который включает в себя встроенный в него индикатор доверия. Издатель 110 маркера может предоставить маркер авторизации, который включает в себя встроенный индикатор доверия, диспетчеру 106 маркеров авторизации, который может предоставить маркер авторизации запрашивающему приложению, выполняющемуся на виртуальной машине 104.

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

[0034] Следует отметить и понять, что реализации не ограничиваются иллюстративной компоновкой, показанной на фиг. 1. Напротив, сеть 110 может содержать любое количество вычислительных устройств и/или серверов (в том числе, помимо прочего, машин и/или виртуальных машин), соединенных любым способом. Например, хотя вычислительное устройство 102 показано отдельно от сервера 108 авторизации, сервера 112 ресурсов и защищенных ресурсов 116, в варианте осуществления одно или более из вычислительного устройства 102, сервера 108 авторизации, сервера 112 ресурсов и/или защищенных ресурсов (или компоненты в них) могут быть совмещены, расположены удаленно друг от друга, могут быть реализованы на одном вычислительном устройстве или виртуальной машине или могут быть реализованы или распределены по одному или более дополнительным вычислительным устройствам или виртуальным машинам, не проиллюстрированным явным образом на фиг. 1. Пример компоновки, в которой диспетчер маркеров авторизации, издатель 110 маркера, диспетчер 114 ресурсов и защищенные ресурсы 116 могут быть реализованы в вычислительном устройстве, проиллюстрирован на фиг. 6 и более подробно описан ниже.

[0035] Диспетчер 106 маркеров авторизации может работать различными способами, чтобы обеспечить доступ к ресурсу безопасным способом. Например, диспетчер 106 маркеров авторизации может работать согласно фиг. 2. На фиг. 2 показана блок-схема 200 последовательности операций способа предоставления авторизации, который включает в себя индикатор доверия для приложения, согласно примерному варианту осуществления. В иллюстративных целях блок-схема 200 последовательности операций и диспетчер 106 маркеров авторизации описываются следующим образом со ссылкой на фиг. 3.

[0036] Фиг. 3 показывает блок-схему системы 300 для предоставления доступа к сетевому ресурсу защищенным способом согласно примерному варианту осуществления. Как показано на фиг. 3, система 300 включает в себя пример реализации вычислительного устройства 102, сервера 108 авторизации и сервера 112 ресурсов. Вычислительное устройство 102 включает в себя виртуальную машину 104 и диспетчер 106 маркеров авторизации. Виртуальная машина 104 может содержать приложение 302, выполняемое в ней. Диспетчер 106 маркеров авторизации может включать в себя средство 304 назначения уровня доверия и средство 306 запроса маркеров. Сервер 108 авторизации включает в себя издатель 110 маркеров. Издатель 110 маркеров включает в себя средство 314 проверки подлинности идентификации и генератор 316 маркеров. Сервер ресурсов включает в себя диспетчер 114 ресурсов. Диспетчер 114 ресурсов включает в себя поставщика 318 доступа к ресурсам и средство 320 защиты ресурсов. Диспетчер 114 ресурсов может быть связан с защищенными ресурсами 116 и моментальным снимком 322 ресурсов. Как показано в системе 300 на фиг. 3, диспетчер 106 маркеров авторизации может передать запрос 308 маркера и связанный с ним уровень 310 доверия издателю 110 маркера. Издатель 110 маркера может сгенерировать маркер 312 авторизации, который включает в себя индикатор доверия, который может быть встроен в него. Диспетчер 106 маркеров авторизации может предоставить маркер авторизации приложению 302. Впоследствии, когда приложение 302 предоставляет маркер авторизации диспетчеру 114 ресурсов для доступа к защищенным ресурсам 116, диспетчер 114 ресурсов может быть сконфигурирован для выполнения предупредительных действий для защиты защищенных ресурсов 116 до предоставления доступа к таким ресурсам. Блок-схема 200 последовательности операций и система 300 более подробно описаны ниже.

[0037] Блок-схема 200 последовательности операций на фиг. 2 начинается с этапа 202. На этапе 202 запрос маркера принимается от приложения, выполняющегося во второй вычислительной среде, по меньшей мере, частично изолированной от первой вычислительной среды для доступа к ресурсу. Например, со ссылкой на фиг. 3, средство 304 назначения уровня доверия может быть сконфигурировано для приема запроса 324 маркера от приложения 302. Виртуальная машина 104 может содержать вычислительную среду, которая частично или полностью изолирована от другой вычислительной среды (например, хост-среда, в которой может выполняться основная операционная система вычислительного устройства 102). Например, виртуальная машина 104 может содержать операционную систему (например, того же или другого типа, что и операционная система, выполняющаяся в среде хоста) и/или одно или более приложений, выполняемых в ней. Виртуальная машина 104 работает поверх основной операционной системы вычислительного устройства 102. Приложение 302 может содержать любой тип приложения, которое может выполняться на виртуальной машине 104, в том числе, помимо прочего, программные пакеты, установленные на виртуальной машине 104 или доступные с удаленного компьютера или сервера, веб-приложения, веб-службы или любой другой код или двоичный код, который может выполняться на виртуальной машине 104 или внутри нее. В примерных вариантах реализации виртуальной машине 104 и/или приложению 302 нельзя доверять (например, они могут быть незащищенными, восприимчивыми к выполнению вредоносного кода и т.д.) из-за любого количества факторов, в том числе, помимо прочего, типов приложений, выполняемых пользователем виртуальной машины 104, удаленных служб или веб-сайтов, к которым имеет доступ пользователь, который потенциально может использовать приложение 302 и/или виртуальную машину 104, и/или неотъемлемые аспекты виртуальной машины 104 или самого приложения 302 (например, операционная система, выполняющаяся на виртуальной машине 104, может вообще считаться ненадежной).

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

[0039] В примерах приложение 302 может, посредством взаимодействия с пользователем или в ответ на выполнение программного обеспечения на виртуальной машине 104, попытаться подключиться к ресурсам вне виртуальной машины 104, таким как защищенные ресурсы 116. Например, приложение 302 может попытаться подключиться к облачному файловому серверу, удаленному от виртуальной машины 104 и/или вычислительного устройства 102. Чтобы получить доступ к таким защищенным ресурсам 116, приложению 302 может потребоваться предоставить соответствующий маркер авторизации диспетчеру 114 ресурсов. В реализациях запрос маркера для такого маркера авторизации, сгенерированного приложением 302, может быть перенаправлен, так что запрос маркера предоставляется в вычислительную среду хоста. Например, со ссылкой на фиг. 3, запрос маркера авторизации, инициированный приложением 302, может быть перенаправлен на средство 304 назначения уровня доверия, указывающее, что приложение пытается получить доступ к определенным ресурсам. Средство 304 назначения уровня доверия может принимать такой запрос через одну или более дыр, предусмотренных в изоляционном барьере, реализованном между виртуальной машиной 104 и вычислительной средой хоста вычислительного устройства 102.

[0040] Запрос авторизации, полученный средством 304 назначения уровня доверия от приложения 302, может включать в себя, среди прочего, идентификацию ресурсов, для которых запрашивается доступ (например, идентификацию защищенных ресурсов 116), идентификацию запрашивающего приложения, учетные данные для входа в систему для соответствующего разрешающего объекта (например, поставщика идентификационных данных), тип запрошенного доступа (например, доступ только для чтения, доступ для чтения/записи и т.д.), продолжительность времени, в течение которого запрашивается маркер, и любая другая информация, которая может быть связана с запросом маркера авторизации, как это понимают специалисты в соответствующей области.

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

[0042] В примерах средство 304 назначения уровня доверия может назначать уровень доверия различными способами. Например, средство 304 назначения уровня доверия может назначить уровень доверия на основе заранее определенных знаний (например, хранящихся в базе данных или другой структуре данных) относительно характеристик изолированной вычислительной среды, таких как идентификатор виртуальной машины 104, операционной системой, выполняющейся на виртуальной машине 104 и/или любых других приложениях 302, которые могут выполняться в ней. В одном иллюстративном примере средство 304 назначения уровня доверия может автоматически считать, что определенные типы запросов маркеров (или все запросы маркеров), исходящие из изолированной среды, не являются доверенными, и, соответственно, назначать пониженный уровень доверия каждому такому запросу маркера. В других примерах средство 304 назначения уровня доверия может назначать пониженные уровни доверия запросам маркеров, связанным с определенными приложениями, операционными системами или виртуальными машинами, которые могут быть размещены как часть изолированной среды на вычислительном устройстве 102. В других примерах средство 304 назначения уровня доверия может назначать уровни доверия запросам маркеров, принятым от приложения 302, на основе определения "на лету". Уровень доверия может быть указан в любой форме, в том числе числовое значение (например, в диапазоне от 0 до 10, где "0" означает отсутствие доверия, а "10" означает максимальное доверие), текстовое значение (например, "высокий", "средний", "низкий", "нет" и т.д.), буквенно-цифровое значение, строка и т.д.

[0043] На этапе 206 получается маркер авторизации, который включает в себя индикатор доверия, соответствующий уровню доверия запроса маркера. Например, со ссылкой на фиг. 3, средство 306 запроса маркеров может получить маркер 312 авторизации, который включает в себя индикатор доверия от издателя 110 маркера. Средство 306 запроса маркеров может получать маркер 312 авторизации различными способами. В иллюстративной компоновке, показанной на фиг. 3, например, блок 306 запроса маркеров может быть сконфигурирован для получения 328 уровня 310 доверия от средства 304 назначения уровня доверия. Средство 306 запроса маркеров может передавать 332 уровень 310 доверия, а также передавать 330 запрос 308 маркеров в средство 314 проверки подлинности идентификации издателя 110 маркеров в соответствии с одним или более API или сетевыми вызовами. Запрос 308 маркера может включать в себя информацию, связанную с запрошенным доступом, как описано ранее, такую как учетные данные для входа, идентификационные данные ресурса, к которому будет осуществляться доступ, объем запрашиваемого доступа и т.д. Запрос 308 маркера может соответствовать запросу маркера, полученному средством 304 назначения уровня доверия из приложения 302 (например, для доступа к ресурсу), и соответствующему уровню доверия. Например, если уровень доверия назначает уровень доверия, указывающий, что виртуальная машина 104 и/или приложение 302 не являются доверенными, средство 306 запроса маркеров может передать запрос 308 маркера и назначенный уровень 310 доверия в соответствующую службу выдачи маркера, чтобы получить маркер, который обеспечивает доступ к запрошенному ресурсу.

[0044] В реализациях запрос 308 маркера может передаваться отдельно от уровня 310 доверия (например, в разных пакетах данных, последовательно, не по порядку и т.д.). В некоторых других примерах запрос 308 маркера и уровень 310 доверия могут передаваться вместе (например, как часть одного и того же пакета данных или набора пакетов данных). Например, уровень 310 доверия может быть добавлен, включен или иным образом передан с запросом 308 маркера в качестве тега, идентификатора, маркировки, флага, утверждения, метаданных, новой или измененной области, связанной с запросом, и т.д. Реализации не ограничиваются этими иллюстративными примерами и могут включать в себя любой другой способ передачи уровня 310 доверия с запросом 308 маркера, который может указывать информацию о надежности запроса маркера (например, уровень доверия виртуальной машины 104 и/или приложения 302) издателю маркера (например, издателю 110 маркера).

[0045] В примерах генератор 316 маркеров может генерировать маркер 312 авторизации, который включает в себя индикатор доверия, указывающий уровень доверия среды, в которой может использоваться маркер. Индикатор доверия может содержать любой подходящий формат (например, числовой, текстовый, строковый и т.д.) и может быть включен, добавлен, объединен или иным образом связан с маркером 312 авторизации. Например, индикатор доверия может аналогичным образом содержать тег, идентификатор, маркировку, флаг, утверждение, метаданные, новую или пересмотренную область действия и т.д., которые являются частью или неотъемлемой частью маркера 312 авторизации. В примере, где маркер 312 авторизации является файлом, индикатор доверия может быть записан в существующее поле или как новая запись в файл. При включении индикатора доверия, маркер 312 авторизации считается "помеченным". Соответственно, в реализациях маркер 312 авторизации может содержать помеченный маркер, который указывает, что запрашивающий объект может быть небезопасным. В примерах генератор 316 маркеров может передавать 334 маркер 312 авторизации, который включает в себя индикатор доверия, в средство 306 запроса маркеров (например, по сети).

[0046] На этапе 208 маркер авторизации, который включает в себя индикатор доверия, предоставляется приложению, выполняющемуся во второй вычислительной среде. Например, со ссылкой на фиг. 3, средство 306 запроса маркеров может быть сконфигурировано для предоставления 326 маркера 312 авторизации, который включает в себя индикатор доверия приложению 302, выполняющемуся на виртуальной машине 104. В реализациях средство 306 запроса маркеров может передавать маркер 312 авторизации приложению 302 без изменения маркера авторизации. Приложение 302 может затем использовать маркер 312 авторизации для доступа к ресурсу, например защищенным ресурсам 116 (или ресурсу, который может храниться локально для вычислительного устройства 102). В примерах, поскольку индикатор доверия включен как часть маркера 312 авторизации, приложение 302 (или любой вредоносный код, который может выполняться на виртуальной машине 104) не может изменять полученный маркер авторизации. Другими словами, если маркер авторизации был изменен какой-либо деятельностью, происходящей в потенциально скомпрометированной среде (например, виртуальной машине 104), измененный маркер авторизации не разрешит доступ к ресурсам поставщика ресурсов, потому что измененный маркер авторизации не может быть проверен между поставщиком ресурсов и службой авторизации (например, издателем 110 маркера и диспетчером 114 ресурсов, как показано в примере на фиг. 3). В результате индикатор доверия может быть встроен в маркер авторизации способом, который не может быть изменен, тем самым повышая целостность маркера авторизации.

[0047] Как будет описано более подробно ниже, когда приложение 302 пытается осуществить доступ к ресурсу путем передачи 336 принятого маркера авторизации соответствующему поставщику ресурсов, поставщик ресурсов может быть сконфигурирован для извлечения (например, чтения или копирования) индикатора доверия из маркера авторизации и определения, следует ли выполнять предупредительное действие перед предоставлением доступа к ресурсу. Например, если средство 320 защиты ресурсов извлекает индикатор доверия, который указывает, что приложение 302 и/или виртуальная машина 104 могут быть небезопасными, средство 320 защиты ресурсов может быть настроено для защиты защищенных ресурсов 116 путем создания резервной копии запрошенных ресурсов (например, путем создания моментального снимка 322 ресурсов до предоставления доступа 338 к таким ресурсам. Примерная блок-схема, изображающая выполнение предупредительных действий для защиты ресурса, будет описана ниже более подробно со ссылкой на фиг. 6.

[0048] Как описано выше, издатель 110 маркера может быть сконфигурирован для генерирования маркера авторизации, который включает в себя индикатор доверия различными способами. Например, на фиг. 4 показана блок-схема 400 последовательности операций способа генерирования маркера авторизации, который включает в себя индикатор доверия, согласно примерному варианту осуществления. В реализации способ блок-схемы 400 последовательности операций может быть реализован с помощью средства 314 проверки подлинности идентификации и генератора 316 маркеров. Фиг. 4 описывается со ссылкой на фиг. 3. Другие структурные и функциональные реализации будут очевидны специалистам в соответствующей области техники на основе следующего обсуждения блок-схемы 400 последовательности операций и системы 300 на фиг. 3.

[0049] Блок-схема 400 последовательности операций начинается с этапа 402. На этапе 402 принимается запрос маркера, который включает в себя информацию идентификации и индикатор того, что запрос маркера был инициирован в приложении второй вычислительной среды, по меньшей мере, частично изолированной от первой вычислительной среды. Например, со ссылкой на фиг. 3, средство 314 проверки подлинности идентификации сервера 108 авторизации может быть сконфигурировано для приема запроса 308 маркера, который включает в себя информацию идентификации и уровень 310 доверия, который указывает связанный уровень доверия. В примерах идентификационная информация может включать в себя одну или более учетных данных пользователя (например, имя пользователя и/или пароль), псевдоним пользователя, номер учетной записи, биометрическую информацию или любую другую информацию или учетные данные, которые может проверять средство 314 проверки подлинности идентификации, чтобы определить, разрешать ли доступ к ресурсу (например, защищенным ресурсам 116). Как описано ранее, уровень 310 доверия может включать в себя информацию, соответствующую уровню доверия среды, в которой был инициирован запрос 308 маркера. Например, со ссылкой на фиг. 3, уровень 310 доверия может указывать уровень доверия, связанный с приложением 302, которое выполняется в виртуальной машине 104. В других примерах уровень 310 доверия может содержать флаг или другой индикатор, который указывает, что запрос был инициирован в среде, отличной от вычислительной среды хоста, или выполнялся в ней. Эти примеры являются только иллюстративными, и уровень 310 доверия может включать в себя информацию любого типа (например, флаг, маркировку, утверждение, метаданные и т.д.), которая указывает, что запрос 308 маркера мог быть инициирован из потенциально ненадежной среды.

[0050] На этапе 404 проверяется достоверность идентификационной информации. Например, со ссылкой на фиг. 3, средство 314 проверки подлинности идентификации может быть сконфигурировано для проверки достоверности информации идентификации, полученной в запросе 308 маркера, чтобы определить, разрешать ли запрашивающему объекту получать маркер авторизации, разрешающий доступ к запрошенному ресурсу. Средство 314 проверки подлинности идентификации может проверять достоверность информации идентификации различными способами, как будет понятно специалистам в соответствующих областях, например, путем поиска информации идентификации в базе данных (например, в базе данных пользователей или учетных записей и т.п.) и создания сравнения, предоставления идентификационной информации другому серверу или службе для проверки и т.д. Например, если проверка не увенчалась успехом (например, получены неверные учетные данные пользователя), средство 314 проверки подлинности идентификации может определить, что доступ не должен быть разрешен, и, следовательно, маркер авторизации не будет предоставлен приложению 302. В случае успешной проверки подлинности средство 314 проверки подлинности идентификации может позволить генератору 316 маркеров сгенерировать соответствующий маркер авторизации, который может быть предоставлен приложению 302 для доступа к запрошенному ресурсу.

[0051] На этапе 406 генерируется маркер авторизации, который включает в себя индикатор доверия. Например, со ссылкой на фиг. 3, генератор 316 маркеров может быть сконфигурирован для генерирования маркера 312 авторизации, который включает в себя индикатор доверия, указывающий уровень доверия вычислительной среды, в которой был инициирован запрос 308 маркера. В примерах индикатор доверия может указывать на уровень доверия, связанный с виртуальной машиной 104 и/или приложением 302, выполняющимся в ней, например, указывая, что вычислительная среда не является доверенной. Как описано ранее, индикатор доверия может быть встроен в маркер 312 авторизации и может содержать любую подходящую форму, в том числе тег, маркировку, флаг, заявку и т.д., которые могут указывать поставщику ресурсов (например, серверу 112 ресурсов) что маркер авторизации может использоваться приложением в ненадежной вычислительной среде.

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

[0053] Маркер 312 авторизации может включать в себя любой тип маркера, который позволяет вычислительному объекту (например, приложениям, службам и т.д.) получать доступ к ресурсу. Примеры маркера 312 авторизации включают в себя, помимо прочего, веб-маркеры, которые обеспечивают доступ к Интернету или другим сетевым ресурсам, маркеры доступа, маркеры, созданные в соответствии со стандартом открытой авторизации (OAuth), маркеры Microsoft® Windows NT и т.д. Маркер 312 авторизации может быть сгенерирован для конкретного запрашивающего приложения или для конкретного ресурса или может содержать единственный маркер, связанный с множеством таких приложений.

[0054] В некоторых примерных вариантах осуществления генератор 316 маркеров также может быть сконфигурирован для хранения каждого сгенерированного маркера 312 авторизации в подходящем запоминающем устройстве (либо локально, либо в одном или более облачных хранилищах). Соответственно, когда приложение 302 пытается получить доступ к ресурсу путем предоставления маркера 312 авторизации диспетчеру 114 ресурсов, средство 320 защиты ресурсов может получить маркер авторизации, хранящийся на сервере 108 авторизации, для определения подлинности маркера, полученного от приложения 302, до предоставления доступа к запрашиваемому ресурсу. В других случаях генератор 316 маркеров также может быть сконфигурирован для повторной передачи ранее сгенерированного и еще не истекшего маркера (в том числе индикатор доверия) в средство 306 запроса маркеров, например, когда генератор 316 маркеров ранее сгенерировал маркер авторизации, соответствующий приложению 302 для доступа к тому же ресурсу.

[0055] На этапе 408 маркер авторизации, который включает в себя индикатор доверия, предоставляется приложению, выполняющемуся во второй вычислительной среде. Например, со ссылкой на фиг. 3, генератор 316 маркеров может быть сконфигурирован для передачи маркера 312 авторизации средству 306 запроса маркеров для предоставления приложению 302 (например, путем прохождения маркера 312 авторизации через границу изоляции) и/или путем предоставления маркера 312 авторизации непосредственно в приложение 302 (например, без передачи маркера средству 306 запроса маркеров в качестве посредника). Как описано выше, приложение 302 может использовать маркер 312 авторизации для доступа к запрошенному ресурсу.

[0056] Как описано в данном документе, диспетчер 114 ресурсов может быть сконфигурирован для защиты защищенных ресурсов 116 в ответ на получение маркера авторизации. Например, на фиг. 5 показана блок-схема последовательности операций способа выполнения предупредительного действия для защиты ресурса согласно примерному варианту осуществления. В реализации способ блок-схемы 500 последовательности операций может быть реализован поставщиком 318 доступа к ресурсам и средством 320 защиты ресурсов. Фиг. 5 описывается со ссылкой на фиг. 3. Другие структурные и функциональные реализации будут очевидны специалистам в соответствующей области техники на основе следующего обсуждения блок-схемы 500 последовательности операций и системы 300 на фиг. 3.

[0057] Блок-схема 500 последовательности операций начинается с этапа 502. На этапе 502 маркер авторизации принимается от приложения, выполняющегося в вычислительной среде. Например, со ссылкой на фиг. 3, средство 320 защиты ресурсов может быть сконфигурировано для приема маркера 312 авторизации от приложения 302, выполняющегося на виртуальной машине 104 через сеть 110. Как описано в данном документе, маркер 312 авторизации также может включать в себя индикатор доверия, который указывает уровень доверия среды, связанной с маркером 312 авторизации. Следовательно, в этом примере индикатор доверия может указывать на уровень доверия вычислительной среды в виртуальной машине 104 и/или приложение 302 может выполняться.

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

[0059] После того, как приложение 302 получает маркер 312 авторизации, как описано ранее, приложение 302 может попытаться получить доступ к ресурсам в соответствии с объемом предоставленного маркера авторизации, взаимодействуя с соответствующим поставщиком ресурсов, таким как сервер 112 ресурсов. В примерах приложение 302 также может предоставить маркер 312 авторизации в средство 320 защиты ресурсов вместе с попыткой доступа к ресурсу. Средство 320 защиты ресурсов может проверять подлинность маркера 312 авторизации аналогичным образом, как описано ранее, например, взаимодействуя с сервером 108 авторизации, чтобы определять, действителен ли маркер аутентификации, полученный от приложения 302, и/или срок его действия не истек.

[0060] На этапе 504 индикатор доверия извлекается из маркера авторизации. Например, средство 320 защиты ресурсов может быть сконфигурировано для анализа маркера 312 авторизации, чтобы извлекать из него индикатор доверия. Например, если индикатор доверия встроен в маркер 312 авторизации в качестве идентификатора, маркировки, флага, утверждения, метаданных и т.д., средство 320 защиты ресурсов может извлечь такой индикатор. В некоторых реализациях средство 320 защиты ресурсов также может получать индикатор доверия от сервера 108 авторизации (например, когда подтверждается подлинность принятого маркера).

[0061] На этапе 506 определяется, что необходимо выполнить предупредительное действие для защиты ресурса. Например, со ссылкой на фиг. 3, средство 320 защиты ресурса может быть сконфигурировано для определения, в ответ на прием маркера авторизации и извлечение индикатора доверия, что должно быть выполнено предупредительное действие для защиты ресурса. Например, если индикатор доверия указывает, что среда, из которой был получен маркер 312 авторизации, не заслуживает доверия, средство 320 защиты ресурсов может определить, что одно или более предупредительных действий должны быть выполнены для защиты защищенных ресурсов 116. Предупредительные действия могут включать в себя действия любого типа, выполняемые для предотвращения (например, упреждающего) или смягчения потенциально злонамеренных изменений защищенных ресурсов 116.

[0062] Например, если извлеченный индикатор доверия указывает, что вычислительная среда, из которой был получен маркер 312 авторизации, не заслуживает доверия, средство 320 защиты ресурсов может быть сконфигурировано для выполнения определенных действий для предотвращения повреждения, компрометации и/или взлома данных пользователя. В некоторых примерах средство 320 защиты ресурсов может определять, что необходимо выполнить множество предупредительных действий. В некоторых других случаях средство 320 защиты ресурсов может определить, что предупредительное действие не требуется, например, когда маркер аутентификации был получен из вычислительной среды, о которой известно, что она является доверенной сервером 112 ресурсов. В некоторых других случаях средство 320 защиты ресурсов также может решить не выполнять предупредительные действия, например, когда средство 320 защиты ресурсов считает, что приложение 302 не является вредоносным, на основании предыдущего доступа, предоставленного приложению 302 в ответ на получение того же маркера авторизации.

[0063] На этапе 508 выполняется предупредительное действие для защиты ресурса в ответ на получение маркера авторизации. Например, со ссылкой на фиг. 3, средство 320 защиты ресурсов может быть сконфигурировано для выполнения одного или более предупредительных действий для защиты защищенных ресурсов 116 в ответ на прием маркера 312 авторизации от приложения 302. В примерах тип (или типы) предупредительных действий, выполняемых для защиты защищенных ресурсов 116, может быть основан на комбинации факторов, в том числе типе ресурса, к которому осуществляется доступ, объеме доступа (например, доступ только для чтения, изменение ресурса и т.д.), и/или уровне доверия, который может указываться индикатором доверия в маркере 312 авторизации. Например, если ресурс, к которому выполняется доступ, был идентифицирован как конфиденциальный и/или важный, средство 320 защиты ресурса может быть сконфигурировано для выполнения одной или более мер безопасности для защиты ресурса. В другом примере, если извлеченный индикатор доверия указывает, что вычислительная среда (например, приложение 302), из которой был получен маркер 312 авторизации, известна как ненадежная, средство 320 защиты ресурсов может выполнить одну или более повышенных мер безопасности для защиты защищенных ресурсов 116.

[0064] В одном примере средство 320 защиты ресурсов может быть сконфигурировано для автоматического создания моментального снимка 322 ресурсов в ответ на прием маркера 312 авторизации, который указывает, что приложению 302 нельзя доверять. Моментальный снимок 322 ресурсов может содержать, например, резервную копию защищенных ресурсов 116, которая недоступна для приложения 302, даже с маркером 312 авторизации. В некоторых реализациях средство 320 защиты ресурсов может генерировать моментальный снимок 322 защищенных ресурсов 116 различными способами, в том числе путем создания моментального снимка, согласованного со всей областью доступа маркера 312 авторизации (например, копируя все файлы пользователя, если маркер 312 авторизации является обширным), и/или копирования ресурсов на основе файла за файлом (например, копирование только отдельных файлов, к которым приложение 302 пытается получить доступ).

[0065] Хотя в некоторых примерах моментальный снимок 322 ресурса может храниться локально по отношению к защищенным ресурсам 116, предполагается, что моментальный снимок 322 ресурса также может храниться удаленно (например, на другом сервере) способом, который недоступен для приложения 302 и/или любого другого потенциально ненадежного приложения. В некоторых реализациях средство 320 защиты ресурсов может быть сконфигурировано для шифрования (или дальнейшего шифрования) моментального снимка 322 ресурса для дальнейшего повышения безопасности путем предотвращения неавторизованного доступа в случае потенциальной компрометации.

[0066] Создание резервной копии защищенных ресурсов 116 - это только один иллюстративный пример меры предосторожности, которую средство 320 защиты ресурсов может выполнить для защиты ресурса. Средство 320 защиты ресурсов может также выполнять одну или более других мер в дополнение к созданию моментального снимка 322 ресурса или в качестве альтернативы ему, в том числе, помимо прочего, авторизацию области доступа, которая более ограничена, чем область, указанная в маркере 312 авторизации (например, доступ только для чтения к файлам, к которым осуществляется доступ, на устройстве хранения, предотвращение вывода средств из финансового учреждения и т.д.), разрешение доступа только на определенный период времени (например, в днях, часах, минутах, секундах и т.д.), после которого доступ может быть прекращен с полным отказом в доступе (например, когда защищенные ресурсы могут быть сочтены слишком конфиденциальными или важными, например банковская или финансовая информация, чтобы разрешить любой потенциально ненадежный доступ), и/или требуется одно или более дополнительных или альтернативных разрешений процедуры.

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

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

[0069] В некоторых других случаях средство 320 защиты ресурсов также может выполнять профилактическое действие в отношении одного или более ресурсов, не связанных с маркером 312 авторизации. Например, если средство 320 защиты ресурсов принимает запрос от потенциально ненадежной вычислительной среды, средство 320 защиты ресурсов может быть сконфигурировано для автоматической защиты (например, путем шифрования, блокировки, перемещения в более безопасное место и т.д.) несвязанных файлов, которые могут содержать повышенную чувствительность или важность для дальнейшего повышения безопасности. Таким образом, даже если определенный вредоносный код может поставить под угрозу защищенные ресурсы 116, перемещение вредоносного кода все еще может быть ограничено, поскольку средство 320 защиты ресурсов может препятствовать доступу кода не только к моментальному снимку 322 ресурсов, но и к другим данным, которые могут присутствовать на или доступны тому же серверу.

[0070] На этапе 510 доступ к ресурсу предоставляется приложением, выполняющимся в вычислительной среде. Например, со ссылкой на фиг. 3, поставщик 318 доступа к ресурсам может быть сконфигурирован для предоставления доступа к защищенным ресурсам 116 приложением 302, выполняющимся в вычислительной среде (т.е. потенциально ненадежной среде). В некоторых примерах тип доступа, предоставляемый поставщиком 318 доступа к ресурсам, может быть основан на предупредительных действиях, выполняемых для защиты защищенных ресурсов 116. Например, если средство 320 защиты ресурсов создало моментальный снимок 322 ресурсов, который недоступен для приложения 302, поставщику 318 доступа к ресурсам может быть разрешен полный доступ для чтения/записи к защищенным ресурсам 116.

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

[0072] Поставщик 318 доступа к ресурсам также может быть сконфигурирован для разрешения приложению 302 доступа к моментальному снимку 322 ресурсов (вместо защищенных ресурсов 116, которые могут быть защищены от приложения 302). В любом случае средство 320 защиты ресурсов может быть сконфигурировано для автоматического удаления резервной копии после определения того, что доступ со стороны приложения 302 не был злонамеренным, и/или по истечении заданного времени. В других случаях, например, когда средство 320 защиты ресурсов может быть уведомлено о том, что приложение 302 злонамеренно изменило защищенные ресурсы 116 (например, из-за программы-вымогателя или т.п.), средство 320 защиты ресурсов может быть сконфигурировано для восстановления защищенных ресурсов 116 из моментального снимка 322 ресурсов. В результате, даже если ненадежное приложение пытается внедрить программу-вымогатель, чтобы зашифровать или иным образом изменить файлы пользователя, резервную копию файлов можно легко восстановить, тем самым минимизируя вред от такого злонамеренного поведения.

[0073] Следует отметить и понять, что схема, описанная на фиг. 3, является только иллюстративной, и реализации могут включать в себя различные другие типы схем, в том числе схемы, в которых один или более из диспетчера 106 маркеров авторизации, издателя 110 маркеров, диспетчера 114 ресурсов, защищенных ресурсов 116 и моментального снимка 322 ресурсов может быть реализован локально для вычислительного устройства 102. Например, фиг. 6 показывает блок-схему системы 600 для предоставления доступа к локальному ресурсу защищенным способом согласно примерному варианту осуществления. Система 600 содержит вычислительное устройство 602. Подобно вычислительному устройству 102, вычислительное устройство 602 может включать в себя множество вычислительных сред. Например, вычислительное устройство 602 может содержать вычислительную среду, в которой может выполняться основная операционная система, в том числе настольные и/или мобильные операционные системы (например, Microsoft® Windows, Apple® macOS, Apple® iOS, Google® Android). Вычислительное устройство 602 также может включать в себя одну или более других вычислительных сред, как описано в данном документе, например изолированную среду, которая может включать в себя виртуальную машину 104 и приложения, выполняющиеся в ней (например, приложение 302).

[0074] В примерной компоновке на фиг. 6 первая вычислительная среда (например, вычислительная среда, которая может размещать изолированную среду) может включать в себя одно или более из диспетчера 106 маркеров авторизации, издателя 110 маркеров, диспетчера 114 ресурсов, защищенных ресурсов 116 и моментального снимка 322 ресурса. Например, вместо того, чтобы один или более таких компонентов были реализованы на одном или более сетевых объектах, такие компоненты могут быть реализованы локально для вычислительного устройства 602. Например, модуль 306 запроса маркеров может предоставить запрос маркера (например, запрос маркера NT или т.п.) средству 314 проверки подлинности идентификации, которое сконфигурировано для управления маркерами авторизации для локальных действий на вычислительном устройстве 602. В некоторых примерных реализациях средство 314 проверки подлинности идентификации и/или генератор 316 маркеров могут быть реализованы как часть основной операционной системы вычислительного устройства 602, диспетчера файловой системы и/или как любое другое приложение, выполняющееся на нем, так что доступом к локально сохраненным данным (или удаленно сохраненным данным, которые могут быть доступны через локальное взаимодействие, например, с помощью ярлыка и т.п.) можно управлять с помощью локальных маркеров авторизации. Другими словами, генератор 316 маркеров может быть сконфигурирован для генерирования и предоставления маркеров авторизации, которые разрешают приложениям, выполняющимся на вычислительном устройстве 602 (в том числе любым приложениям, которые могут размещаться в изолированных средах), получать доступ к локальным ресурсам, таким как защищенные ресурсы 116.

[0075] Соответственно, когда приложение 302 запрашивает маркер, а средство 306 запроса маркеров предоставляет запрос 308 маркера и назначает уровень 310 доверия издателю 110 маркера, генератор 316 маркеров может сгенерировать маркер авторизации, который включает в себя индикатор доверия, указывающий уровень 310 доверия, аналогичным образом, как описано ранее. Маркер авторизации может включать в себя, например, информацию, связанную с авторизованным доступом, такую как информация о пользователе (например, идентификация пользователя как администратора, гостя и т.д.), уровень разрешения (например, только чтение, чтение/доступ на запись и т.д.), идентификация запрошенных ресурсов и т.д. Средство 306 запроса маркеров может предоставить маркер авторизации, который включает в себя индикатор доверия (например, помеченный маркер авторизации), приложению 302, разрешая приложению доступ к локальным ресурсам, которые могут быть доступны за пределами виртуальной машины 104.

[0076] Соответственно, когда приложение 302 пытается получить доступ или изменить ресурс вне изолированной вычислительной среды, такой как защищенные ресурсы 116, поставщик 318 доступа к ресурсам может извлечь индикатор доверия из маркера авторизации, предоставленного приложением 302, и определить, что приложение 302 не может быть доверенным. В ответ на получение такого помеченного запроса авторизации, указывающего, что приложению 302 нельзя доверять, средство 320 защиты ресурсов может выполнить одно или более предупредительных действий в вычислительной среде, содержащей основную операционную систему, для защиты защищенных ресурсов 116, например создание моментального снимка 322 ресурсов, который содержит резервную копию защищенных ресурсов 116, до предоставления доступа к защищенным ресурсам 116. Как описано ранее, средство 320 защиты ресурсов может также содержать любые другие типы предупредительных действий в дополнение или в качестве альтернативы созданию моментального снимка 322 ресурсов, в том числе, помимо прочего, разрешение ограниченного доступа (например, доступ только для чтения) к защищенным ресурсам 116, предотвращение шифрования (или дополнительного шифрования) защищенных ресурсов 116, требование расширенной авторизации или любые другие меры предосторожности, что будет понятно специалистам в данной области техники.

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

III. Примеры вариантов осуществления мобильных и стационарных устройств

[0078] Вычислительное устройство 102, виртуальная машина 104, диспетчер 106 маркеров авторизации, сервер 108 авторизации, издатель 110 маркеров, сервер 112 ресурсов, диспетчер 114 ресурсов, защищенные ресурсы 116, средство 304 назначения уровня доверия, средство 306 запроса маркеров, средство 314 проверки подлинности идентификации, генератор 316 маркеров, поставщик 318 доступа к ресурсам, средство 320 защиты ресурсов, моментальный снимок 322 ресурсов, блок-схема 200 последовательности операций, блок-схема 400 последовательности операций и/или блок-схема 500 последовательности операций могут быть реализованы в аппаратном обеспечении или в аппаратном обеспечении в сочетании с программным обеспечением и/или микропрограммным обеспечением, например, в виде компьютерного программного кода/инструкций, сохраненных на физическом/аппаратном компьютерно-читаемом носителе данных и сконфигурированных для выполнения в одном или более процессорах, или могут быть реализованы как аппаратная логическая/электрическая схема (например, электрические схемы, состоящие из транзисторов, логических вентилей, операционных усилителей, одной или более специализированных интегральных схем (ASIC), одной или более программируемых вентильных матриц (FPGA)). Например, одно или более из вычислительного устройства 102, виртуальной машины 104, диспетчера 106 маркеров авторизации, сервера 108 авторизации, издателя 110 маркера, сервера 112 ресурсов, диспетчера 114 ресурсов, защищенных ресурсов 116, средства 304 назначения уровня доверия, средства 306 запроса маркеров, средства 314 проверки подлинности идентификации, генератора 316 маркеров, поставщика 318 доступа к ресурсам, средства 320 защиты ресурсов, моментального снимка 322 ресурсов, блок-схемы 200 последовательности операций, блок-схемы 400 последовательности операций и/или блок-схемы 500 последовательности операций может быть реализовано отдельно или вместе в SoC. SoC может включать в себя кристалл интегральной схемы, который включает в себя один или более из процессора (например, центрального процессора (CPU), микроконтроллера, микропроцессора, цифрового сигнального процессора (DSP) и т.д.), память, один или более интерфейсов связи и/или дополнительные схемы и может, в необязательном порядке, исполнять принятый программный код и/или включать в сея встроенное микропрограммное обеспечение, чтобы выполнять функции.

[0079] Фиг. 7 изображает примерную реализацию вычислительного устройства 700, в которой могут быть реализованы примерные варианты осуществления. Например, любое из вычислительного устройства 102, виртуальной машины 104, диспетчера 106 маркеров авторизации, сервера 108 авторизации, издателя 110 маркеров, сервера 112 ресурсов, диспетчера 114 ресурсов, защищенных ресурсов 116, средства 304 назначения уровня доверия, средства 306 запроса маркеров, средства 314 проверки подлинности идентификации, генератора 316 маркеров, поставщика 318 доступа к ресурсам, средства 320 защиты и/или моментального снимка 322 ресурсов может быть реализовано в одном или более вычислительных устройствах, подобных вычислительному устройству 700 в вариантах стационарного или мобильного компьютера, включающем в себя один или более признаков вычислительного устройства 700 и/или альтернативные признаки. Описание вычислительного устройства 700, предоставленное в данном документе, предоставляется в целях иллюстрации и не предназначено быть ограничивающим. Примеры вариантов осуществления могут быть реализованы в компьютерных системах других типов, как известно специалистам в соответствующей области техники.

[0080] Как показано на фиг. 7, вычислительное устройство 700 включает в себя один или более процессоров, называемых процессорной схемой 702, системную память 704 и шину 706, которая связывает различные компоненты системы, включающие в себя системную память 704 и процессорную схему 702. Процессорная схема 702 является электрической и/или оптической схемой, реализованной в одном или более физических аппаратных элементах устройства электрической схемы и/или устройствах на интегральных схемах (наборах микросхем из полупроводникового материала или кристаллах) как центральный процессор (CPU), микроконтроллер, микропроцессор и/или другая физическая аппаратная процессорная схема. Процессорная схема 702 может исполнять программный код, сохраненный на компьютерном читаемом носителе, такой как программный код операционной системы 730, прикладные программы 732, другие программы 734, и т.д. Шина 706 представляет один или более из каких-либо нескольких типов структур шин, включающих в себя шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт и процессорную или локальную шину, использующую любую из множества шинных архитектур. Системная память 704 включает в себя постоянное запоминающее устройство (ROM) 708 и оперативное запоминающее устройство (RAM) 710. Базовая система 712 ввода/вывода (BIOS) хранится в ROM 708.

[0081] Компьютерное устройство 700 также имеет один или более следующих накопителей: накопитель 714 на жестких дисках для считывания и записи на жесткий диск, накопитель 716 на магнитных дисках для считывания или записи на съемный магнитный диск 718 и накопитель 720 на оптических дисках для считывания или записи на съемный оптический диск 722, такой как CD-ROM, DVD-ROM или другие оптические носители. Накопитель 714 на жестких дисках, накопитель 716 на магнитных дисках и накопитель 720 на оптических дисках подключены к шине 706 посредством интерфейса 724 накопителя на жестких дисках, интерфейса 726 накопителя на магнитных дисках и интерфейса 728 накопителя на оптических дисках, соответственно. Накопители и их ассоциированные компьютерно-читаемые носители предоставляют энергонезависимое хранилище компьютерно-читаемых инструкций, структур данных, программных модулей и других данных для компьютера. Хотя жесткий диск, съемный магнитный диск и съемный оптический диск описываются, другие типы аппаратных компьютерно-читаемых носителей хранения могут быть использованы для хранения данных, такие как карты флэш-памяти, цифровые видеодиски, RAM, ROM и другие аппаратные носители хранения.

[0082] Множество программных модулей может быть сохранено на жестком диске, магнитном диске, оптическом диске, ROM или RAM. Эти программы включают в себя операционную систему 730, одну или более прикладных программ 732, другие программы 734 и программные данные 736. Прикладные программы 732 или другие программы 734 могут включать в себя, например, логику компьютерной программы (например, код компьютерной программы или инструкции) для реализации вычислительного устройства 102, виртуальной машины 104, диспетчера 106 маркеров авторизации, сервера 108 авторизации, издателя 110 маркеров, сервера 112 ресурсов, диспетчера 114 ресурсов, защищенных ресурсов 116, средства 304 назначения уровня доверия, средства 306 запроса маркеров, средства 314 проверки подлинности идентификации, генератора 316 маркеров, поставщика 318 доступа к ресурсам, средства 320 защиты ресурсов, моментального снимка 322 ресурсов, блок-схемы 200 последовательности операций, блок-схемы 400 последовательности операций и/или блок-схемы 500 последовательности операций (в том числе любого подходящего этапа блок-схем 200, 400 или 500 последовательности операций) и/или другие примерные варианты осуществления, описанные в данном документе.

[0083] Пользователь может вводить команды и информацию в вычислительное устройство 700 через устройства ввода, такие как клавиатура 738 и указательное устройство 740. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровой планшет, спутниковую тарелку, сканер, сенсорный экран и/или сенсорную панель, систему распознавания голоса, чтобы принимать голосовой ввод, систему распознавания жестов, чтобы принимать ввод жестом, или т.п. Эти и другие устройства ввода часто подключены к процессорной схеме 702 через интерфейс 742 последовательного порта, который присоединен к шине 706, но могут быть подключены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB).

[0084] Экран 744 отображения также присоединяется к шине 706 через интерфейс, такой как видеоадаптер 746. Экран 744 отображения может быть внешним по отношению или встроенным в вычислительное устройство 700. Экран 744 отображения может отображать информацию, также как является пользовательским интерфейсом для приема пользовательских команд и/или другой информации (например, посредством касания, жестов пальцами, виртуальной клавиатуры и т.д.). В дополнение к экрану 744 отображения, компьютерное устройство 700 может включать в себя другие периферийные устройства вывода (не показаны), такие как динамики и принтеры.

[0085] Вычислительное устройство 700 соединяется с сетью 748 (например, Интернетом) через адаптер или сетевой интерфейс 750, модем 752 или другое средство для установления связи по сети. Модем 752, который может быть внутренним или внешним, может быть соединен с шиной 706 через интерфейс 742 последовательного порта, как показано на фиг. 7, или может быть соединен с шиной 706 с помощью другого типа интерфейса, включающего в себя параллельный интерфейс.

[0086] Когда используются в данном документе, термины "компьютерный программный носитель", "компьютерно-читаемый носитель" и "компьютерно-читаемый носитель хранения" используются, чтобы ссылаться на физические аппаратные носители, такие как жесткий диск, ассоциированный с накопителем 714 на жестком диске, съемный магнитный диск 718, съемный оптический диск 722, другие физические аппаратные носители, такие как RAM, ROM, карты флэш-памяти, цифровые видеодиски, zip-диски, MEM, запоминающие устройства на основе нанотехнологий и дополнительные типы физических/материальных аппаратных носителей хранения. Такие компьютерно-читаемые носители хранения отличаются и не пересекаются со средой передачи данных (не включают в себя среду передачи данных). Среда передачи данных осуществляет компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущая волна. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более своих характеристик, заданных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда передачи данных включает в себя беспроводную среду, такую как акустическая, RF, инфракрасная и другая беспроводная среда, также как и проводную среду. Примеры вариантов осуществления также направлены на такие среды передачи данных, которые являются отдельными и не перекрываются с вариантами осуществления, направленными на компьютерночитаемые носители данных.

[0087] Как отмечено выше, компьютерные программы и модули (включающие в себя прикладные программы 732 и другие программы 734) могут быть сохранены на жестком диске, магнитном диске, оптическом диске, ROM, RAM или другом аппаратном носителе хранения. Такие компьютерные программы могут также быть приняты через сетевой интерфейс 750, интерфейс 742 последовательного порта или любой другой тип интерфейса. Такие компьютерные программы, когда они выполняются или загружаются приложением, позволяют вычислительному устройству 700 реализовывать признаки примерных вариантов осуществления, описанных в данном документе. Соответственно, такие компьютерные программы представляют собой контроллеры вычислительного устройства 700.

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

IV. Примерные варианты осуществления

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

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

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

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

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

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

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

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

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

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

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

[0100] В другой реализации вышеупомянутого способа способ дополнительно содержит: предоставление доступа только для чтения к ресурсу первой вычислительной средой в ответ на получение маркера авторизации.

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

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

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

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

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

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

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

[0108] В другой реализации вышеупомянутой системы средство защиты ресурсов сконфигурировано для выполнения расширенной аутентификации идентификации в ответ на получение маркера авторизации; и поставщик доступа к ресурсам сконфигурирован для предоставления доступа к ресурсу в ответ на выполнение расширенной аутентификации идентификации.

V. Заключение

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

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

название год авторы номер документа
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
RU2672712C2
СПОСОБ АВТОРИЗАЦИИ ОПЕРАЦИИ, ПРЕДНАЗНАЧЕННОЙ ДЛЯ ВЫПОЛНЕНИЯ НА ЗАДАННОМ ВЫЧИСЛИТЕЛЬНОМ УСТРОЙСТВЕ 2014
  • Стерн Аллон Дж.
RU2675902C2
АТТЕСТАЦИЯ ХОСТА, СОДЕРЖАЩЕГО ДОВЕРИТЕЛЬНУЮ СРЕДУ ИСПОЛНЕНИЯ 2015
  • Фергюсон Нильс Т.
  • Самсонов Евгений Анатольевич
  • Кинсхуманн
  • Чандрашекар Самартха
  • Мессек Джон Энтони
  • Новак Марк Фишел
  • Маккаррон Кристофер
  • Тэмхейн Амитабх Пракаш
  • Ван Цян
  • Крус Дэвид Мэттью
  • Бен-Зви Нир
  • Винберг Андерс Бертил
RU2679721C2
УСТРОЙСТВО МОБИЛЬНОЙ СВЯЗИ И СПОСОБ РАБОТЫ С НИМ 2014
  • Стерн Аллон Дж.
  • Хейли Джон
RU2673969C2
СРЕДСТВА УПРАВЛЕНИЯ ДОСТУПОМ К ОНЛАЙНОВОЙ СЛУЖБЕ С ИСПОЛЬЗОВАНИЕМ ВНЕМАСШТАБНЫХ ПРИЗНАКОВ КАТАЛОГА 2011
  • Олжевски Маркин
  • Люк Джонатан
  • Хопманн Александр И.
  • До Росарио Фабрицио Чалуб Барбоса
  • Горбет Дэвид Пол Харрис
  • Кахилл Джейсон Мэттью
RU2598324C2
АППАРАТНАЯ ВИРТУАЛИЗИРОВАННАЯ ИЗОЛЯЦИЯ ДЛЯ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ 2017
  • Паи Навин Нараян
  • Джеффриз Чарльз Г.
  • Висванатхан Гиридхар
  • Шультц Бенджамин М.
  • Смит Фредерик Дж.
  • Ройтер Ларс
  • Эберсол Майкл Б.
  • Диас Куэльяр Херардо
  • Пашов Иван Димитров
  • Гаддехосур Поорнананда Р.
  • Пулапака Хари Р.
  • Рао Викрам Мангалоре
RU2755880C2
СИСТЕМА УПРАВЛЕНИЯ БУРОВОЙ УСТАНОВКОЙ 2016
  • Тунк Гоктурк
  • Чжэн Шуньфэн
RU2667545C1
ОДНОРАНГОВАЯ АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ 2005
  • Гупта Рохит
  • Манион Тодд Р.
  • Рао Рави Т.
  • Сингхал Сандип К.
RU2390945C2
СИСТЕМА И СПОСОБ ДЛЯ СЕТИ АВТОМАТИЗИРОВАННОГО БУРЕНИЯ 2018
  • Рохас, Хуан
  • Чжэн, Шуньфэн
  • Лю, Чжицзе
  • Тиссен, Эрик
  • Каджита, Маркос Сугуру
  • Тамбуаз, Гийом
  • Силва Дос Сантос, Мл., Уилсон
RU2780964C2
РЕАЛИЗАЦИЯ ЗАЩИЩЕННОГО ОБМЕНА ИНФОРМАЦИЕЙ В ИСПОЛНЯЮЩЕЙ СИСТЕМЕ 2012
  • Рот Грегори Б.
  • Крахен Эрик Д.
  • Бер Грэм Д.
  • Брэндуайн Эрик Дж.
  • Фитч Натан Р.
RU2584570C2

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

Реферат патента 2023 года ОСЛАБЛЕНИЕ ПРОГРАММЫ-ВЫМОГАТЕЛЯ В ИНТЕГРИРОВАННЫХ ИЗОЛИРОВАННЫХ ПРИЛОЖЕНИЯХ

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

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

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

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

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

средство проверки подлинности идентификации, сконфигурированное:

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

подтверждать подлинность информации идентификации; и

генератор маркеров, сконфигурированный:

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

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

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

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

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

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

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

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

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

назначают уровень доверия запросу маркера;

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

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

8. Способ по п.7, в котором упомянутое получение маркера авторизации содержит этапы, на которых:

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

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

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

10. Способ по п.7, в котором ресурс хранится в первой вычислительной среде; при этом способ дополнительно содержит этапы, на которых:

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

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

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

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

13. Способ по п.7, в котором ресурс хранится на сервере, который сконфигурирован для выполнения предупредительных действий в ответ на:

прием маркера авторизации;

извлечение индикатора доверия из маркера авторизации; и

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

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

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

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

Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса 1924
  • Шапошников Н.П.
SU2015A1
US 9672355 B2, 06.06.2017
Способ получения цианистых соединений 1924
  • Климов Б.К.
SU2018A1
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек 1923
  • Григорьев П.Н.
SU2007A1
Способ создания и применения правила взаимодействия приложений на IoT-устройстве 2021
  • Тихомиров Антон Владимирович
  • Татаринов Иван Иванович
  • Коноплев Сергей Валерьевич
RU2757651C1

RU 2 807 463 C2

Авторы

Шварц, Джонатан Дэвид

Тарнуская, Анастасия

Даты

2023-11-15Публикация

2020-04-13Подача