# IDN հոմոգրաֆային հարձակում[խմբագրել | խմբագրել կոդը]

IDN հոմոգրաֆային հարձակման օրինակ. լատինական «e» և «a» տառերը փոխարինվել են կիրիլիցա «е» և «а» տառերով։
**Միջազգային դոմենի անուն** (**IDN**), **հոմոգրաֆային հարձակում**, (երբեմն գրվում է որպես **հոմոգլիֆային հարձակում**) մեթոդ, որն օգտագործվում է չարամիտ կողմերի կողմից՝ համակարգչային օգտատերերին խաբելու համար։

```
ունեն նույն ձևը, բայց ներկայացնում են տարբեր հնչյուններ իրենց համապատասխան գրային համակարգերում։
```

Այս տեսակի կեղծման հարձակումը հայտնի է նաև որպես սկրիպտային կեղծում: Յունիկոդը ներառում է բազմաթիվ սկրիպտներ (գրելու համակարգեր), և մի շարք պատճառներով նման տեսք ունեցող նիշերին, ինչպիսիք են հունական Ο-ն, լատինական O-ն և կիրիլիցա Օ-ն, նույն կոդը չի տրվել: Դրանց սխալ կամ չարամիտ օգտագործումը անվտանգության հարձակումների հնարավորություն է: Այսպիսով, օրինակ, Յունիկոդի սովորական օգտատերը կարող է գայթակղվել անվերապահորեն սեղմել դրա վրա որպես թվացյալ ծանոթ հղում՝ չիմանալով, որ երրորդ տառը լատինական «a» նիշը չէ, այլ կիրիլիցա «а» նիշը և, հետևաբար, բոլորովին այլ տիրույթ է նախատեսվածից:

Հոմոգրաֆիկ դոմենային անունների գրանցումը նման է տպագրական սխալների, քանի որ երկու տեսակի հարձակումներն էլ օգտագործում են ավելի հաստատված դոմենին նման անուն՝ օգտատիրոջը խաբելու համար: Հիմնական տարբերությունն այն է, որ տպագրական սխալների դեպքում հանցագործը զոհերին գրավում՝ հիմնվելով URL-ը ձեռքով մուտքագրելիս սովորաբար թույլ տրվող տպագրական սխալների վրա, մինչդեռ հոմոգրաֆիկ կեղծման դեպքում հանցագործը զոհերին խաբում է՝ ներկայացնելով տեսողականորեն անզանազանելի հիպերհղումներ: Իրոք, հազվադեպ է պատահում, որ վեբ օգտատիրոջ համար, օրինակ, կիրիլիցա տառը մուտքագրվի այլապես անգլերեն բառի մեջ՝ «bank»-ը վերածելով «bаnk»-ի: Կան դեպքեր, երբ գրանցումը կարող է լինել և՛ տպագրական սխալ, և՛ հոմոգրաֆիկ կեղծում. l/I, i/j և 0/O զույգերը ստեղնաշարի վրա բոլորը մոտ են միմյանց, և, կախված տառատեսակից, տեսողականորեն դժվար կամ անհնար է տարբերակել:

## Պատմություն

Հոմոգլիֆները տարածված են երեք հիմնական եվրոպական այբուբեններում՝ լատինական, հունական և կիրիլիցա։ Յունիկոդը չի փորձում միավորել այս գլիֆները և փոխարենը առանձնացնում է գրերի մեծ մասը։
Այս տեսակի վաղ շրջանի անհարմարություններից մեկը, որը դեռևս նախորդում էր ինտերնետին և նույնիսկ տեքստային տերմինալներին, «l» (փոքրատառ «L») / «1» (մեկ թիվ) և «O» (ձայնավոր «o» մեծատառ) / «0» (զրո թիվ) միջև շփոթությունն էր։ Համակարգչային դարաշրջանից առաջ որոշ գրամեքենաներ նույնիսկ համատեղում էին L-ն և մեկը. օգտատերերը ստիպված էին մուտքագրել փոքրատառ L, երբ անհրաժեշտ էր մեկը։ Զրո/o շփոթությունը հանգեցրել է զրոները խաչաձևելու ավանդույթի առաջացմանը, որպեսզի համակարգչային օպերատորը դրանք ճիշտ մուտքագրի։ Յունիկոդը կարող է մեծապես նպաստել դրան՝ միավորելով նիշեր, շեշտադրումներ, մի քանի տեսակի գծիկներ և այլն, հաճախ անբավարար մատուցման աջակցության պատճառով, հատկապես փոքր տառատեսակների չափերի և տառատեսակների լայն բազմազանության դեպքում։

Ավելի վաղ ձեռագիրը շփոթության հարուստ հնարավորություններ էր ընձեռում։ Նշանակալի օրինակ է «զենիթ» բառի ստուգաբանությունը։ Արաբերեն «սամտ» բառից թարգմանությունը ներառում էր գրչի կողմից «մ»-ի շփոթումը «նի»-ի հետ։ Սա տարածված էր միջնադարյան սև տառերի մեջ, որոնք չէին միացնում 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-ի հասցեի տողի լռելյայն տառը), j, l կամ i-ի առջև c տառը տեղադրելը կառաջացնի հոմոգլիֆներ, ինչպիսիք են cl cj ci (d g a):

## Հոմոգրաֆներ միջազգայնացված դոմենային անուններում

Բազմալեզու համակարգչային համակարգերում տարբեր տրամաբանական նիշերը կարող են ունենալ նույնական տեսք։ Օրինակ՝ Յունիկոդ U+0430 նիշը՝ կիրիլիցայի փոքրատառ a («а»), կարող է նույնական լինել Յունիկոդ U+0061 նիշին՝ լատիներեն a փոքրատառ («a»), որը անգլերենում օգտագործվող փոքրատառ «a» տառն է։ Հետևաբար՝ wikipedia.org (xn--wikipedi-86g.org; կիրիլիցայի տարբերակը)՝ wikipedia.org-ի (լատինական տարբերակ) փոխարեն։

Խնդիրը ծագում է օգտատիրոջ մտքում և համակարգչի ծրագրավորման մեջ նիշերի տարբեր մոտեցումից: Օգտատիրոջ տեսանկյունից, լատինական տողի մեջ կիրիլիցա «ա»-ն լատինական «ա»- է. տառատեսակների մեծ մասում այս նիշերի համար գլիֆների միջև տարբերություն չկա: Այնուամենայնիվ, համակարգիչը տարբեր կերպ է վերաբերվում դրանց, երբ նիշերի տողը մշակում է որպես նույնականացուցիչ: Այսպիսով, անվան տեսողական տեսքի և անվանված միավորի միջև մեկ-մեկ համապատասխանության մասին օգտատիրոջ ենթադրությունը խափանվում է:

Միջազգայինացված դոմենային անունները դոմենային անուններին հնարավորություն են տալիս օգտագործել Յունիկոդի ամբողջական նիշերի հավաքածուն հետադարձ համատեղելի, և այս ստանդարտն արդեն լայնորեն աջակցվում է։ Այնուամենայնիվ, այս համակարգը ընդլայնել է նիշերի ցանկը՝ մեկ այբուբենի մի քանի տասնյակ նիշերից մինչև բազմաթիվ գրերի հազարավոր նիշեր. սա զգալիորեն մեծացրել է հոմոգրաֆային հարձակումների հնարավորությունները։

Սա լայն հնարավորություններ է բացում ֆիշինգի և խարդախության այլ տեսակների համար։ Հարձակվողը կարող է գրանցել դոմենի անուն, որը նման է օրինական կայքի անվանմանը, բայց որի որոշ տառեր փոխարինվել են այլ այբուբենի հոմոգրաֆներով։ Այնուհետև հարձակվողը կարող է էլեկտրոնային նամակներ ուղարկել, որոնք ենթադրաբար գալիս են սկզբնական կայքից, բայց մարդկանց ուղղորդում են կեղծ կայք։ Կեղծ կայքը կարող է գրանցել այնպիսի տեղեկություններ, ինչպիսիք են գաղտնաբառերը կամ հաշվի մանրամասները, միաժամանակ երթևեկությունը փոխանցելով իրական կայքին։ Զոհերը կարող են երբեք չնկատել տարբերությունը, մինչև իրենց հաշիվներում կասկածելի կամ հանցավոր գործունեություն չծավալվի։

2001 թվականի դեկտեմբերին Իսրայելի Տեխնիոն քաղաքից Եվգենի Գաբրիլովիչը և Ալեքս Գոնտմակերը հրապարակել են «Հոմոգրաֆիկ հարձակումը» վերնագրով հոդվածը, որը նկարագրում էր մի հարձակում, որն օգտագործում էր Յունիկոդ URL-ներ՝ կայքի URL-ը կեղծելու համար: Այս տեսակի հարձակման իրագործելիությունը ապացուցելու համար հետազոտողները հաջողությամբ գրանցեցին microsoft.com դոմենի անվան մի տարբերակ, որը ներառում էր կիրիլիցա նիշեր:

Այս տեսակի խնդիրները կանխատեսվել են IDN-ի ներդրումից առաջ, և գրանցամատյաններին տրվել են ուղեցույցներ՝ խնդիրը կանխելու կամ նվազեցնելու համար: Օրինակ, խորհուրդ է տրվել, որ գրանցամատյանները ընդունեն միայն լատինական այբուբենի և իրենց երկրի այբուբենի նիշերը, այլ ոչ թե Unicode-ի բոլոր նիշերը, սակայն այս խորհուրդը անտեսվել էր հիմնական TLD-ների կողմից:

2005 թվականի փետրվարի 6-ին Քորի Դոկտորոուն հայտնել է, որ այս շահագործման հնարավորությունը բացահայտվել է 3ric Johanson-ի կողմից Shmoocon հաքերային կոնֆերանսի ժամանակ։ IDNA-ն աջակցող վեբ զննարկիչները  URL-ը, որտեղ առաջին a նիշը փոխարինվում է կիրիլիցա a-ով, ուղղորդում էին հայտնի PayPal վճարային կայք, բայց իրականում հանգեցնում էին կեղծված կայքի՝ տարբեր բովանդակությամբ։ Հայտնի զննարկիչները շարունակել են խնդիրներ ունենալ միջազգային դոմենային անունները պատշաճ կերպով ցուցադրելու հետ մինչև 2017 թվականի ապրիլը։

Հետևյալ այբուբեններն ունեն նիշեր, որոնք կարող են օգտագործվել կեղծ հարձակումների համար (խնդրում ենք նկատի ունենալ, որ սրանք միայն ամենաակնհայտն ու տարածվածն են՝ հաշվի առնելով գեղարվեստական ​​​​լիցենզիան և այն, թե որքան ռիսկի կդիմի կեղծարարը բռնվելու համար. հնարավորությունները շատ ավելի շատ են, քան կարելի է թվարկել այստեղ):

### Կիրիլիցա

Կիրիլիցան, անկասկած, հոմոգլիֆների համար ամենատարածված այբուբենն է, հիմնականում այն ​​պատճառով, որ այն պարունակում է 11 փոքրատառ գլիֆներ, որոնք նույնական են կամ գրեթե նույնական են լատինական համարժեքներին։

Կյուրեղագիր а, с, е, о, р, х և у տառերը լատինական այբուբենի օպտիկական համարժեքներն ունեն և նման են a, c, e, o, p, x և y տառերին։ Կյուրեղագիր З, Ч և б տառերը նման են 3, 4 և 6 թվանշաններին։ Թեքատառ տառատեսակը առաջացնում է ավելի շատ հոմոգլիֆներ՝ дтпи կամ дтпи (ստանդարտ տառատեսակով՝ дтпи), որոնք նման են dmnu-ին (որոշ տառատեսակներում կարող է օգտագործվել д, քանի որ դրա թեքատառ ձևը նման է փոքրատառ g-ի. սակայն, մեծ մասամբ հիմնական տառատեսակներում д-ն նման է մասնակի դիֆերենցիալի նշանի՝ ∂):

Եթե ​​հաշվում ենք մեծատառերը, АВСЕНІЈКМОРЅТХ-ը կարող է փոխարինել ABCEHIJKMOPSTX-ով, բացի փոքրատառ կիրիլիցայի հոմոգլիֆների համար մեծատառերից։

Կյուրիլիցայի ոչ ռուսերեն խնդրահարույց տառերն են՝ і և i, ј և j, כ և q, ѕ և s, ם և w, Ү և Y, մինչդեռ Ғ և F և G տառերը որոշակի նմանություն ունեն միմյանց հետ։ Կյուրիլիցայի տառը կարող է օգտագործվել նաև, եթե IDN-ն ինքնին կեղծվում է՝ äëïö-ն կեղծելու համար։

Թեև Կոմի Դե (ׁ), շհա (һ), պալոչկա (Ӏ) և իժիցա (ѵ) տառերը մեծ նմանություն ունեն լատիներեն d, h, l և v տառերի հետ, այս տառերը կամ հազվագյուտ են, կամ հնացած և լայնորեն չեն աջակցվում ստանդարտ տառատեսակների մեծ մասում (դրանք չեն ներառվում WGL-4-ում): Դրանք օգտագործելու փորձը կարող է հանգեցնել փրկագնի նոտայի էֆեկտի:

### Հունարեն

Հունական այբուբենից միայն օմիկրոնը (ο) և երբեմն նու (ν) տառերն են նույնականացվում URL-ների համար օգտագործվող լատինական այբուբենի փոքրատառ տառերին: Իտալիկ տառատեսակով տառատեսակները ներկայացվում են հունական այբուբենի (α) տառը, որը նման է լատինական a տառին:

Այս ցանկը մեծանում է, եթե թույլատրվում են նաև մոտ համընկնումներ (օրինակ՝ հունարեն εικηρτυωχγ՝ eiknptuwxy-ի համար): Մեծատառերի օգտագործումը ցանկը մեծապես ընդլայնում է: Հունարեն ΑΒΕΗΙΚΜΝΟΡΤΧΥΖ-ը նույնական է լատիներեն ABEHIKMNOPTXYZ-ին: Հունարեն ΑΓΒΕΗΚΜΟΠΡΤΦΧ-ը նման է կիրիլիցա АГВЕНКМОПРТФХ-ին (ինչպես կիրիլիցա Լլ (Լլ) և հունարեն Λ որոշ երկրաչափական sans-serif տառատեսակներում), հունարեն κ և ο տառերը նման են կիրիլիցա К-ին և О-ին: Բացի այդ, հունարեն τ, φ կարող են նման լինել կիրիլիցա Т-ին, որոշ տառատեսակներում՝ ф-ին, հունարեն δ-ն նման է կիրիլիցա Б-ին, իսկ կիրիլիցա а-ն նույնպես թեքատառ է գրում իր լատինական համարժեքի պես, ինչը հնարավորություն է տալիս այն փոխարինել այբուբենով կամ հակառակը: Սիգմայի լուսնային ձևը՝ Ϲϲ-ը, նման է և՛ լատինական Cc-ին, և՛ կիրիլիցա տառին։ Հատկապես ժամանակակից տառատեսակներում կիրիլիցա л-ն արտահայտվում է հունարեն π-ից անզանազանելի գլիֆով։

Եթե ​​IDN-ն ինքնին կեղծվում է, հունարեն beta β-ն որոշ տառատեսակներում կարող է փոխարինել գերմանական eszett ß-ին (և իրականում, կոդային էջը 437 դրանք համարում է համարժեք), ինչպես նաև հունարեն բառի վերջի տարբերակ sigma ς-ն կարող է փոխարինել ç-ին։ շեշտված հունարեն όία-ն սովորաբար կարող է օգտագործվել óíá-ի համար շատ տառատեսակներում, որոնցից վերջինը (ալֆա) կրկին նման է միայն թեք տառատեսակով a-ի։

### Հայերեն

Հայերեն այբուբենը նույնպես կարող է նպաստել կարևոր նշանների. մի քանի հայկական նշաններ, ինչպիսիք են օ, ո, ս, ինչպես նաև մեծատառ Տ-ն և Լ-ն, հաճախ լիովին նույնական են ժամանակակից տառատեսակների լատինական նշաններին, և նշաններ, որոնք բավականաչափ նման են փոխանցման համար, ինչպիսիք են ցհոզս-ը, որը նման է ղնոքու-ին, յ-ն, որը նման է j-ին (չնայած առանց կետերի), և ք-ն, որը կարող է նման լինել p-ին կամ f-ին՝ կախված տառատեսակից. ա-ն կարող է նմանվել կիրիլիցա ш-ին։ Այնուամենայնիվ, հայերենի օգտագործումը, բարեբախտաբար, մի փոքր պակաս հուսալի է. ոչ բոլոր ստանդարտ տառատեսակներն ունեն հայկական գլիֆներ (մինչդեռ հունարեն և կիրիլիցա գրերը՝ այո)։ Windows 7-ից առաջ Windows-ը հայերենը թարգմանել է առանձին տառատեսակով՝ Sylfaen-ով, որի մեջ հայերենի և լատիներենի խառնուրդը ակնհայտորեն տարբեր կլիներ, եթե օգտագործվեր Sylfaen-ից տարբեր տառատեսակ կամ Unicode տառատեսակ։ (Սա հայտնի է որպես փրկագնի նոտայի էֆեկտ)։ Windows 7-ում օգտագործվող Tahoma-ի ներկայիս տարբերակը աջակցում է հայերենին (նախորդ տարբերակները՝ ոչ)։ Ավելին, այս տառատեսակը տարբերակում է լատիներեն g-ն հայերեն ց-ից։

Հայերենում երկու տառ (Ձշ) նույնպես կարող են նմանվել 2 թվին, Յ-ն նման է 3-ին, մինչդեռ մեկ այլ տառ (վ) երբեմն նման է 4 թվին։

### Եբրայերեն

Եբրայերեն կեղծումը, որպես կանոն, հազվադեպ է լինում։ Այդ այբուբենից միայն երեք տառ կարելի է հուսալիորեն օգտագործել՝ սամեխ (ס), որը երբեմն նման է o-ի, վավ՝ դիակրիտիկ նշանով (וֹ), որը նման է i-ի, և հեթ (ח), որը նման է n տառին։ Կարելի է գտնել նաև որոշ այլ տառաթվային համարների համար ավելի քիչ ճշգրիտ մոտավոր թվեր, բայց դրանք սովորաբար բավականաչափ ճշգրիտ են միայն օտարերկրյա բրենդավորման նպատակներով օգտագործելու համար, և ոչ թե փոխարինման համար։ Ավելին, եբրայերեն այբուբենը գրվում է աջից ձախ, և այն ձախից աջ գլիֆների հետ խառնելու փորձը կարող է խնդիրներ առաջացնել։

### Թայերեն

Վերևում՝ Թայլանդական գլիֆները ներկայացված են ժամանակակից տառատեսակով (IBM Plex), որտեղ դրանք նման են լատինական գլիֆներին։ Ներքևում՝ Նույն գլիֆները ներկայացված են ավանդական ցիկլերով։
Չնայած թայերեն գիրը պատմականորեն ունեցել է առանձնահատուկ տեսք՝ բազմաթիվ օղակներով և փոքր զարդարանքներով, ժամանակակից թայերեն տպագրությունը, սկսած 1973 թվականին Manoptica-ից և շարունակվելով ժամանակակից դարաշրջանում՝ 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-ն երկու տարբեր անուններ են, որոնք կարող են պատկանել տարբեր գրանցողների։ Միակ բացառությունը .ca-ն է, որտեղ դոմենի պարզ ASCII տարբերակի ամրագրումը թույլ չի տալիս մեկ այլ գրանցողի պահանջել նույն անվան շեշտված տարբերակը։

### Չցուցադրվող նիշեր

Յունիկոդը ներառում է բազմաթիվ նիշեր, որոնք լռելյայնորեն չեն ցուցադրվում, օրինակ՝ զրոյական լայնության տարածությունը։ Ընդհանուր առմամբ, ICANN-ը արգելում է այս նիշերով ցանկացած դոմենի գրանցումը՝ անկախ TLD-ից։

### Հայտնի հոմոգրաֆային հարձակումներ

2011 թվականին անհայտ աղբյուրը (գրանցվելով «Լիովին անանուն» անվամբ) գրանցել է KBOI-TV հեռուստաալիքին համարժեք դոմենի անուն՝ կեղծ լրատվական կայք ստեղծելու համար: Կայքի միակ նպատակն էր տարածել ապրիլմեկյան կատակը Այդահոյի նահանգապետի կողմից Ջասթին Բիբերի երաժշտության վաճառքի ենթադրյալ արգելքի մասին։

2017 թվականի սեպտեմբերին անվտանգության հետազոտող Անկիտ Անուբհավը հայտնաբերել է IDN հոմոգրաֆային հարձակում, որտեղ հարձակվողները գրանցել են adoḅe.com կայքը՝ Betabot տրոյանը տարածելու համար։

## Defending against the attack

### Հաճախորդի կողմից մեղմացում

Ամենապարզ պաշտպանությունն այն է, որ վեբ զննարկիչները չաջակցեն IDNA-ին կամ այլ նմանատիպ մեխանիզմներին, կամ օգտատերերը անջատեն իրենց զննարկիչների ցանկացած աջակցություն: Դա կարող է նշանակել IDNA կայքեր մուտք գործելու արգելափակում, բայց, որպես կանոն, զննարկիչները թույլ են տալիս մուտք գործել և պարզապես ցուցադրում են IDN-ները Punycode-ում: Ամեն դեպքում, սա նշանակում է հրաժարվել ոչ ASCII դոմենային անուններից:

* Mozilla Firefox 22 և ավելի նոր տարբերակները ցուցադրում են IDN-ներ, եթե TLD-ն կանխում է հոմոգրաֆային հարձակումները՝ սահմանափակելով, թե որ նիշերը կարող են օգտագործվել դոմենային անուններում կամ պիտակներում: Հակառակ դեպքում, IDN-ները ցուցադրվում են Punycode-ում։
* Google Chrome-ի 51-րդ և ավելի ուշ տարբերակները օգտագործում են Firefox-ի կողմից օգտագործվողին նման ալգորիթմ: Նախորդ տարբերակները ցուցադրում են IDN-ը միայն այն դեպքում, եթե դրա բոլոր նիշերը պատկանում են օգտատիրոջ նախընտրած լեզուներից մեկին (և միայն մեկին): Chromium-ը և Chromium-ի վրա հիմնված զննարկիչները, ինչպիսիք են Microsoft Edge-ը (2020 թվականից) և Opera-ն, նույնպես օգտագործում են նույն ալգորիթմ։
* Safari-ի մոտեցումը խնդրահարույց նիշերի հավաքածուները Punycode-ի տեսքով ներկայացնելն է: Սա կարելի է փոխել՝ Mac OS X-ի համակարգային ֆայլերում կարգավորումները փոփոխելով։
* Internet Explorer-ի 7-րդ և ավելի ուշ տարբերակները թույլ են տալիս IDN-ներ, բացառությամբ այն պիտակների, որոնք խառնում են տարբեր լեզուների սկրիպտներ: Սկրիպտներ խառնող պիտակները ցուցադրվում են Punycode-ում: Կան բացառություններ տեղայնացումների համար, որտեղ ASCII նիշերը սովորաբար խառնվում են տեղայնացված սկրիպտների հետ։ Internet Explorer 7-ը ​​կարող էր օգտագործել IDN-ներ, սակայն այն սահմանափակումներ է դնում ոչ ASCII դոմենային անունների ցուցադրման վրա՝ հիմնվելով թույլատրված լեզուների օգտատիրոջ կողմից սահմանված ցանկի վրա, և ապահովում է ֆիշինգի դեմ պաշտպանիչ ֆիլտր, որը ստուգում է կասկածելի կայքերը հայտնի ֆիշինգային կայքերի հեռակա տվյալների բազայի համեմատությամբ։
* Microsoft Edge Legacy-ն բոլոր Unicode-ները վերածում է Punycode-ի։

Որպես լրացուցիչ պաշտպանություն, Internet Explorer 7-ը, Firefox 2.0-ը և ավելի բարձր տարբերակները, ինչպես նաև Opera 9.10-ը ներառում են ֆիշինգային ֆիլտրեր, որոնք փորձում են զգուշացնել օգտատերերին, երբ նրանք այցելում են վնասակար կայքեր։ 2017 թվականի ապրիլի դրությամբ մի քանի զննարկիչներ (ներառյալ Chrome-ը, Firefox-ը և Opera-ն) սովորաբար ցուցադրել են միայն կիրիլիցա տառերից բաղկացած IDN-ներ (ոչ թե punycode-ի տեսքով), ինչը թույլ էր տալիս կեղծ հարձակումներ կատարել: Chrome-ը խստացրել է ժ IDN սահմանափակումները 59-րդ տարբերակում՝ այս հարձակումը կանխելու համար։

Այս պաշտպանության մեթոդները տարածվում են միայն զննարկչի ներսում: Վնասակար ծրագրեր պարունակող հոմոգրաֆիկ URL-ները դեռևս կարող են տարածվել՝ առանց Punycode-ի տեսքով ցուցադրվելու, էլեկտրոնային փոստի, սոցիալական ցանցերի կամ այլ կայքերի միջոցով՝ առանց հայտնաբերվելու, մինչև օգտատերը իրականում չսեղմի հղման վրա: Չնայած կեղծ հղումը կցուցադրվի Punycode-ում, երբ այն սեղմվի, այս պահին էջն արդեն սկսել է բեռնվել զննարկիչում:

### Սերվերի գրանցամատյանի օպերատորի մեղմացում

IDN հոմոգրաֆների տվյալների բազան Python գրադարան է, որը թույլ է տալիս մշակողներին պաշտպանվել դրանից՝ օգտագործելով մեքենայական ուսուցման վրա հիմնված նիշերի ճանաչում։

ICANN-ը ներդրել է քաղաքականություն, որն արգելում է ցանկացած պոտենցիալ միջազգայնացված TLD-ի ընտրել այնպիսի տառեր, որոնք կարող են նման լինել արդեն իսկ գոյություն ունեցող լատինական TLD-ին և այդպիսով օգտագործվել հոմոգրաֆային հարձակումների համար: Առաջարկվող IDN TLD-ները՝ .бг (Բուլղարիա), .укр (Ուկրաինա) և .ελ (Հունաստան) մերժվել կամ կասեցվել են լատինական տառերին իրենց ենթադրյալ նմանության պատճառով: Երեքն էլ (ինչպես նաև սերբական .срб և մոնղոլական .мон) ավելի ուշ ընդունվել են։ Եռատառ TLD-ները համարվում են ավելի անվտանգ, քան երկտառ TLD-ները, քանի որ դրանք ավելի դժվար է համապատասխանեցնել սովորական լատինական ISO-3166 երկրի դոմեններին։ Չնայած նոր ընդհանուր դոմեններ համապատասխանեցնելու հնարավորությունը մնում է, նման ընդհանուր դոմենները շատ ավելի թանկ են, քան երկրորդ կամ երրորդ մակարդակի դոմենի հասցեի գրանցումը, ինչը ծախսերի առումով արգելակող է դարձնում հոմոգլիֆիկ TLD գրանցելու փորձը՝ միայն խարդախ դոմեններ ստեղծելու նպատակով (ինչն ինքնին կարժանանար ICANN-ի ուշադրությանը)։

Ռուսաստանի գրանցամատյանի օպերատոր՝ RU TLD-ի համակարգող կենտրոնը, ընդունում է միայն .рф վերին մակարդակի դոմենի կիրիլիցա անունները՝ արգելելով դրանց խառնուրդը լատինական կամ հունական նիշերի հետ։ Սակայն .com և այլ gTLD-ների հետ կապված խնդիրը մնում է բաց։

### Հետազոտության վրա հիմնված մեղմացումներ

Իրենց 2019 թվականի ուսումնասիրության մեջ Սուզուկին և այլք ներկայացրել են ShamFinder-ը, IDN-ները ճանաչելու ծրագիր, որը լույս է սփռում դրանց տարածվածության վրա իրական աշխարհի իրավիճակներում: Նմանապես, Չիբան և այլք (2019) մշակել են DomainScouter-ը, համակարգ, որը հմուտ է դոմեններում բազմազան հոմոգրաֆային IDN-ներ հայտնաբերելու հարցում՝ վերլուծելով 570 բարձր մակարդակի դոմեններում (TLD) մոտավորապես 4.4 միլիոն գրանցված IDN-ներ, այն կարողացել է հաջողությամբ նույնականացնել 8284 IDN հոմոգրաֆ, այդ թվում՝ անգլերենից բացի այլ լեզուներով ապրանքանիշերի թիրախավորող բազմաթիվ նախկինում չբացահայտված դեպքեր։

## Տես նաև

* Security issues in Unicode

## Ծանոթագրություններ