Кіріспе

Орфография мен типографияда гомоглиф – екі немесе одан көп графема, таңба немесе глифтердің пішіндері бірдей немесе өте ұқсас көрінетін, бірақ мағынасы әртүрлі болатын түрлерінің бірі. Бұл атау осы қасиеттерді бөлісетін таңбалар тізбегіне де қолданылады. 2008 жылы Юникод консорциумы өзінің Техникалық есебі #36-ны бір шрифт ішіндегі таңбалардың визуалды ұқсастығынан және әртүрлі шрифттердегі таңбалардың ұқсастығынан туындайтын мәселелер туралы жариялады. Гомоглифтік символдардың мысалдары: а) диаэреза және умлаут (екі нүкте, бірақ мағынасы әртүрлі, әдетте бірдей кодтық нүктелермен кодталған); және б) тире және минус белгісі (екі қысқа көлденең сызық, бірақ мағынасы әртүрлі, көбінесе бірдей кодтық нүктемен кодталған). Сандар мен әріптер арасында 1 және кіші әріпті l әрқашан бөлек кодталады, бірақ көптеген қаріптерде өте ұқсас глифтермен көрсетіледі, ал 0 және үлкен O әрқашан бөлек кодталады, бірақ көптеген қаріптерде өте ұқсас глифтермен көрсетіледі. Гомоглифтік әріптердің кез келген жұбын графикалық түрде анық ажыратуға болатын глифтермен және жеке кодтық нүктелермен көрсетуге болады, бірақ бұл әрқашан жасалмайды. Бір/el және нөл/oh гомоглифтерін анық ажырата алмайтын қаріптер формулаларды, URL-дерді, бастапқы кодты, ID-лерді және таңбаларды контекстсіз ажырату қиын болатын басқа мәтіндерді жазу үшін қолайсыз деп есептеледі. Осы мақсаттар үшін, мысалы, кесілген нөлді пайдаланып глифтерді ажырататын қаріптер артықшылыққа ие.

Қатынасты терминдер

Гомограф термині кейде гомоглифпен шатастырылып, синоним ретінде қолданылады, бірақ жалпы лингвистикалық мағынада гомографтар – бірдей жазылатын, бірақ әртүрлі мағынасы бар сөздер, бұл сөздердің ерекшелігі, әріптердің емес. Аллографтар – әр түрлі көрінетін, бірақ бірдей мағынаны білдіретін шрифт дизайнының нұсқалары, мысалы, және немесе бір немесе екі сызығы бар доллар таңбасы. Синоглиф термині ұқсас, бірақ сәл абстрактілірек мағынаға ие, мысалы, символ және әріп (Lsd-де) екеуі де фунт стерлингті білдіреді, бірақ тек сол контексте ғана. Аллографтар мен синоглифтер бейресми түрде дисплей нұсқалары деп те аталады.

Умлаут және диареза

Алғашқы механикалық тегіш машиналар дәуірінде олар бір түймешемен ("артқа жою және қайта басу" әдісін қолдана отырып) терілді, бұл әдіс қос инвертті тырнақшаны теру үшін де қолданылды. Дегенмен, умляут бастапқыда екі қысқа тік сызықтан (екі нүкте емес) тұратын жұп ретінде пайда болды (Саттерлинді қараңыз). Қызықтысы, албан тіліндегі Е әрпінің үстіндегі екі нүкте диареза деп сипатталғанымен, диарезаның функциясын атқара алмайды.

0 және O; 1, 1 және I

Қазіргі кезде қолданыстағы екі кең таралған және маңызды гомоглифтер жиынтығы – нөл цифры және үлкен әріп O (яғни 0 және O); сондай-ақ бір цифры, кіші әріп L және үлкен әріп i (яғни 1, l және I). Механикалық теру машиналарын жасаған кезде бұл глифтердің арасында көрінетін айырмашылық өте аз немесе мүлдем болмады, сондықтан машинистер оларды пернетақтада терудің ыңғайлы қысқа жолдары ретінде жиі алмастырып қолданды. Шындығында, көптеген пернетақталарда тіпті "1" цифрына арналған перне де болмады, сондықтан пайдаланушылар оның орнына "l" әрпін басуға мәжбүр болды, ал кейбіреулері 0-ді де қоспады. Осы машинистер 1970 және 1980 жылдары компьютерлік пернетақта операторларына айналғанда, олардың ескі дағдылары олармен бірге сақталды және кейде жаңылысуға себеп болды. Көптеген қазіргі типтік дизайндар осы гомоглифтерді мұқият ажыратады, әдетте нөл цифрын таррақ етіп, ал бір цифрын айқын серифтермен көрсетеді. Алғашқы компьютерлік басылымдар одан да әрі барып, нөлді сызықпен немесе нүктемен белгіледі, бұл скандинавиялық "Ø" әрпі мен грек әрпі Φ (фи) арасында жаңа қайшылықтарға әкелді. Таңбаларды ажырату үшін таңба түрлерін қайта жасау шатасуды азайтты. Екі әртүрлі таңбаның белгілі бір бақылаушыға бірдей көріну деңгейі "көрнекі ұқсастық" деп аталады. Кейбір типтік дизайндар DIN 1450 оқылымдылық стандатына сәйкес келеді, бұл таңбаларды оңай ажырату үшін жасауды қамтиды: үлкен O-дан ажырату үшін нөлді сызықпен белгілеу; кіші әріпті l-ді құйрығымен және үлкен әріпті I-ді серифтермен 1 цифрынан ажырату; 5 цифрын үлкен S әрпінен ажырату және т.б. Гомоглифтерге жақын болуына байланысты, "thorn" (тікен) әрпін көрсету үшін "a" әрпін қолданудан туындаған шатасудың мысалы бар. Алғашқы ағылшын типографтары Голландиядан әкелінген жинақтарды импорттады, онда бұл әріп болмады, сондықтан олар оның орнына "a" әрпін қолданды, өйткені (Blackletter шрифтінде) олар жеткілікті түрде ұқсас көрінеді. Бұл қазіргі заманда "Ye olde shoppe" сияқты құбылыстарға әкелді, бұл сөздің бұрын "the" емес, /j//iː/ деп жазылғанын дұрыс емес білдіреді. Мензис есімінің (Менгис деп айтылады және бастапқыда Menʒies деп жазылған) пайда болуының себебі де осыған байланысты: "yogh" әрпінің орнына "a" әрпі қолданылды.

Көп әріпті гомоглифтер

Кейбір басқа әріптердің үйлесімдері ұқсас көрінеді, мысалы, rn әрпі m әрпіне, cl әрпі d әрпіне және vv әрпі w әрпіне ұқсас.

Кейбір тығыз аралықтағы қаріптерде (мысалы, Tahoma), c әрпін j, l немесе i сияқты әріптердің қасына қойғанда хомоглиф пайда болады, мысалы, cj cl ci (g d a). Кейбір таңбалар бір-біріне жақын орналасқанда, бір көз тастағанда басқа, мүлдем байланысы жоқ таңбаның визуалды бейнесін тудырады. Бұны дәлірек айтсақ, кейбір типографиялық лигатуралар жеке глифтерге ұқсас болуы мүмкін. Мысалы, (fi) лигатурасы кейбір қаріптерде немесе шрифттерде A әрпіне ұқсас көрінуі мүмкін. Бұл шатасу мүмкіндігі кейде лигатураларды қолдануға қарсы аргумент ретінде келтіріледі.

Юникодтық гомоглифтер

Юникодта "шатастыратын" деп аталатын көптеген күшті гомоглифтік таңбалар үшін кодтық нүктелер бар, және олар интернационалданған домендік атауларға қатысты ерекше назар аударды. Теория бойынша кем дегенде, біреу домендік атауды оның гомоглифімен ауыстыру арқылы әдейі шатастыруға тырысуы мүмкін, осылайша біріншісінен оңай ажыратылмайтын екінші домендік атауды жасап, оны фишингте пайдалануға болады (негізгі мақаланы қараңыз: IDN гомографтық шабуыл). Көптеген шрифттерде грек әрпі 'Α', кириллица әрпі 'А' және латын әрпі 'A' визуалды түрде бірдей болып көрінеді, сондай-ақ латын әрпі 'a' және кириллица әрпі 'а' да (осы принцип латын әрпі 'aBceHKopTxy' мен кириллица әрпіне де қолданылады). Домендік атауды осы формалардың біреуін екіншісімен, жеке тіркелген атаумен алмастыру арқылы шатастыруға болады. Сондай-ақ, бір әліпбидегі гомоглифтердің көптеген мысалдары бар, мысалы 'í' (жедел дыбыс белгісімен) және 'i', É (E жедел) және Ė (E үстінде нүктесі бар) және È (E ауыр), Í (жедел дыбыс белгісімен) және ĺ (кішкентай l жедел). Осы қауіпсіздік мәселесін талқылау кезінде екі ұқсас таңбалар тізбегінің "гомоглифтік жұп" ретінде қабылдану мүмкіндігіне қарай бағалауға болады, немесе тізбектер сөздерге ұқсас болса, "псевдогомографтар" ретінде қарастырылады (осы терминдердің өзі басқа контексттерде шатасу тудыруы мүмкін екенін атап өткен жөн). Қытай тілінде көптеген жеңілдетілген қытай таңбалары сәйкес келетін дәстүрлі қытай таңбаларының гомоглифтері болып табылады. TLD тіркелімдері мен веб-браузер дизайнерлері гомоглифтік шатасу қаупін азайтуға тырысады. Әдетте, бұл бірнеше тілден алынған таңбалар жиынтығын араластыратын атауларды тыйым салу арқылы жүзеге асырылады (мысалы, toys Я us.org, онда кириллица әрпі Я қолданылған, жарамсыз болар еді, бірақ wíkipedia.org және wikipedia.org әлі де әртүрлі веб-сайттар болып табылады). Канаданың .ca тіркелімі бір қадам алға жылжып, тек диакритикалық белгілермен ғана ерекшеленетін атаулардың бірдей иесі мен тіркеушісі болуын талап етеді. Қытай таңбаларын өңдеу әр түрлі: org және info тіркелімдерінде бір нұсқаны тіркеу екіншісін ешкімге қол жетімді етпейді, ал biz тіркелімінде бірдей атаудың дәстүрлі және жеңілдетілген нұсқалары екі домендік жиынтық ретінде ұсынылады, олардың екеуі де бір домендік атау серверіне сілтеме жасайды. Қатысты құжаттаманы әзірлеушілердің веб-сайттарында және ICANN ұсынған IDN форумында табуға болады. Кириллицада 'С' әрпі латын 'C' әрпіне ұқсас ғана емес, сонымен қатар JCUKEN QWERTY гибридтік пернетақталарында бірдей батырманы алады. Бұл дизайн ерекшелігі Екатеринбургтегі Пернетақта ескерткішіндегі 'C/С' батырмасында көрінеді.

Қасиетті деп тану

Барлық түрдегі гомоглифтерді "қос канонизация" деп аталатын әдіс арқылы анықтауға болады. Домендік атаулардағы гомоглифтік өзгешеліктерді іздеуге қабілетті, қауіпсіздіктің жаңартқыш шешімдерін пайдалану, ықтимал қауіптерді анықтау және алдын алу процесін автоматтандыруға мүмкіндік береді. Сонымен қатар, домендік атауларды қатаң бақылау және тіркеу ережелерін енгізу гомоглифтерге байланысты тәуекелдерді жылдам анықтап, жоюға көмектеседі. Кибер қауіпсіздік мәдениетін қалыптастыру және соңғы технологияларды қолдану арқылы ұйымдар гомоглифтік шабуылдарға қарсы қорғанысын күшейте алады, соның арқасында онлайн ортаны қауіпсіздендіруге болады.