RU2807463C2 - Ransomware mitigation in integrated isolated applications - Google Patents
Ransomware mitigation in integrated isolated applications Download PDFInfo
- Publication number
- RU2807463C2 RU2807463C2 RU2021137245A RU2021137245A RU2807463C2 RU 2807463 C2 RU2807463 C2 RU 2807463C2 RU 2021137245 A RU2021137245 A RU 2021137245A RU 2021137245 A RU2021137245 A RU 2021137245A RU 2807463 C2 RU2807463 C2 RU 2807463C2
- Authority
- RU
- Russia
- Prior art keywords
- token
- resource
- computing environment
- authorization token
- access
- Prior art date
Links
- 230000000116 mitigating effect Effects 0.000 title 1
- 238000013475 authorization Methods 0.000 claims abstract description 215
- 230000009471 action Effects 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 23
- 230000003449 preventive effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 13
- 239000000126 substance Substances 0.000 abstract 1
- 230000001012 protector Effects 0.000 description 47
- 238000002955 isolation Methods 0.000 description 16
- 230000004888 barrier function Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 244000035744 Hura crepitans Species 0.000 description 6
- 230000000670 limiting effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Abstract
Description
Уровень техникиState of the art
[0001] В изолированных вычислительных устройствах приложения могут исполняться в среде, которая частично или полностью изолирована от основной вычислительной среды вычислительного хоста. Такие изолированные устройства могут обеспечивать дополнительную безопасность среды хоста путем ограничения и/или предотвращения доступа приложений к ресурсам среды хоста. Во многих случаях приложению, исполняющемуся в изолированной среде, нельзя доверять, или оно может иметь более высокий риск быть восприимчивым к злонамеренным действиям, тем самым делая изоляционный барьер между приложением и средой хоста более важным с точки зрения безопасности. Другими словами, даже если вредоносный код исполнялся в изолированной среде приложения, риск для среды хоста может быть минимизирован за счет изоляционного барьера.[0001] In isolated computing devices, applications can be executed in an environment that is partially or completely isolated from the main computing environment of the computing host. Such isolated devices can provide additional security to the host environment by limiting and/or preventing applications from accessing host environment resources. In many cases, an application running in a sandboxed environment cannot be trusted or may have a higher risk of being susceptible to malicious activity, thereby making the isolation barrier between the application and the host environment more critical from a security perspective. In other words, even if the malicious code was executed in an application sandbox, the risk to the host environment could be minimized by an isolation barrier.
[0002] Однако, чтобы улучшить взаимодействие с пользователем, определенные дыры в изоляционном барьере могут быть присутствовать намеренно, например, при разрешении доступа к файлам среды хоста для приложения в изолированной среде. Хотя такие дыры в изоляционном барьере могут улучшить интеграцию между изолированной средой и средой хоста, эти, казалось бы, безобидные попытки улучшить взаимодействие с пользователем могут, тем не менее, создать уязвимости безопасности для среды хоста. Например, вредоносный код, называемый программой-вымогателем, который может проникать в изолированную среду, может быть включен для шифрования личных данных пользователя, хранящихся в среде хоста, с помощью ключа шифрования, известного только злоумышленнику. В таких ситуациях пользователь вынужден заплатить злоумышленнику выкуп, чтобы восстановить возможность доступа к своим данным. Таким образом, даже если приложение может быть изолировано, прорехи в изоляционном барьере все равно могут привести к этим и другим типам уязвимостей.[0002] However, to improve the user experience, certain holes in the isolation barrier may be present intentionally, for example, when allowing access to host environment files for an application in an isolated environment. While such holes in the isolation barrier may improve integration between the sandboxed environment and the host environment, these seemingly innocuous attempts to improve the user experience may nonetheless introduce security vulnerabilities to the host environment. For example, malicious code called ransomware, which can penetrate sandboxed environments, can be enabled to encrypt a user's private data stored in the host environment with an encryption key known only to the attacker. In such situations, the user is forced to pay a ransom to the attacker in order to regain access to their data. Thus, even though an application may be isolated, holes in the isolation barrier can still lead to these and other types of vulnerabilities.
Сущность изобретенияThe essence of the invention
[0003] Данное краткое изложение сущности изобретения приведено для того, чтобы в упрощенной форме представить подборку концепций, которые дополнительно описываются ниже в подробном описании. Это краткое изложение сущности изобретения не имеет намерением ни то, чтобы идентифицировать ключевые признаки или важнейшие признаки заявленного изобретения, ни то, чтобы использоваться для ограничения объема заявленного изобретения.[0003] This summary is provided to introduce in a simplified form a selection of concepts that are further described below in the detailed description. This summary of the invention is not intended either to identify key features or essential features of the claimed invention, nor to be used to limit the scope of the claimed invention.
[0004] Предусмотрены способы, системы, устройства и компьютерные программные продукты для обеспечения безопасного доступа к ресурсу. Запрос маркера от приложения, исполняющегося в первой вычислительной среде (например, виртуальной машине), может быть получен во второй вычислительной среде (например, в вычислительной среде хоста). Вычислительная среда хоста может назначать уровень доверия для принятого запроса маркера, например уровень доверия, который указывает, что первой вычислительной среде нельзя доверять. Запрос маркера вместе с уровнем доверия может быть предоставлен издателю маркера (например, на сервере авторизации), который может проверять информацию идентификации в маркере и генерировать маркер авторизации, который включает в себя индикатор доверия. Индикатор доверия может указывать, например, уровень доверия второй вычислительной среды. Вычислительная среда хоста может получить маркер авторизации и предоставить его приложению. Когда приложение, исполняющееся во второй вычислительной среде, передает маркер авторизации диспетчеру ресурсов для доступа к ресурсу, диспетчер ресурсов может быть сконфигурирован для выполнения предупредительных действий перед предоставлением доступа, таких как создание резервной копии ресурса.[0004] Methods, systems, devices, and computer program products are provided for providing secure access to a resource. A token request from an application running in a first computing environment (eg, a virtual machine) may be received in a second computing environment (eg, a host computing environment). The host computing environment may assign a trust level to the received token request, for example, a trust level that indicates that the first computing environment cannot be trusted. The token request along with the trust level may be provided to the token issuer (eg, an authorization server), which may validate the identification information in the token and generate an authorization token that includes a trust indicator. The trust indicator may indicate, for example, the level of trust of the second computing environment. The host computing environment can obtain the authorization token and provide it to the application. When an application running on a second computing environment passes an authorization token to a resource manager to access a resource, the resource manager may be configured to perform precautionary actions before granting access, such as creating a backup copy of the resource.
[0005] Дополнительные признаки и преимущества изобретения, а также структура и работа различных вариантов осуществления подробно описаны ниже со ссылкой на прилагаемые чертежи. Следует отметить, что изобретение не ограничивается конкретными вариантами осуществления, описанными в данном документе. Такие варианты осуществления представлены здесь только в иллюстративных целях. Дополнительные варианты осуществления будут очевидны специалистам в соответствующей области(ях) техники на основе идей, содержащихся в данном документе.[0005] Additional features and advantages of the invention, as well as the structure and operation of various embodiments, are described in detail below with reference to the accompanying drawings. It should be noted that the invention is not limited to the specific embodiments described herein. Such embodiments are presented here for illustrative purposes only. Additional embodiments will be apparent to those skilled in the relevant art(s) based on the teachings contained herein.
Краткое описание чертежей/фигурBrief description of drawings/figures
[0006] Сопровождающие чертежи, которые включены в данный документ и формируют часть спецификации, иллюстрируют варианты осуществления настоящей заявки и, вместе с описанием, дополнительно служат, чтобы объяснять принципы вариантов осуществления и предоставлять возможность специалисту в родственной области техники выполнять и использовать варианты осуществления.[0006] The accompanying drawings, which are included herein and form a part of the specification, illustrate embodiments of the present application and, together with the description, further serve to explain the principles of the embodiments and to enable one skilled in the related art to make and use the embodiments.
[0007] Фиг. 1 показывает блок-схему системы для предоставления доступа к ресурсу защищенным способом согласно примерному варианту осуществления.[0007] FIG. 1 shows a block diagram of a system for providing access to a resource in a secure manner according to an exemplary embodiment.
[0008] Фиг. 2 показывает блок-схему последовательности операций способа предоставления авторизации, которая включает в себя индикатор доверия для приложения, согласно примерному варианту осуществления.[0008] FIG. 2 shows a flowchart of a method for granting authorization that includes a trust indicator for an application, according to an exemplary embodiment.
[0009] Фиг. 3 показывает блок-схему системы для предоставления доступа к сетевому ресурсу защищенным способом согласно примерному варианту осуществления.[0009] FIG. 3 shows a block diagram of a system for providing access to a network resource in a secure manner according to an exemplary embodiment.
[0010] Фиг. 4 показывает блок-схему последовательности операций способа генерирования маркера авторизации, который включает в себя индикатор доверия, согласно примерному варианту осуществления.[0010] FIG. 4 shows a flowchart of a method for generating an authorization token that includes a trust indicator, according to an exemplary embodiment.
[0011] Фиг. 5 показывает блок-схему последовательности операций способа выполнения предупредительного действия для защиты ресурса согласно примерному варианту осуществления.[0011] FIG. 5 shows a flowchart of a method for performing a preventive action to protect a resource according to an exemplary embodiment.
[0012] Фиг. 6 показывает блок-схему системы для предоставления доступа к локальному ресурсу защищенным способом согласно примерному варианту осуществления.[0012] FIG. 6 shows a block diagram of a system for providing access to a local resource in a secure manner according to an exemplary embodiment.
[0013] Фиг. 7 показывает блок-схему примерного вычислительного устройства, которое может использоваться для реализации примерных вариантов осуществления.[0013] FIG. 7 shows a block diagram of an example computing device that may be used to implement example embodiments.
[0014] Признаки и преимущества настоящего изобретения станут более очевидными из подробного описания, изложенного ниже, при рассмотрении вместе с чертежами, на которых одинаковые ссылочные позиции обозначают соответствующие элементы по всему документу. На чертежах одинаковые номера ссылок обычно указывают на одинаковые, функционально аналогичные и/или структурно аналогичные элементы. Чертеж, на котором элемент появляется впервые, указан самой левой цифрой(ами) в соответствующем номере ссылки.[0014] Features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, in which like reference numerals denote corresponding elements throughout the document. In the drawings, like reference numerals generally indicate the same, functionally similar and/or structurally similar elements. The drawing on which the element first appears is indicated by the leftmost number(s) in the corresponding reference number.
Подробное описание изобретенияDetailed Description of the Invention
I. ВведениеI. Introduction
[0015] Настоящее описание и прилагаемые чертежи раскрывают один или более вариантов осуществления, которые включают в себя признаки настоящего изобретения. Объем настоящего изобретения не ограничивается раскрытыми вариантами осуществления. Раскрытые варианты осуществления просто иллюстрируют настоящее изобретение, и модифицированные версии раскрытых вариантов осуществления также охватываются настоящим изобретением. Варианты осуществления настоящего изобретения определены прилагаемой формулой изобретения.[0015] The present description and the accompanying drawings disclose one or more embodiments that include features of the present invention. The scope of the present invention is not limited to the disclosed embodiments. The disclosed embodiments merely illustrate the present invention, and modified versions of the disclosed embodiments are also encompassed by the present invention. Embodiments of the present invention are defined by the accompanying claims.
[0016] Ссылки в спецификации на "один вариант осуществления", "вариант осуществления", "примерный вариант осуществления" и т.д. указывают, что описанный вариант осуществления может включать в себя конкретный признак, структуру или характеристику, но каждый вариант осуществления может необязательно включать в себя конкретный признак, структуру или характеристику. Более того, такие фразы не обязательно относятся к одному и тому же варианту осуществления. Дополнительно, когда конкретный признак, структура или характеристика описывается в соединении с примерным вариантом осуществления, представляется, что он находится в рамках знания специалиста в области техники, чтобы осуществлять такой признак, структуру или характеристику в соединении с другими вариантами осуществления, явно или неявно описанными.[0016] References in the specification to “one embodiment,” “an embodiment,” “an exemplary embodiment,” etc. indicate that the described embodiment may include a particular feature, structure or characteristic, but each embodiment may not necessarily include a particular feature, structure or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Additionally, when a particular feature, structure or characteristic is described in connection with an exemplary embodiment, it is believed that it is within the knowledge of one skilled in the art to implement such feature, structure or characteristic in connection with other embodiments explicitly or implicitly described.
[0017] В обсуждении, пока не установлено иное, определения, такие как "практически" и "приблизительно", модифицирующие условие или характеристику соотношения признака или признаков примерного варианта осуществления изобретения, понимаются как означающие, что условие или характеристика определяется в пределах допусков, которые являются приемлемыми для действия варианта осуществления для прикладной задачи, для которой он предназначается.[0017] In the discussion, unless otherwise stated, terms such as “substantially” and “about” modifying a condition or characteristic of the relationship of a feature or features of an exemplary embodiment of the invention are understood to mean that the condition or characteristic is defined within tolerances that are acceptable for the operation of the embodiment for the application for which it is intended.
[0018] Многочисленные примерные варианты осуществления описываются следующим образом. Следует отметить, что любые заголовки разделов/подразделов, представленные в данном документе, не предназначены для ограничения. Варианты осуществления описаны в этом документе, и любой тип варианта осуществления может быть включен в любой раздел/подраздел. Кроме того, варианты осуществления, раскрытые в любом разделе/подразделе, могут быть объединены с любыми другими вариантами осуществления, описанными в том же разделе/подразделе и/или другом разделе/подразделе, любым способом.[0018] Numerous exemplary embodiments are described as follows. It should be noted that any section/subsection headings presented herein are not intended to be limiting. Embodiments are described in this document, and any type of embodiment may be included in any section/subsection. In addition, embodiments disclosed in any section/subsection may be combined with any other embodiments described in the same section/subsection and/or another section/subsection in any manner.
II. Примерные реализацииII. Example implementations
[0019] В изолированных вычислительных устройствах приложения могут выполняться в среде, которая частично или полностью изолирована от основной вычислительной среды вычислительного хоста. Такие изолированные устройства могут обеспечивать дополнительную безопасность среды хоста путем ограничения и/или предотвращения доступа приложений к ресурсам среды хоста. Во многих случаях приложению, исполняющемуся в изолированной среде, нельзя доверять, или оно может иметь более высокий риск быть восприимчивым к злонамеренным действиям, тем самым делая изоляционный барьер между приложением и средой хоста более важным с точки зрения безопасности. Другими словами, даже если вредоносный код исполнялся в изолированной среде приложения, риск для среды хоста может быть минимизирован за счет изоляционного барьера.[0019] In isolated computing devices, applications may run in an environment that is partially or completely isolated from the main computing environment of the computing host. Such isolated devices can provide additional security to the host environment by limiting and/or preventing applications from accessing host environment resources. In many cases, an application running in a sandboxed environment cannot be trusted or may have a higher risk of being susceptible to malicious activity, thereby making the isolation barrier between the application and the host environment more critical from a security perspective. In other words, even if the malicious code was executed in an application sandbox, the risk to the host environment could be minimized by an isolation barrier.
[0020] Однако, чтобы улучшить взаимодействие с пользователем, определенные дыры в изоляционном барьере могут быть присутствовать намеренно, например, при разрешении доступа к файлам среды хоста для приложения в изолированной среде. Хотя такие дыры в изоляционном барьере могут улучшить интеграцию между изолированной средой и средой хоста, эти, казалось бы, безобидные попытки улучшить взаимодействие с пользователем могут, тем не менее, создать уязвимости безопасности для среды хоста. Например, вредоносный код, называемый программой-вымогателем, который может проникать в изолированную среду, может быть включен для шифрования личных данных пользователя, хранящихся в среде хоста, с помощью ключа шифрования, известного только злоумышленнику. В таких ситуациях пользователь вынужден заплатить злоумышленнику выкуп, чтобы восстановить возможность доступа к своим данным. Таким образом, даже если приложение может быть изолировано, прорехи в изоляционном барьере все равно могут привести к этим и другим типам уязвимостей.[0020] However, to improve the user experience, certain holes in the isolation barrier may be present intentionally, for example, when allowing access to host environment files for an application in an isolated environment. While such holes in the isolation barrier may improve integration between the sandboxed environment and the host environment, these seemingly innocuous attempts to improve the user experience may nonetheless introduce security vulnerabilities to the host environment. For example, malicious code called ransomware, which can penetrate sandboxed environments, can be enabled to encrypt a user's private data stored in the host environment with an encryption key known only to the attacker. In such situations, the user is forced to pay a ransom to the attacker in order to regain access to their data. Thus, even though an application may be isolated, holes in the isolation barrier can still lead to these and other types of vulnerabilities.
[0021] Описанные здесь варианты осуществления решают эти и другие проблемы, предоставляя систему для предоставления доступа к ресурсу надежным способом. В примерной системе первая среда, которая принимает запрос маркера из другой среды, по меньшей мере, частично изолированной от нее (например, приложение, выполняющееся на виртуальной машине первой среды), может получить маркер авторизации, который включает в себя индикатор доверия. Индикатор доверия может указывать на уровень доверия среды, в которой был инициирован запрос маркера, которая может содержать ненадежную среду, которая может быть уязвима для злонамеренных действий. Когда приложение пытается получить доступ к доверенному ресурсу с помощью маркера авторизации, поставщик ресурсов может предпринять превентивные действия.[0021] The embodiments described herein solve these and other problems by providing a system for providing access to a resource in a reliable manner. In an exemplary system, a first environment that receives a token request from another environment at least partially isolated from it (eg, an application running on a virtual machine of the first environment) may receive an authorization token that includes a trust indicator. The trust indicator may indicate the trust level of the environment in which the token request was initiated, which may contain an untrusted environment that may be vulnerable to malicious activity. When an application attempts to access a trusted resource using an authorization token, the resource provider can take preventative action.
[0022] Таким образом, ресурсы могут быть защищены от злонамеренных действий или вредоносного кода, такого как программы-вымогатели или любые другие типы вредоносных программ, вредоносный код или нарушение, при котором неавторизованный объект пытается получить доступ к ресурсам пользователя (например, к данным или службам). Например, даже если злоумышленник попытался зашифровать данные пользователя в попытке получить выкуп, резервная копия ресурсов пользователя может быть автоматически создана, когда злоумышленник обращается к данным на основе индикатора доверия, включенного в маркер авторизации. Резервная копия ресурсов пользователя, которая может храниться в недоступном для злоумышленника месте и/или зашифрованном виде, может быть позже восстановлена пользователем, так что пользователю не нужно платить выкуп злоумышленнику. Таким образом, вред, причиненный злонамеренными действиями в менее надежной вычислительной среде, может быть уменьшен или полностью предотвращен.[0022] In this way, resources can be protected from malicious activity or malicious code, such as ransomware or any other type of malware, malicious code, or breach in which an unauthorized entity attempts to access the user's resources (e.g., data or services). For example, even if an attacker attempted to encrypt a user's data in an attempt to obtain ransom, a backup copy of the user's resources could be automatically created when the attacker accesses the data based on the trust indicator included in the authorization token. A backup copy of the user's resources, which may be stored in a location inaccessible to the attacker and/or encrypted, can later be restored by the user so that the user does not have to pay a ransom to the attacker. In this way, the harm caused by malicious actions in a less secure computing environment can be reduced or completely prevented.
[0023] Предоставление доступа к ресурсам защищенным образом, как описано в данном документе, имеет многочисленные преимущества, в том числе повышение безопасности сети и/или ресурсов (например, вычислительных устройств, запоминающих устройств и т.д.), связанных с ней. Например, предоставляя маркер авторизации, который включает в себя индикатор доверия, поставщики ресурсов, которые могут предоставлять доступ к ресурсам в ответ на получение маркера авторизации (которые могут быть локальными поставщиками ресурсов или серверами ресурсов, доступными по сети), могут принимать одно или более превентивных действий для защиты ресурса, такие как создание резервной копии ресурса, ограничение объема доступа (например, предоставление доступа только для чтения вместо доступа для чтения/записи), выполнение процедуры расширенной аутентификации (например, двухфакторная аутентификация) или другое превентивное действие. В результате ресурсы могут быть защищены от злонамеренных действий, инициированных из сред, которые считаются менее безопасными. Кроме того, поскольку поставщики ресурсов могут получать маркеры аутентификации, которые включают в себя встроенные в них индикаторы доверия, поставщики ресурсов могут быть настроены на обнаружение аномальной сетевой активности (например, когда конкретное приложение обращается к ненормальному количеству ресурсов с таким маркером авторизации). В результате злонамеренная активность, происходящая в сети и/или в связанных с ней ресурсах, может быть сдержана, уменьшена и/или предотвращена в соответствии с описанным здесь принципом.[0023] Providing access to resources in a secure manner, as described herein, has numerous benefits, including increasing the security of the network and/or resources (eg, computing devices, storage devices, etc.) associated with it. For example, by providing an authorization token that includes a trust indicator, resource providers that may grant access to resources in response to receipt of an authorization token (which may be local resource providers or network-accessible resource servers) may take one or more proactive actions to protect the resource, such as backing up the resource, limiting the scope of access (for example, providing read-only access instead of read/write access), performing an enhanced authentication procedure (for example, two-factor authentication), or other preventive action. As a result, resources can be protected from malicious activities initiated from environments considered less secure. Additionally, since resource providers can obtain authentication tokens that include trust indicators built into them, resource providers can be configured to detect anomalous network activity (for example, when a particular application accesses an abnormal amount of resources with that authorization token). As a result, malicious activity occurring on the network and/or its associated resources can be contained, reduced and/or prevented in accordance with the principle described herein.
[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 далее описывается следующим образом.[0024] Described below are exemplary embodiments of systems and methods for providing access to a resource in a secure manner. For example, FIG. 1 shows a block diagram of a
[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) и т.д. Дополнительные примеры сетевых интерфейсов описаны в другом месте в данном документе.[0025]
[0026] Вычислительное устройство 102 включает в себя любое вычислительное устройство одного или более пользователей (например, индивидуальных пользователей, семейных пользователей, корпоративных пользователей, государственных пользователей и т.д.), которое может содержать одно или более приложений, операционных систем, виртуальных машин, запоминающих устройств и т.д., которые могут выполняться, размещаться и/или храниться в нем или через одно или более других вычислительных устройств через сеть 110. В некоторых примерах вычислительное устройство 102 может осуществлять доступ к одному или более серверным устройствам, таким как сервер 108 аутентификации и/или сервер 112 ресурсов, для доступа к одному или более защищенным ресурсам 116, как описано в данном документе. Вычислительное устройство 102 может включать в себя любое количество вычислительных устройств, в том числе десятки, сотни, тысячи, миллионы или даже большее количество вычислительных устройств. Каждое вычислительное устройство вычислительного устройства 102 может быть стационарным или мобильным вычислительным устройством любого типа, в том числе мобильный компьютер или мобильное вычислительное устройство (например, устройство Microsoft® Surface®, персональный цифровой помощник (PDA), портативный компьютер, портативный компьютер, планшетный компьютер, такой как Apple iPad ™, нетбук и т.д.), мобильный телефон, носимое вычислительное устройство или другое мобильное устройство, или стационарное вычислительное устройство, такое как настольный компьютер или PC (персональный компьютер) или сервер. Вычислительное устройство 102 не ограничивается физической машиной, но может включать в себя другие типы машин или узлов, такие как виртуальная машина. Каждое вычислительное устройство 102 может взаимодействовать с сервером 108 авторизации и/или сервером 112 ресурсов через API и/или другие механизмы. Обратим внимание, что может присутствовать любое количество программных интерфейсов.[0026]
[0027] Сервер 108 авторизации может содержать любое вычислительное устройство, сервер и/или службу для выдачи одного или более маркеров авторизации вычислительным устройствам сети 110, запрашивающим такие маркеры. Как будет описано более подробно ниже, маркер авторизации может включать в себя любой объект (например, набор данных), который позволяет вычислительному устройству, вычислительной среде и/или приложениям получать доступ к ресурсу. Например, маркер авторизации может быть файлом или другим объектом, который включает в себя один или более из идентификатора для маркера, идентификатора для соответствующего сеанса входа в систему, идентификатора приложения, запрашивающего доступ, идентификатора пользователя для пользователя приложения, запрашивающего доступ и индикатора одной или более привилегий, предоставляемых маркером авторизации.[0027]
[0028] В некоторых примерах сервер 108 авторизации может содержать службу идентификации или поставщик идентификационных данных, сконфигурированный для проверки информации идентификации объекта, запрашивающего маркер авторизации, в том числе, помимо прочего, учетные данные пользователя (например, имя пользователя и/или пароль), псевдоним пользователя, номер учетной записи, биометрическую информацию или любую другую информацию или учетные данные, которые могут использоваться для безопасного доступа к ресурсу. В соответствии с реализациями, издатель 110 маркера сервера 108 авторизации может сгенерировать и выпустить маркер для передачи на вычислительное устройство 102, который дополнительно включает в себя индикатор доверия, который может указывать на уровень доверия среды, в которой был запрошен маркер, и/или предназначен для использования для доступа к ресурсу (например, защищенным ресурсам 116). В некоторых случаях сервер 108 авторизации может быть сконфигурирован для предоставления, на основе проверенной идентификационной информации, доступа к множеству ресурсов, не связанных и/или не уполномоченных с сервером 108 авторизации. В некоторых других случаях сервер 108 авторизации и/или сервер 112 ресурсов может содержать аффилированные объекты и/или может быть реализован на одном сервере или на совокупности серверов.[0028] In some examples, the
[0029] Сервер 112 ресурсов может содержать любое одно или более вычислительных устройств, серверов, служб, локальных процессов, удаленных машин, веб-служб и т.д. для размещения, управления и/или предоставления доступа к защищенным ресурсам 116 пользователями вычислительного устройства 102. Например, сервер 112 ресурсов может содержать сервер, расположенный в помещении организации и/или связанный с локальной сетью организации, удаленно расположенный сервер, облачный сервер (например, один или более серверов распределенным образом) или любое другое устройство или службу, которые могут размещать, управлять и/или предоставлять доступ к защищенным ресурсам 116. Защищенные ресурсы 116 могут включать в себя любой тип ресурса, подключенного к сети, в том числе, помимо прочего, вычислительные или обрабатывающие ресурсы, программные ресурсы (например, программное обеспечение как услуга (SaaS), платформа как услуга (PaaS) и т.д.), хранилище ресурсов (например, физические устройства хранения, локальные устройства хранения, облачные хранилища, жесткие диски, твердотельные накопители, устройства оперативной памяти (RAM) и т.д.), базы данных и т.д.[0029] Resource server 112 may contain any one or more computing devices, servers, services, local processes, remote machines, web services, etc. for hosting, managing, and/or providing access to protected
[0030] Например, защищенные ресурсы 116 могут включать в себя устройства хранения для хранения любых данных, которые являются конфиденциальными, критическими, частными, безопасными и/или иным образом не предназначены для публичного распространения, такие как личная информация, образовательная информация, медицинская информация, профессиональная информация, организационная информация или информация о компании, банковская или другая финансовая документация, юридические документы, биографические данные, такие как свидетельства о рождении, водительские права, паспорта и т.д. Эти примеры являются только иллюстративными, и защищенные ресурсы 116 могут включать в себя данные любого другого типа (в том числе как конфиденциальную, так и неконфиденциальную информацию), которые могут храниться на любом устройстве, как локально, так и/или в облачном хранилище. В некоторых примерах защищенные ресурсы 116 могут храниться безопасным способом, например, с помощью защиты паролем, шифрования (например, шифрование с открытым и закрытым ключами, симметричными ключами и т.д.), или любым другим безопасным способом, который оценят специалисты в данной области техники, так, что доступ для чтения/записи может быть предоставлен только владельцем данных.[0030] For example,
[0031] В примерных вариантах осуществления вычислительное устройство 102 может содержать множество вычислительных сред, в том числе, но не ограничиваясь этим, вычислительную среду хоста (например, среду, в которой выполняется основная операционная система вычислительного устройства 102), и одну или более других вычислительных среды, которые могут быть полностью или частично изолированы от вычислительной среды хоста. Например, такие изолированные среды могут содержать виртуальную машину 104 и/или приложения, выполняемые в ней. В примерах виртуальная машина 104 и/или выполняемые на ней приложения могут быть ограничены механизмом изоляции (например, контейнером, управляемым операционной системой хоста и т.д.) от доступа к ресурсам за пределами изолированной среды при отсутствии "дыры", предусмотренной в изоляционном барьере или маркере авторизации, разрешающем приложению, выполняющемуся в изолированной среде, обращаться к внешнему ресурсу (например, хранящемуся в вычислительной среде хоста и/или хранящемуся в другом устройстве, доступном через сеть 110).[0031] In exemplary embodiments,
[0032] В примерах, когда приложение виртуальной машины 104 желает получить доступ к ресурсу за пределами виртуальной машины 104, приложение может предоставить запрос маркера диспетчеру 106 маркеров авторизации для соответствующего маркера авторизации. В соответствии с реализациями маркер 106 авторизации может быть сконфигурирован для назначения уровня доверия запросу маркера. Уровень доверия может указывать, например, что виртуальная машина 104 и/или приложение, выполняемое в ней, не являются доверенными и/или подвержены компрометации или взлому. Диспетчер 106 маркеров авторизации может предоставить запрос маркера и назначить уровень доверия издателю 110 маркера, чтобы получить маркер авторизации. Издатель 110 маркера может проверить информацию идентификации (например, учетные данные для входа в систему) и сгенерировать маркер авторизации, который включает в себя встроенный в него индикатор доверия. Издатель 110 маркера может предоставить маркер авторизации, который включает в себя встроенный индикатор доверия, диспетчеру 106 маркеров авторизации, который может предоставить маркер авторизации запрашивающему приложению, выполняющемуся на виртуальной машине 104.[0032] In examples, when an application of the
[0033] Когда приложение пытается получить доступ к внешнему ресурсу, такому как защищенные ресурсы 116, с использованием маркера авторизации, диспетчер 114 ресурсов может извлечь индикатор доверия в маркере авторизации. Таким образом, если индикатор доверия указывает, что маркер авторизации был инициирован в среде, которой не доверяют (например, может быть уязвимым для различных типов злонамеренного поведения, такого как атаки программ-вымогателей), диспетчер 114 ресурсов может выполнить предупредительное действие (например, создание резервной копии) для защиты защищенных ресурсов 116 перед предоставлением доступа приложению.[0033] When an application attempts to access an external resource, such as protected
[0034] Следует отметить и понять, что реализации не ограничиваются иллюстративной компоновкой, показанной на фиг. 1. Напротив, сеть 110 может содержать любое количество вычислительных устройств и/или серверов (в том числе, помимо прочего, машин и/или виртуальных машин), соединенных любым способом. Например, хотя вычислительное устройство 102 показано отдельно от сервера 108 авторизации, сервера 112 ресурсов и защищенных ресурсов 116, в варианте осуществления одно или более из вычислительного устройства 102, сервера 108 авторизации, сервера 112 ресурсов и/или защищенных ресурсов (или компоненты в них) могут быть совмещены, расположены удаленно друг от друга, могут быть реализованы на одном вычислительном устройстве или виртуальной машине или могут быть реализованы или распределены по одному или более дополнительным вычислительным устройствам или виртуальным машинам, не проиллюстрированным явным образом на фиг. 1. Пример компоновки, в которой диспетчер маркеров авторизации, издатель 110 маркера, диспетчер 114 ресурсов и защищенные ресурсы 116 могут быть реализованы в вычислительном устройстве, проиллюстрирован на фиг. 6 и более подробно описан ниже.[0034] It should be noted and understood that implementations are not limited to the illustrative arrangement shown in FIG. 1. In contrast,
[0035] Диспетчер 106 маркеров авторизации может работать различными способами, чтобы обеспечить доступ к ресурсу безопасным способом. Например, диспетчер 106 маркеров авторизации может работать согласно фиг. 2. На фиг. 2 показана блок-схема 200 последовательности операций способа предоставления авторизации, который включает в себя индикатор доверия для приложения, согласно примерному варианту осуществления. В иллюстративных целях блок-схема 200 последовательности операций и диспетчер 106 маркеров авторизации описываются следующим образом со ссылкой на фиг. 3.[0035] The authorization
[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 более подробно описаны ниже.[0036] FIG. 3 shows a block diagram of a
[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, может вообще считаться ненадежной).[0037]
[0038] Хотя на фиг. 3 изображено, что вычислительное устройство 102 может содержать виртуальную машину и приложение, выполняемое в ней, реализации не ограничиваются этой конкретной компоновкой. Например, изолированная вычислительная среда на вычислительном устройстве 102 может вместо этого содержать приложение, выполняющееся на вычислительном устройстве 102 (например, в той же основной операционной системе, что и в среде хоста), такое как приложение, которое исполняется в гостевом режиме, частном режиме или режим инкогнито, компоновку, которая включает в себя один или полностью или частично изолированные контейнеры или изолированные процессы или приложения, вычислительную среду первого центрального процессора (CPU), которая отделена от вычислительной среды второго CPU (на той же или другой печатной плате или материнской плате), или другой режим или конфигурацию, в которых может быть реализована граница полной или частичной изоляции между исполняемым приложением и вычислительной средой хоста.[0038] Although in FIG. 3 illustrates that
[0039] В примерах приложение 302 может, посредством взаимодействия с пользователем или в ответ на выполнение программного обеспечения на виртуальной машине 104, попытаться подключиться к ресурсам вне виртуальной машины 104, таким как защищенные ресурсы 116. Например, приложение 302 может попытаться подключиться к облачному файловому серверу, удаленному от виртуальной машины 104 и/или вычислительного устройства 102. Чтобы получить доступ к таким защищенным ресурсам 116, приложению 302 может потребоваться предоставить соответствующий маркер авторизации диспетчеру 114 ресурсов. В реализациях запрос маркера для такого маркера авторизации, сгенерированного приложением 302, может быть перенаправлен, так что запрос маркера предоставляется в вычислительную среду хоста. Например, со ссылкой на фиг. 3, запрос маркера авторизации, инициированный приложением 302, может быть перенаправлен на средство 304 назначения уровня доверия, указывающее, что приложение пытается получить доступ к определенным ресурсам. Средство 304 назначения уровня доверия может принимать такой запрос через одну или более дыр, предусмотренных в изоляционном барьере, реализованном между виртуальной машиной 104 и вычислительной средой хоста вычислительного устройства 102.[0039] In examples,
[0040] Запрос авторизации, полученный средством 304 назначения уровня доверия от приложения 302, может включать в себя, среди прочего, идентификацию ресурсов, для которых запрашивается доступ (например, идентификацию защищенных ресурсов 116), идентификацию запрашивающего приложения, учетные данные для входа в систему для соответствующего разрешающего объекта (например, поставщика идентификационных данных), тип запрошенного доступа (например, доступ только для чтения, доступ для чтения/записи и т.д.), продолжительность времени, в течение которого запрашивается маркер, и любая другая информация, которая может быть связана с запросом маркера авторизации, как это понимают специалисты в соответствующей области.[0040] The authorization request received by the trust assignor 304 from the
[0041] На этапе 204 запросу маркера присваивается уровень доверия. Например, со ссылкой на фиг. 3, средство 304 назначения уровня доверия может быть сконфигурировано для назначения уровня доверия запросу маркера, полученному приложением 302, выполняющимся на виртуальной машине 104. В некоторых примерах, как описано ранее, виртуальная машина 104 и/или одно или более приложений, выполняющихся на ней, могут считаться ненадежными. В таких примерах средство 304 назначения уровня доверия может назначить уровень доверия, который указывает, что объект, запрашивающий запрос маркера (например, путем идентификации приложения 302 и/или виртуальной машины 104), не является доверенным. В некоторых дополнительных реализациях средство 304 назначения уровня доверия может назначать уровень доверия, который включает в себя оценку, такую как буквенно-цифровое значение, которое может указывать уровень надежности запроса маркера на основе заранее определенной шкалы.[0041] At
[0042] В примерах средство 304 назначения уровня доверия может назначать уровень доверия различными способами. Например, средство 304 назначения уровня доверия может назначить уровень доверия на основе заранее определенных знаний (например, хранящихся в базе данных или другой структуре данных) относительно характеристик изолированной вычислительной среды, таких как идентификатор виртуальной машины 104, операционной системой, выполняющейся на виртуальной машине 104 и/или любых других приложениях 302, которые могут выполняться в ней. В одном иллюстративном примере средство 304 назначения уровня доверия может автоматически считать, что определенные типы запросов маркеров (или все запросы маркеров), исходящие из изолированной среды, не являются доверенными, и, соответственно, назначать пониженный уровень доверия каждому такому запросу маркера. В других примерах средство 304 назначения уровня доверия может назначать пониженные уровни доверия запросам маркеров, связанным с определенными приложениями, операционными системами или виртуальными машинами, которые могут быть размещены как часть изолированной среды на вычислительном устройстве 102. В других примерах средство 304 назначения уровня доверия может назначать уровни доверия запросам маркеров, принятым от приложения 302, на основе определения "на лету". Уровень доверия может быть указан в любой форме, в том числе числовое значение (например, в диапазоне от 0 до 10, где "0" означает отсутствие доверия, а "10" означает максимальное доверие), текстовое значение (например, "высокий", "средний", "низкий", "нет" и т.д.), буквенно-цифровое значение, строка и т.д.[0042] In examples, the trust level assigner 304 may assign the trust level in various ways. For example, the trust level assigner 304 may assign a trust level based on predetermined knowledge (e.g., stored in a database or other data structure) regarding characteristics of the isolated computing environment, such as the identifier of the
[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 доверия в соответствующую службу выдачи маркера, чтобы получить маркер, который обеспечивает доступ к запрошенному ресурсу.[0043] At
[0044] В реализациях запрос 308 маркера может передаваться отдельно от уровня 310 доверия (например, в разных пакетах данных, последовательно, не по порядку и т.д.). В некоторых других примерах запрос 308 маркера и уровень 310 доверия могут передаваться вместе (например, как часть одного и того же пакета данных или набора пакетов данных). Например, уровень 310 доверия может быть добавлен, включен или иным образом передан с запросом 308 маркера в качестве тега, идентификатора, маркировки, флага, утверждения, метаданных, новой или измененной области, связанной с запросом, и т.д. Реализации не ограничиваются этими иллюстративными примерами и могут включать в себя любой другой способ передачи уровня 310 доверия с запросом 308 маркера, который может указывать информацию о надежности запроса маркера (например, уровень доверия виртуальной машины 104 и/или приложения 302) издателю маркера (например, издателю 110 маркера).[0044] In implementations, the
[0045] В примерах генератор 316 маркеров может генерировать маркер 312 авторизации, который включает в себя индикатор доверия, указывающий уровень доверия среды, в которой может использоваться маркер. Индикатор доверия может содержать любой подходящий формат (например, числовой, текстовый, строковый и т.д.) и может быть включен, добавлен, объединен или иным образом связан с маркером 312 авторизации. Например, индикатор доверия может аналогичным образом содержать тег, идентификатор, маркировку, флаг, утверждение, метаданные, новую или пересмотренную область действия и т.д., которые являются частью или неотъемлемой частью маркера 312 авторизации. В примере, где маркер 312 авторизации является файлом, индикатор доверия может быть записан в существующее поле или как новая запись в файл. При включении индикатора доверия, маркер 312 авторизации считается "помеченным". Соответственно, в реализациях маркер 312 авторизации может содержать помеченный маркер, который указывает, что запрашивающий объект может быть небезопасным. В примерах генератор 316 маркеров может передавать 334 маркер 312 авторизации, который включает в себя индикатор доверия, в средство 306 запроса маркеров (например, по сети).[0045] In examples, the
[0046] На этапе 208 маркер авторизации, который включает в себя индикатор доверия, предоставляется приложению, выполняющемуся во второй вычислительной среде. Например, со ссылкой на фиг. 3, средство 306 запроса маркеров может быть сконфигурировано для предоставления 326 маркера 312 авторизации, который включает в себя индикатор доверия приложению 302, выполняющемуся на виртуальной машине 104. В реализациях средство 306 запроса маркеров может передавать маркер 312 авторизации приложению 302 без изменения маркера авторизации. Приложение 302 может затем использовать маркер 312 авторизации для доступа к ресурсу, например защищенным ресурсам 116 (или ресурсу, который может храниться локально для вычислительного устройства 102). В примерах, поскольку индикатор доверия включен как часть маркера 312 авторизации, приложение 302 (или любой вредоносный код, который может выполняться на виртуальной машине 104) не может изменять полученный маркер авторизации. Другими словами, если маркер авторизации был изменен какой-либо деятельностью, происходящей в потенциально скомпрометированной среде (например, виртуальной машине 104), измененный маркер авторизации не разрешит доступ к ресурсам поставщика ресурсов, потому что измененный маркер авторизации не может быть проверен между поставщиком ресурсов и службой авторизации (например, издателем 110 маркера и диспетчером 114 ресурсов, как показано в примере на фиг. 3). В результате индикатор доверия может быть встроен в маркер авторизации способом, который не может быть изменен, тем самым повышая целостность маркера авторизации.[0046] At
[0047] Как будет описано более подробно ниже, когда приложение 302 пытается осуществить доступ к ресурсу путем передачи 336 принятого маркера авторизации соответствующему поставщику ресурсов, поставщик ресурсов может быть сконфигурирован для извлечения (например, чтения или копирования) индикатора доверия из маркера авторизации и определения, следует ли выполнять предупредительное действие перед предоставлением доступа к ресурсу. Например, если средство 320 защиты ресурсов извлекает индикатор доверия, который указывает, что приложение 302 и/или виртуальная машина 104 могут быть небезопасными, средство 320 защиты ресурсов может быть настроено для защиты защищенных ресурсов 116 путем создания резервной копии запрошенных ресурсов (например, путем создания моментального снимка 322 ресурсов до предоставления доступа 338 к таким ресурсам. Примерная блок-схема, изображающая выполнение предупредительных действий для защиты ресурса, будет описана ниже более подробно со ссылкой на фиг. 6.[0047] As will be described in more detail below, when
[0048] Как описано выше, издатель 110 маркера может быть сконфигурирован для генерирования маркера авторизации, который включает в себя индикатор доверия различными способами. Например, на фиг. 4 показана блок-схема 400 последовательности операций способа генерирования маркера авторизации, который включает в себя индикатор доверия, согласно примерному варианту осуществления. В реализации способ блок-схемы 400 последовательности операций может быть реализован с помощью средства 314 проверки подлинности идентификации и генератора 316 маркеров. Фиг. 4 описывается со ссылкой на фиг. 3. Другие структурные и функциональные реализации будут очевидны специалистам в соответствующей области техники на основе следующего обсуждения блок-схемы 400 последовательности операций и системы 300 на фиг. 3.[0048] As described above,
[0049] Блок-схема 400 последовательности операций начинается с этапа 402. На этапе 402 принимается запрос маркера, который включает в себя информацию идентификации и индикатор того, что запрос маркера был инициирован в приложении второй вычислительной среды, по меньшей мере, частично изолированной от первой вычислительной среды. Например, со ссылкой на фиг. 3, средство 314 проверки подлинности идентификации сервера 108 авторизации может быть сконфигурировано для приема запроса 308 маркера, который включает в себя информацию идентификации и уровень 310 доверия, который указывает связанный уровень доверия. В примерах идентификационная информация может включать в себя одну или более учетных данных пользователя (например, имя пользователя и/или пароль), псевдоним пользователя, номер учетной записи, биометрическую информацию или любую другую информацию или учетные данные, которые может проверять средство 314 проверки подлинности идентификации, чтобы определить, разрешать ли доступ к ресурсу (например, защищенным ресурсам 116). Как описано ранее, уровень 310 доверия может включать в себя информацию, соответствующую уровню доверия среды, в которой был инициирован запрос 308 маркера. Например, со ссылкой на фиг. 3, уровень 310 доверия может указывать уровень доверия, связанный с приложением 302, которое выполняется в виртуальной машине 104. В других примерах уровень 310 доверия может содержать флаг или другой индикатор, который указывает, что запрос был инициирован в среде, отличной от вычислительной среды хоста, или выполнялся в ней. Эти примеры являются только иллюстративными, и уровень 310 доверия может включать в себя информацию любого типа (например, флаг, маркировку, утверждение, метаданные и т.д.), которая указывает, что запрос 308 маркера мог быть инициирован из потенциально ненадежной среды.[0049]
[0050] На этапе 404 проверяется достоверность идентификационной информации. Например, со ссылкой на фиг. 3, средство 314 проверки подлинности идентификации может быть сконфигурировано для проверки достоверности информации идентификации, полученной в запросе 308 маркера, чтобы определить, разрешать ли запрашивающему объекту получать маркер авторизации, разрешающий доступ к запрошенному ресурсу. Средство 314 проверки подлинности идентификации может проверять достоверность информации идентификации различными способами, как будет понятно специалистам в соответствующих областях, например, путем поиска информации идентификации в базе данных (например, в базе данных пользователей или учетных записей и т.п.) и создания сравнения, предоставления идентификационной информации другому серверу или службе для проверки и т.д. Например, если проверка не увенчалась успехом (например, получены неверные учетные данные пользователя), средство 314 проверки подлинности идентификации может определить, что доступ не должен быть разрешен, и, следовательно, маркер авторизации не будет предоставлен приложению 302. В случае успешной проверки подлинности средство 314 проверки подлинности идентификации может позволить генератору 316 маркеров сгенерировать соответствующий маркер авторизации, который может быть предоставлен приложению 302 для доступа к запрошенному ресурсу.[0050] At
[0051] На этапе 406 генерируется маркер авторизации, который включает в себя индикатор доверия. Например, со ссылкой на фиг. 3, генератор 316 маркеров может быть сконфигурирован для генерирования маркера 312 авторизации, который включает в себя индикатор доверия, указывающий уровень доверия вычислительной среды, в которой был инициирован запрос 308 маркера. В примерах индикатор доверия может указывать на уровень доверия, связанный с виртуальной машиной 104 и/или приложением 302, выполняющимся в ней, например, указывая, что вычислительная среда не является доверенной. Как описано ранее, индикатор доверия может быть встроен в маркер 312 авторизации и может содержать любую подходящую форму, в том числе тег, маркировку, флаг, заявку и т.д., которые могут указывать поставщику ресурсов (например, серверу 112 ресурсов) что маркер авторизации может использоваться приложением в ненадежной вычислительной среде.[0051] At
[0052] В некоторых примерных реализациях индикатор доверия может быть разным для каждого принятого запроса маркера. Например, определенные типы изолированных сред (например, определенные приложения и/или выполняющиеся в них операционные системы, которые известны как небезопасные) могут считаться менее надежными, чем другие приложения или операционные системы, и, следовательно, индикатор доверия для таких менее надежных приложений или операционных систем может указывать на дополнительное снижение уровня доверия. В других примерах индикатор доверия может содержать другой тип индикатора, например, когда приложение может считаться только потенциально заслуживающим доверия (в отличие от того, что оно известно как небезопасное). Таким образом, генератор 316 маркеров может пометить маркер 312 авторизации соответствующим индикатором доверия, который указывает уровень доверия приложения в ненадежной среде, тем самым позволяя поставщику ресурсов выполнять различные превентивные меры на основе встроенного индикатора доверия.[0052] In some example implementations, the trust indicator may be different for each accepted token request. For example, certain types of sandboxed environments (for example, certain applications and/or operating systems running on them that are known to be insecure) may be considered less trusted than other applications or operating systems, and therefore the trust indicator for such less secure applications or operating systems systems may indicate an additional decrease in the level of trust. In other examples, the trust indicator may contain a different type of indicator, such as when an application may only be considered potentially trustworthy (as opposed to being known to be insecure). Thus, the
[0053] Маркер 312 авторизации может включать в себя любой тип маркера, который позволяет вычислительному объекту (например, приложениям, службам и т.д.) получать доступ к ресурсу. Примеры маркера 312 авторизации включают в себя, помимо прочего, веб-маркеры, которые обеспечивают доступ к Интернету или другим сетевым ресурсам, маркеры доступа, маркеры, созданные в соответствии со стандартом открытой авторизации (OAuth), маркеры Microsoft® Windows NT и т.д. Маркер 312 авторизации может быть сгенерирован для конкретного запрашивающего приложения или для конкретного ресурса или может содержать единственный маркер, связанный с множеством таких приложений.[0053]
[0054] В некоторых примерных вариантах осуществления генератор 316 маркеров также может быть сконфигурирован для хранения каждого сгенерированного маркера 312 авторизации в подходящем запоминающем устройстве (либо локально, либо в одном или более облачных хранилищах). Соответственно, когда приложение 302 пытается получить доступ к ресурсу путем предоставления маркера 312 авторизации диспетчеру 114 ресурсов, средство 320 защиты ресурсов может получить маркер авторизации, хранящийся на сервере 108 авторизации, для определения подлинности маркера, полученного от приложения 302, до предоставления доступа к запрашиваемому ресурсу. В других случаях генератор 316 маркеров также может быть сконфигурирован для повторной передачи ранее сгенерированного и еще не истекшего маркера (в том числе индикатор доверия) в средство 306 запроса маркеров, например, когда генератор 316 маркеров ранее сгенерировал маркер авторизации, соответствующий приложению 302 для доступа к тому же ресурсу.[0054] In some example embodiments, the
[0055] На этапе 408 маркер авторизации, который включает в себя индикатор доверия, предоставляется приложению, выполняющемуся во второй вычислительной среде. Например, со ссылкой на фиг. 3, генератор 316 маркеров может быть сконфигурирован для передачи маркера 312 авторизации средству 306 запроса маркеров для предоставления приложению 302 (например, путем прохождения маркера 312 авторизации через границу изоляции) и/или путем предоставления маркера 312 авторизации непосредственно в приложение 302 (например, без передачи маркера средству 306 запроса маркеров в качестве посредника). Как описано выше, приложение 302 может использовать маркер 312 авторизации для доступа к запрошенному ресурсу.[0055] At
[0056] Как описано в данном документе, диспетчер 114 ресурсов может быть сконфигурирован для защиты защищенных ресурсов 116 в ответ на получение маркера авторизации. Например, на фиг. 5 показана блок-схема последовательности операций способа выполнения предупредительного действия для защиты ресурса согласно примерному варианту осуществления. В реализации способ блок-схемы 500 последовательности операций может быть реализован поставщиком 318 доступа к ресурсам и средством 320 защиты ресурсов. Фиг. 5 описывается со ссылкой на фиг. 3. Другие структурные и функциональные реализации будут очевидны специалистам в соответствующей области техники на основе следующего обсуждения блок-схемы 500 последовательности операций и системы 300 на фиг. 3.[0056] As described herein,
[0057] Блок-схема 500 последовательности операций начинается с этапа 502. На этапе 502 маркер авторизации принимается от приложения, выполняющегося в вычислительной среде. Например, со ссылкой на фиг. 3, средство 320 защиты ресурсов может быть сконфигурировано для приема маркера 312 авторизации от приложения 302, выполняющегося на виртуальной машине 104 через сеть 110. Как описано в данном документе, маркер 312 авторизации также может включать в себя индикатор доверия, который указывает уровень доверия среды, связанной с маркером 312 авторизации. Следовательно, в этом примере индикатор доверия может указывать на уровень доверия вычислительной среды в виртуальной машине 104 и/или приложение 302 может выполняться.[0057]
[0058] Однако следует отметить, что в некоторых других примерных вариантах осуществления маркер 312 авторизации может не содержать индикатора доверия, например, откуда запрос маркера возник в доверенной среде (например, из приложения, выполняемого в основной операционной системе вычислительного устройства). Например, если доверенное приложение (или приложение, выполняющееся в доверенной среде) запрашивает маркер авторизации, сгенерированная авторизация может не содержать индикатора доверия для такого приложения. Таким образом, в некоторых примерах средство 320 защиты ресурсов также может быть сконфигурировано для определения, присутствует ли индикатор доверия в принятом маркере авторизации.[0058] However, it should be noted that in some other exemplary embodiments, the
[0059] После того, как приложение 302 получает маркер 312 авторизации, как описано ранее, приложение 302 может попытаться получить доступ к ресурсам в соответствии с объемом предоставленного маркера авторизации, взаимодействуя с соответствующим поставщиком ресурсов, таким как сервер 112 ресурсов. В примерах приложение 302 также может предоставить маркер 312 авторизации в средство 320 защиты ресурсов вместе с попыткой доступа к ресурсу. Средство 320 защиты ресурсов может проверять подлинность маркера 312 авторизации аналогичным образом, как описано ранее, например, взаимодействуя с сервером 108 авторизации, чтобы определять, действителен ли маркер аутентификации, полученный от приложения 302, и/или срок его действия не истек.[0059] After
[0060] На этапе 504 индикатор доверия извлекается из маркера авторизации. Например, средство 320 защиты ресурсов может быть сконфигурировано для анализа маркера 312 авторизации, чтобы извлекать из него индикатор доверия. Например, если индикатор доверия встроен в маркер 312 авторизации в качестве идентификатора, маркировки, флага, утверждения, метаданных и т.д., средство 320 защиты ресурсов может извлечь такой индикатор. В некоторых реализациях средство 320 защиты ресурсов также может получать индикатор доверия от сервера 108 авторизации (например, когда подтверждается подлинность принятого маркера).[0060] At
[0061] На этапе 506 определяется, что необходимо выполнить предупредительное действие для защиты ресурса. Например, со ссылкой на фиг. 3, средство 320 защиты ресурса может быть сконфигурировано для определения, в ответ на прием маркера авторизации и извлечение индикатора доверия, что должно быть выполнено предупредительное действие для защиты ресурса. Например, если индикатор доверия указывает, что среда, из которой был получен маркер 312 авторизации, не заслуживает доверия, средство 320 защиты ресурсов может определить, что одно или более предупредительных действий должны быть выполнены для защиты защищенных ресурсов 116. Предупредительные действия могут включать в себя действия любого типа, выполняемые для предотвращения (например, упреждающего) или смягчения потенциально злонамеренных изменений защищенных ресурсов 116.[0061] At
[0062] Например, если извлеченный индикатор доверия указывает, что вычислительная среда, из которой был получен маркер 312 авторизации, не заслуживает доверия, средство 320 защиты ресурсов может быть сконфигурировано для выполнения определенных действий для предотвращения повреждения, компрометации и/или взлома данных пользователя. В некоторых примерах средство 320 защиты ресурсов может определять, что необходимо выполнить множество предупредительных действий. В некоторых других случаях средство 320 защиты ресурсов может определить, что предупредительное действие не требуется, например, когда маркер аутентификации был получен из вычислительной среды, о которой известно, что она является доверенной сервером 112 ресурсов. В некоторых других случаях средство 320 защиты ресурсов также может решить не выполнять предупредительные действия, например, когда средство 320 защиты ресурсов считает, что приложение 302 не является вредоносным, на основании предыдущего доступа, предоставленного приложению 302 в ответ на получение того же маркера авторизации.[0062] For example, if the retrieved trust indicator indicates that the computing environment from which the
[0063] На этапе 508 выполняется предупредительное действие для защиты ресурса в ответ на получение маркера авторизации. Например, со ссылкой на фиг. 3, средство 320 защиты ресурсов может быть сконфигурировано для выполнения одного или более предупредительных действий для защиты защищенных ресурсов 116 в ответ на прием маркера 312 авторизации от приложения 302. В примерах тип (или типы) предупредительных действий, выполняемых для защиты защищенных ресурсов 116, может быть основан на комбинации факторов, в том числе типе ресурса, к которому осуществляется доступ, объеме доступа (например, доступ только для чтения, изменение ресурса и т.д.), и/или уровне доверия, который может указываться индикатором доверия в маркере 312 авторизации. Например, если ресурс, к которому выполняется доступ, был идентифицирован как конфиденциальный и/или важный, средство 320 защиты ресурса может быть сконфигурировано для выполнения одной или более мер безопасности для защиты ресурса. В другом примере, если извлеченный индикатор доверия указывает, что вычислительная среда (например, приложение 302), из которой был получен маркер 312 авторизации, известна как ненадежная, средство 320 защиты ресурсов может выполнить одну или более повышенных мер безопасности для защиты защищенных ресурсов 116.[0063] At
[0064] В одном примере средство 320 защиты ресурсов может быть сконфигурировано для автоматического создания моментального снимка 322 ресурсов в ответ на прием маркера 312 авторизации, который указывает, что приложению 302 нельзя доверять. Моментальный снимок 322 ресурсов может содержать, например, резервную копию защищенных ресурсов 116, которая недоступна для приложения 302, даже с маркером 312 авторизации. В некоторых реализациях средство 320 защиты ресурсов может генерировать моментальный снимок 322 защищенных ресурсов 116 различными способами, в том числе путем создания моментального снимка, согласованного со всей областью доступа маркера 312 авторизации (например, копируя все файлы пользователя, если маркер 312 авторизации является обширным), и/или копирования ресурсов на основе файла за файлом (например, копирование только отдельных файлов, к которым приложение 302 пытается получить доступ).[0064] In one example,
[0065] Хотя в некоторых примерах моментальный снимок 322 ресурса может храниться локально по отношению к защищенным ресурсам 116, предполагается, что моментальный снимок 322 ресурса также может храниться удаленно (например, на другом сервере) способом, который недоступен для приложения 302 и/или любого другого потенциально ненадежного приложения. В некоторых реализациях средство 320 защиты ресурсов может быть сконфигурировано для шифрования (или дальнейшего шифрования) моментального снимка 322 ресурса для дальнейшего повышения безопасности путем предотвращения неавторизованного доступа в случае потенциальной компрометации.[0065] Although in some examples the
[0066] Создание резервной копии защищенных ресурсов 116 - это только один иллюстративный пример меры предосторожности, которую средство 320 защиты ресурсов может выполнить для защиты ресурса. Средство 320 защиты ресурсов может также выполнять одну или более других мер в дополнение к созданию моментального снимка 322 ресурса или в качестве альтернативы ему, в том числе, помимо прочего, авторизацию области доступа, которая более ограничена, чем область, указанная в маркере 312 авторизации (например, доступ только для чтения к файлам, к которым осуществляется доступ, на устройстве хранения, предотвращение вывода средств из финансового учреждения и т.д.), разрешение доступа только на определенный период времени (например, в днях, часах, минутах, секундах и т.д.), после которого доступ может быть прекращен с полным отказом в доступе (например, когда защищенные ресурсы могут быть сочтены слишком конфиденциальными или важными, например банковская или финансовая информация, чтобы разрешить любой потенциально ненадежный доступ), и/или требуется одно или более дополнительных или альтернативных разрешений процедуры.[0066] Creating a backup copy of protected
[0067] В некоторых других случаях средство 320 защиты ресурсов может выполнять расширенную аутентификацию идентификации в ответ на прием маркера авторизации, который включает в себя индикатор доверия. Например, средство 320 защиты ресурсов может потребовать перед предоставлением доступа к защищенным ресурсам 116, чтобы пользователь вычислительного устройства 102 выполнил дополнительную процедуру аутентификации или повторно выполнил ту же процедуру аутентификации из доверенной среды (например, из приложения, выполняющего в доверенной основной операционной системе), выполнил многофакторную процедуру (например, подтвердил сгенерированный случайным образом код, который передается на мобильное устройство, учетную запись электронной почты и т.д.), чтобы подтвердить, что маркер 312 авторизации был инициирован законным приложением до предоставления доступа к ресурсу.[0067] In some other cases,
[0068] В некоторых дополнительных реализациях средство 320 защиты ресурсов также может быть сконфигурировано для обнаружения аномальной активности с помощью маркеров аутентификации, описанных в данном документе. Например, если средство 320 защиты ресурсов принимает ненормальное количество запросов доступа, связанных с конкретным маркером 312 авторизации (например, количество запросов доступа выше порогового значения или в определенный период времени) от приложения 302, средство 320 защиты ресурсов может сделать вывод, что приложение 302 участвует в потенциально вредоносной деятельности или иным образом может быть скомпрометировано. В таком случае средство 320 защиты ресурсов может решить в качестве дополнительной меры предосторожности прекратить обслуживание запросов доступа от приложения 302 в качестве дополнительной меры предосторожности.[0068] In some additional implementations,
[0069] В некоторых других случаях средство 320 защиты ресурсов также может выполнять профилактическое действие в отношении одного или более ресурсов, не связанных с маркером 312 авторизации. Например, если средство 320 защиты ресурсов принимает запрос от потенциально ненадежной вычислительной среды, средство 320 защиты ресурсов может быть сконфигурировано для автоматической защиты (например, путем шифрования, блокировки, перемещения в более безопасное место и т.д.) несвязанных файлов, которые могут содержать повышенную чувствительность или важность для дальнейшего повышения безопасности. Таким образом, даже если определенный вредоносный код может поставить под угрозу защищенные ресурсы 116, перемещение вредоносного кода все еще может быть ограничено, поскольку средство 320 защиты ресурсов может препятствовать доступу кода не только к моментальному снимку 322 ресурсов, но и к другим данным, которые могут присутствовать на или доступны тому же серверу.[0069] In some other cases,
[0070] На этапе 510 доступ к ресурсу предоставляется приложением, выполняющимся в вычислительной среде. Например, со ссылкой на фиг. 3, поставщик 318 доступа к ресурсам может быть сконфигурирован для предоставления доступа к защищенным ресурсам 116 приложением 302, выполняющимся в вычислительной среде (т.е. потенциально ненадежной среде). В некоторых примерах тип доступа, предоставляемый поставщиком 318 доступа к ресурсам, может быть основан на предупредительных действиях, выполняемых для защиты защищенных ресурсов 116. Например, если средство 320 защиты ресурсов создало моментальный снимок 322 ресурсов, который недоступен для приложения 302, поставщику 318 доступа к ресурсам может быть разрешен полный доступ для чтения/записи к защищенным ресурсам 116.[0070] At
[0071] В других примерах, если резервная копия не создается, поставщик 318 доступа к ресурсам может предоставить приложению 302 более ограниченный доступ, такой как доступ только для чтения, для предотвращения воздействия потенциально вредоносных действий на защищенные ресурсы 116. Например, поставщик 318 доступа к ресурсам может быть сконфигурирован для предоставления доступа приложению 302 на основе индикатора доверия, включенного в маркер, для открытия существующего контента в файловом пространстве пользователя и/или генерирования нового контента для хранения в файловом пространстве пользователя, при этом предотвращая изменение или удаление существующего контента приложением 302. В некоторых других реализациях поставщик 318 доступа к ресурсам также может быть сконфигурирован для реализации маркировки или тегов для любого нового контента, сгенерированного приложением 302, так что приложение может не только генерировать новый контент (каждый элемент контента идентифицируется маркировкой или тегом), но изменить или удалить вновь созданный контент на основе отмеченных элементов контента. В дополнительной реализации такая маркировка или тег может быть автоматически очищена, например, после прохождения заранее определенного периода времени или когда маркер авторизации полного доступа (например, маркер, предоставленный приложению, выполняющемуся в доверенной среде) получает доступ к отмеченному содержимому.[0071] In other examples, if a backup is not taken, resource access provider 318 may grant
[0072] Поставщик 318 доступа к ресурсам также может быть сконфигурирован для разрешения приложению 302 доступа к моментальному снимку 322 ресурсов (вместо защищенных ресурсов 116, которые могут быть защищены от приложения 302). В любом случае средство 320 защиты ресурсов может быть сконфигурировано для автоматического удаления резервной копии после определения того, что доступ со стороны приложения 302 не был злонамеренным, и/или по истечении заданного времени. В других случаях, например, когда средство 320 защиты ресурсов может быть уведомлено о том, что приложение 302 злонамеренно изменило защищенные ресурсы 116 (например, из-за программы-вымогателя или т.п.), средство 320 защиты ресурсов может быть сконфигурировано для восстановления защищенных ресурсов 116 из моментального снимка 322 ресурсов. В результате, даже если ненадежное приложение пытается внедрить программу-вымогатель, чтобы зашифровать или иным образом изменить файлы пользователя, резервную копию файлов можно легко восстановить, тем самым минимизируя вред от такого злонамеренного поведения.[0072] Resource access provider 318 may also be configured to allow
[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).[0073] It should be noted and understood that the circuit described in FIG. 3 is illustrative only, and implementations may include various other types of schemes, including schemes in which one or more of the authorization
[0074] В примерной компоновке на фиг. 6 первая вычислительная среда (например, вычислительная среда, которая может размещать изолированную среду) может включать в себя одно или более из диспетчера 106 маркеров авторизации, издателя 110 маркеров, диспетчера 114 ресурсов, защищенных ресурсов 116 и моментального снимка 322 ресурса. Например, вместо того, чтобы один или более таких компонентов были реализованы на одном или более сетевых объектах, такие компоненты могут быть реализованы локально для вычислительного устройства 602. Например, модуль 306 запроса маркеров может предоставить запрос маркера (например, запрос маркера NT или т.п.) средству 314 проверки подлинности идентификации, которое сконфигурировано для управления маркерами авторизации для локальных действий на вычислительном устройстве 602. В некоторых примерных реализациях средство 314 проверки подлинности идентификации и/или генератор 316 маркеров могут быть реализованы как часть основной операционной системы вычислительного устройства 602, диспетчера файловой системы и/или как любое другое приложение, выполняющееся на нем, так что доступом к локально сохраненным данным (или удаленно сохраненным данным, которые могут быть доступны через локальное взаимодействие, например, с помощью ярлыка и т.п.) можно управлять с помощью локальных маркеров авторизации. Другими словами, генератор 316 маркеров может быть сконфигурирован для генерирования и предоставления маркеров авторизации, которые разрешают приложениям, выполняющимся на вычислительном устройстве 602 (в том числе любым приложениям, которые могут размещаться в изолированных средах), получать доступ к локальным ресурсам, таким как защищенные ресурсы 116.[0074] In the exemplary arrangement of FIG. 6, the first computing environment (eg, a computing environment that may host an isolated environment) may include one or more of an authorization
[0075] Соответственно, когда приложение 302 запрашивает маркер, а средство 306 запроса маркеров предоставляет запрос 308 маркера и назначает уровень 310 доверия издателю 110 маркера, генератор 316 маркеров может сгенерировать маркер авторизации, который включает в себя индикатор доверия, указывающий уровень 310 доверия, аналогичным образом, как описано ранее. Маркер авторизации может включать в себя, например, информацию, связанную с авторизованным доступом, такую как информация о пользователе (например, идентификация пользователя как администратора, гостя и т.д.), уровень разрешения (например, только чтение, чтение/доступ на запись и т.д.), идентификация запрошенных ресурсов и т.д. Средство 306 запроса маркеров может предоставить маркер авторизации, который включает в себя индикатор доверия (например, помеченный маркер авторизации), приложению 302, разрешая приложению доступ к локальным ресурсам, которые могут быть доступны за пределами виртуальной машины 104.[0075] Accordingly, when
[0076] Соответственно, когда приложение 302 пытается получить доступ или изменить ресурс вне изолированной вычислительной среды, такой как защищенные ресурсы 116, поставщик 318 доступа к ресурсам может извлечь индикатор доверия из маркера авторизации, предоставленного приложением 302, и определить, что приложение 302 не может быть доверенным. В ответ на получение такого помеченного запроса авторизации, указывающего, что приложению 302 нельзя доверять, средство 320 защиты ресурсов может выполнить одно или более предупредительных действий в вычислительной среде, содержащей основную операционную систему, для защиты защищенных ресурсов 116, например создание моментального снимка 322 ресурсов, который содержит резервную копию защищенных ресурсов 116, до предоставления доступа к защищенным ресурсам 116. Как описано ранее, средство 320 защиты ресурсов может также содержать любые другие типы предупредительных действий в дополнение или в качестве альтернативы созданию моментального снимка 322 ресурсов, в том числе, помимо прочего, разрешение ограниченного доступа (например, доступ только для чтения) к защищенным ресурсам 116, предотвращение шифрования (или дополнительного шифрования) защищенных ресурсов 116, требование расширенной авторизации или любые другие меры предосторожности, что будет понятно специалистам в данной области техники.[0076] Accordingly, when
[0077] Следует отметить и понять, что изолированные среды не обязательно должны включать в себя виртуальную машину 104, как описано со ссылкой на фиг. 3 и 6. Например, приложение 302 может также содержать приложение любого типа (например, веб-браузер), выполняющееся в вычислительной среде хоста, которая может включать в себя частичную или полную границу изоляции. Таким образом, даже если изолированная среда содержит другое приложение, которое может обращаться к ресурсам, хранящимся либо локально, либо удаленно, реализации могут по-прежнему обеспечивать более безопасный доступ к таким ресурсам (например, путем создания резервной копии, ограничения доступа и т.д.) посредством маркировки маркеров авторизации, которые используются для такого доступа, с информацией доверия среды доступа, как описано в данном документе.[0077] It should be noted and understood that sandboxed environments do not necessarily have to include
III. Примеры вариантов осуществления мобильных и стационарных устройствIII. Examples of Mobile and Desktop Device Embodiments
[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) и т.д.), память, один или более интерфейсов связи и/или дополнительные схемы и может, в необязательном порядке, исполнять принятый программный код и/или включать в сея встроенное микропрограммное обеспечение, чтобы выполнять функции.[0078]
[0079] Фиг. 7 изображает примерную реализацию вычислительного устройства 700, в которой могут быть реализованы примерные варианты осуществления. Например, любое из вычислительного устройства 102, виртуальной машины 104, диспетчера 106 маркеров авторизации, сервера 108 авторизации, издателя 110 маркеров, сервера 112 ресурсов, диспетчера 114 ресурсов, защищенных ресурсов 116, средства 304 назначения уровня доверия, средства 306 запроса маркеров, средства 314 проверки подлинности идентификации, генератора 316 маркеров, поставщика 318 доступа к ресурсам, средства 320 защиты и/или моментального снимка 322 ресурсов может быть реализовано в одном или более вычислительных устройствах, подобных вычислительному устройству 700 в вариантах стационарного или мобильного компьютера, включающем в себя один или более признаков вычислительного устройства 700 и/или альтернативные признаки. Описание вычислительного устройства 700, предоставленное в данном документе, предоставляется в целях иллюстрации и не предназначено быть ограничивающим. Примеры вариантов осуществления могут быть реализованы в компьютерных системах других типов, как известно специалистам в соответствующей области техники.[0079] FIG. 7 depicts an exemplary implementation of a
[0080] Как показано на фиг. 7, вычислительное устройство 700 включает в себя один или более процессоров, называемых процессорной схемой 702, системную память 704 и шину 706, которая связывает различные компоненты системы, включающие в себя системную память 704 и процессорную схему 702. Процессорная схема 702 является электрической и/или оптической схемой, реализованной в одном или более физических аппаратных элементах устройства электрической схемы и/или устройствах на интегральных схемах (наборах микросхем из полупроводникового материала или кристаллах) как центральный процессор (CPU), микроконтроллер, микропроцессор и/или другая физическая аппаратная процессорная схема. Процессорная схема 702 может исполнять программный код, сохраненный на компьютерном читаемом носителе, такой как программный код операционной системы 730, прикладные программы 732, другие программы 734, и т.д. Шина 706 представляет один или более из каких-либо нескольких типов структур шин, включающих в себя шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт и процессорную или локальную шину, использующую любую из множества шинных архитектур. Системная память 704 включает в себя постоянное запоминающее устройство (ROM) 708 и оперативное запоминающее устройство (RAM) 710. Базовая система 712 ввода/вывода (BIOS) хранится в ROM 708.[0080] As shown in FIG. 7,
[0081] Компьютерное устройство 700 также имеет один или более следующих накопителей: накопитель 714 на жестких дисках для считывания и записи на жесткий диск, накопитель 716 на магнитных дисках для считывания или записи на съемный магнитный диск 718 и накопитель 720 на оптических дисках для считывания или записи на съемный оптический диск 722, такой как CD-ROM, DVD-ROM или другие оптические носители. Накопитель 714 на жестких дисках, накопитель 716 на магнитных дисках и накопитель 720 на оптических дисках подключены к шине 706 посредством интерфейса 724 накопителя на жестких дисках, интерфейса 726 накопителя на магнитных дисках и интерфейса 728 накопителя на оптических дисках, соответственно. Накопители и их ассоциированные компьютерно-читаемые носители предоставляют энергонезависимое хранилище компьютерно-читаемых инструкций, структур данных, программных модулей и других данных для компьютера. Хотя жесткий диск, съемный магнитный диск и съемный оптический диск описываются, другие типы аппаратных компьютерно-читаемых носителей хранения могут быть использованы для хранения данных, такие как карты флэш-памяти, цифровые видеодиски, RAM, ROM и другие аппаратные носители хранения.[0081]
[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 последовательности операций) и/или другие примерные варианты осуществления, описанные в данном документе.[0082] A plurality of program modules may be stored on a hard disk, magnetic disk, optical disk, ROM, or RAM. These programs include an
[0083] Пользователь может вводить команды и информацию в вычислительное устройство 700 через устройства ввода, такие как клавиатура 738 и указательное устройство 740. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровой планшет, спутниковую тарелку, сканер, сенсорный экран и/или сенсорную панель, систему распознавания голоса, чтобы принимать голосовой ввод, систему распознавания жестов, чтобы принимать ввод жестом, или т.п. Эти и другие устройства ввода часто подключены к процессорной схеме 702 через интерфейс 742 последовательного порта, который присоединен к шине 706, но могут быть подключены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB).[0083] The user may enter commands and information into the
[0084] Экран 744 отображения также присоединяется к шине 706 через интерфейс, такой как видеоадаптер 746. Экран 744 отображения может быть внешним по отношению или встроенным в вычислительное устройство 700. Экран 744 отображения может отображать информацию, также как является пользовательским интерфейсом для приема пользовательских команд и/или другой информации (например, посредством касания, жестов пальцами, виртуальной клавиатуры и т.д.). В дополнение к экрану 744 отображения, компьютерное устройство 700 может включать в себя другие периферийные устройства вывода (не показаны), такие как динамики и принтеры.[0084]
[0085] Вычислительное устройство 700 соединяется с сетью 748 (например, Интернетом) через адаптер или сетевой интерфейс 750, модем 752 или другое средство для установления связи по сети. Модем 752, который может быть внутренним или внешним, может быть соединен с шиной 706 через интерфейс 742 последовательного порта, как показано на фиг. 7, или может быть соединен с шиной 706 с помощью другого типа интерфейса, включающего в себя параллельный интерфейс.[0085] The
[0086] Когда используются в данном документе, термины "компьютерный программный носитель", "компьютерно-читаемый носитель" и "компьютерно-читаемый носитель хранения" используются, чтобы ссылаться на физические аппаратные носители, такие как жесткий диск, ассоциированный с накопителем 714 на жестком диске, съемный магнитный диск 718, съемный оптический диск 722, другие физические аппаратные носители, такие как RAM, ROM, карты флэш-памяти, цифровые видеодиски, zip-диски, MEM, запоминающие устройства на основе нанотехнологий и дополнительные типы физических/материальных аппаратных носителей хранения. Такие компьютерно-читаемые носители хранения отличаются и не пересекаются со средой передачи данных (не включают в себя среду передачи данных). Среда передачи данных осуществляет компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущая волна. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более своих характеристик, заданных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда передачи данных включает в себя беспроводную среду, такую как акустическая, RF, инфракрасная и другая беспроводная среда, также как и проводную среду. Примеры вариантов осуществления также направлены на такие среды передачи данных, которые являются отдельными и не перекрываются с вариантами осуществления, направленными на компьютерночитаемые носители данных.[0086] When used herein, the terms “computer program medium,” “computer readable medium,” and “computer readable storage medium” are used to refer to physical hardware media, such as a hard disk drive associated with
[0087] Как отмечено выше, компьютерные программы и модули (включающие в себя прикладные программы 732 и другие программы 734) могут быть сохранены на жестком диске, магнитном диске, оптическом диске, ROM, RAM или другом аппаратном носителе хранения. Такие компьютерные программы могут также быть приняты через сетевой интерфейс 750, интерфейс 742 последовательного порта или любой другой тип интерфейса. Такие компьютерные программы, когда они выполняются или загружаются приложением, позволяют вычислительному устройству 700 реализовывать признаки примерных вариантов осуществления, описанных в данном документе. Соответственно, такие компьютерные программы представляют собой контроллеры вычислительного устройства 700.[0087] As noted above, computer programs and modules (including
[0088] Примерные варианты осуществления также направлены на компьютерные программные продукты, содержащие компьютерный код или инструкции, сохраненные на любом компьютерно-читаемом носителе. Такие компьютерные программные продукты включают в себя накопители на жестких дисках, накопители на оптических дисках, модули запоминающих устройств, переносные флэш-карты, карты памяти и другие типы физических запоминающих аппаратных средств.[0088] Exemplary embodiments are also directed to computer program products comprising computer code or instructions stored on any computer-readable medium. Such computer software products include hard disk drives, optical disk drives, storage modules, portable flash cards, memory sticks, and other types of physical storage hardware.
IV. Примерные варианты осуществленияIV. Exemplary Embodiments
[0089] В данном документе описывается система в вычислительном устройстве для предоставления маркера авторизации с индикатором доверия. Система включает в себя: один или более процессоров; и одно или более запоминающих устройств, в которых хранится программный код, сконфигурированный для выполнения одним или более процессорами, программный код содержит: средство проверки подлинности идентификации, сконфигурированное для: приема запроса маркера от диспетчера маркеров авторизации первой вычислительной среды, который включает в себя: идентификационную информацию и индикатор того, что запрос маркера был инициирован в приложении, выполняющемся во второй вычислительной среде, по меньшей мере, частично изолированной от первой вычислительной среды; и проверку идентификационной информации; и генератор маркеров, сконфигурированный для: генерирования маркера авторизации, который включает в себя индикатор доверия, указывающее уровень доверия второй вычислительной среды; и передачи маркера авторизации, который включает в себя индикатор доверия, в первую вычислительную среду.[0089] This document describes a system on a computing device for providing an authorization token with a trust indicator. The system includes: one or more processors; and one or more storage devices storing program code configured for execution by one or more processors, the program code comprising: an identification authenticator configured to: receive a token request from an authorization token manager of a first computing environment, which includes: an identification information and an indicator that the token request was initiated in an application running in a second computing environment at least partially isolated from the first computing environment; and verification of identification information; and a token generator configured to: generate an authorization token that includes a trust indicator indicating a trust level of the second computing environment; and transmitting an authorization token that includes a trust indicator to the first computing environment.
[0090] В одной реализации вышеупомянутой системы индикатор доверия содержит индикатор того, что приложение, выполняющееся во второй вычислительной среде, не является доверенным.[0090] In one implementation of the above system, the trust indicator includes an indicator that an application running on the second computing environment is not trusted.
[0091] В другой реализации вышеупомянутой системы вторая вычислительная среда содержит виртуальную машину, размещенную в первой вычислительной среде.[0091] In another implementation of the above system, the second computing environment includes a virtual machine hosted on the first computing environment.
[0092] В другой реализации вышеупомянутой системы маркер авторизации сконфигурирован так, чтобы разрешать приложению, выполняющемуся во второй вычислительной среде, получать доступ к защищенному ресурсу в первой вычислительной среде.[0092] In another implementation of the above system, the authorization token is configured to allow an application running on a second computing environment to access a protected resource on a first computing environment.
[0093] В другой реализации вышеупомянутой системы маркер авторизации сконфигурирован так, чтобы разрешать приложению, выполняющемуся во второй вычислительной среде, получать доступ к защищенному ресурсу по сети.[0093] In another implementation of the above system, the authorization token is configured to allow an application running on a second computing environment to access a protected resource over a network.
[0094] В другой реализации вышеупомянутой системы доступ к защищенному ресурсу со стороны приложения, выполняющегося во второй вычислительной среде, включает в себя доступ только для чтения к защищенному ресурсу.[0094] In another implementation of the above system, access to a protected resource by an application running on a second computing environment includes read-only access to the protected resource.
[0095] В данном документе раскрывается способ предоставления доступа к ресурсу защищенным образом. Способ включает в себя: прием запроса маркера от приложения, выполняющегося во второй вычислительной среде, по меньшей мере, частично изолированной от первой вычислительной среды, для доступа к ресурсу; присвоение уровня доверия запросу маркера; получение маркера авторизации, который включает в себя индикатор доверия, причем индикатор доверия соответствует уровню доверия запроса маркера; и предоставление маркера авторизации, который включает в себя индикатор доверия, приложению, выполняющемуся во второй вычислительной среде.[0095] This document discloses a method for providing access to a resource in a secure manner. The method includes: receiving a token request from an application running on a second computing environment at least partially isolated from the first computing environment to access a resource; assigning a trust level to the token request; obtaining an authorization token that includes a trust indicator, wherein the trust indicator corresponds to the trust level of the token request; and providing an authorization token, which includes a trust indicator, to an application running on the second computing environment.
[0096] В одной реализации вышеупомянутого способа получение маркера авторизации включает в себя: передачу запроса маркера и назначенного уровня доверия издателю маркера; и получение маркера авторизации, который включает в себя индикатор доверия, соответствующий уровню доверия, от издателя маркера.[0096] In one implementation of the above method, obtaining an authorization token includes: transmitting a token request and an assigned trust level to the issuer of the token; and obtaining an authorization token that includes a trust indicator corresponding to the trust level from the issuer of the token.
[0097] В другой реализации вышеупомянутого способа индикатор доверия содержит индикатор того, что приложение, выполняющееся во второй вычислительной среде, не является доверенным.[0097] In another implementation of the above method, the trust indicator includes an indicator that an application running on the second computing environment is not trusted.
[0098] В другой реализации вышеупомянутого способа ресурс хранится в первой вычислительной среде; и способ дополнительно включает в себя: получение маркера авторизации от приложения, выполняющегося во второй вычислительной среде; и выполнение предупредительного действия в первой вычислительной среде для защиты ресурса в ответ на получение маркера авторизации.[0098] In another implementation of the above method, the resource is stored in a first computing environment; and the method further includes: obtaining an authorization token from an application running on the second computing environment; and performing a preventive action in the first computing environment to protect the resource in response to receiving the authorization token.
[0099] В другой реализации вышеупомянутого способа предупредительное действие включает в себя создание резервной копии ресурса в ответ на получение маркера авторизации.[0099] In another implementation of the above method, the preventive action includes creating a backup copy of the resource in response to receiving an authorization token.
[0100] В другой реализации вышеупомянутого способа способ дополнительно содержит: предоставление доступа только для чтения к ресурсу первой вычислительной средой в ответ на получение маркера авторизации.[0100] In another implementation of the above method, the method further comprises: providing read-only access to the resource by the first computing environment in response to receiving the authorization token.
[0101] В другой реализации вышеупомянутого способа ресурс хранится на сервере, который сконфигурирован для выполнения предупредительных действий в ответ на: получение маркера авторизации; извлечение индикатора доверия из маркера авторизации; и определение того, что предупредительные действия должны выполняться на основе извлеченного индикатора доверия.[0101] In another implementation of the above method, the resource is stored on a server that is configured to perform proactive actions in response to: receiving an authorization token; extracting the trust indicator from the authorization token; and determining that preventive actions should be performed based on the extracted trust indicator.
[0102] В другой реализации вышеупомянутого способа вторая вычислительная среда содержит виртуальную машину, размещенную в первой вычислительной среде.[0102] In another implementation of the above method, the second computing environment includes a virtual machine hosted on the first computing environment.
[0103] Здесь описана система предоставления доступа к ресурсу. Система включает в себя: один или более процессоров; и одно или более запоминающих устройств, в которых хранится программный код, сконфигурированный для выполнения одним или более процессорами, программный код содержит: средство защиты ресурсов, сконфигурированное для: приема от приложения, выполняющегося в вычислительной среде, маркера авторизации для доступа к ресурсу, маркер авторизации включает в себя индикатор доверия, указывающий уровень доверия приложения; выполнения предупредительного действия для защиты ресурса в ответ на получение маркера авторизации, в том числе индикатора доверия; и поставщика доступа к ресурсам, сконфигурированного для предоставления доступа к ресурсу приложением, выполняющимся в вычислительной среде.[0103] A system for providing access to a resource is described here. The system includes: one or more processors; and one or more storage devices storing program code configured for execution by one or more processors, the program code comprising: resource protection means configured to: receive from an application running in the computing environment an authorization token for access to the resource, an authorization token includes a trust indicator indicating the trust level of the application; performing a proactive action to protect the resource in response to receiving an authorization token, including a trust indicator; and a resource access provider configured to provide access to the resource by an application running in the computing environment.
[0104] В одной реализации вышеупомянутой системы индикатор доверия содержит индикатор того, что приложение, выполняющееся в вычислительной среде, не является доверенным.[0104] In one implementation of the above system, the trust indicator includes an indicator that an application running in the computing environment is not trusted.
[0105] В другой реализации вышеупомянутой системы вычислительная среда содержит виртуальную машину, размещенную в другой вычислительной среде.[0105] In another implementation of the above system, the computing environment includes a virtual machine hosted in another computing environment.
[0106] В другой реализации вышеупомянутой системы предупредительное действие, выполняемое средством защиты ресурсов, включает в себя: создание резервной копии ресурса в ответ на получение маркера авторизации.[0106] In another implementation of the above system, the preventive action performed by the resource protector includes: creating a backup copy of the resource in response to receiving an authorization token.
[0107] В другой реализации вышеупомянутой системы поставщик доступа к ресурсам сконфигурирован для предоставления ограниченного доступа к ресурсу приложением, выполняющимся в вычислительной среде, в ответ на получение маркера авторизации.[0107] In another implementation of the above system, a resource access provider is configured to provide limited access to a resource by an application running in a computing environment in response to receiving an authorization token.
[0108] В другой реализации вышеупомянутой системы средство защиты ресурсов сконфигурировано для выполнения расширенной аутентификации идентификации в ответ на получение маркера авторизации; и поставщик доступа к ресурсам сконфигурирован для предоставления доступа к ресурсу в ответ на выполнение расширенной аутентификации идентификации.[0108] In another implementation of the above system, the resource protector is configured to perform enhanced identity authentication in response to receiving an authorization token; and the resource access provider is configured to provide access to the resource in response to performing enhanced identity authentication.
V. ЗаключениеV. Conclusion
[0109] Хотя выше описаны различные варианты осуществления изобретения, следует понимать, что они представлены только в качестве примера, а не ограничения. Специалистам в соответствующей области(ях) техники будет понятно, что различные изменения в форме и деталях могут быть выполнены в нем без отступления от существа и объема изобретения, которые определяются прилагаемой формулой изобретения. Соответственно, широта и объем настоящего изобретения не должны ограничиваться каким-либо из вышеописанных примерных вариантов осуществления, но должны быть определены только в соответствии с последующей формулой изобретения и ее эквивалентами.[0109] Although various embodiments of the invention have been described above, it should be understood that they are presented by way of example only and not limitation. Those skilled in the relevant art(s) will appreciate that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Accordingly, the breadth and scope of the present invention should not be limited by any of the exemplary embodiments described above, but should be defined only in accordance with the following claims and their equivalents.
Claims (34)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/415,690 | 2019-05-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2021137245A RU2021137245A (en) | 2023-06-19 |
RU2807463C2 true RU2807463C2 (en) | 2023-11-15 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070270212A1 (en) * | 2000-10-19 | 2007-11-22 | Igt | Executing multiple applications and their variations in computing environments |
US20130047259A1 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Method and apparatus for token-based virtual machine recycling |
US20140282989A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Actively Federated Mobile Authentication |
US20150106915A1 (en) * | 2011-07-20 | 2015-04-16 | Microsoft Corporation | Trust level activation |
US9672355B2 (en) * | 2011-09-16 | 2017-06-06 | Veracode, Inc. | Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security |
US20180352002A1 (en) * | 2015-09-03 | 2018-12-06 | Vmware, Inc. | Access control policy management in a computing environment |
RU2757651C1 (en) * | 2021-03-15 | 2021-10-19 | Акционерное общество "Лаборатория Касперского" | Method for creating and applying an application interaction rule on an iot device |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070270212A1 (en) * | 2000-10-19 | 2007-11-22 | Igt | Executing multiple applications and their variations in computing environments |
US20150106915A1 (en) * | 2011-07-20 | 2015-04-16 | Microsoft Corporation | Trust level activation |
US20130047259A1 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Method and apparatus for token-based virtual machine recycling |
US9672355B2 (en) * | 2011-09-16 | 2017-06-06 | Veracode, Inc. | Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security |
US20140282989A1 (en) * | 2013-03-15 | 2014-09-18 | Microsoft Corporation | Actively Federated Mobile Authentication |
US20180352002A1 (en) * | 2015-09-03 | 2018-12-06 | Vmware, Inc. | Access control policy management in a computing environment |
RU2757651C1 (en) * | 2021-03-15 | 2021-10-19 | Акционерное общество "Лаборатория Касперского" | Method for creating and applying an application interaction rule on an iot device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3970040B1 (en) | Mitigation of ransomware in integrated, isolated applications | |
CN109923548B (en) | Method, system and computer program product for implementing data protection by supervising process access to encrypted data | |
US11947688B2 (en) | Secure computing system | |
CN109075976B (en) | Certificate issuance dependent on key authentication | |
US10162975B2 (en) | Secure computing system | |
US9876783B2 (en) | Distributed password verification | |
US9514294B1 (en) | Accessing a computing resource | |
US9984227B2 (en) | Hypervisor and virtual machine protection | |
CN112513857A (en) | Personalized cryptographic security access control in a trusted execution environment | |
CN112805708B (en) | Protecting selected disks on a computer system | |
US20230283633A1 (en) | Credential input detection and threat analysis | |
Chatterjee et al. | A comprehensive study on security issues in android mobile phone—scope and challenges | |
RU2807463C2 (en) | Ransomware mitigation in integrated isolated applications | |
Odirichukwu et al. | Security concept in Web database development and administration—A review perspective | |
Kim et al. | Security analysis and bypass user authentication bound to device of windows hello in the wild | |
Simeon et al. | Smart phone security threats and risk Mitigation strategies | |
Basavala et al. | Mobile applications-vulnerability assessment through the static and dynamic analysis | |
Nilsson | Penetration testing of Android applications | |
JP2013092998A (en) | Access determination device, access determination method and program | |
Ramasamy et al. | Security in Windows 10 | |
US20240314118A1 (en) | Secure multi-factor authentication | |
Hughes | Android mobile security: A comprehensive evaluation of its feats and flaws | |
Zhao | Authentication and Data Protection under Strong Adversarial Model | |
Gautam | Enhancing security and usability in password-based web systems through standardized authentication interactions | |
Abdumalikov | WINDOWS SECURITY IN THE WORLD OF SPREAD VULNERABILITIES |