Фишинг с символами из других раскладок в URL не уходит

    Фишинг существует уже давно. Невозможно подсчитать, какое количество людей предоставило мошенникам на блюдечке пароли от социальных сетей и почтовых сервисов, данные своих кредитных карт и банковских счетов, не удостоверившись в том, что в адресной строке в момент ввода логина и пароля был именно Vkontakte, а не Vkontaktle. Один из способов, с помощью которого можно замаскировать адрес, это использовать символы из других алфавитов.


    Среди примеров фишинговых сайтов — страница polonìex.com, копирующая биржу криптовалют poloniex.com

    Как мошенники используют кодировку


    Интернационализированные доменные имена (IDN) содержат символы национальных алфавитов, отличающиеся от латинских символов. Для того, чтобы структуру системы доменных имён DNS не нужно было менять, для поддержки других языков используется преображение адресов, содержащих символы национальных алфавитов, в слова из символов ASCII. Такой способ был призван стать «мостом» между англоговорящими и неанглоговорящими пользователями.

    Для кодирования символов из других алфавитов в символы ASCII используется Unicode. Стандарт Unicode включает в себя знаки почти всех письменных языков мира — более 136 тысяч символов из 139 современных и утративших актуальность языков. Unicode технически — это массив данных, в котором каждому из символов назначен код в формате ASCII, который затем раскодирует формат UTF — Unicode Transformation Format.

    F: U+0046
    A: U+0041
    R: U+0052
    S: U+0053
    I: U+0049
    G: U+0047
    H: U+0048
    T: U+0054
    ✪: U+272A

    Но в адресной строке мы не можем использовать некоторые символы. Тогда нам на помощь приходит Punycode (Паникод) — система преобразования Unicode в последовательность из букв и символов, разрешённых в доменных именах. В адресной строке мы видим набор символов, начинающийся с префикса «xn--», который сообщает об использовании Punycode. Например, «россия.рф» в Punycode выглядит как xn--h1alffa9f.xn--p1ai. В адресной строке браузера мы видим кириллицу, но передаётся она именно в Punycode, после чего браузер переводит набор символов на русский.

    Буквы из разных языков могут выглядеть похоже или абсолютно идентично. Только в английском языке практически неотличимы «l» и «I» — маленькая «L» и большая «i». Русская и английская маленькая «а» — полностью идентичны. Такие символы называют «гомоглифами», а «гомографы» — слова, в которых они используются. Такой способ обмана пользователей использовался уже много лет. Несколько примеров похожего написания адресов:

    xn--frsightsecurity-ulm.com --> fаrsightsecurity.com
    — использована кириллическая «а» (U+0430)

    xn--farsghtsecurity-xng.com --> farsɩghtsecurity.com
    — использована строчная греческая «Йота» — "ι" (U+0269)

    xn--80ak6aa92e.com --> аррӏе.com
    — все символы — кириллические.

    Компания Farsight Security искала фишинговые сайты, использующие эту уязвимость, в течение трёх месяцев с 17 октября 2017 года по 10 января 2018, и за это время обнаружила более 116 тысяч страниц, копирующих финансовые сайты, страницы модных брендов и биржи криптовалют и, конечно, социальные сети.

    Несколько примеров:

    xn--gucc-tpa.com. --> guccì.com.
    ns1.xn--aobe-l6b.com. --> ns1.aɗobe.com.
    xn--aple-csa.com. --> apþle.com.
    www.xn--amzon-ucc.com. --> www.amȧzon.com.
    xn--cinbase-10a.com. --> cõinbase.com.
    xn--80aj7b8a.com. --> еьау.com.
    www.xn--acebook-js3c.com. --> www.ḟacebook.com.
    www.xn--oole-9pb06e.com. --> www.ǥooɡle.com.
    www.xn--mcrosoft-c2a.es. --> www.mícrosoft.es.
    xn--wiipedia-nmb.com. --> wiĸipedia.com.
    www.xn--yndex-0jc.com. --> www.yɑndex.com.




    Защита личного аккаунта


    Farsight Security предлагает несколько способов защиты от злоумышленников, использующих данный инструмент, главный из которых — бдительность пользователя.

    1. В основном мошенники используют спам-рассылки, поэтому необходимо быть особенно внимательными с письмами, текст или изображения в которых провоцируют немедленно нажать на ссылку, а также к письмам, предлагающих обновить или подтвердить информацию на сайтах, которыми вы пользуетесь.
    2. Вместо того, чтобы нажимать на ссылку в письме, копируйте и вставляйте её в адресную строку. Это позволит избежать встроенных в текст подозрительных URL-адресов.
    3. Вводите пароль только на сайтах с защищённым соединением (https://). Если вы не видите в адресной строке зелёную плашку, свидетельствующую о защищённом соединении, символа «s» в «https://», не вводите пароль.
    4. Обращайте внимание на смену URL в адресной строке.
    5. Включайте двухфакторную аутентификацию на всех сайтах, которые поддерживают эту возможность. Менее 10% всех пользователей Google её используют. Она с одной стороны выступает дополнительным инструментом безопасности, и с другой — позволит вам узнать о попытке взлома вашего аккаунта. Смартфон может стать «слабым звеном» в этой системе, поэтому позаботьтесь о сильном пин-коде.

    Защита организации


    Владельцам популярных сайтов, на которых пользователи вводят логин и пароль, покупают товары или загружают контент, Farsight Security советует постараться купить все похожие домены, а также отслеживать регистрацию гомографов.
    Поделиться публикацией
    Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

    Зачем оно вам?
    Реклама
    Комментарии 31
    • 0
      А почему вообще разрешено юникод в URL использовать?
      ASCII хватит всем
      • 0
        Лучше просто запрещать не буквенные и не численные символы юникода
        • 0
          Наверное это нужно регистраторам чтобы еще денег срубить за регистрацию новых доменов.
          Насчет того что ascii для доменов хватит всем — согласен.
        • +3
          Строго говоря, а и a таки немного разные. Но это нужно иметь чёрный пояс по шрифтам.
          • 0
            Зависит от шрифта. Для эксперимента сделал скриншот вашего коммента, в фотошопе сделал вычитание одной буквы из другой и получил чёрный квадрат — абсолютное совпадение.
            • 0

              Кстати неплохой вариант (не массовый правда) — использовать разные шрифты или начертания для ascii и остального юникода в адресной строке, это если полностью не отключать punycode

              • +2
                Где-то видел то ли предложение, то ли демонстрацию работы… В общем, не ascii символы писались жирным шрифтом. Или цветом даже дополнительно выделялось, не помню уже.
                • 0
                  мигающее прежупреждение рядом с secure, то типу как самоподписанный сертификат. нажимаем и нам описывают какие тут символы не ascii. можт и есть такое дополнение.
          • +1
            Не знаю насчёт других браузеров, но в Firefox проблема решается включением настройки network.IDN_show_punycode
            Адреса, содержащие не-латинские символы, будут принудительно показываться в виде Punycode.

            В Internet Explorer тоже есть похожая настройка.
            • 0

              Теряется тогда его смысл. Я за подсветку символов из разных диапазонов разными цветами.

              • 0
                Для конкретного пользователя этого смысла изначально могло и не быть.
                • 0
                  Так оно и не надо практически никому, кроме SEOшников. Вы часто по таким именам переходите?

                  Впрочем, в Pale Moon сделали опционально отображение punycode в области, предназначенной для информации о HTTPS подключении, так удобней, наверное…
                  • 0

                    По поддельным? Не знаю. С кирилическими доменами сталкиваюсь иногда. Их гос организации потихоньку осваивают. Да и я использую.

              • +3
                Вводите пароль только на сайтах с защищённым соединением (https://). Если вы не видите в адресной строке зелёную плашку, свидетельствующую о защищённом соединении, символа «s» в «https://», не вводите пароль.

                Не работает. Мошеннику ничего не стоит сделать «зеленый» сертификат. Единственное что точно работает — менеджер паролей по типу Last Pass, которые запоминают сайт и на нем подставляют автоматически лигин или пароль. Ну или встроенный менеджер паролей в браузер.
                Сам как-то раз наткнулся на фишинговый сайт с сертификатом. Хотел зайти, а менеджер паролей не сработал. Минут 5 тупил почему, потом догадался, что попал на фишинговую страницу.
                • 0
                  Вот именно. Считаю злом повальную https-зацию. Сейчас ничего не стоит на каком-нибудь Let's Encrypt сделать сертификат и браузер радостно будет сигнализировать о том, что сайт зелёненький и доверять ему можно.
                • +1
                  Что проще всего? Выводить юникод символы цветными (жёлтый) и обозначить требование для серьёзных сайтов необходимость в латинице.
                  Разделяй, раскрашивай и властвуй через строку браузера!
                  • 0

                    Надо красить в разные цвета разные диапазоны. Иначе можно будет таким же образом подделывать домены которые полностью не на латинице.

                    • 0
                      Не обязательно. Просто цветом выделять с когнитивной провокацией домен.Далее после привыкания пользователями к источнику информации можно, что-то более тонко регулировать.
                      • 0
                        Вообще получается цветовая дифференциация, как по штанам =)
                      • 0
                        А кто будет определять «серьезность» сайта и по каким критериям?
                        • 0

                          Можно по типу сертификата который они запрашивают:


                          1. Domain Validation — не серьёзно.
                          2. Organization Validation — серьёзно.
                          3. Extendet Validation — очень серьёзно.
                          • 0
                            В действительности, это определяет всего лишь количество денег, которые заплатил за сертификат возможный мошенник…
                          • 0
                            Де факто — латиница уровень один.
                            Прочие, хоть как на своём языке. Думаю, что для сбера не проблема сайт на латинице.
                            Здесь дело в чём. Что не латиница — то красим. И пользователей учим, что если радуга — то это не официально.
                            • 0
                              Что не латиница — то красим.
                              Ë — это латиница. Красим? Для сравнения, вот кириллица: Ё. Можете поиском проверить.
                              • 0
                                Может оставить такие вопросы какой-нибудь комиссии стандартизации.
                                В любом случае можно определится с «чистыми» URI касательно платёжных средств и т.д. Это как маркировка. Понятно что будет куча «не умных» пользователей и «хитрых» бизнесменов. Но можно отстранится от их игр.

                                Другой вариант подписывать сертификатами целые списки URI, а не только домены. И цветом выделять то что за гранью.
                        • 0
                          А кто регулятор кстати, почему такое допустили? Он посчитал это фишкой?
                          • 0

                            Если там обычный Domain Validation сертификат то его выдают автоматически проверкой письмом на этот же домен или прописанный mail в whois. Проверяются такие сертификаты выборочно.


                            Цифровые SSL сертификаты. Разновидности, как выбрать?

                            • 0
                              я не совсем про сертификаты, я вообще удивлен, что можно регистрировать домен, где смешаны английский+национальный алфавит.чтоугодно
                              • 0

                                Вы наверно хотите сказать латиницу. Но она используется далеко не только в английском. Тот же немецкий в основе своей использует латиницу с модификаторами.


                                Лати́нский алфави́т (лати́ница) — восходящая к греческому алфавиту буквенная письменность, возникшая в латинском языке в середине I тысячелетия до н. э. и впоследствии распространившаяся по всему миру. Современный латинский алфавит, являющийся основой письменности большинства романских, германских, а также множества других языков, в своём базовом варианте состоит из 26 букв. Буквы в разных языках называются по-разному.

                                В английской википедии в статье о паникоде для примера используется немецкое слово "bücher"(книги). В punycode оно в выглядит так "bcher-kva". Латиница которая входит в первые разрешённые символы оставлена в первой части "bcher". Код и позиция символа "ü" закодирована во второй части "kva". Так что смешение это естественно для паникода.


                                Запрещать использовать какие либо символы могут регистраторы просто не регистрируя такие домены. Также некоторые символы отказывается отображать браузер и вместо этого показывает в адресной строке паникод.


                                С точки зрения DNS системы домены в паникод с любым сочетанием закодированных символов допустимы.

                          • 0
                            Мне почему-то казалось, что когда еще шло обсуждение.рф-доменов звучало, что домен должен быть или целиком на русском или целиком на английском, как раз во избежание подобных ситуаций, нет?
                            • 0

                              Это регулирует регистратор. Паникод изначально был придуман совместимым со старой DNS системой. Для его использования регистратору нет нужды в каких то настройках. А вот модерация доменных имён уже требует дополнительных телодвижений.

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.