Обработка контента для приложений

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

 

УРОВЕНЬ ТЕХНИКИ

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

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

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

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

Фиг.5 - иллюстрирует примерную систему, которая включает в себя вычислительное устройство, как описано со ссылкой на фиг.1 и 6.

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

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Обзор

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

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

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

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

Примерная окружающая среда

На фиг.1 изображена иллюстрация окружающей среды 10 в примерной реализации, которая выполнена с возможностью применения технологий обработки контента для приложений. Окружающая среда 100 включает в себя вычислительное устройство 102, имеющее один или более процессоров 104, один или более машиночитаемых носителей 106 информации и одно или более приложений 108, которые находятся на машиночитаемых носителях 106 информации и которые исполняются процессором 104. Вычислительное устройство 102 можно осуществить в виде любого подходящего вычислительного устройства, такого как, в качестве примера, а не ограничения, настольный компьютер, портативный компьютер, карманный компьютер, такой как персональный цифровой помощник (PDA), мобильный телефон, планшетный компьютер и тому подобное. Один из множества различных примеров вычислительного устройства 102 показан и описан ниже со ссылкой на фиг.5 и 6.

Вычислительное устройство 102 (фиг.1) также проиллюстрировано как включающее в себя браузер 110, например, веб-браузер, который является представителем функциональных возможностей, которые сконфигурированы для навигации по сети 112. Хотя сеть 112 иллюстрирована как Интернет, сеть может принимать большое разнообразие конфигураций. Например, сеть 112 может включать в себя глобальную сеть (WAN), локальную сеть (LAN), беспроводную сеть, телефонную сеть общего пользования, интранет и т.д. Кроме того, хотя показана одна сеть 112, сеть 112 можно сконфигурировать таким образом, чтобы она включала в себя несколько сетей.

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

Одно или более приложений 108 могут быть также сконфигурированы для доступа к сети 112, например, непосредственно с помощью самих приложений и/или через браузер 110. Например, одно или более приложений 108 могут быть сконфигурированы для доступа к одному или более веб-ресурсам 114 для извлечения или выкладывания контента. Таким образом, приложения 108 можно также сконфигурировать для множества функциональных возможностей, которые могут включать в себя прямой или косвенный доступ к сети 112. Например, приложения 108 могут включать в себя параметры конфигурации и другие данные, которые можно применять локально с помощью приложения 108, а также синхронизировать с приложениями, которые исполняются на другом вычислительном устройстве. Таким образом, эти установочные параметры могут совместно использоваться данными устройствами. Можно также рассмотреть множество других примеров. Таким образом, вычислительное устройство 102 может взаимодействовать с контентом различным образом и с множеством различных источников.

Операционная система 116 дополнительно проиллюстрирована в виде части вычислительного устройства 102, и она является представителем функциональных возможностей ресурсов управления вычислительного устройства 102 и обеспечения доступа к функциональным возможностям вычислительного устройства 100. Вычислительное устройство 102 известно также как включающее в себя модуль 118 диспетчера приложений, который является типичным образцом функциональных возможностей вычислительного устройства 102, касающихся контроля и различения действий приложений 108. В одном или нескольких реализациях модуль 118 диспетчера приложений сконфигурирован таким образом, чтобы разрешать или запрещать конкретные операции приложений 108 на основании того, используют ли эти операции доверенный или недоверенный контент.

Доверенный контент 102 иллюстрирован в виде части приложений 108 и является типичным примером данных, которые известны для вычислительного устройства 102 как контент, которому можно доверять, и/или как контент, принятый из доверенного источника. Кроме этого, веб-ресурсы 114 проиллюстрированы как включающий в себя недоверенный контент 122, который является типичным примером контента, которому нельзя доверять на основании источника контента и/или характеристик контента. В одной или нескольких реализациях модуль 118 диспетчера приложений может быть выполнен с возможностью определения того, можно ли доверять контенту, на основе источника контента. Например, если контент принят из источника, который является внутренним по отношению к вычислительному устройству 102 (например, из доверенного контента 120), модуль 118 диспетчера приложений может распознать, что контент заслуживает доверия. Кроме того, если контент принят из источника, который является внешним и/или неизвестным по отношению к вычислительному устройству 102 (например, из недоверенного контента 122), модуль 118 диспетчера приложений может распознать, что контент является недоверенным.

Локальный раздел 124 и удаленный раздел 126 дополнительно проиллюстрированы в виде части приложений 108. В реализациях локальный раздел 124 является типичным примером частей приложений 108, которым разрешено осуществлять доступ к некоторым чувствительным функциональным возможностям вычислительного устройства 102. Например, локальный раздел 124 включает в себя код приложений, которому его при исполнении может быть разрешено активировать или осуществлять доступ к функциональным возможностям и/или частям вычислительного устройства 102, которые обычно защищены от доступа со стороны субъектов, которые являются внешними по отношению к вычислительному устройству 102. Удаленный раздел 126 является типичным примером частей приложений 108, которым не разрешен доступ к некоторым чувствительным функциональным возможностям вычислительного устройства. Например, коду приложений, включенному в удаленный раздел 126, при его исполнении может быть запрещен доступ к чувствительным функциональным возможностям вычислительного устройства 102.

Далее проиллюстрированы разрешенные элементы 128 кода и фильтрованные элементы 130 кода в виде части модуля 118 диспетчера приложений. Разрешенные элементы 128 кода и фильтрованные элементы 130 кода являются типичными примерами идентификаторов для функциональных возможностей вычислительного устройства 102, доступ к которым может осуществляться приложениями 108 для выполнения одной или более задач через вычислительное устройство 102. Примеры элемента кода включают в себя функцию, подпрограмму, метод, параметры, свойство, интерфейс (например, интерфейс прикладного программирования (API)) и т.д. В одной или нескольких реализациях конкретный элемент кода, идентифицированный с помощью разрешенных элементов 128 кода и/или фильтрованных элементов 130 кода, может обеспечить доступ к чувствительным частям вычислительного устройства 102, таким как функциональные возможности, обеспечиваемые операционной системой 116, пользовательские файлы с контентом, конфиденциальная пользовательская информация и т.д. Примеры, перечисленные в виде части, соответствующей разрешенным элементам 128 кода и фильтрованным элементам 130 кода, представлены только в целях иллюстрации, и должно быть понятно, что любые функциональные возможности и/или часть вычислительного устройства 102 могут быть включены в виде части, соответствующей разрешенным элементам 128 кода и фильтрованным элементам 130 кода.

Деление элементов кода, которые доступны в вычислительном устройстве 102, на разрешенные элементы 128 кода и фильтрованные элементы 130 кода способствует предотвращению непреднамеренного подвергания приложениями 108 чувствительных частей вычислительного устройства 102 опасному контенту. Например, разрешенные элементы 128 включают в себя элементы кода, которые можно активировать локальным разделом 124, обычно без ограничения выполнения различных операций через вычислительное устройство 102. Доступ к фильтрованным элементам 130 кода может подвергаться проверке контента во избежание возможности доступа опасного контента к фильтрованным элементам 130 кода. Например, когда приложения 108 активируют один из фильтрованных элементов 130 кода для обработки контента, контент проверяется для того, чтобы гарантировать, что контент является безопасным, прежде чем разрешить передачу контента в один из фильтрованных элементов 130 кода.

Модуль 118 диспетчера приложений может включать в себя критерии для определения того, следует ли включать элемент кода как часть фильтрованных элементов кода. Например, модуль 118 диспетчера приложений может задать, что если конкретный элемент кода может позволить контенту осуществлять доступ и/или манипулировать функциональными возможностями объектной модели документов (DOM) вычислительного устройства 102 (например, функциональными возможностями DOM языка гипертекстовой разметки (HTML), связанными с браузером 110), то этот конкретный элемент кода должен быть включен как часть фильтрованных элементов 130 кода).

В реализациях удаленному разделу 126 не позволено осуществлять доступ к разрешенным элементам 128 кода или фильтрованным элементам 130 кода. Это может предотвратить доступ со стороны небезопасного контента, к которому осуществляется доступ из удаленного раздела 126, к чувствительным частям вычислительного устройства 102 либо через разрешенные элементы 128 кода, либо через фильтрованные элементы 130 кода.

Вычислительное устройство 102 в иллюстрированном примере также показано как включающее в себя модуль 132 проверки контента. Модуль 132 проверки контента представляет функциональные возможности вычислительного устройства для проверки контента, который запрашивается и/или извлекается вычислительным устройством 102, например, через приложения 108 и/или браузер 110. В одной или нескольких реализациях модуль 132 проверки контента выполнен с возможностью проверки контента для определения того, является ли контент безопасным, прежде чем разрешить передачу контента в один из фильтрованных элементов 130 кода.

Модуль 132 проверки контента включает в себя политики 134 проверки контента, которые могут использоваться модулем 132 проверки контента для определения того, является ли контент (например, доверенный контент 120 и/или недоверенный контент 122) безопасным или небезопасным. Например, политиками 134 проверки контента может быть задано, что если контент удовлетворяет одному или нескольким критериям, то контент считается небезопасным. В реализациях, в политиках 134 проверки контента может быть задано, что если недоверенный контент включает в себя исполняемый код (например, скрипт), который можно исполнять посредством и/или на вычислительном устройстве 102, недоверенный контент является небезопасным. Такой исполняемый код, при его исполнении, позволяет обеспечить несанкционированный доступ к частям вычислительного устройства 102, таким как функциональные возможности операционной системы 106, конфиденциальная информация, связанная с пользователем вычислительного устройства 102, и т.д.

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

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

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

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

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

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

Политики локального раздела

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

Идентификация локального раздела

В реализациях контент, включенный в виде части локального раздела 124, указывается как использующий схему единообразного идентификатора ресурса (URI), который является специфическим для локального раздела 124. Например, контент, включенный как часть локального раздела 124, можно идентифицировать с использованием URI, такого как "local-compartment://content". Когда определено, что на контент делается ссылка с использованием этого URI (например, модулем 118 диспетчера приложений и/или модулем 132 проверки контента), источник контента будет знать, что локальный раздел 124 и свойства, специфические для локального раздела 124, будут применены к контенту. При отсутствии схемы URI, специфической для локального раздела 124, контент будет рассматриваться как недоверенный и/или как связанный с удаленным разделом 126.

Удаленный исполняемый код

Локальному разделу 124 запрещено включать ссылку на исполняемый код (например, скрипт), который извлекается из источника, который является внешним по отношению к доверенному контенту 120 и/или вычислительному устройству 102. Например, политики контента, связанные с локальным разделом 124, позволяют задать, что код, включенный в локальный раздел 124, не может ссылаться на исполняемый контент, который является внешним по отношению к доверенному контенту 120. Одним примером такой неразрешенной ссылки является унифицированный указатель ресурса (URL), который ссылается на контент со скриптом. Однако локальный раздел 124 может ссылаться на исполняемый контент, который включен в виде части достоверного контента 120.

Локальный раздел 124 позволяет активировать элементы кода разрешенных элементов 128 кода.

Доступ к фильтрованным элементам кода

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

Источники контента

В реализациях локальному разделу 124 запрещается доступ к некоторым типам контента из источников, которые являются внешними по отношению к достоверному контенту 120. Например, локальному разделу 124 может быть разрешен доступ к медиаконтенту (например, видео контенту, изображению, аудиоконтенту и т.д.) из источника, который является внешним по отношению к доверенному контенту 120. Однако локальному разделу 124 может быть запрещен доступ к другим типам контента из источника, внешнего по отношению к доверенному контенту 120, такому как контент HTML, контент со скриптом, контент каскадных таблиц стилей (CSS) и т.д. Это позволяет предотвратить включение приложением ссылки на вредоносный контент (например, исполняемый код) из недоверенного источника.

Собственный код третьей стороны

В реализациях собственный («родной») код третьей стороны, связанный с одним из приложений 108, можно хранить в локальном разделе 124. Собственный код третьей стороны может ссылаться на исполняемый код, который используется одним из приложений 108, но который не написан разработчиком данного приложения. Однако в таких реализациях собственный код третьей стороны идентифицируется приложением, например, объявляется как часть манифества для приложения. Если собственный код третьей стороны не объявляется приложением, собственному коду третьей стороны может быть запрещено исполняться из локального раздела 124.

Междоменные запросы

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

Кодирование знаков

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

Если конкретная часть контента не имеет объявленного формата кодирования знаков, можно попытаться подвергнуть контент синтаксическому разбору в качестве разрешенного кодирования знаков. Если контент можно разобрать с использованием разрешенного кодирования знаков, то контент может использоваться локальным разделом 124, например, для вывода контента. Если контент нельзя разобрать анализом с использованием разрешенного кодирования знаков, то может возникнуть ошибка, которая предотвращает синтаксический разбор контента. Кроме того, если конкретная часть контента имеет объявленное кодирование знаков, которое отличается от разрешенного кодирования знаков, можно предотвратить синтаксический разбор контента и/или может возникнуть ошибка при синтаксическом разборе.

Политики удаленных разделов

Как упомянуто выше, удаленный раздел 126 представляет части приложений 108, которым не разрешен доступ к некоторым чувствительным функциональным возможностям вычислительного устройства 102. Например, удаленный раздел 126 включает в себя исполняемый код приложений 108, которому при его исполнении не разрешено вызывать элементы кода, идентифицированные в разрешенных элементах 128 кода и фильтрованных элементах 130 кода. Со ссылкой на веб-контент, такой контент может исполняться в удаленном разделе на основании тех же самых разрешений для ресурса, связанных с веб-браузером, например, браузером 110. Дополнительные свойства удаленного раздела 126 обсуждены ниже в соответствии с одним или более вариантами осуществления.

Идентификация удаленного раздела

В реализациях контент, включенный как часть удаленного раздела 126, объявляется с использованием схемы единообразного идентификатора ресурса (URI), которая является специфической для удаленного раздела 126. Например, контент, включенный как часть удаленного раздела 126, можно идентифицировать с использованием URI, такого как "remote-compartment://content". Когда определено, что на контент делается ссылка с использованием этого URI (например, модулем 118 диспетчера приложений и/или модулем 132 проверки контента), источник контента будет известен как удаленный раздел 126 и политики, специфические для удаленного раздела 126, будут применяться к контенту. Кроме того, контент, на который делается ссылка с использованием других схем URI, таких как "http://" и/или "https://", будет рассматриваться как связанный с удаленным разделом 126 и/или недоверенным источником.

Удаленный исполняемый код

В реализациях удаленному разделу 126 разрешено включать в себя ссылки на исполняемый код (например, скрипт) из доверенных источников и недоверенных источников, например, из доверенного контента 120 и/или недоверенного контента 122. Поскольку удаленный раздел 126 не имеет доступа к чувствительным частям вычислительного устройства 102, разрешение удаленного раздела 126 ссылаться на недоверенный исполняемый код не приводит к риску подвергнуть чувствительные части вычислительного устройства 102 недоверенному исполняемому коду.

Медиаконтент

Удаленному разделу 126 разрешено включать в себя ссылки на медиаконтент из доверенных источников и недоверенных источников, например, из доверенного контента 120 и/или недоверенного контента 122. Поскольку удаленный раздел 126 не имеет доступа к чувствительным частям вычислительного устройства, разрешение удаленному разделу 126 ссылаться на недоверенный медиаконтент не подвергает риску чувствительные части вычислительного устройства 102 со стороны недоверенного контента, который может быть включен в недоверенный медиаконтент.

Собственный код третьей стороны

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

Междоменные запросы

В реализациях удаленному разделу 126 разрешено включать в себя междоменные запросы XML-http. Это позволяет предотвратить доступ к опасному контенту через веб-сайт или другой сетевой ресурс, к которому осуществляется доступ из удаленного раздела 12.

Связь между разделами

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

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

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

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

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

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

На фиг.2 изображена процедура 200 в примерной реализации, в которой введены в действие политики обработки контента. Первый набор политик обработки контента вводится в действие для части приложения, которой разрешено активировать элементы кода вычислительного устройства, и второй набор политик обработки контента вводится в действие для части приложения, которой разрешено активировать элементы кода (этап 202). Примеры политик обработки контента обсуждены выше и ниже. Выполняется определение того, применять ли первый набор политик обработки контента к контенту, на основании которого часть приложения запрашивает контент (этап 204). Например, если недоверенный контент запрашивается локальным разделом 124, то применяется первый набор политик обработки контента. Однако если недоверенный контент запрашивается удаленным разделом 126, применяется второй набор политик обработки контента. В реализациях определение на предмет того, какой раздел запрашивает контент, можно сделать на основании URI, который ссылается на контент.

На фиг.3 изображена процедура 300 в примерной реализации, в которой делается определение того, удовлетворить ли запрос на передачу контента в элемент кода. Обнаружено, что приложение, исполняемое в вычислительном устройстве, включает запрос на передачу контента в элемент кода вычислительного устройства (этап 302). Например, одно из приложений 108 может сделать запрос относительно того, чтобы экземпляр контента передавался либо в разрешенные элементы 128 кода, либо в фильтрованные элементы 130 кода.

Выполняется определение относительно того, удовлетворить ли упомянутый запрос, на основе того, исходит ли запрос из части приложения, которой разрешено активировать элемент кода (этап 304). Со ссылкой на разделы, обсужденные выше, диспетчер 118 приложений может определить то, исходит ли запрос из локального раздела 124 или удаленного раздела 126. Если запрос исходит из части приложения, которой не разрешено активировать элемент кода ("Неразрешенный"), предотвращается передача контента в элемент кода (этап 306). Как обсуждено выше, удаленному разделу 126 не разрешается активировать элементы кода вычислительного устройства 102. Таким образом, если определено, что запрос исходит из удаленного раздела 126, запрос может быть отвергнут.

Если запрос исходит из части приложения, которой разрешено активировать элемент кода ("Разрешенный"), удостоверяются в том, можно ли передавать контент в элемент кода, на основе источника контента и типа контента для контента (этап 308). Как обсуждено выше, в некоторых сценариях локальному разделу 124 разрешено активировать элементы кода вычислительного устройства 102. Таким образом, если определено, что запрос исходит из локального раздела 124, то контент может подвергаться дополнительной проверке для определения того, можно ли передавать контент в элемент кода. Примерные способы определения того, можно ли передавать контент в элемент кода, обсуждены более подробно ниже.

На фиг.4 изображена процедура 400 в примерной реализации, в которой выполняется определение того, можно ли передавать контент в элемент кода. В реализациях процедура 400 представляет детальную технологию для реализации этапа 308 процедуры 300, обсужденного выше. Выясняют, является ли источник контента, передача которого запрашивается в элемент кода, доверенным источником или недоверенным источником (этап 402). Если источник контента является недоверенным источником ("Недоверенный"), то выполняют определение того, является ли тип контента для контента разрешенным из недоверенного источника (этап 404). Со ссылкой на рабочую среду 100 (фиг.1) источник контента может представлять собой недоверенный контент 122. Как обсуждено выше, некоторые типы контента (например, исполняемый код) не разрешается извлекать из недоверенного источника и передавать в элемент кода. Если тип контента не разрешен из недоверенного источника ("Нет"), предотвращается передача контента в элемент кода (этап 406). Альтернативно, если тип контента разрешен из недоверенного источника ("Да"), процедура 400 переходит к этапу 408, обсужденному ниже. Некоторые типы контента (например, медиаконтент, контент форматирования и т.д.) разрешено извлекать из недоверенного источника и передавать в элемент кода, с выполнением в отношении них, в некоторых реализациях, дополнительной проверки для определения того, является ли контент безопасным.

Возвращаясь на этап 402, если источник контента представляет собой доверенный источник ("Доверенный"), или на этапе 404 определено, что тип контента разрешен из недоверенного источника ("Да"), выполняется определение того, является ли элемент кода разрешенным элементом кода или фильтрованным элементом кода (этап 408). Если элемент кода является разрешенным элементом кода ("Разрешенный"), разрешают передавать контент в элемент кода (этап 410). В реализациях, различия между разрешенными элементами кода и фильтрованными элементами кода можно определить явно, например, путем предварительного задания набора разрешенных элементов кода и набора фильтрованных элементов кода Альтернативно, набор фильтрованных элементов кода можно предварительно задать, и конкретный элемент кода можно неявно определить как разрешенный элемент кода на основании того, что этот элемент кода не идентифицирован в наборе фильтрованных элементов кода. Обработка контента выполняется с использованием элемента кода (этап 402). Например, контент можно обработать для представления, например, в виде части веб-страницы, документа и т.д.

Возвращаясь на этап 408, если элемент кода представляет собой фильтрованный элемент кода ("Фильтрованный"), проверяют контент, чтобы удостовериться в том, является ли контент безопасным для дальнейшей передачи в элемент кода (этап 414). Например, модуль 132 проверки контента может применять одну или более из политик 134 проверки контента к контенту для определения того, является ли контент безопасным или небезопасным. Как обсуждено выше, контент, который включает в себя исполняемый код, можно определить как небезопасный для передачи в фильтрованный элемент кода. Дополнительно, безопасный контент может включать в себя статический контент, такой как изображения, текст, аудио, видео, данные презентаций, статический HTML и т.д.

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

Возвращаясь на этап 414, если контент определен как небезопасный для передачи в элемент кода ("Небезопасный"), то предотвращается передача контента в элемент кода (этап 406). Если определено, что контент является безопасным для передачи в элемент кода ("Безопасный"), то контент разрешено передать в элемент кода (этап 410). Как обсуждено выше, обработка контента выполняется с использованием элемента кода (этап 412).

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

Примерные система и устройство

Фиг.5 иллюстрирует примерную систему 500, которая включает в себя вычислительное устройство 102, как описано со ссылкой на фиг.1. Примерная система 500 обеспечивает повсеместно распространенные рабочие среды для прозрачного взаимодействия с пользователем при исполнении приложения на персональном компьютере (ПК), телевизионном устройстве и/или мобильном устройстве. Службы и приложения запускаются, по существу, аналогично во всех трех рабочих средах для общего пользовательского восприятия при переходе с одного устройства на другое при использовании приложения, проигрывания видео игры, просмотра видео и т.д.

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

В различных реализациях вычислительное устройство 102 может принимать множество различных конфигураций, таких как, например, для компьютерных 502, мобильных 504 и телевизионных 506 применений. Каждая из этих конфигураций включает в себя устройства, которые могут, в общем, иметь различные конструкции и возможности, и, таким образом, вычислительное устройство 102 можно сконфигурировать согласно одному или более различных классов устройств. Например, вычислительное устройство 102 можно реализовать в виде компьютерного 502 класса, устройство которого включает в себя персональный компьютер, настольный компьютер, компьютер с несколькими экранами, портативный компьютер типа "лэптоп", нетбук и т.д.

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

Облако 508 включает в себя и/или представляет платформу 510 для контентных услуг 512. Платформа 510 абстрагирует лежащие в основе функциональные возможности ресурсов аппаратных средств (например, серверов) и программного обеспечения облака 508. Контентные услуги 512 могут включать в себя приложения и/или данные, которые можно использовать в тех случаях, когда выполняется компьютерная обработка на серверах, которые являются удаленными от вычислительного устройства 102. Контентные услуги 512 можно предоставить в виде услуги по Интернет и/или через абонентскую сеть, такую как сотовая сеть или сеть Wi-Fi.

Платформа 510 может абстрагировать ресурсы и функции для соединения вычислительного устройства 102 с другими вычислительными устройствами. Платформа 510 может также служить для абстрагирования масштабирования ресурсов для обеспечения соответствующего уровня масштаба в обнаруженном требовании для контентных услуг 512, которые реализуются через платформу 510. Соответственно, в варианте осуществления межсоединенного устройства реализации функциональных возможностей, описанных в данном документе, можно распределить по всей системе 500. Например, функциональные возможности можно реализовать частично на вычислительном устройстве 102, а также через платформу 510, которая абстрагирует функциональные возможности облака 508, как показано путем включения приложения 108, модуля 118 диспетчера приложений и модуля 132 проверки контента.

Фиг.6 иллюстрирует различные компоненты примерного устройства 600, которые можно реализовать в виде любого типа вычислительного устройства, как описано со ссылкой на фиг.1 и 5 для реализации вариантов осуществления технологий, описанных в данном документе. Устройство 600 включает в себя устройства 602 связи, которые позволяют обеспечить проводную и/или беспроводную передачу данных 604 устройства (например, принятых данных, данных, которые принимаются, данных, запланированных для широковещания, информационных пакетов данных и т.д.). Данные 604 устройства и другое содержимое устройства могут включать в себя параметры установки конфигурации устройства, медиаконтент, сохраненный на устройстве, и/или информацию, связанную с пользователем устройства. Медиаконтент, который хранится на устройстве 600, может включать в себя любой тип данных аудио, видео и/или изображения. Устройство 600 включает в себя один или более входов 606 данных, через которые можно принимать любой тип данных, медиаконтента и/или вводов, таких как вводы, выбираемые пользователем, сообщения, музыка, телевизионный медиаконтент, записанный видео контент и любой другой тип аудио, видео и/или данных изображения принятых из любого контента и/или источника данных.

Устройство 600 также включает в себя интерфейсы 608 связи, которые можно реализовать в виде любого одного или более из последовательного и/или параллельного интерфейса, беспроводного интерфейса, любого типа сетевого интерфейса, модема и в качестве любого другого типа интерфейса связи. Интерфейсы 608 связи обеспечивают линии соединения и/или связи между устройством 600 и сетью связи, с помощью которой другие электронные, вычислительные и коммуникационные устройства обмениваются данными с устройством 600.

Устройство 600 включает в себя один или более процессоров 610 (например, любой из микропроцессоров, контроллеров и т.п.), которые обрабатывают различные машиноисполняемые инструкции для управления работой устройства 600 и для реализации вариантов осуществления технологий, описанных в данном документе. Альтернативно или в дополнение к этому, устройство 600 можно реализовать с помощью любого одного или комбинации из аппаратных средств, программно-аппаратных средств или неизменяемой логической схемы, которая реализована в виде соединения со схемами обработки и управления, которые, в общем, обозначены позицией 612. Хотя это и не показано, устройство 600 может включать в себя системную шину или систему передачи данных, которая соединяет различные компоненты в пределах устройства. Системная шина может включать в себя любое одно или комбинацию из различных структур шин, таких как шина памяти или контроллер памяти, периферийная шина, универсальная последовательная шина и/или процессор или локальная шина, которая использует любую из множества шинных архитектур.

Устройство 600 также включает в себя машиночитаемый носитель 614, такой как один или более компонентов памяти, примеры которых включают в себя оперативное запоминающее устройство (ОЗУ), энергонезависимую память (например, любое одно или более из постоянного запоминающего устройства (ПЗУ), флэш-памяти, программируемого постоянного запоминающего устройства (СППЗУ), электрически стираемого программируемого постоянного запоминающего устройства (ЭСППЗУ) и т.д.) и дисковое запоминающее устройство. Дисковое запоминающее устройство можно реализовать в виде любого типа магнитного или оптического запоминающего устройства, такого как жесткий диск, записываемый и/или перезаписываемый компакт-диск (CD), любой тип цифрового универсального диска (DVD) и т.п. Устройство 600 может также включать в себя устройство 616 для хранения больших объемов медиаинформации.

Машиночитаемый носитель 614 обеспечивает механизмы хранения данных для хранения данных 604 устройства, а также различные приложения 618 для устройства и любые другие типы информации и/или данных, которые относятся к операционным аспектам устройства 600. Например, операционную систему 620 можно поддерживать в качестве компьютерного приложения с помощью машиночитаемого носителя 614 и исполнять на процессорах 610. Приложения 618 для устройства могут включать в себя диспетчер устройства (например, управляющие приложения, программные приложения, модуль управления и обработки сигналов, код, который является родным для конкретного устройства, уровень аппаратных абстракций средств для конкретного устройства и т.д.). Приложения 618 для устройства также включают в себя любые системные компоненты или модули для реализации вариантов осуществления технологий, описанных в данном документе.

В этом примере приложения 618 для устройства включают в себя приложения 622 для интерфейса и модуль 624 ввода/вывода, которые показаны как программные модули и/или компьютерные приложения. Модуль 624 ввода/вывода представляет собой программное обеспечение, которое используется для обеспечения интерфейса с устройством, выполненным с возможностью захвата вводов, таких как сенсорный экран, трекпад, камера, микрофон и т.д. Альтернативно или в дополнение к этому, приложение 622 для интерфейса и модуль 624 ввода/вывода можно реализовать в виде аппаратных средств, программного обеспечения, программно-аппаратных средств или их комбинации. Дополнительно, модуль 624 ввода/вывода можно выполнить с возможностью поддержания многочисленных устройств ввода, таких как отдельные устройства для захвата визуальных и аудиовходов, соответственно.

Устройство 600 также включает в себя систему 626 ввода/вывода аудио и/или видео, которая обеспечивает подачу аудиоданных в аудиосистему 628 и/или обеспечивает подачу видеоданных в систему 630 отображения. Аудиосистема 628 и/или система 630 отображения может включать в себя любые устройства, которые обрабатывают, отображают и/или иным образом воспроизводят аудио, видео и данные изображения. Видеосигналы и аудиосигналы могут поддерживать связь от устройства 600 до аудиоустройства и/или до устройства отображения через радиочастотный (РЧ) канал связи, S-видео канал, композитный видеоканал, компонентный видеоканал, DVI (цифровой видеоинтерфейс), аналоговое ауидосоединение или другой аналогичный канал связи. В варианте осуществления аудиосистема 628 и/или система 630 отображения, реализованная в виде внешних компонентов в устройстве 600. Альтернативно, аудиосистема 628 и/или система 630 отображения, реализованная в виде интегральных компонентов примерного устройства 600.

Заключение

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

1. Компьютерная система, выполненная с возможностью обработки контента для приложений, при этом система содержит:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11. Способ по п. 9, в котором элемент кода содержит по меньшей мере одно из функции, подпрограммы, метода, параметра, свойства и интерфейса прикладного программирования (API).

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

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

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

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

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

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

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

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

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

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

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

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

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



 

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

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

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

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

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

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

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

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

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

Изобретение относится к системе и способу обнаружения аномалии в технологической системе. Технический результат заключается в обеспечении обнаружения аномалии системой контроля в технологической системе на основании обнаруженного отсутствия функциональной взаимосвязи элементов технологической системы.

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

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

Изобретение относится к области вычислительной техники. Технический результат – повышение надежности и защищенности информации от несанкционированного доступа. Способ включает идентификацию пользователя сети порталов по активному сеансу и проведение проверки подлинности для неидентифицированных пользователей посредством одного из узлов доступа защищенной виртуальной среды по наличию атрибутов сеанса пользователя, представленных идентификатором пользовательского сеанса и факторами прохождения аутентификации, подписанными центральным узлом либо резервным центральным узлом. А аутентификационные данные пользователей хранят только на сервере LDAP центрального узла и сервере LDAP центрального резервного узла защищенной виртуальной среды. Запрос для доступа к информационно-вычислительному ресурсу обрабатывает один из узлов доступа защищенной виртуальной среды, который производит проверку подлинности сеанса пользователя на центральном узле, в результате успешной проверки подлинности сеанса пользователя клиентского ПК центральный узел в виде ответа на запрос направляет на узел доступа атрибуты сеанса пользователя, которые узел доступа сначала сохраняет на сервере LDAP узла доступа. Затем узел доступа проводит проверку привилегированности доступа пользователя к запрашиваемым данным информационно-вычислительного ресурса и в результате успешной проверки предоставляет к ним доступ. А в случае запроса пользователя к другому информационно-вычислительному ресурсу проверку подлинности сеанса пользователя производят путем проверки атрибутов сеансовых данных, хранимых на сервере LDAP узла доступа. 5 ил.

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

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

Изобретение относится к испытаниям автоматизированных систем (АС) в условиях воздействия вредоносных программ (ВП). Технический результат заключается в расширении функциональных возможностей стенда для испытаний АС за счет моделирования воздействия ВП на программное и аппаратное обеспечение структурных элементов АС. Стенд содержит n датчиков, вычислительный комплекс в виде локальной вычислительной сети (ЛВС), организованной по принципу звезды с терминальным сервером в центре, а по периферии с автоматизированным рабочим местом (АРМ) ввода данных, АРМ инженера по знаниям, АРМ инженера по оценке эффективности, АРМ инженера моделирования воздействия ВП, устройство моделирования воздействия ВП, осуществляющее внедрение образцов вредоносного кода из сервера базы данных в программное и аппаратное обеспечение структурных элементов АС, при этом терминальный сервер осуществляет автоматическое считывание информации от испытываемой АС от группы датчиков и оценку работоспособности испытываемой АС по обобщенному показателю эффективности АС, представляющему собой свертку частных показателей эффективности АС, соответствующих результатам анализа измеряемых параметров. 1 ил.
Изобретение относится к способу защиты компьютера от несанкционированного доступа к хранимой в нем информации. Технический результат заключается в получении более устойчивых к взлому компьютеров. Предложен способ, в котором компьютер оснащают встроенным аппаратным средством защиты информации (АСЗИ), устанавливаемым в виде дочерней платы в один из слотов материнской платы компьютера, причем на материнской плате для установки АСЗИ выделяют определенный слот с расширенным набором контактов, через его избыточные контакты транзитно пропускают, по меньшей мере, одну электрическую цепь, размыкание которой гарантированно приводит к потере работоспособности компьютера, а на плате АСЗИ к соответствующим контактам присоединяют, по меньшей мере, один элемент физической коммутации, обеспечивающий замыкание/размыкание вышеупомянутой цепи или цепей при установке/извлечении платы АСЗИ. 4 з.п. ф-лы.

Группа изобретений относится к компьютерной технике и может быть использована для проверки адреса возврата процедуры. Техническим результатом является предотвращение несанкционированной модификации стека. Устройство содержит указатель стека для указания на первый адрес возврата, хранящийся в стеке; указатель буфера адреса возврата для указания на второй адрес возврата, хранящийся в буфере адреса возврата; и логическое устройство проверки адреса возврата для сравнения первого адреса возврата со вторым адресом возврата в ответ на прием команды возврата и исполнения, в ответ на прием команды модификации буфера адреса возврата, по меньшей мере одного действия из: сохранения адреса возврата в буфере адреса возврата или удаления адреса возврата из буфера адреса возврата, причем команда модификации буфера адреса возврата является привилегированной командой. 3 н. и 14 з.п. ф-лы, 12 ил.

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

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

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

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

Наверх