Безопасность IE8: изменения в Beta 2
Теперь, когда состоялся релиз Beta 2, хотелось бы рассказать вам о тех изменениях в системе безопасности IE8, которые команда разработчиков сделала в этом релизе.
Ограничение document.domain
Изначально свойство
В Internet Explorer 7 использовался бы следующий набор запросов:
// initial document.domain is app1.example.com
document.domain = "app1.example.com"; // 1. Domain property set to default value
document.domain = "example.com"; // 2. "Loosen" domain
document.domain = "app1.example.com"; // 3. "Tighten" domain
В Internet Explorer 8 и других браузерах 3 строка исключается, потому как app1.example.com - это не суффикс текущего значения, example.com. Выглядит все просто, правда после таких изменений в document.domain вы не сможете сжать его.
Веб-приложения, которым нужно работать с данными с других доменов, могут использовать
Ограничения переназначения фреймов
HTML5 также формулирует условия, при которых одному фрейму разрешается использовать параметр targetname запроса windows.open() для перехода к другому фрейму или окну.
Эти правила призваны помочь устранить уязвимость внедрения окна. При injection-атаке вредоносный веб-сайт в одном фрейме браузера пытается "украсть" фрейм или всплывающее окно, принадлежащее доверенному веб-сайту.
Например, рассмотрим случай, когда
window.open("helpTopic.htm", "helpPage", "height=200,width=400");
В другом окне
window.open("spoof.htm", "helpPage", "height=200,width=400");
Вместо того, чтобы переходить к окну helpPage, принадлежащему Contoso.com, spoof.htm открывается в новом окне браузера. В связи с тем, что Internet Explorer 7 и 8 отображают адресную строку в любом окне, это новое ограничение делает подобные атаки еще менее убедительными.
MIME-Handling: обход функции MIME-sniffing
Как уже обсуждалось
За прошедшие два месяца мы получили множество отзывов от сообщества, в которых говорилось о том, что использование нового атрибута в заголовке Content-Type создавало множество проблем при развертывании для операторов серверов. В итоге мы преобразовали эту опцию в полноценный response-заголовок HTTP. Отправка нового response-заголовка X-Content-Type-Options со значением nosniff удержит Internet Explorer от активации MIME-sniffing вне зависимости от заявленного типа контента.
Для примера привожу следующий response-заголовок HTTP:
HTTP/1.1 200 OK
Content-Length: 108
Date: Thu, 26 Jun 2008 22:06:28 GMT
Content-Type: text/plain;
X-Content-Type-Options: nosniff
<html>
<body bgcolor="#AA0000">
This page renders as HTML source code (text) in IE8.
</body>
</html>
В IE7 этот текст интерпретировался как HTML:
В IE8 эта страница визуализируется в таком виде:
Сайты, хранящие непроверенный контент, могут использовать заголовок X-Content-Type-Options: nosniff, чтобы гарантировать, что файлы text/plain будут правильно использованы.
Сокращение области атаки XSS: CSS Expressions отключают IE8 Standards Mode
Также известные как динамические свойства ("Dynamic Properties"), CSS Expressions являются частным расширением для CSS, в ущерб которому приносится высокая производительность. CSS Expressions также часто используются хакерами для обхода серверных XSS-фильтров.
В Beta 2 CSS expressions не поддерживаются в режиме Standards Mode. Они все еще поддерживаются в режимах Strict и Quirks IE7 для обеспечения обратной совместимости. Хотя XSS-фильтр IE8 может блокировать попытки отразить CSS expressions как часть
Подробная информация о IE8 XSS Filter
Дэвид Росс, архитектор IE8 XSS Filter, опубликовал в блоге Secure Windows Initiative
Эрик Лоуренс (Eric Lawrence)
Программный менеджер Internet Explorer Security
Источник:
Перевод: Dazila
Комментарии
Динамические свойства были неплохой фичей.
Жаль, остальные броузеры не смогли перетянуть.
Хорошо хоть innerHTML и AJAX перетянули.
Ай как жаль, значит остальные браузеры не имеют права делать не как ИЕ, зато ИЕ может себе позволить игнорировать стандарты css2 и xhtml1.0
Динамические свойства были неплохой фичей.
Это что ли element.style.backgroundColor="#E6E6E6"? Давно уже все браузеры поддерживают.
Нет, это "expression(бла-бла-бла)"
По теме
- Еще пару слов о защите пользователей IE9 от отслеживания
- [Temp] Бенчмарк HTML5 Blizzard: проверьте аппаратное ускорение вашего браузера
- [Temp] Работаем с закрепление сайтов
- Блог IE в 2010: на связи с вами
- С новым аппаратно-ускоренным годом!
- HTML5: экспериментальный и готовый к использованию
- Доступно декабрьское накопительное обновлениие безопасности для IE
- IE9 и конфиденциальность: введение в защиту от слежения
- Более быстрый и умный список Compatibility View List в IE9
- Субпиксельные шрифты в Internet Explorer 9