Обнюхивание контента - Content sniffing

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

Обнюхивание MIME (многоцелевых расширений электронной почты) использовалось и до сих пор используется некоторыми веб-браузеры, в том числе особенно Microsoft с Internet Explorer, пытаясь помочь веб-сайтам, которые неправильно сигнализируют о Тип MIME отображения веб-контента.[1] Однако это открывает серьезные уязвимость безопасности,[2] в котором, запутывая алгоритм сниффинга MIME, можно манипулировать браузером для интерпретации данных таким образом, чтобы злоумышленник мог выполнять операции, которые не ожидаются ни оператором сайта, ни пользователем, например межсайтовый скриптинг.[3] Более того, создавая впечатление, что сайты, которые неправильно назначают типы MIME для контента, корректно работают в этих браузерах, это не способствует правильной маркировке материала, что, в свою очередь, делает необходимым для работы этих сайтов анализ контента, создавая порочный круг несовместимость с веб-стандартами и лучшими практиками безопасности.

Существует спецификация для сниффинга типа носителя в HTML5, который пытается уравновесить требования безопасности с необходимостью обратной совместимости с веб-контентом с отсутствующими или неверными данными типа MIME. Он пытается предоставить точную спецификацию, которую можно использовать в разных реализациях для реализации единого четко определенного и детерминированного набора поведений.[4]

UNIX файл команда можно рассматривать как приложение для анализа содержимого.

Обнюхивание кодировки

Многие веб-браузеры используют более ограниченную форму анализа контента, чтобы попытаться определить кодировка символов текстовых файлов, для которых уже известен тип MIME. Этот метод известен как анализ кодировки или кодовая страница сниффинг, а также для некоторых кодировок может использоваться для обхода ограничений безопасности. Например, Internet Explorer 7 может быть обманут, чтобы бежать JScript в обход своей политики, позволяя браузеру угадывать, что HTML -файл был закодирован в UTF-7.[5]Эта ошибка усугубляется особенностью кодировки UTF-7, которая разрешает несколько кодировок одного и того же текста и, в частности, альтернативные представления ASCII символы.

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

Смотрите также

Рекомендации

  1. ^ «Определение типа MIME в Windows Internet Explorer». Microsoft. Получено 2012-07-14.
  2. ^ Барт, Адам. «Безопасное отслеживание контента для веб-браузеров, или как запретить самим проверять документы» (PDF).
  3. ^ Генри Судхоф (11 февраля 2009 г.). «Рискованное сниффинг: анализ MIME в Internet Explorer позволяет атаковать межсайтовыми сценариями». H. Получено 2012-07-14.
  4. ^ Адам Барт, Ян Хиксон. «Мим нюхает». WHATWG. Получено 2012-07-14.
  5. ^ «Событие 1058 - анализ кодовой страницы». Internet Explorer. MSDN. Получено 2012-07-14.

внешняя ссылка