Михаил Залевский (Michal Zalewski), известный польский эксперт в области компьютерной безопасности в настоящее время работающий в Google, представил результаты анализа механизмов для обеспечения безопасности, применяющихся в 8 популярных web-браузерах: Microsoft Internet Explorer 6/7, Firefox 2/3, Safari 3.2, Opera 9.62, Google Chrome 0.4.154.29 и Android embedded browser 1.0 RC1. Документ будет полезен не только для специалистов в области безопасности, но и для web-мастеров, web-разработчиков и администраторов, так как вскрывает некоторые тонкие и неочевидные моменты работы браузеров.
Отчет состоит из трех частей:
* Базовые концепции организации работы браузеров - рассмотрены такие аспекты, как:
o Допустимость использования нестандартных спецсимволов (например, 0) в URL, особенности использования Unicode в URL, соответствие URL-схем требованиям RFC;
o Обработка нестандартных HTTP запросов (неверный размер в поле Content-Length, дублирование имен заголовков), поведение при отправке Referer;
o Различия в парсинге HTML-тэгов, обработка вложенных незакрытых HTML-тэгов;
o Отличия в представлении DOM (Document Object Model) объектов;
o Особенности интерпретации JavaScript и таблиц стилей;
o Представление контента, обрабатываемого через плагины.
* Стандартные возможности по обеспечению безопасности
o Проверка на тождественность форм представления текущего хоста, внешние обращения и игнорирование заголовков в XMLHttpRequest, особенности отправки cookies;
o Возможность инициирования автоматического клика без участия пользователя, изменение CSS и обработка форм;
o Возможность изменение интерфейса бразуера, противостояние "Race condition" атакам, доступ к истории посещений и другим фреймам;
o Сетевые ограничения, навигация по IP в URL, обращение к нестандартным номерам портов;
o Допустимость использования схем "file:" и "java script:" в тэгах IMG, SCRIPT, IFRAME, EMBED, STYLE;
o Особенности обработки перенаправления на другие страницы (Location, Refresh);
o Ограничение на число одновременных коннектов и величина таймаутов;
o Разбор HTML в зависимости от заданных mime-типов, расширения файла и HTTP заголовков (например, как поведут себя браузеры, если с image/jpeg типом получат GIF картинку, будут ли обрабатывать .html при типе application/octet-stream);
o Различия в организации кеширования страниц;
o Противостояние разрушительному действию скриптов (зацикливание, бесконечное открытие окон и т.п.), ограничения на объем памяти выделяемой скрипту.
* Экспериментальные и устаревшие средства.
o Различия в поддержке HTTP-аутентификации (например, IE и Safari не спросят пароль при запросе файла из защищенной области через EMBED ).
o Техника ограничения скриптов и дополнительной защиты браузера.
http://www.opennet.ru/opennews/art.shtml?num=19337 (//\"http://www.opennet.ru/opennews/art.shtml?num=19337\")