Атака с использованием омографа интернационализированного доменного имени ( IDN ) (иногда пишется как атака с использованием омоглифов ) — это метод, используемый злоумышленниками для обмана пользователей компьютеров относительно того, с какой удаленной системой они общаются, используя тот факт, что многие разные символы выглядят одинаково (т. е. они полагаются на омоглифы , чтобы обмануть посетителей). Например, в кириллице , греческом и латинском алфавитах есть буква ⟨o⟩ , которая имеет одинаковую форму, но представляет разные звуки или фонемы в соответствующих системах письма. [a]
Этот вид атаки спуфинга также известен как скрипт-спуфинг . Unicode включает в себя множество скриптов ( систем письма ), и по ряду причин похожие символы, такие как греческая Ο , латинская O и кириллическая О , не были назначены одним и тем же кодом. Их неправильное или вредоносное использование является возможностью для атак на безопасность. Так, например, обычный пользователь example.com
может быть соблазнен щелкнуть по ней без вопросов, как по, по-видимому, знакомой ссылке, не подозревая, что третья буква — это не латинская буква «a», а кириллическая буква «а», и, таким образом, это совершенно другой домен, нежели предполагаемый.
Регистрация омографических доменных имен похожа на тайпсквотинг , поскольку обе формы атак используют похожее на более устоявшееся доменное имя, чтобы обмануть пользователя. [b] Главное отличие заключается в том, что при тайпсквоттинге преступник привлекает жертв, полагаясь на естественные типографские ошибки, обычно допускаемые при ручном вводе URL, в то время как при омографическом спуфинге преступник обманывает жертв, предоставляя визуально неразличимые гиперссылки. Действительно, было бы редкой случайностью для веб-пользователя набрать, например, кириллическую букву в английском слове, превратив «b a nk» в «b а nk». Существуют случаи, в которых регистрация может быть как тайпсквоттингом, так и омографическим спуфингом; пары l/I
, i/j
и 0/O
находятся близко друг к другу на клавиатуре и, в зависимости от гарнитуры , могут быть трудно или невозможно различимы визуально.
Ранней неприятностью такого рода, предшествовавшей Интернету и даже текстовым терминалам , была путаница между «l» (строчная буква «L») / «1» (цифра «один») и «O» (заглавная буква для гласной «o») / «0» (цифра «ноль»). Некоторые пишущие машинки в докомпьютерную эпоху даже объединяли L и единицу ; пользователи должны были набирать строчную L, когда требовалась цифра один. Путаница с нулем/о породила традицию перекрещивания нулей , чтобы оператор компьютера мог набрать их правильно. [1] Unicode может в значительной степени способствовать этому с его комбинированными символами, ударениями, несколькими типами дефиса и т. д., часто из-за недостаточной поддержки рендеринга , особенно при меньших размерах шрифтов и большом разнообразии шрифтов. [2]
Еще раньше рукописный почерк предоставлял богатые возможности для путаницы. Ярким примером является этимология слова « zenith ». Перевод с арабского «samt» включал путаницу писца с «m» на «ni». Это было распространено в средневековом готическом письме , которое не соединяло вертикальные столбцы букв i, m, n или u, что затрудняло их различение, когда несколько из них стояли подряд. Последнее, а также путаница с «rn»/«m»/«rri» («RN»/«M»/«RRI»), все еще возможна для человеческого глаза даже с современными передовыми компьютерными технологиями.
Также известна преднамеренная замена похожих символов на другие алфавиты в различных контекстах. Например, Faux Cyrillic использовалась в качестве развлечения или привлечения внимания, а «кодировка Volapuk», в которой кириллица представлена похожими латинскими символами, использовалась на заре Интернета как способ преодоления отсутствия поддержки кириллицы. Другим примером является то, что регистрационные знаки транспортных средств могут иметь как кириллицу (для внутреннего использования в странах с кириллическим алфавитом), так и латиницу (для международного вождения) с теми же буквами. Регистрационные знаки, выдаваемые в Греции, ограничены использованием букв греческого алфавита , имеющих омоглифы в латинском алфавите, поскольку правила Европейского союза требуют использования латинских букв.
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).
В многоязычных компьютерных системах различные логические символы могут иметь одинаковый внешний вид. Например, символ Unicode U+0430, кириллическая строчная буква a ("а"), может выглядеть идентично символу Unicode U+0061, латинской строчной букве a ("a"), которая является строчной буквой "a", используемой в английском языке. Следовательно wikipediа.org
( xn--wikipedi-86g.org
; кириллическая версия) вместо wikipedia.org
(латинская версия).
Проблема возникает из-за разной обработки символов в сознании пользователя и программировании компьютера. С точки зрения пользователя кириллическая «а» в латинской строке — это латинская «a»; в большинстве шрифтов нет разницы в глифах для этих символов. Однако компьютер обрабатывает их по-разному при обработке строки символов как идентификатора. Таким образом, предположение пользователя о взаимно-однозначном соответствии между визуальным видом имени и именованной сущностью рушится.
Интернационализированные доменные имена предоставляют обратно совместимый способ для доменных имен использовать полный набор символов Unicode, и этот стандарт уже широко поддерживается. Однако эта система расширила репертуар символов с нескольких десятков символов в одном алфавите до многих тысяч символов во многих письменностях; это значительно увеличило возможности для атак с использованием омографов.
Это открывает богатые возможности для фишинга и других видов мошенничества. Злоумышленник может зарегистрировать доменное имя, которое выглядит так же, как и у законного веб-сайта, но в котором некоторые буквы заменены омографами в другом алфавите. Затем злоумышленник может отправлять электронные письма, якобы отправленные с оригинального сайта, но направляющие людей на поддельный сайт. Затем поддельный сайт может записывать информацию, такую как пароли или данные учетной записи, при этом передавая трафик на настоящий сайт. Жертвы могут никогда не заметить разницы, пока с их учетными записями не произойдет подозрительная или преступная деятельность.
В декабре 2001 года Евгений Габрилович и Алекс Гонтмахер, оба из Техниона , Израиль , опубликовали статью под названием «Атака омографа», [1] , в которой описывалась атака, использующая URL-адреса Unicode для подделки URL-адреса веб-сайта. Чтобы доказать осуществимость такого рода атаки, исследователи успешно зарегистрировали вариант доменного имени microsoft .com , включавшего кириллические символы.
Проблемы такого рода были ожидаемы до введения IDN, и были выпущены руководящие принципы для реестров, чтобы попытаться избежать или уменьшить проблему. Например, было рекомендовано, чтобы реестры принимали только символы из латинского алфавита и алфавита своей собственной страны, а не все символы Unicode, но этот совет был проигнорирован основными TLD . [ необходима цитата ]
6 февраля 2005 года Кори Доктороу сообщил, что этот эксплойт был раскрыт 3ric Johanson на хакерской конференции Shmoocon . [3] [4] Веб-браузеры, поддерживающие IDNA, по-видимому, направляли URL http://www.pаypal.com/, в котором первый символ a заменен кириллической буквой a , на сайт известного платежного сайта PayPal , но на самом деле вели на поддельный веб-сайт с другим контентом. Популярные браузеры продолжали испытывать проблемы с правильным отображением международных доменных имен до апреля 2017 года. [5]
В следующих алфавитах есть символы, которые можно использовать для атак спуфинга (обратите внимание, что это только самые очевидные и распространенные, учитывая художественную свободу и риск того, что обманщик будет пойман; возможностей гораздо больше, чем можно здесь перечислить):
Кириллица, безусловно, является наиболее часто используемым алфавитом для омоглифов, во многом потому, что она содержит 11 строчных знаков, которые идентичны или почти идентичны латинским аналогам.
Буквы кириллицы а , с , е , о , р , х и у имеют оптические аналоги в базовом латинском алфавите и выглядят близко или идентично a , c , e , o , p , x и y . Кириллические З , Ч и б напоминают цифры 3 , 4 и 6 . Курсивный шрифт порождает больше омоглифов: д т п и или д т п и ( д т п и в стандартном шрифте), напоминающих d m n u (в некоторых шрифтах может использоваться д , так как его курсивная форма напоминает строчную g ; однако в большинстве основных шрифтов д вместо этого напоминает знак частичного дифференциала ∂ ).
Если подсчитываются заглавные буквы, то вместо 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 ). Попытка их использования может вызвать эффект записки о выкупе .
Из греческого алфавита только омикрон ( ο ) и иногда ню ( ν ) выглядят идентичными буквам латинского алфавита в нижнем регистре, используемым для URL-адресов. Шрифты, имеющие курсивное начертание, будут содержать греческую альфа ( α ), похожую на латинскую a .
Этот список увеличивается, если также разрешены близкие совпадения (например, греческое ε ι κ η ρ τ υ ω χ γ для e i k n p t u w x y ). При использовании заглавных букв список значительно расширяется. Греческое Α Β Ε Η Ι Κ Μ Ν Ο Ρ Τ Χ Υ Ζ выглядит идентично латинскому A B E H I K M N O P T X Y Z . Греческий Α Γ Β Ε Η Κ Μ Ο Π Ρ Τ Φ Χ похож на кириллицу А Г В Е НК М О П Р Т Ф Х (как и кириллица Л л ( Л л ) и греческая Λ в некоторых геометрических шрифтах без засечек . шрифты), греческие буквы κ и ο похожи на кириллические к и о . Помимо этого греческого τ , φ может быть похож на кириллицу т , ф в некоторых шрифтах, греческий δ выглядит как кириллица б , а кириллица а также выделяется курсивом так же, как и ее латинский аналог, что позволяет заменить ее на альфу или наоборот. Полулунная форма сигмы, Ϲ ϲ , напоминает как латинскую C c, так и кириллическую C c . Особенно в современных шрифтах кириллица « л» отображается знаком, неотличимым от греческого «π» .
Если подделывается само IDN, греческая бета β может быть заменой немецкой эсцет ß в некоторых шрифтах (и, по сути, кодовая страница 437 рассматривает их как эквивалентные), как и греческий вариант окончания слова сигма ς для ç ; акцентированные греческие замены ό ί ά обычно могут использоваться вместо ó í á во многих шрифтах, причем последняя из них (альфа) снова напоминает a только в курсивном шрифте.
Армянский алфавит также может вносить критические символы: несколько армянских символов, таких как օ, ո, ս, а также заглавные Տ и Լ, часто полностью идентичны латинским символам в современных шрифтах, и символы, которые достаточно похожи, чтобы выдать себя за них, такие как ցհոօզս, которые выглядят как ghnoqu, յ, которые напоминают j (хотя и без точки), и ք, которые могут напоминать либо p, либо f в зависимости от шрифта; ա может напоминать кириллицу ш. Однако использование армянского языка, к счастью, немного менее надежно: не все стандартные шрифты содержат армянские глифы (тогда как греческие и кириллические скрипты содержат); Windows до Windows 7 отображали армянский язык в отдельном шрифте Sylfaen , в котором смешение армянского с латиницей выглядело бы явно по-другому, если бы использовался шрифт, отличный от Sylfaen, или гарнитура Unicode . (Это известно как эффект записки о выкупе .) Текущая версия Tahoma , используемая в Windows 7, поддерживает армянский язык (предыдущие версии не поддерживали). Кроме того, этот шрифт отличает латинскую g от армянской ց.
Две буквы в армянском языке (Ձշ) также могут напоминать цифру 2, Յ напоминает цифру 3, а еще одна (վ) иногда напоминает цифру 4.
Подделка иврита, как правило, редка. Только три буквы из этого алфавита могут быть надежно использованы: самех (ס), которая иногда напоминает о, вав с диакритическим знаком (וֹ), которая напоминает i, и хет (ח), которая напоминает букву n. Менее точные аппроксимации для некоторых других буквенно-цифровых обозначений также можно найти, но они обычно достаточно точны только для использования в целях иностранного брендинга , а не для замены. Кроме того, еврейский алфавит пишется справа налево, и попытка смешать его с глифами, идущими слева направо, может вызвать проблемы.
Хотя тайское письмо исторически имело отличительный вид с многочисленными петлями и небольшими завитушками, современная тайская типографика , начиная с Manoptica в 1973 году и продолжая IBM Plex в современную эпоху, все больше принимает упрощенный стиль, в котором тайские символы представлены глифами, сильно напоминающими латинские буквы. ค (A), ท (n), น (u), บ (U), ป (J), พ (W), ร (S) и ล (a) входят в число тайских глифов, которые могут очень напоминать латинские.
Китайский язык может быть проблематичным для омографов, поскольку многие символы существуют как в традиционном (обычный шрифт), так и в упрощенном китайском языке . В домене .org регистрация одного варианта делает другой недоступным для всех; в .biz регистрация одного IDN на китайском языке предоставляет оба варианта в качестве активных доменов (которые должны иметь один и тот же сервер доменных имен и одного и того же регистратора). .hk (.香港) также принимает эту политику.
Другие алфавиты Unicode, в которых можно найти омографы, включают числовые формы ( римские цифры ), совместимость CJK и вложенные буквы CJK и месяцы (некоторые сокращения), латиницу (некоторые диграфы), символы валют , математические буквенно-цифровые символы и формы алфавитного представления ( типографские лигатуры ).
Два имени, которые отличаются только ударением на одном символе, могут выглядеть очень похожими, особенно когда замена включает в себя букву с точкой i ; титл (точка) на i может быть заменен диакритическим знаком (например, ударением с ударением или острым ударением ; как ì, так и í включены в большинство стандартных наборов символов и шрифтов), который можно обнаружить только при внимательном рассмотрении. В большинстве реестров доменов верхнего уровня wíkipedia.tld (xn--wkipedia-c2a.tld) и wikipedia.tld являются двумя разными именами, которые могут принадлежать разным регистраторам. [6] Исключением является .ca , где резервирование версии домена в кодировке plain- ASCII не позволяет другому регистратору претендовать на версию того же имени с ударением. [7]
Unicode включает в себя множество символов, которые не отображаются по умолчанию, например, пробел нулевой ширины . В целом, ICANN запрещает регистрацию любых доменов с этими символами, независимо от TLD.
В 2011 году неизвестный источник (зарегистрировавшийся под именем «Completely Anonymous») зарегистрировал доменное имя, гомографичное телевизионной станции KBOI-TV , чтобы создать сайт фейковых новостей . Единственной целью сайта было распространение первоапрельской шутки о том, что губернатор Айдахо якобы запретил продажу музыки Джастина Бибера . [8] [9]
В сентябре 2017 года исследователь безопасности Анкит Анубхав обнаружил атаку с использованием IDN-омографа, в ходе которой злоумышленники зарегистрировали adoḅe.com для доставки трояна Betabot . [10]
Самая простая защита — не поддерживать IDNA или другие подобные механизмы в веб-браузерах или отключать поддержку, которую имеют их браузеры. Это может означать блокировку доступа к сайтам IDNA, но обычно браузеры разрешают доступ и просто отображают IDN в Punycode . В любом случае, это равносильно отказу от доменных имен, не входящих в ASCII.
В качестве дополнительной защиты Internet Explorer 7, Firefox 2.0 и выше, а также Opera 9.10 включают фишинговые фильтры, которые пытаются предупреждать пользователей, когда они посещают вредоносные веб-сайты. [17] [18] [19] По состоянию на апрель 2017 года несколько браузеров (включая Chrome, Firefox и Opera) отображали IDN, состоящие исключительно из кириллических символов, как правило (не как punycode), что позволяло проводить атаки с подменой. Chrome ужесточил ограничения IDN в версии 59, чтобы предотвратить эту атаку. [20] [21]
Для Google Chrome и Firefox доступны расширения браузера, такие как No Homo-Graphs , которые проверяют, посещает ли пользователь веб-сайт, являющийся омографом другого домена из определенного пользователем списка. [22]
Эти методы защиты распространяются только на браузер. Гомографические URL-адреса, содержащие вредоносное ПО, могут по-прежнему распространяться, не отображаясь как Punycode, через электронную почту , социальные сети или другие веб-сайты, не будучи обнаруженными, пока пользователь фактически не нажмет на ссылку. Хотя поддельная ссылка будет отображаться в Punycode при нажатии на нее, к этому моменту страница уже начнет загружаться в браузер. [ необходима цитата ]
База данных омографов IDN представляет собой библиотеку Python, которая позволяет разработчикам защищаться от этого, используя машинное обучение на основе распознавания символов. [23]
ICANN внедрила политику, запрещающую любому потенциально интернационализированному TLD выбирать буквы, которые могут напоминать существующий латинский TLD и, таким образом, использоваться для омографических атак. Предложенные IDN TLD .бг (Болгария), .укр (Украина) и .ελ (Греция) были отклонены или приостановлены из-за их предполагаемого сходства с латинскими буквами. Все три (а также сербский .срб и монгольский .мон ) позже были приняты. [24] Трехбуквенные TLD считаются более безопасными, чем двухбуквенные TLD, поскольку их сложнее сопоставить с обычными латинскими доменами стран ISO-3166; хотя потенциал для сопоставления новых общих доменов сохраняется, такие общие домены обходятся намного дороже, чем регистрация адреса домена второго или третьего уровня, что делает попытку зарегистрировать гомоглифический TLD с единственной целью создания мошеннических доменов (что само по себе привлекло бы внимание ICANN) невыгодной с точки зрения затрат.
Российский оператор реестра Координационный центр национального домена верхнего уровня RU принимает только кириллические имена для домена верхнего уровня .рф , запрещая смешение с латинскими или греческими символами. Однако проблема в .com и других общих доменах верхнего уровня остается открытой. [25]
В своем исследовании 2019 года Сузуки и др. представили ShamFinder [26], программу для распознавания IDN, проливающую свет на их распространенность в реальных сценариях. Аналогичным образом, Чиба и др. (2019) разработали DomainScouter [27], систему, способную обнаруживать разнообразные омографические IDN в доменах, проанализировав приблизительно 4,4 миллиона зарегистрированных IDN в 570 доменах верхнего уровня (TLD); она смогла успешно идентифицировать 8284 омографических IDN, включая множество ранее не идентифицированных случаев, нацеленных на бренды на языках, отличных от английского. [28]
Microsfot.com
{{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка ), Сообщения ACM, 45(2):128, февраль 2002 г.