ГОСТ Р 56170-2014
Локаторы, которые отключаются из-за ограничений по безопасности, будут вести себя так. как
если бы ресурс был недоступен.
Вызовы API ECMAScript. которые не выполняются из-за ограничений безопасности, генерируют
DVBException с кодом ошибки SECURITY_VIOI_ATION_ERR.
8.14.2 Выполнение кода расширения
8.14.2.1 Принципы безопасности
Принципы решения вопросов безопасности, возникающих во время выполнения кода расширения:
- платформа ECMAScript разрешает использование любого из методов ECMAScript выполнения
кода расширения перечисленных ниже, для проверки подлинности не аутентифицированных приложе
ний или аутентифицированных приложений, работающих в песочнице;
- платформа ECMAScript разрешает ограниченное использование методов расширения кода во
время выполнения аутентифицируемого приложения, работающего вне песочницы, где ограниченное
использование означает, что вход к коду расширения происходит только из соответственно аутентифи
цируемого источника:
- платформа ECMAScript не должна разрешать удаление предопределенных (встроенных) свойств
объектов узла;
- платформа ECMAScript не должна разрешать замену предопределенного функционального
свойства узла.
8.14.2.1.1 Использование расширения кода, выполненного в ECMAScript
Язык ECMAScript поддерживает выполнение кода расширения использованием следующих от
дельных механизмов:
- функциональное свойство глобального объекта eval();
- объект Function.
Дополнительные механизмы, поддерживающие выполнение кода расширения, через объекты
узла (платформы) должны быть в соответствии с [14] (8.14.2.1.1).
8.14.2.2 Расширения ECMAScript для надежного исполняемого кода
Этот пункт уточняет механизмы, определенные DVB. позволяющие использовать функцию Вы
полнения Расширения Кода (Runtime Code Extension; RCE). определенную спецификацией языка
ECMAScript. и позволяющие использовать API DOM. не ставя под угрозу безопасность. Дополнитель ные
механизмы в DVB-HTMLотслеживают источник строк в системе и запрещают использование в RCE
привилегированными приложениями строк из непроверенных внешних источников (как потенциально
опасное).
8.14.2.2.1 Обеспечение безопасности распространением внутренних (безопасных) против внеш
них (небезопасных) строк
Использование ECMAScript поддерживает совместимость (в смысле безопасности) приложений,
различая значения строки внутреннего типа, когда значение строки исходит изнутри языка ECMAScnpt
или из текстовых строк, находящихся внутри приложения и строки внешнего типа, когда значение стро ки
исходит из объектов узла (подозреваемых как потенциально опасных).
Этот подход имеет преимущество поддержания совместимости контента с контентом ECMAScript.
записанным для существующих браузеров к W3C и спецификациям ЕСМА. Детализации преимуществ
представлена в [14] (8.14.2.2.1).
8.14.2.2.2 Изменение ЕСМА [10] для поддержки внутренних и внешних строк
Нормативные изменения ЕСМА [10] для дифференцирования величин двух видов строк должны
быть в соответствии с [14] (8.14.2.2.2). Используется соглашение о редактировании, дополнения к [14].
8.14.2.3 Источники опасных (внешних) строк
8.14.2.3.1 Источники опасных строк в ECMAScript
Следующие источники опасных строк в языке ECMAScnpt должны быть типизированы как источ
ники внешних строк:
а) строки, полученные в результате операций на внешних строках;
б) строки, полученные в результате преобразования кодом String.fromCharCode символа в строку.
8.14.2.3.2 Источники объектов узла
Все строки, возвращаемыеAPI Объекта Узла, определямые настоящим стандартом, должны быть
типизированы как внешние строки.
Все возвращаемые строки должны быть типизированы как внешние строки.
40