Как стать автором
Обновить

Наблюдение об интернационализованных доменных именах и букве K

Время на прочтение2 мин
Количество просмотров30K
Наверняка многие используют или слышали про про интернационализованные доменные имена (IDN) — доменные имена, состоящие из символов национального алфавита, например тест.рф. Так же многие знают что латиница и кириллица имеют визуальные схожие символы, например латинская “a” и кириллистическая “а” выглядят одинаково, однако имеют разные коды, т.e. !“a”.equals(“а”). В этой статье речь пойдет о доменных именах которые выглядят очень схоже благодаря одной букве К. В будущем этой схожестью могут воспользоваться злоумышленники, поэтому чтобы избежать этого я хочу рассказать об одном своем наблюдении из области интернационализованных доменных имен.

Для отображения IDN может использоваться unicode или punycode. В punycode домен выглядит как-то так: xn--e1aybc.xn--p1ai, а в unicode это тест.рф.

Как было сказано выше, в латинице и кириллице есть схожие символы, поэтому два домена twitter.com и twittеr.com выглядят одинаково в unicode кодировке. Как вы догадались, один из доменов содержит латинскую “e”, а другой кирилистическую “е”. Для избежания таких колизий существуют таблицы национальных алфавитов, которые содержат допустимые для регистрации домена символы. Благодаря этим таблицам, если домен содержит кириллицу, то он уже не может содержать латиницу. Таким образом у вас не получится зарегистрировать еще один twittеr.



Более подробно про таблицы и правила именования IDN можно почитать по следующим ссылкам:


И вот я когда-то изучал информацию об IDN по одной из приведенных ссылок и обнаружил интересный символ Κʻ / ĸ (U+0138, *Kra*). Можно заметить, что в прописном варианте он выглядит как латинская “k” или кирилистическая “к”. И знаете что самое интересное? Этот символ можно использовать в сочетании с латинским алфавитом. Т.е. вы можете зарегистрировать еще один vĸ.com или sĸype.com, точнее могли когда-то.



В качестве PoC я зарегистрировал пару таких доменных имен. Например vĸ.com. Браузеры по разному отображают такой домен в адресной строке.

Chrome показывает в punycode формате:



А вот Firefox (то же самое и в Safari) в unicode:



Это может запутать пользователя. Некоторые сервисы, например Twitter показывают такой домен в unicode формате — опять же потенциально тут может развернуться злоумышленник и использовать фишинговую ссылку:



Тоже самое и Skype:



Таким образом, существует угроза использования доменных имен с подменой буквы “k” на “ĸ” и мне кажется что этот символ должен быть удален из таблицы латинских символов и не должен допускаться для регистрации доменных имен. Две недели назад я отправил свое наблюдение в iana-questions@iana.org (как я понял эта организация занимается IDN). Однако кроме номера тикета (887309) я ничего не получил в ответ. Я решил опубликовать свое наблюдение чтобы узнать мнение большего числа специалистов: или я крайне заблуждаюсь в своем наблюдении или ему действительно нужно дать ход.
Теги:
Хабы:
Всего голосов 85: ↑82 и ↓3+79
Комментарии25

Публикации

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань