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

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

Info

Publication number
RU2626658C2
RU2626658C2 RU2014108837A RU2014108837A RU2626658C2 RU 2626658 C2 RU2626658 C2 RU 2626658C2 RU 2014108837 A RU2014108837 A RU 2014108837A RU 2014108837 A RU2014108837 A RU 2014108837A RU 2626658 C2 RU2626658 C2 RU 2626658C2
Authority
RU
Russia
Prior art keywords
content
application
computing device
code element
section
Prior art date
Application number
RU2014108837A
Other languages
English (en)
Other versions
RU2014108837A (ru
Inventor
Дэвид Л. Мл. РИСНИ
Скотт Б. ГРЭХЕМ
Матиас ЖУРДЭН
Сермет ИСКИН
Дэвид Эндрю РОСС
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2014108837A publication Critical patent/RU2014108837A/ru
Application granted granted Critical
Publication of RU2626658C2 publication Critical patent/RU2626658C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
Современный пользователь компьютера имеет доступ к большому разнообразию контента, такому как видеоконтент, аудиоконтет, текстовой контент и т.д. Однако не весь контент является безопасным при его использовании на вычислительном устройстве. Например, некоторый контент может включать в себя вредоносный исполняемый код, например, вредоносные программы, которые при исполнении могут получать несанкционированный доступ к определенным частям вычислительного устройства и/или конфиденциальной информации о пользователе.
Хотя существуют технологии для предотвращения получения такого несанкционированного доступа для вредоносного исполняемого кода, эти технологии, как правило, не учитывают требований современных разработчиков контента. Например, разработчик контента может разработать приложение, которое может иметь доступ к удаленному контенту (например, веб-контенту) через вычислительное устройство. Современные технологии обычно не учитывают то, каким образом такой удаленный контент будет обрабатываться вычислительным устройством при определении того, будет ли разрешен доступ удаленного контента к вычислительному устройству. Кроме того, современные технологии обычно не позволяют разработчику контента точно определить то, что в специфических случаях должен быть разрешен доступ удаленного контента к вычислительному устройству.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Описаны технологии обработки контента для приложений. В одной или нескольких реализациях первый набор политик обработки контента вводится в действие для первой части приложения, которой разрешено активировать элементы кода вычислительного устройства, и второй набор политик обработки контента вводится в действие для второй части приложения, которой разрешено активировать элементы кода. Выполняется определение того, применить ли первый набор политик обработки контента или второй набор политик обработки контента к контенту, на основе того, какая часть приложения запрашивает контент.
В одной или нескольких реализациях обнаруживают, что приложение, исполняемое на вычислительном устройстве, включает в себя запрос на передачу контента в элемент кода вычислительного устройства. В ответ на это обнаружение выполняется определение того, удовлетворять ли этот запрос на это основе того, исходит ли данный запрос из части приложения, которой разрешено активировать этот элемент кода.
В одной или нескольких реализациях в вычислительном устройстве определяется, что запрос из приложения на передачу контента в элемент кода исходит из части приложения, которой разрешено активировать этот элемент кода. Устанавливается, можно ли передавать контент в элемент кода на основании, по меньшей мере, одного из источника контента или типа контента для контента.
Данное краткое изложение сущности изобретения предусмотрено для того, чтобы в упрощенной форме представить подборку идей, которые дополнительно описываются ниже в подробном описании. Это краткое изложение сущности изобретения не предназначено ни для того, чтобы идентифицировать ключевые или важнейшие признаки заявляемого изобретения, ни для того, чтобы использоваться в качестве помощи при определении объема заявляемого изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Подробное описание изобретения приведено со ссылкой на сопроводительные фигуры, на фигурах крайняя левая цифра (крайние левые цифры) ссылочной позиции идентифицируют фигуру, на которой ссылочная позиция появляется первой. Использование одинаковых ссылочных позиций в различных примерах в описании и на фигурах может указывать аналогичные или идентичные элементы.
Фиг.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.
Заключение
Хотя настоящее изобретение было описано на языке, специфическом для структурных признаков и/или методологических действий, следует понимать, что определенное в прилагаемой формуле изобретение необязательно ограничивается специфическими признаками или описанными действиями. Напротив специфические признаки и действия раскрыты в качестве примерных форм реализации заявленного изобретения.

Claims (32)

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, в котором набор элементов кода, относящихся к первой части приложения, включает в себя предварительно заданные допустимые элементы кода, при этом упомянутое установление вычислительным устройством того, разрешено ли передавать контент в элемент кода, дополнительно основывается на этих предварительно заданных допустимых элементах кода, включенных в первую часть приложения.
RU2014108837A 2011-09-07 2012-09-04 Обработка контента для приложений RU2626658C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/227,201 US10445528B2 (en) 2011-09-07 2011-09-07 Content handling for applications
US13/227,201 2011-09-07
PCT/US2012/053620 WO2013036470A1 (en) 2011-09-07 2012-09-04 Content handling for applications

Publications (2)

Publication Number Publication Date
RU2014108837A RU2014108837A (ru) 2015-09-20
RU2626658C2 true RU2626658C2 (ru) 2017-07-31

Family

ID=47754187

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014108837A RU2626658C2 (ru) 2011-09-07 2012-09-04 Обработка контента для приложений

Country Status (11)

Country Link
US (1) US10445528B2 (ru)
EP (1) EP2754082B1 (ru)
JP (1) JP2014525638A (ru)
KR (1) KR101977428B1 (ru)
CN (1) CN103765431B (ru)
AU (1) AU2012304788B2 (ru)
BR (1) BR112014005052B1 (ru)
CA (1) CA2846877C (ru)
MX (1) MX351857B (ru)
RU (1) RU2626658C2 (ru)
WO (1) WO2013036470A1 (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117992A (zh) * 2012-09-10 2013-05-22 微软公司 应用的内容处理
US10009379B2 (en) * 2014-12-23 2018-06-26 Peter W. J. Jones Systems and methods for sterilizing email attachments and other communications delivered by email
US9785721B2 (en) * 2014-12-30 2017-10-10 Yahoo Holdings, Inc. System and method for programmatically creating resource locators
WO2017028304A1 (en) * 2015-08-20 2017-02-23 Google Inc. Device-based filtering of content items associated with mobile applications
US20220197993A1 (en) * 2022-03-11 2022-06-23 Intel Corporation Compartment isolation for load store forwarding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294102A1 (en) * 2005-06-27 2006-12-28 Microsoft Corporation Active content trust model
US20070118558A1 (en) * 2005-11-21 2007-05-24 Research In Motion Limited System and method for application program operation on a wireless device
RU2307390C2 (ru) * 2001-08-13 2007-09-27 Квэлкомм Инкорпорейтед Использование полномочий для распределения ресурсов устройства к приложению
WO2008033445A2 (en) * 2006-09-12 2008-03-20 Adobe Systems Incorporated Selective access to portions of digital content
US20080313648A1 (en) * 2007-06-14 2008-12-18 Microsoft Corporation Protection and communication abstractions for web browsers

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505300B2 (en) * 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6981281B1 (en) 2000-06-21 2005-12-27 Microsoft Corporation Filtering a permission set using permission requests associated with a code assembly
US7051366B1 (en) * 2000-06-21 2006-05-23 Microsoft Corporation Evidence-based security policy manager
US7047562B2 (en) * 2001-06-21 2006-05-16 Lockheed Martin Corporation Conditioning of the execution of an executable program upon satisfaction of criteria
US7216160B2 (en) * 2001-10-31 2007-05-08 Sun Microsystems, Inc. Server-based application monitoring through collection of application component and environmental statistics
US7242773B2 (en) * 2002-09-09 2007-07-10 Sony Corporation Multiple partial encryption using retuning
US7308648B1 (en) * 2002-11-27 2007-12-11 Microsoft Corporation Method, system, and computer-readable medium for filtering harmful HTML in an electronic document
JP3823925B2 (ja) 2003-02-05 2006-09-20 ソニー株式会社 情報処理装置、ライセンス情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US20040260754A1 (en) * 2003-06-20 2004-12-23 Erik Olson Systems and methods for mitigating cross-site scripting
US7694328B2 (en) * 2003-10-21 2010-04-06 Google Inc. Systems and methods for secure client applications
US7774620B1 (en) * 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US8037527B2 (en) * 2004-11-08 2011-10-11 Bt Web Solutions, Llc Method and apparatus for look-ahead security scanning
US20060236100A1 (en) * 2005-04-19 2006-10-19 Guruprasad Baskaran System and method for enhanced layer of security to protect a file system from malicious programs
US20070107057A1 (en) * 2005-11-10 2007-05-10 Docomo Communications Laboratories Usa, Inc. Method and apparatus for detecting and preventing unsafe behavior of javascript programs
US20070156871A1 (en) * 2005-12-30 2007-07-05 Michael Braun Secure dynamic HTML pages
US7895296B1 (en) 2006-12-29 2011-02-22 Google, Inc. Local storage for web based native applications
US8584232B2 (en) * 2007-04-23 2013-11-12 Sap Ag Enhanced cross-site attack prevention
JP4395178B2 (ja) * 2007-05-29 2010-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ処理システム、方法及びプログラム
US8181246B2 (en) * 2007-06-20 2012-05-15 Imperva, Inc. System and method for preventing web frauds committed using client-scripting attacks
US20090064337A1 (en) * 2007-09-05 2009-03-05 Shih-Wei Chien Method and apparatus for preventing web page attacks
US9906549B2 (en) * 2007-09-06 2018-02-27 Microsoft Technology Licensing, Llc Proxy engine for custom handling of web content
US20090119769A1 (en) * 2007-11-05 2009-05-07 Microsoft Corporation Cross-site scripting filter
US8650648B2 (en) * 2008-03-26 2014-02-11 Sophos Limited Method and system for detecting restricted content associated with retrieved content
US8806618B2 (en) * 2008-03-31 2014-08-12 Microsoft Corporation Security by construction for distributed applications
US8220050B2 (en) * 2008-03-31 2012-07-10 Sophos Plc Method and system for detecting restricted content associated with retrieved content
US9058483B2 (en) 2008-05-08 2015-06-16 Google Inc. Method for validating an untrusted native code module
US8387152B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Attested content protection
US20100058467A1 (en) 2008-08-28 2010-03-04 International Business Machines Corporation Efficiency of active content filtering using cached ruleset metadata
JP2010092376A (ja) 2008-10-10 2010-04-22 Softbank Mobile Corp 情報処理装置、情報処理方法及び情報処理プログラム
CN101788982B (zh) * 2009-01-22 2013-03-06 国际商业机器公司 在未修改浏览器上保护Web应用的跨域交互的方法和系统
EP2222081A1 (en) 2009-02-19 2010-08-25 Thomson Licensing Methods and devices for digital content protection
US8413139B2 (en) 2009-03-11 2013-04-02 Microsoft Corporation Programming model for application and data access and synchronization within virtual environments
KR101651283B1 (ko) 2009-11-13 2016-08-26 삼성전자 주식회사 컨텐츠제공시스템 및 그 컨텐츠제공방법, 디스플레이장치 및 그 제어방법
US8719939B2 (en) 2009-12-31 2014-05-06 Mcafee, Inc. Malware detection via reputation system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2307390C2 (ru) * 2001-08-13 2007-09-27 Квэлкомм Инкорпорейтед Использование полномочий для распределения ресурсов устройства к приложению
US20060294102A1 (en) * 2005-06-27 2006-12-28 Microsoft Corporation Active content trust model
US20070118558A1 (en) * 2005-11-21 2007-05-24 Research In Motion Limited System and method for application program operation on a wireless device
WO2008033445A2 (en) * 2006-09-12 2008-03-20 Adobe Systems Incorporated Selective access to portions of digital content
US20080313648A1 (en) * 2007-06-14 2008-12-18 Microsoft Corporation Protection and communication abstractions for web browsers

Also Published As

Publication number Publication date
EP2754082A4 (en) 2015-05-27
KR20140068940A (ko) 2014-06-09
US10445528B2 (en) 2019-10-15
EP2754082A1 (en) 2014-07-16
JP2014525638A (ja) 2014-09-29
AU2012304788A1 (en) 2014-03-20
CN103765431A (zh) 2014-04-30
BR112014005052A8 (pt) 2018-02-06
KR101977428B1 (ko) 2019-08-28
MX2014002785A (es) 2014-06-05
AU2012304788B2 (en) 2016-12-08
CA2846877C (en) 2020-08-04
US20130061282A1 (en) 2013-03-07
RU2014108837A (ru) 2015-09-20
BR112014005052B1 (pt) 2021-09-08
BR112014005052A2 (pt) 2017-03-21
WO2013036470A1 (en) 2013-03-14
CN103765431B (zh) 2016-11-16
MX351857B (es) 2017-10-31
EP2754082B1 (en) 2020-09-23
CA2846877A1 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
US9390241B2 (en) Method for executing an application in a restricted operating environment
Georgiev et al. Breaking and fixing origin-based access control in hybrid web/mobile application frameworks
Tuncay et al. Draco: A system for uniform and fine-grained access control for web code on android
US20100186089A1 (en) Method and system for protecting cross-domain interaction of a web application on an unmodified browser
JP2008299414A (ja) コンテンツ処理システム、方法及びプログラム
JP2010113705A (ja) 仮想化されたブロック入出力切り替えによるアプリケーション管理のエージェントレス・エンフォースメント
US10298586B2 (en) Using a file whitelist
RU2626658C2 (ru) Обработка контента для приложений
US20130074160A1 (en) Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
De Ryck et al. A security analysis of next generation web standards
Bao et al. Cross-site scripting attacks on android hybrid applications
US9942267B1 (en) Endpoint segregation to prevent scripting attacks
US8732830B2 (en) Scripting engine externalized function execution control
US9189628B2 (en) Data driven system for responding to security vulnerability
JP2014525638A5 (ru)
KR20140055897A (ko) 사용자 단말기, 신뢰성 관리 서버, 부정 원격 조작 방지 방법, 및 부정 원격 조작 방지 프로그램이 기록된, 컴퓨터로 판독 가능한 기록매체
US9223976B2 (en) Content inspection
Mao et al. Automatic permission inference for hybrid mobile apps
DeFreez et al. A first look at Firefox OS security
CN114503074A (zh) 动态创建的打包应用的注册
US10044728B1 (en) Endpoint segregation to prevent scripting attacks
Telikicherla et al. Enabling the development of safer mashups for open data
Schöni et al. Automatically Retrofitting Cordova Applications for Stricter Content Security Policies
JP6124627B2 (ja) 端末、アクセス制限方法およびプログラム
Nilsson et al. HTML5 Web application security with OWASP

Legal Events

Date Code Title Description
HC9A Changing information about inventors