stringtranslate.com

Атака по омографу IDN

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

Атака омографа интернационализированного доменного имени ( IDN ) – это способ, с помощью которого злоумышленник может обмануть пользователей компьютеров относительно того, с какой удаленной системой они общаются, используя тот факт, что многие разные символы выглядят одинаково (т. е. они являются омографами, отсюда и термин для атака, хотя технически гомоглиф является более точным термином для обозначения разных символов, которые выглядят одинаково. Например, в кириллице, греческом и латинском алфавитах есть буква ⟨o⟩ , которая имеет ту же форму, но другое значение, чем ее аналоги. [a] )

Этот вид подмены атаки также известен как подмена сценария . Unicode включает в себя множество систем письма, и по ряду причин похожим символам, таким как греческий Ο, латинский O и кириллический О, не был присвоен один и тот же код. Их неправильное или злонамеренное использование может привести к атакам на систему безопасности. Так, например, у обычного пользователя example.comможет возникнуть соблазн кликнуть на нее, как на, казалось бы, знакомую ссылку, безоговорочно, не подозревая, что третья буква — это не латинский символ «а», а кириллический символ «а» и, таким образом, является совершенно другим символом. домен от предполагаемого.

Регистрация гомографических доменных имен сродни тайпсквоттингу , поскольку обе формы атак используют имя, похожее на более авторитетный домен, чтобы обмануть пользователя. [b] Основное различие заключается в том, что при тайпсквоттинге преступник привлекает жертв, полагаясь на естественные типографские ошибки, которые обычно допускаются при ручном вводе URL-адреса, тогда как при подмене омографа преступник обманывает жертв, предоставляя визуально неразличимые гиперссылки. Действительно, для веб-пользователя было бы редкостью ввести, например, кириллическую букву в обычное английское слово, такое как «Ситибанк». Есть случаи, когда регистрация может быть как опечаткой, так и подделкой омографа; пары l/I, i/j, и 0/Oна клавиатуре расположены близко друг к другу, и, в зависимости от гарнитуры, их может быть трудно или невозможно различить.

История

Гомоглифы распространены в трех основных европейских алфавитах: латинском , греческом и кириллице . Unicode не пытается унифицировать глифы, а вместо этого разделяет каждый сценарий .

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

Еще раньше почерк предоставлял богатые возможности для путаницы. Ярким примером является этимология слова « зенит ». В переводе с арабского «самт» писец перепутал «м» с «ни». Это было обычным явлением в средневековом черном письме , в котором вертикальные столбцы букв 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 (заглавная i , а не маленькая L ) в некоторых шрифтах очень похож на google.com . PayPal стал объектом фишинговой атаки с использованием домена PayPaI.com . В некоторых шрифтах с узким интервалом, таких как Tahoma (по умолчанию в адресной строке в Windows XP ), размещение c перед j , l или i приведет к образованию гомоглифов, таких как cl cj ci (dga).

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

В многоязычных компьютерных системах разные логические символы могут иметь одинаковый внешний вид. Например, символ Юникода U+0430, строчная кириллическая буква а («а»), может выглядеть идентично символу Юникода U+0061, строчной латинской букве а («а»), которая представляет собой строчную букву «а», используемую в английском языке. Следовательно wikipediа.org( xn--wikipedi-86g.org; кириллическая версия) вместо wikipedia.org(латинская версия).

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

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

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

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

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

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

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

Кириллица

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

Кириллические буквы а , с , е , о , р , х и у имеют оптические аналоги в основном латинском алфавите и выглядят близко или идентичны a , c , e , o , p , x и y . Кириллические З , Ч и б напоминают цифры 3 , 4 и 6 . Курсив генерирует больше гомоглифов: дтпи или дтпи ( д т п и в стандартном шрифте), напоминающие d m n u (в некоторых шрифтах может использоваться д , поскольку его курсивная форма напоминает строчную г ; однако в большинстве основных шрифтов д вместо этого напоминает знак частного дифференциала ∂ ).

Если учитываются заглавные буквы, А В С Е Н І Ј К М О Р Ѕ Т Х может заменить A B C E H I J K M O P S T X в дополнение к прописным буквам для строчных гомоглифов кириллицы.

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

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

Греческий

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

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

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

Армянский

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

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

иврит

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

тайский

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

Хотя тайский шрифт исторически имел отчетливый вид с многочисленными петлями и мелкими завитушками, современная тайская типографика , начиная с Manoptica в 1973 году и продолжаясь через IBM Plex в современную эпоху, все чаще принимает упрощенный стиль, в котором тайские символы представлены глифами. сильно напоминающие латинские буквы. ค (A), ท (n), น (u), บ (U), ป (J), พ (W), ร (S) и ล (a) входят в число тайских символов, которые могут очень напоминать латинские. .

Китайский

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

Другие скрипты

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

Акцентированные символы

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

Неотображаемые символы

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

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

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

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

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

Устранение последствий на стороне клиента

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

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

Для Google Chrome и Firefox доступны расширения браузера, такие как No Homo-Graphs , которые проверяют, посещает ли пользователь веб-сайт, который является омографом другого домена из пользовательского списка. [21]

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

Смягчение последствий на стороне сервера/оператора реестра

База данных омографов IDN — это библиотека Python, которая позволяет разработчикам защищаться от этого с помощью распознавания символов на основе машинного обучения . [22]

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

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

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

Примечания

  1. ^ U+043E о КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА O , U+03BF ο ГРЕЧЕСКАЯ СТРОЧНАЯ БУКВА ОМИКРОН , U+006F o ЛАТИНСКАЯ СТРОЧНАЯ БУКВА O
  2. ^ Например,Microsfot.com

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

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

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