Атака с использованием омографа IDN - IDN homograph attack

Пример атаки с использованием омографа IDN; латинские буквы «е» и «а» заменяются кириллическими буквами «е» и «а».
Пример атаки с использованием омографа IDN; латинские буквы «е» и «а» заменяются кириллическими буквами «е» и «а».

В интернационализированное доменное имя (IDN) омографическая атака злоумышленник может обмануть пользователей компьютеров относительно того, с какой удаленной системой они общаются, используя тот факт, что многие символы похожи друг на друга (т.е. они являются омографами, отсюда и термин для обозначения атаки, хотя технически гомоглиф - более точный термин для разных персонажей, которые выглядят одинаково). Например, обычный пользователь example.com может быть соблазнен щелкнуть ссылку, где латинский характер "а" заменяется на Кириллица характер "а".

Этот вид спуфинговая атака также известен как подмена сценария. Unicode включает в себя множество систем письма и по ряду причин похожие символы, такие как греческий Ο, Латиница О, и кириллица О не были присвоены одинаковые коды. Их неправильное или злонамеренное использование может стать причиной атак на систему безопасности.[1]

Регистрация гомографических доменных имен сродни опечатка в том, что обе формы атак используют имя, похожее на имя более известного домена, чтобы обмануть пользователя. Основное различие заключается в том, что при опечатке преступник привлекает жертв, полагаясь на естественные типографские ошибки, которые обычно допускаются при вводе вручную URL, а при подмене омографа преступник обманывает жертв, представляя визуально неразличимые гиперссылки. Действительно, для пользователя сети было бы редкостью набрать, например, кириллическую букву внутри английского слова, такого как «citibаnk». Бывают случаи, когда регистрация может быть как типосквоттингом, так и спуфингом омографа; пары л / я, i / j, и 0 / O все они расположены близко друг к другу на клавиатуре и, в зависимости от гарнитуры, их может быть трудно или невозможно различить.

История

Ранняя неприятность такого рода, еще до появления Интернета и даже текстовые терминалы, была путаница между «l» (строчная буква «L») / «1» (цифра «один») и «O» (заглавная буква для гласной «o») / «0» (цифра «ноль») . Немного пишущие машинки в докомпьютерную эпоху даже объединяли L и тот; пользователям приходилось вводить букву L в нижнем регистре, когда требовалась цифра один. Нулевое смешение породило традицию пересечение нулей, так что оператор компьютера напечатал бы их правильно.[2] Юникод может в значительной степени этому способствовать благодаря сочетанию символов, акцентов, нескольких типов дефис и т. д., часто из-за неадекватного рендеринг поддержка, особенно с меньшими размерами шрифтов и большим разнообразием шрифтов.[1]

Еще раньше почерк предоставил богатые возможности для путаницы. Ярким примером является этимология слова "зенит В переводе с арабского «самт» писец перепутал «м» с «ни». Это было обычным явлением в средневековье. чернокнижник, которые не соединяли вертикальные столбцы на буквах i, m, n или u, что затрудняло их различение, когда несколько были подряд. Последнее, а также путаница «rn» / «m» / «rri» («RN» / «M» / «RRI») все еще возможны для человеческого глаза даже с использованием современных передовых компьютерных технологий.

Преднамеренная замена похожих символов разными алфавитами также известна в различных контекстах. Например, Искусственная кириллица использовался как развлечение или привлечение внимания и "Кодировка волапука ", в котором кириллица представлена ​​аналогичными латинскими буквами, использовалась в первые дни Интернет как способ преодолеть отсутствие поддержки кириллицы. Другой пример: регистрационные знаки транспортных средств может иметь как кириллицу (для внутреннего использования в странах с кириллицей), так и латиницу (для международных поездок) с одинаковыми буквами. Регистрационные знаки, которые выдаются в Греция ограничены использованием букв Греческий алфавит которые имеют гомоглифы в латинском алфавите, как Европейский Союз правила требуют использования латинских букв.

Омографы в ASCII

ASCII содержит несколько одинаковых символов или пар символов, известных как омографы (или гомоглифы ). Спуфинговые атаки основанные на этих сходствах известны как атаки с подменой омографа. Например, 0 (число) и O (буква), «l» в нижнем регистре L и «I» в верхнем регистре «i».

В типичном примере гипотетической атаки кто-то может зарегистрировать доменное имя который выглядит почти идентично существующему домену, но находится в другом месте. Например, домен «rnicrosoft.com» начинается с «r» и «n», а не «m». Другие примеры: G00GLE.COM что очень похоже на GOOGLE.COM в некоторых шрифтах. Используя сочетание прописных и строчных букв, googIe.com (капитал я, не маленький L) очень похоже на google.com в некоторых шрифтах. PayPal был целью фишингового мошенничества, использовавшего домен PayPaI.com. В некоторых шрифтах с узким интервалом, например Тахома (по умолчанию в адресной строке в Windows XP ), поместив c перед j, л или я будет производить гомоглифы, такие как cl cj ci (г г а).

Омографы в интернационализированных доменных именах

В многоязычный В компьютерных системах разные логические символы могут иметь идентичный внешний вид, например, Unicode персонаж U + 0430, Кириллица строчная буква a ("а") может выглядеть идентично символу Unicode U + 0061, латинский строчная буква а («а»), которая является строчной буквой «а», используемой в английском языке. Следовательно wikipediа.org (кириллица) вместо wikipedia.org (латинская версия).

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

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

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

В декабре 2001 г. Евгений Габрилович и Алекс Гонтмахер, оба из Технион, Израиль, опубликовал статью «Атака гомографа»,[2] в котором описывается атака с использованием URL-адресов Unicode для подделки URL-адреса веб-сайта. Чтобы доказать возможность такой атаки, исследователи успешно зарегистрировали вариант доменного имени. Майкрософт.com которые включают кириллические символы.

Проблемы такого рода ожидались до введения IDN, и реестрам были выпущены инструкции, чтобы попытаться избежать или уменьшить проблему. Например, было рекомендовано, чтобы реестры принимали только символы латинского алфавита и алфавита своей страны, а не все символы Unicode, но этот совет игнорировался крупными TLD.[нужна цитата ]

7 февраля 2005 г. Slashdot сообщил, что этот подвиг был раскрыт 3ric Johanson на хакер конференция Шмукон.[3] Веб-браузеры, поддерживающие IDNA, по-видимому, направляют URL-адрес http: //www.pаypal.com/, в котором первый а символ заменяется кириллицей а, на сайт известного платежного сайта PayPal, но фактически привело к поддельному веб-сайту с другим содержанием. Популярные браузеры по-прежнему не могли правильно отображать международные доменные имена до апреля 2017 года.[4]

В следующих алфавитах есть символы, которые могут быть использованы для атак спуфинга (обратите внимание, что это только самые очевидные и распространенные, учитывая художественную лицензию и степень риска, на который спуфер может быть пойман; возможностей гораздо больше, чем можно перечислить. Вот):

Кириллица

Кириллица, безусловно, является наиболее часто используемым алфавитом для гомоглифов, в основном потому, что она содержит 11 строчных глифов, которые идентичны или почти идентичны латинским аналогам.

В Кириллические буквы а, с, е, о, р, х и у имеют оптические аналоги в основном латинском алфавите и выглядят близко или идентично а, c, е, о, п, Икс и у. Кириллица З, Ч и б напоминают цифры 3, 4 и 6. Курсив генерирует больше гомоглифов: дтпи или дтпи (дтпи в стандартном исполнении), напоминающие dмпты (в некоторых шрифтах д можно использовать, так как его курсивный шрифт напоминает строчные г; однако в большинстве основных шрифтов ä вместо этого напоминает частный дифференциал знак, ).

Если считаются заглавные буквы, АВСЕНІЈКМОРЅТХ может заменить АBCEЧАСяJKMОпSТИкс, в дополнение к заглавным буквам для гомоглифов кириллицы в нижнем регистре.

Кириллические нерусские проблемные буквы і и я, ј и j, ԛ и q, ѕ и s, ԝ и ш, Ү и Y, в то время как Ғ и F, Ԍ и г имеют некоторое сходство друг с другом. Кириллица ӓёїӧ также может использоваться, если сам IDN подделывается, чтобы подделать äëяö.

В то время как Коми Де (ԁ ), шха (һ ), палочка (Ӏ ) и ижица (ѵ ) очень похожи на латинские d, h, l и v, эти буквы либо редки, либо архаичны и не широко поддерживаются в большинстве стандартных шрифтов (они не включены в WGL-4 ). Попытка использовать их может вызвать эффект записки с требованием выкупа.

Греческий

От Греческий алфавит, только омикрон ο а иногда ню ν выглядит идентично букве латинского алфавита в нижнем регистре, используемой для URL-адресов. Шрифты в курсив будет представлена ​​греческая альфа α похожий на латынь а.

Этот список увеличивается, если также разрешены близкие совпадения (например, греческое εικηρτυωχγ для eiknptuwxy). С помощью заглавные буквы, список значительно расширяется. Греческий ΑΒΕΗΙΚΜΝΟΡΤΧΥΖ выглядит идентично латинскому ABEHIKMNOPTXYZ. Греческий ΑΓΒΕΗΚΜΟΠΡΤΦΧ похож на кириллицу АГВЕНКМОПРТФХ (как и кириллица Л (Л) и греческий Λ в некоторых геометрических шрифтах без засечек) греческие буквы κ и о похожи на кириллические к и о. Помимо этого греческого τ, φ может быть похож на кириллицу т, ф в некоторых шрифтах, греческий δ похож на кириллицу б в Сербский алфавит, а кириллица а также выделяется курсивом, как и его латинский аналог, что позволяет заменить его на альфа или наоборот. Полулунная форма сигмы Ϲϲ похожа на латинскую Cc и кириллическую Cс.

Если сам IDN подделывается, греческая бета β может заменить немецкий esszet. ß в некоторых шрифтах (и на самом деле, кодовая страница 437 рассматривает их как эквивалент), как и греческая сигма ς вместо ç; акцентированные греческие заменители όίά обычно может использоваться для óíá во многих шрифтах, причем последний из них (альфа) снова только напоминает а курсивом.

Армянский

В Армянский алфавит также могут содержать важные символы: несколько армянских символов, таких как օ, ո, ս, а также заглавные Տ и Լ, часто полностью идентичны латинским символам в современных шрифтах. Такие символы, как ա, могут напоминать кириллицу ш. Кроме того, есть похожие символы. ցհոօզս, которые выглядят как ghnoqu, յ, которые похожи на j (хотя и без точек), и ք, которые могут напоминать p или f в зависимости от шрифта. Однако использование армянского языка проблематично. Не все стандартные шрифты содержат армянские глифы (в то время как греческий и кириллический шрифты присутствуют в большинстве стандартных шрифтов). Из-за этого в Windows до Windows 7 армянский язык отображался отдельным шрифтом, Sylfaen, который поддерживает армянский, и смешение армянского с латинским будет очевидно отличаться при использовании шрифта, отличного от Sylfaen или Шрифт Unicode. (Это известно как эффект записки с требованием выкупа.) Текущая версия Тахома, используемый в Windows 7, поддерживает армянский язык (в предыдущих версиях этого не было). Кроме того, этот шрифт отличает латинский г с армянского ց.

Две буквы в армянском языке (Ձշ) также могут напоминать цифру 2, Յ - 3, а другая (վ) иногда - цифру 4.

иврит

Спуфинг на иврите, как правило, встречается редко. Только три буквы из этого алфавита могут быть надежно использованы: самех (ס), который иногда напоминает o, vav с диакритическим знаком (וֹ), который напоминает i, и heth (ח), который напоминает букву n. Также можно найти менее точные аппроксимации для некоторых других буквенно-цифровых обозначений, но они обычно достаточно точны только для использования в целях зарубежный брендинг а не для подмены. Кроме того, Еврейский алфавит пишется справа налево, и попытка смешать его с глифами слева направо может вызвать проблемы.

Китайский

В китайский язык может быть проблематичным для омографов, так как существует много символов, как традиционный (обычный сценарий) и упрощенные китайские иероглифы. в .org домен, регистрация одного варианта делает другой недоступным для всех; в .biz одна регистрация IDN на китайском языке предоставляет оба варианта как активные домены (которые должны иметь один и тот же сервер доменных имен и одного и того же регистранта). .hk (. 香港) также принимает эту политику.

Прочие скрипты

Другие сценарии Unicode, в которых можно найти омографы, включают Числовые формы (римские цифры ), Совместимость с CJK и Приложенные письма и месяцы CJK (некоторые сокращения), латынь (некоторые орграфы), Символы валюты, Математические буквенно-цифровые символы, и Алфавитные формы представления (типографские лигатуры ).

Акцентированные персонажи

Два имени, которые отличаются только акцентом на одном символе, могут выглядеть очень похожими, особенно когда замена включает пунктирная буква i; значок (точка) на i можно заменить на диакритический (например, серьезный акцент или острый акцент; и ì, и í включены в большинство стандартных наборов символов и шрифтов), которые могут быть обнаружены только при внимательном рассмотрении. В большинстве реестров доменов верхнего уровня wíkipedia.tld (xn - wkipedia-c2a.tld) ​​и wikipedia.tld - это два разных имени, которые могут принадлежать разным регистрантам.[5] Одно исключение .ca, где резервирование равнины-ASCII версия домена не позволяет другому регистранту претендовать на версию того же имени с акцентом.[6]

Невидимые символы

Unicode включает в себя множество символов, которые не отображаются по умолчанию, например пространство нулевой ширины. В общем, ICANN запрещает регистрацию любого домена с этими символами, независимо от TLD.

Известные атаки омографа

В 2011 году неизвестный источник (зарегистрировавшийся под названием «Совершенно анонимный») зарегистрировал доменное имя, аналогичное телевизионной станции. КБОИ-ТВ чтобы создать сайт фейковых новостей. Единственной целью сайта было распространение День дурака шутка по поводу Губернатор Айдахо издав предполагаемый запрет на продажу музыки Джастин Бибер.[7][8]

В сентябре 2017 года исследователь безопасности Анкит Анубхав обнаружил атаку омографа IDN, при которой злоумышленники зарегистрировали adoḅe.com для доставки трояна Betabot.[9]

Защита от нападения

Смягчение на стороне клиента

Самая простая защита заключается в том, чтобы веб-браузеры не поддерживали IDNA или другие подобные механизмы, или чтобы пользователи отключили любую поддержку, имеющуюся в их браузерах. Это может означать блокировку доступа к сайтам IDNA, но обычно браузеры разрешают доступ и просто отображают IDN в Punycode. В любом случае это означает отказ от доменных имен, отличных от ASCII.

  • Гугл Хром версии 51 и более поздние используют алгоритм, аналогичный тому, который используется в Firefox. Предыдущие версии отображали IDN только в том случае, если все его символы принадлежат одному (и только одному) из предпочтительных языков пользователя. Хром и Браузеры на основе Chromium такой как новый Microsoft Edge и Опера также используйте тот же алгоритм. [10][11]
  • Сафари подход заключается в отображении проблемных наборов символов как Punycode. Это можно изменить, изменив настройки в Mac OS X системные файлы.[12]
  • Mozilla Firefox версии 22 и более поздние отображают IDN, если любой TLD предотвращает атаки омографа, ограничивая, какие символы могут использоваться в доменных именах, или метки не смешивают скрипты для разных языков. В противном случае IDN отображаются в Punycode.[13][14]
  • Internet Explorer версии 7 и более поздние позволяют использовать IDN, за исключением меток, которые смешивают сценарии для разных языков. Ярлыки, которые смешивают скрипты, отображаются в Punycode. Есть исключения из локалей, где символы ASCII обычно смешиваются с локализованными скриптами.[15] Internet Explorer 7 может использовать IDN, но он налагает ограничения на отображение доменных имен, отличных от ASCII, на основе определяемого пользователем списка разрешенных языков и предоставляет антифишинговый фильтр, который проверяет подозрительные веб-сайты по удаленной базе данных известных фишинговых сайтов. .[нужна цитата ]
  • Старый Microsoft Edge конвертирует весь Юникод в Punycode.[нужна цитата ]

В качестве дополнительной защиты Internet Explorer 7, Firefox 2.0 и выше и Opera 9.10 включают фишинговые фильтры, которые пытаются предупреждать пользователей, когда они посещают вредоносные веб-сайты.[16][17][18] По состоянию на апрель 2017 года несколько браузеров (включая Chrome, Firefox и Opera) обычно отображали IDN, состоящие исключительно из кириллических символов (не как punycode), что позволяло использовать спуфинг-атаки. Chrome ужесточил ограничения IDN в версии 59, чтобы предотвратить эту атаку.[19][20]

Расширения браузера вроде Нет гомографов для Гугл Хром и Fire Fox которые проверяют, посещает ли пользователь веб-сайт, который является омографом другого домена из определенного пользователем списка.[21]

Эти методы защиты распространяются только на браузер. Гомографические URL-адреса, содержащие вредоносное программное обеспечение, могут по-прежнему распространяться без отображения как Punycode через Эл. почта, социальная сеть или других веб-сайтов, которые не будут обнаружены до тех пор, пока пользователь не щелкнет ссылку. Хотя поддельная ссылка будет отображаться в Punycode при нажатии на нее, к этому моменту страница уже начала загружаться в браузер, и вредоносное программное обеспечение, возможно, уже было загружено на компьютер.

Снижение риска на стороне сервера / оператора реестра

ICANN внедрил политику, запрещающую любому потенциальному интернационализированному TLD выбирать буквы, которые могут напоминать существующий латинский TLD и, таким образом, использоваться для атак с использованием омографа. Предлагаемые IDN TLD .бг (Болгария), .укр (Украина) и .ελ (Греция) были отклонены или остановлены из-за кажущегося сходства с латинскими буквами. Все трое (и сербский .срб и монгольский .мон ) позже были приняты.[22] Трехбуквенные домены верхнего уровня считаются более безопасными, чем двухбуквенные, поскольку их труднее сопоставить с обычными латинскими доменами страны по ISO-3166; хотя потенциал сопоставления с новыми универсальными доменами сохраняется, такие общие домены намного дороже, чем регистрация адреса домена второго или третьего уровня, что делает попытки зарегистрировать гомоглифический TLD с единственной целью создания поддельных доменов ( что само по себе привлекло бы внимание ICANN).

Российский оператор реестра Координационный центр TLD RU принимает только кириллические имена для домена верхнего уровня .рф, запрещающий использование латинских или греческих символов. Однако проблема в .com и другие gTLD остается открытым.[нужна цитата ]

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

использованная литература

  1. ^ а б «Соображения безопасности Unicode», Технический отчет № 36, 2010-04-28
  2. ^ а б Евгений Габрилович и Алексей Гонтмахер, «Архивная копия» (PDF). Архивировано из оригинал (PDF) на 2020-01-02. Получено 2005-12-10.CS1 maint: заархивированная копия как заголовок (ссылка на сайт), Сообщения ACM, 45 (2): 128, февраль 2002 г.
  3. ^ Раскрытие информации о взломе IDN пользователем shmoo.com В архиве 2005-03-20 на Wayback Machine
  4. ^ «Фишинговая атака Chrome и Firefox использует домены, идентичные известным безопасным сайтам». Wordfence. 2017-04-14. Получено 2017-04-18.
  5. ^ Есть разные Punycode конвертеры онлайн, такие как https://www.hkdnr.hk/idn_conv.jsp
  6. ^ «Архивная копия». Архивировано из оригинал на 2015-09-07. Получено 2015-09-22.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  7. ^ Поддельный URL сайта не из КБОИ-ТВ В архиве 2011-04-05 на Wayback Machine. КБОИ-ТВ. Проверено 1 апреля 2011.
  8. ^ Новостной сайт Boise TV стал мишенью для шутки Джастина Бибера В архиве 2012-03-15 в Wayback Machine. КТВБ. Проверено 1 апреля 2011.
  9. ^ Мимозо, Майкл (2017-09-06). "Атака IDN Homograph, распространяющая бэкдор Betabot". Threatpost. Получено 2020-09-20.
  10. ^ «Интернационализированные доменные имена (IDN) в Google Chrome». chromium.googlesource.com. Получено 2020-08-26.
  11. ^ «Предстоящее обновление с исправлением фишинга омографа IDN - Блог». Opera Security. 2017-04-21. Получено 2020-08-26.
  12. ^ «О поддержке международного доменного имени Safari». Получено 2017-04-29.
  13. ^ «Алгоритм отображения IDN». Mozilla. Получено 2016-01-31.
  14. ^ "Ошибка 722299". Bugzilla.mozilla.org. Получено 2016-01-31.
  15. ^ Шариф, Тарик (31 июля 2006 г.). «Изменения IDN в IE7, позволяющие смешивать сценарии». IEBlog. Microsoft. Получено 2006-11-30.
  16. ^ Шариф, Тарик (9 сентября 2005 г.). «Фильтр фишинга в IE7». IEBlog. Microsoft. Получено 2006-11-30.
  17. ^ «Защита Firefox 2 от фишинга». Mozilla. 2006 г.. Получено 2006-11-30.
  18. ^ «Защита от мошенничества в Opera». Программное обеспечение Opera. 2006-12-18. Получено 2007-02-24.
  19. ^ Фишинговая атака Chrome и Firefox использует домены, идентичные известным безопасным сайтам
  20. ^ Фишинг с доменами Unicode
  21. ^ «Никаких гомографов». em_te. 2018-06-28. Получено 2020-02-18.
  22. ^ Завершение ускоренной оценки строки IDN ccTLD В архиве 2014-10-17 на Wayback Machine

внешние ссылки