Введение
Различные глифы, которые визуально похожи.
В орфографии и типографии гомоглиф — это одна из двух или более графем, символов или глифов, имеющих идентичные или очень похожие формы, но различающиеся по значению. Это обозначение также применяется к последовательностям символов, обладающих такими свойствами. В 2008 году Консорциум Unicode опубликовал свой Технический отчёт № 36, посвящённый ряду вопросов, возникающих из-за визуального сходства символов как внутри одного алфавита, так и между символами разных алфавитов. Примерами гомоглифических символов являются: (а) диэрезис и умлаут (оба — пара точек, но с разным значением, хотя и кодируются одними и теми же кодовыми точками); и (б) дефис и знак минуса (оба — короткий горизонтальный штрих, но с разным значением, хотя часто кодируются одной и той же кодовой точкой). Среди цифр и букв цифра 1 и строчная буква l всегда кодируются отдельно, но во многих шрифтах им соответствуют очень похожие глифы, а цифра 0 и прописная буква O всегда кодируются отдельно, но во многих шрифтах им соответствуют очень похожие глифы. Практически любую пару гомоглифических символов потенциально можно графически различить с помощью чётко различимых глифов и отдельных кодовых точек, однако это не всегда делается. Шрифты, которые недостаточно чётко различают гомоглифы «один/эль» и «ноль/о», считаются неподходящими для записи формул, URL-адресов, исходного кода, идентификаторов и других текстов, где символы не всегда можно различить без контекста. Для этих целей предпочтительны шрифты, которые различают глифы, например, с помощью перечёркнутого нуля.
Связанные термины
Термин гомограф иногда неправильно используется как синоним гомоглифа, но в обычном лингвистическом смысле гомографы - это слова, которые пишутся одинаково, но имеют разные значения, свойство слов, а не символов. Аллографы - это варианты дизайна шрифта, которые выглядят по-разному, но означают одно и то же, например, и , или знак доллара с одним или двумя штрихами. Термин синоглиф имеет аналогичное, но немного более абстрактное значение, например, символ и буква (в Lsd) обозначают фунт стерлингов, но только в этом контексте. Аллографии и синоглифы также известны неофициально как варианты отображения.
Умлаут и диареза
В дни ранних механических пишущих машинок эти символы печатались одной и той же клавишей (с использованием техники "возврат и перезапись"), которая также использовалась для двойной кавычки. Однако умляут изначально возник как пара коротких вертикальных линий (а не две точки) (см. Зуттерлин). Кстати, две точки над буквой Е в албанском языке описываются как диаэрезис, но не выполняют функцию диаэрезиса.
0 и O; 1, l и I
Два распространенных и важных набора гомоглифов, используемых сегодня, – цифра ноль и заглавная буква O (т. е. 0 и O); и цифра один, строчная буква L и заглавная i (т. е. 1, l и I). В первые дни механических пишущих машин визуальных различий между этими глифами было очень мало или не было вовсе, и машинистки использовали их взаимозаменяемо как клавиатурные сокращения. Фактически, на большинстве клавиатур даже не было клавиши для цифры "1", поэтому пользователям приходилось вводить букву "l" вместо неё, а некоторые клавиатуры не имели и цифры "0". Когда эти же машинистки в 1970-х и 1980-х годах перешли к работе с компьютерными клавиатурами, их прежние привычки сохранились, что иногда приводило к путанице. Большинство современных шрифтов тщательно различают эти гомоглифы, обычно делая цифру ноль более узкой, а цифру один – с выраженными засечками. Ранние компьютерные принтеры пошли еще дальше и обозначали ноль косой чертой или точкой, что привело к новому конфликту, связанному со скандинавской буквой "Ø" и греческой буквой Φ (фи). Переработка шрифтов для разграничения этих символов уменьшила количество ошибок. Степень, в которой два разных символа кажутся одинаковыми для наблюдателя, называется "визуальным сходством". Некоторые шрифты соответствуют стандарту читаемости DIN 1450, тщательно разрабатывая такие символы, чтобы их было легко различать: ноль с косой чертой для отличия от заглавной O; строчная l с хвостиком и заглавная I с засечками для отличия от цифры 1; различие между цифрой 5 и заглавной S и т. д. Пример путаницы из-за почти гомоглифов возник из-за использования буквы "a" для обозначения символа "thorn" (þ). Ранние английские наборщики импортировали голландские наборы, в которых отсутствовал последний символ, поэтому использовали букву "a" вместо него, поскольку (в шрифте Blackletter) они достаточно похожи. В наше время это привело к таким явлениям, как "Ye olde shoppe", ошибочно подразумевающим, что слово "the" раньше писалось как "ye" (/j//iː/), а не как "þe". Написание фамилии Menzies (произносится как Mengis и первоначально писалось как Menʒies) возникло по той же причине: буква "z" была заменена на букву "y" (yogh).
Многобуквенные гомоглифы
Некоторые другие сочетания букв выглядят похоже, например, rn на m, cl на d, а vv на w.
В некоторых шрифтах с узким межбуквенным интервалом (таких как Tahoma) размещение буквы "c" рядом с буквами "j", "l" или "i" может создать гомоглиф, например, cj, cl, ci (g, d, a). Когда некоторые символы располагаются рядом друг с другом, при беглом взгляде они могут создавать визуальное впечатление другого, несвязанного символа. Более точно можно сказать, что некоторые типографские лигатуры могут выглядеть похоже на отдельные глифы. Например, лигатура "fi" в некоторых шрифтах может напоминать букву "A". Эта возможность возникновения путаницы иногда приводится как аргумент против использования лигатур.
Гомоглифы Юникода
В Юникоде есть кодовые точки для многих сильно гомоглифических символов, известных как "спутательные". и привлекались к особому вниманию в отношении интернационализированных доменных имен. По крайней мере, теоретически можно намеренно подделать доменное имя, заменив один символ его гомоглифом, создав таким образом второе доменное имя, которое не отличается от первого, и которое может быть использовано в фишинге (см. Главную статью IDN гомограф атака). Во многих шрифтах греческая буква "Α", кириллица "А" и латинская буква "А" визуально идентичны, как и латинская буква "a" и кириллица "а" (то же самое можно применить к латинским буквам "aBceHKopTxy" и кириллице ""). Доменное имя может быть подделан просто путем замены одной из этих форм на другой в отдельно зарегистрированном имени. Есть также много примеров почти гомоглифов в том же сценарии, таких как "í" (с острым акцентом) и "i", É (E острый) и Ė (E точка выше) и È (E grave), Í (с острым акцентом) и ĺ (Lowercase L с острым). При обсуждении этой конкретной проблемы безопасности любые две последовательности похожих символов могут быть оценены с точки зрения их потенциала, чтобы быть приняты как "пары гомоглифов", или если последовательности явно кажутся словами, как "псевдогомографы" (опять же отмечая, что эти термины могут сами вызывать путаницу в других контекстах). В китайском языке многие упрощенные китайские символы являются гомоглифами соответствующих традиционных китайских символов. Усилия реестров TLD и дизайнеров веб-браузеров направлены на минимизацию рисков гомоглифической путаницы. Обычно это достигается путем запрета названий, которые смешивают наборы символов из нескольких языков (игрушки Я us. org, используя кириллицу Я, будет недействительной, но wíkipedia. org и Википедии. В Канаде регистратор CA делает еще один шаг вперед, требуя, чтобы имена, отличающиеся только диакритическими знаками, имели одного и того же владельца и одного регистратора. Обработка китайских символов варьируется: в org и info регистрация одного варианта делает другой недоступным для кого-либо, в то время как в biz традиционные и упрощенные версии одного и того же имени поставляются в виде пакета двух доменов, которые оба указывают на один и тот же сервер доменных имен. Соответствующая документация будет найдена как на веб-сайтах разработчиков, так и на форуме IDN, предоставленном ICANN. В кириллице кириллица С не только выглядит как латинская C, но и занимает ту же кнопку в гибридных клавиатурах JCUKEN QWERTY. Этот дизайнерский нюанс можно увидеть на кнопке C/С, представленной в Ключевой монумент в Екатеринбурге.
Канонизация
Гомоглифы всех видов могут быть обнаружены посредством процесса, называемого "двойной канонизацией". Использование современных решений безопасности, особенно тех, которые способны сканировать вариации гомоглифов в доменных именах, позволяет автоматизировать обнаружение и предотвращение потенциальных угроз. Кроме того, внедрение строгой политики мониторинга и регистрации доменных имен может помочь оперативно выявлять и нейтрализовать риски, связанные с гомоглифами. Развивая культуру кибербезопасности и используя передовые технологии, организации могут усилить свою защиту от атак с использованием гомоглифов, обеспечивая более безопасную онлайн-среду.