вНовости программирования

Браузеры Chrome, Firefox и Opera оказались уязвимы для фишинг-атак

В браузерах Chrome, Firefox и Opera обнаружена новая вариация старой уязвимости, с помощью которой фишинг-мошенники могут регистрировать фейковые домены и через них выступать в качестве официальных сайтов таких сервисов, как Apple, Google, eBay и других.

Уязвимость нашёл китайский разработчик в сфере IT-безопасности Сюйдон Чжэн (Xudong Zheng). Такая атака является вариантом так называемой «омонимической» атаки, которая была впервые обнаружена израильскими исследователями Евгением Габриловичем и Алексом Гонтмэкхером ещё в 2001 году.

Что такое «омонимическая атака»?

Несколько лет назад Корпорация по присвоению имён и адресов в интернете (ICANN) проголосовала за разрешение использования в веб-доменах символов, не входящих в набор ASCII (Unicode). Так как некоторые символы Unicode выглядят одинаково, например, «а» в кириллице (U+0430) и «a» в латинице, ICANN пришла к выводу, что использование символов Unicode может приводить к путанице и усложнит отличие официальных доменов от фишинговых сайтов. Поэтому вместо реального Unicode при регистрации доменов было решено использовать Punycode. Punycode специально разработан так, чтобы представлять текст Unicode, используя символы ASCII.

Изначально предполагалось, что браузеры будут считывать символы URL системы Punycode и преобразовывать их в Unicode. Тем не менее, стало понятно, что Punycode отлично подходит для маскировки фишинговых сайтов.

Например, если бы мошенник зарегистрировал домен xn-pple-43d.com, это бы соответствовало apple.com, однако в начале слова была бы использована кириллическая а.

Поэтому некоторые производители браузеров представили фильтры, отражающие URL в системе Punycode (вместо Unicode), если URL содержит символы из других языков (напр., знаки из кириллицы и латиницы), предотвращая вход на сайт фишинг-мошенников. Таким образом, URL Punycode будет отражаться как Unicode, если в нём присутствуют символы только одного языка (например, только китайские или только японские символы).

Вариация мошеннической атаки

Чжэн рассказал, как мошенники могут использовать этот приём. Существует сразу несколько языков, где используется латинский алфавит, а соответственно, и символы Unicode. И Чжэн зарегистрировал домен на одном из этих языков. Так как был использован набор символов только одной группы языков в Unicode, фильтр не распознал присутствие символов из нескольких языков. Так, зарегистрированный Чжэном домен xn-80ak6aa92e.com отразился как аррӏе.com (но с символами из кириллицы). На такое название страницы повёлся бы почти каждый. Единственным способом заметить ошибку является проверка лицензии страницы, где можно увидеть домен в изначальном виде в системе Punycode.

Какие браузеры оказались уязвимыми?

Среди всех протестированных браузеров три открыли сайт с символами Unicode в названии как apple.com. Этими тремя стали Chrome, Firefox и Opera (включая вариант Opera Neon).

punycode-vuln

Другие браузеры, например, Edge, Internet Explorer, Safari, Vivaldi и Brave, не открыли страницу с символами Unicode, а отразили URL в Punycode. Причины этого неизвестны, но мы подозреваем, что существует определённый фильтр, который проверяет, соответствует ли Punycode URL набору символов в настройках ОС по умолчанию.

punycode-invuln

Чжэн сообщил, что связался с Google и Mozilla 20 января. Google уже исправила проблему в тестовой версии браузера Chrome 59, скоро будет исправлена ошибка и в бета-версии Chrome 58.

Mozilla в настоящее время ещё разбирает проблему, но между тем, у пользователей есть опция, запрещающая поддержку Punycode и, таким образом, предотвращающая атаку. Вот способ её активации:

  1. Введите в адресную панель about:config и перейдите по этому адресу.
  2. Введите network.IDN_show_punycode и задайте этой опции значение true, дважды кликнув по ней.

Типичный программист.

Источник: Типичный программист