Atac omografic

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Un exemplu de atac omografic asupra numelui de domeniu internaționalizat; „e” și „a” au fost înlocuite cu litere din alfabetul chirilic în loc de literele clasice latine.
Un exemplu de atac omografic asupra numelui de domeniu internaționalizat; „e” și „a” au fost înlocuite cu litere din alfabetul chirilic în loc de literele clasice latine.

Atacul omografic internaționalizat al numelui de domeniu este un tip de atac cibernetic în care un atacator poate înșela utilizatorii unui computer cu privire la sistemul la distanță cu care comunică prin exploatarea faptului că multe tipuri de caractere seamănă (de exemplu, sunt omografe, de unde și numele a atacului). De exemplu, un utilizator obișnuit al example.com poate fi păcălit să facă clic pe un link în care caracterul latin „A” este înlocuit cu caracterul „A” chirilic .

Acest tip de spoofing este, de asemenea, cunoscut sub numele de script spoofing . Codificarea Unicode încorporează numeroase sisteme de scriere și, dintr-o varietate de motive, cum ar fi caracterele sau greaca, O Latină și O Chirilică nu au fost atribuite aceluiași cod. Prin urmare, utilizarea lor greșită sau utilizarea rău intenționată este posibilă pentru atacurile cibernetice. [1]

Înregistrarea numelor de domenii omografice este similară cu greșirea tipografică , prin aceea că ambele forme de atac exploatează un nume similar cu un domeniu mai stabilit pentru a înșela un utilizator. Principala diferență constă în faptul că atacul tipografiat se bazează pe erori umane naturale, în timp ce în falsificarea omografică, atacatorul înșeală intenționat surferul web cu nume vizibil indistincte. De fapt, ar fi un accident rar ca un utilizator care navighează pe web să introducă, de exemplu, o literă chirilică într-un cuvânt. Există cazuri în care o înregistrare poate fi atât tipografie, cât și falsificare omografică; perechile de caractere l / I , i / j și 0 / O nu numai că sunt formate din caractere adiacente pe tastatură, dar au și unele similitudini între ele.

Istorie

O astfel de problemă înainte de apariția internetului și chiar a terminalelor de text a fost confuzia dintre „l” (litera mică „L”) / „1” (numărul „unu”) și „O” (majusculă pentru vocala „o” ) / "0" (numărul "zero"). Unele mașini de scris din era pre-computer foloseau același caracter pentru litera L minusculă și numărul unu; utilizatorii s-ar trezi tastând L minusculă atunci când ar dori să indice numărul unu. Confuzia dintre zero și litera O a dat naștere tradiției de trecere a zero, astfel încât operatorii de computere să le distingă corect. [2] Codificarea Unicode contribuie foarte mult la această confuzie prin combinarea caracterelor, accentelor, cratimelor etc., adesea datorită suportului inadecvat pentru redare, în special cu dimensiuni mici de fonturi și o mare varietate de dimensiuni de fonturi. [1]

Chiar și înainte, scrierea de mână oferea oportunități bogate de confuzie. Un exemplu notabil este etimologia cuvântului „ zenit ”. Traducerea din arabul „samt” a inclus greșeala scribului că a confundat un „m” pentru „ni”. Acest lucru era obișnuit în scrierea gotică medievală, care nu conecta coloanele verticale la literele i, m, nou, făcându-le dificil de distins când erau în ordine. Secvențe de caractere precum „rn” / „m” / „rri” („RN” / „M” / „RRI”), pot păcăli un ochi uman chiar și astăzi cu tehnologia computerizată modernă.

Înlocuirea intenționată a caracterelor similare aparținând diferitelor alfabete a fost, de asemenea, recunoscută în diverse contexte. De exemplu, Falsul chirilic care a fost folosit ca mijloc de divertisment și „ Codificarea Volapuk ”, în care chirilicul este reprezentat de caracterele latine asemănătoare, care a fost folosit în primele zile ale internetului ca o modalitate de a depăși lipsa de sprijin pentru alfabetul chirilic.

Omografe în codul ASCII

Codul ASCII are mai multe caractere sau perechi de caractere care seamănă , cunoscute sub numele de omografe . Spoofing atacuri bazate pe aceste similitudini sunt cunoscute sub numele de atacuri imitării omografice. De exemplu, 0 (numărul) și O (litera), majusculele L "l" și majusculele I "I".

Într-un exemplu de atac ipotetic, cineva ar putea înregistra un nume de domeniu care arată aproape identic cu un domeniu existent, dar care indică un alt server. De exemplu, domeniul „rnicrosoft.com” începe cu „r” și „n”, nu cu „m”. Alte exemple sunt G00GLE.COM, care seamănă foarte mult cu GOOGLE.COM în unele tipuri de fonturi. Folosind un amestec de caractere majuscule și minuscule, googIe.com (cu majuscule i în loc de minuscule L) arată foarte asemănător cu google.com original. În unele tipuri de fonturi cu spații înguste, cum ar fi Tahoma (utilizat ca implicit în bara de adrese Windows XP ), plasarea unui c în fața lui j, loi poate duce la omografii precum cl cj ci (dga).

Omografe în nume de domenii internaționalizate

În sistemele informatice multilingve, mai multe caractere pot apărea la fel pentru ochi. De exemplu, caracterul Unicode U + 0430, litera chirilică a („A”), poate apărea identic cu caracterul Unicode U + 0061, litera minusculă latină a („a”). Acest fapt poate duce la wikipediа.org (versiunea chirilică) de wikipedia.org (versiunea latină).

Problema apare din tratamentul diferit al personajelor în mintea utilizatorului și în programarea computerului. Dacă utilizatorul vede un caracter chirilic „а” într-un șir latin, îl confundă cu un „a” latin; nu există nicio diferență în glifele pentru aceste caractere în majoritatea fonturilor. Cu toate acestea, computerul le tratează diferit atunci când procesează șirul ca un identificator, deci există o nepotrivire între aspectul vizual al unui personaj și entitatea pe care o reprezintă.

Noul standard, deja acceptat pe scară largă, bazat pe nume de domenii internaționalizate , folosește setul complet de caractere Unicode oferind în același timp compatibilitate inversă cu versiunile anterioare. Utilizarea setului complet de caractere Unicode a extins setul de caractere de la câteva zeci dintr-un singur alfabet la multe mii de alfabete diferite; acest lucru a mărit mult sfera atacurilor omografice.

Atacurile omografice deschid o gamă largă de oportunități pentru phishing și alte tipuri de fraude. Un atacator ar putea înregistra un nume de domeniu similar cu cel al unui site web legitim, dar în care unele litere au fost înlocuite cu omografe din alt alfabet. Ar putea apoi să trimită e-mailuri care par să provină de pe site-ul original, dar direcționând oamenii către site-ul fals. Site-ul spoof ar putea apoi să înregistreze informații, cum ar fi parolele sau detaliile contului, pe măsură ce transmite trafic către site-ul real. Este posibil ca victimele să nu observe niciodată diferența, până când nu apar activități suspecte sau infracționale în conturile lor.

În decembrie 2001, Evgeniy Gabrilovich și Alex Gontmakher , ambii din Technion , Israel, au publicat un document intitulat „The Homograph Attack” [2], care descria un atac care folosea adresele URL Unicode pentru a falsifica adresa URL a unui site web. Pentru a demonstra fezabilitatea acestui tip de atac, cercetătorii au înregistrat cu succes o variantă a numelui de domeniu microsoft.com care încorporează caractere chirilice.

La 7 februarie 2005, Slashdot a raportat că acest exploit a fost dezvăluit de 3ric Johanson la conferința de hacker Shmoocon . [3] Browserele web care acceptă IDNA păreau să direcționeze adresa URL http: //www.pаypal.com/, unde primul caracter este înlocuit cu un „а” chirilic, pe site-ul binecunoscutei platforme de plăți Paypa l, dar de fapt, au condus la un site fals cu conținut diferit. Browserele populare au continuat să aibă probleme cu afișarea corectă a numelor de domenii internaționale până în aprilie 2017. [4]

Următoarele alfabete au caractere care pot fi folosite pentru atacuri de falsificare (vă rugăm să rețineți că acestea sunt doar cele mai evidente și comune; posibilitățile sunt mult mai mult decât cele enumerate aici):

chirilic

Chirilicul este de departe cel mai folosit alfabet pentru atacurile omografice, deoarece conține 11 glifi minuscule identici sau aproape identici cu cei latini.

Literele rusești а , с , е , о , р , х și у seamănă cu următoarele litere din alfabetul latin: a , c , e , o , p , x și y . Caracterele chirilice З , Ч și б seamănă cu numerele 3 , 4 și 6 . Cursivele generează alte cazuri de omografie: дтпи (în mod normal д т п и ), este similar cu d m n u (în unele fonturi se poate utiliza д , deoarece forma sa cursivă seamănă cu un caracter g cu litere mici; totuși în majoritatea fonturilor, д în schimb arată ca simbolul derivat parțial , ∂).

Dacă sunt numărate majusculele, А В С Е Н І Ј К М О Р Ѕ Т Х poate înlocui A B C E H I J K M O P S T X.

Literele chirilice non-ruse care încă cauzează cazuri de omografie sunt і și i , ј și j , ѕ și s , Ғ și F , Ԍ și G , Ү și Y.

Deși Komi De ( ԁ ), shha ( һ ), palochka ( Ӏ ) și izhitsa ( ѵ ) au o asemănare puternică cu latina d, h, lev, aceste litere sunt rare sau arhaice și nu sunt acceptate în majoritatea fonturilor standard (nu inclus în WGL-4 ). Încercarea de a le folosi ar putea provoca așa-numitul efect de notă de răscumpărare .

Greacă

Din alfabetul grecesc , numai caracterele omicron ο și uneori nu ν apar identic cu o literă a alfabetului latin în versiunea cu litere mici utilizate pentru adresele URL. Adăugând caractere cursive, alfa grecesc α arată ca o literă latină a.

Utilizând litere mari, lista se extinde considerabil. Grecescul Α Β Ε Η Ι Κ Μ Ν Ο Ρ Τ Χ Υ Ζ pare identic cu latinul ABEHIKMNOPTXYZ. Grecescul Α Γ Β Ε Η Κ Μ Ο Π Ρ Τ Φ Χ arată similar cu chirilicul АГВЕНКМОПРТФХ (cum ar fi chirilicul Л (Л) și grecescul certain în anumite fonturi sans-serif ), literele grecești κ și о arată similar în chirilic к și о. În plus, caracterele grecești τ, φ pot fi similare cu cele chirilice т, ф în unele fonturi, grecescul δ seamănă cu chirilicul б din alfabetul sârbesc , iar chirilicul a în italice, similar cu ceea ce se întâmplă pentru litera latină a, face posibilă înlocuirea acestuia cu alfa și invers. Forma semilună a sigmei, Σς, seamănă atât cu latina Cc, cât și cu chirilica Сс.

Dacă un IDN în sine este falsificat, beta beta β poate fi un substitut pentru germanul esszet ß în unele fonturi (și de fapt codul de codare pagina 437 le consideră echivalente), precum și sigma greacă ς pentru ç; substitutele grecești accentuate όίά pot fi utilizate de obicei pentru óíá în multe tipuri de fonturi, ultimul dintre acestea (alfa) seamănă din nou cu a în cursiv.

armean

Alfabetul armean poate ajuta, de asemenea, la introducerea caracterelor critice: mai multe caractere armene, cum ar fi օ, ո, ս, precum și majusculele Տ și Լ sunt adesea complet identice cu caracterele latine din fonturile moderne. Simboluri precum ա seamănă cu chirilicul ш. În afară de asta, există simboluri care seamănă. ցհոօզս care arată ca ghnoqu, յ care arată ca j (deși fără punct) și ք, care poate arăta ca apofă în funcție de font. Cu toate acestea, utilizarea armenilor este problematică. Nu toate fonturile standard au glifuri armenești (în timp ce simbolurile grecești și chirilice sunt prezente în majoritatea fonturilor standard). Din acest motiv, Windows înainte de Windows 7 afișa limba armeană cu un font distinct, Sylfaen , care acceptă limba armeană, iar amestecul armean și latin ar fi arătat diferit dacă un alt font decât Sylfaen sau un font Unicode (efect cunoscut sub numele de efect de notă de răscumpărare ). Versiunea actuală a Tahoma , utilizată în Windows 7, acceptă limba armeană (versiunile anterioare nu o făceau). Mai mult, acest font diferențiază latina g de armena ց.

Chiar și două litere în armeană (Ձշ) pot arăta ca numărul 2, Յ este similar cu 3, în timp ce վ uneori arată ca numărul 4.

Evreiască

Parodarea ebraică este în general rară. Doar trei litere din acel alfabet pot fi utilizate în mod fiabil: samekh (ס), care uneori arată ca o, vav cu diacritic (וֹ), care arată ca un i, și heth (ח), care arată ca litera n. Asemănări mai puțin precise pot fi găsite și pentru alte caractere alfanumerice. De asemenea, alfabetul ebraic este scris de la dreapta la stânga și încercarea de a-l amesteca cu glifele utilizate în scrierea de la stânga la dreapta poate cauza probleme.

chinez

Limba chineză poate avea multe cazuri de omografii, deoarece există multe caractere atât ca caractere tradiționale (script tradițional), cât și ca caractere chineze simplificate. În domeniul .org, înregistrarea uneia dintre cele două variante face ca înregistrarea celeilalte să fie indisponibilă; în .biz, o singură înregistrare IDN în limba chineză oferă ambele variante ca domenii active (care trebuie să aibă același server DNS și înregistrant). Aceeași politică este adoptată și de domeniul .hk (. 香港)

Alte scripturi

Alte scripturi bazate pe Unicode în care pot fi găsite omografe sunt Forme numerice (cifre romane), Compatibilitatea CJK și Litere și luni CJK anexate (unele abrevieri), Latină (anumite digrame), Simboluri valutare , Simboluri matematice alfanumerice și Forme alfabetice de prezentare ( tipografice) legături ). În majoritatea acestor cazuri, ICANN procesează domenii cu aceste glifuri ca litere componente (de exemplu, ㎞art.com și kmart.com ambele returnează aceeași adresă).

Personaje accentuate

Două nume care diferă doar printr-un accent pe un caracter pot arăta foarte asemănător, de exemplu „wíkipedia.org” nu este „wikipedia.org”, deoarece punctul de pe primul i a fost înlocuit cu un accent acut. În majoritatea registrelor de domenii de nivel superior, wíkipedia.tld (xn - wkipedia-c2a.tld) ​​și wikipedia.tld sunt două nume diferite care pot fi deținute de diferiți solicitanți. [5] O excepție este .ca , unde rezervarea versiunii ASCII simple a domeniului împiedică un alt solicitant de înregistrare să revendice o versiune accentuată cu același nume. [6]

Caracterele care nu se pot tipări

Unicode include multe caractere care nu sunt afișate în mod implicit, cum ar fi spațiul cu lățime zero. În general, ICANN interzice înregistrarea oricărui domeniu cu aceste caractere, indiferent de TLD .

Atacuri omografice cunoscute

În septembrie 2017, cercetătorul în securitate cibernetică Ankit Anubhav a descoperit un atac homograf IDN în care atacatorii au înregistrat adoḅe.com pentru a livra troieni betabot. [7]

Apără-te de atac

Cea mai simplă apărare pentru browserele web nu este să accepte IDNA sau alte mecanisme similare, care pot fi dezactivate direct de către utilizatori. Acest lucru ar putea însemna blocarea accesului la site-urile IDNA, dar browserele permit în general accesul și afișează pur și simplu IDN-uri în Punycode . Cu toate acestea, acest lucru echivalează cu abandonarea numelor de domenii non-ASCII.

Opera afișează Punycode pentru IDN excepția cazului în care domeniul de nivel superior ( de exemplu TLDs precum .ac sau .museum ) previne atacurile omografice prin limitarea ce caractere pot fi utilizate în nume de domenii. [8] De asemenea, permite utilizatorilor să adauge manual TLD-uri la lista permisă. [9]

De la versiunea 22 (2013), Firefox afișează IDN-uri dacă TLD previne atacurile omografice prin limitarea caracterelor care pot fi utilizate în numele de domeniu sau dacă scripturile pentru diferite limbi nu sunt amestecate în IDN-uri. În caz contrar, IDN-urile sunt afișate în Punycode. [10] [11]

Internet Explorer 7 permite IDN-uri, cu excepția etichetelor care combină scripturi pentru diferite limbi. Etichetele care combină scripturile sunt afișate în Punycode. Există excepții de la localizări în care caracterele ASCII sunt amestecate în mod obișnuit cu scripturi localizate. [12]

Ca o apărare suplimentară, Internet Explorer 7, Firefox 2.0 și versiunile ulterioare și Opera 9.10 includ filtre anti-phishing care încearcă să alerteze utilizatorii atunci când accesează site-uri web potențial periculoase. [13] [14] [15]

Abordarea Safari este de a afișa seturi de caractere problematice cu Punycode. Acest lucru poate fi modificat modificând setările din fișierele de sistem Mac OS X. [16]

Google Chrome folosește un algoritm similar cu cel folosit de Firefox de la versiunea 51. Versiunile anterioare afișează un IDN numai dacă toate caracterele sale aparțin uneia (și numai uneia) dintre limbile preferate de utilizator. [17] Unele domenii de nivel superior cu coduri de țară internaționalizate sunt restricționate pentru a împiedica atacurile omografice.

În aprilie 2017, mai multe browsere (inclusiv Chrome, Firefox și Opera) afișau în mod normal IDN-uri formate exclusiv din caractere chirilice (nu ca punycode), permițând atacuri de falsificare. Chrome a intensificat restricțiile IDN în versiunea 59 pentru a preveni acest atac. [18] [19]

ICANN a implementat o politică care interzice orice potențial TLD internaționalizat să aleagă litere care seamănă cu un TLD latin existent și, astfel, să fie utilizate pentru atacuri omografe. TLD-urile IDN propuse .бг (Bulgaria), .укр (Ucraina) și .ελ (Grecia) au fost respinse sau blocate datorită similitudinii lor cu literele latine. Toate cele trei (inclusiv sârbă .срб și mongol .мон ) au fost ulterior acceptate. [20] TLD-urile din trei litere sunt considerate mai sigure decât TLD-urile din două litere, deoarece sunt mai greu de asortat cu domeniile latine normale ISO-3166 , deși potențialul de a se potrivi cu noile domenii generice rămâne.

Aceste metode de apărare afectează doar browserele. Adresele URL homografice care găzduiesc software rău intenționat pot fi distribuite în continuare, fără a fi afișate ca Punycode, prin e-mail , rețele sociale sau alte site-uri web. Odată deschis, linkul fals va apărea în Punycode, dar în acest moment pagina se va încărca. A început și software-ul rău intenționat este posibil să fi fost deja descărcat pe computer. Postul de televiziune KBOI-TV a ridicat aceste îngrijorări atunci când o sursă necunoscută (înregistrându-se sub numele „complet anonim”) a înregistrat un nume de domeniu omogen pe care să-l dețină pentru a răspândi o glumă pentru ziua lui April Fool cu privire la guvernatorul din Idaho care a emis o presupusă interzicere a vânzării muzicii lui Justin Bieber . [21] [22]

Notă

  1. ^ a b „Considerații de securitate Unicode” , Raport tehnic nr. 36, 28.04.2010
  2. ^ a b Evgeniy Gabrilovich și Alex Gontmakher, The Homograph Attack Arhivat 30 ianuarie 2006 la Internet Archive ., Communications of the ACM, 45 (2): 128, februarie 2002
  3. ^ Dezvăluirea hacking IDN de către shmoo.com Arhivat 20.03.2005 Data din adresa URL nu se potrivește: 20 martie 2005 la Internet Archive .
  4. ^ (EN) Atacul de phishing Chrome și Firefox folosește domenii identice cu site-urile sigure cunoscute în Wordfence, 14 aprilie 2017. Accesat la 18 aprilie 2017.
  5. ^ Există diverse convertoare Punycode online, cum ar fi https://www.hkdnr.hk/idn_conv.jsp
  6. ^ Copie arhivată , pe cira.ca. Adus la 22 septembrie 2015 (arhivat din original la 7 septembrie 2015) .
  7. ^ https://threatpost.com/idn-homograph-attack-spreading-betabot-backdoor/127839/
  8. ^ Recomandare: numele de domenii internaționalizate (IDN) pot fi utilizate pentru falsificare. , pe opera.com , Opera, 25 februarie 2005. Accesat la 24 februarie 2007 (arhivat din original la 19 februarie 2007) .
  9. ^ Opera's Settings File Explained: IDNA White List , pe opera.com , Opera Software, 18 decembrie 2006. Accesat la 24 februarie 2007 (arhivat din original la 3 decembrie 2007) .
  10. ^ IDN Display Algorithm , la wiki.mozilla.org , Mozilla. Adus la 31 ianuarie 2016 .
  11. ^ Bug 722299 , la Bugzilla.mozilla.org . Adus la 31 ianuarie 2016 .
  12. ^ Tariq Sharif, Modificări la IDN în IE7 pentru a permite acum amestecarea de scripturi , în IEBlog , Microsoft, 31 iulie 2006. Accesat la 30 noiembrie 2006 .
  13. ^ Tariq Sharif, Filtru de phishing în IE7 . IEBlog , Microsoft. 9 septembrie 2005. Accesat la 30 noiembrie 2006 .
  14. ^ Firefox 2 Phishing Protection , de la mozilla.com , Mozilla, 2006. Accesat la 30 noiembrie 2006 .
  15. ^ Opera Fraud Protection , pe opera.com , Opera Software, 18 decembrie 2006. Accesat la 24 februarie 2007 (arhivat din original la 24 februarie 2007) .
  16. ^ Despre suportul Safari International Domain Name , la support.apple.com . Adus pe 29 aprilie 2017 .
  17. ^ IDN în Google Chrome - The Chromium Projects
  18. ^ Atacul de phishing Chrome și Firefox folosește domenii identice cu site-urile sigure cunoscute , la wordfence.com .
  19. ^ Phishing cu domenii Unicode , la xudongz.com .
  20. ^ IDN ccTLD Fast Track String Evaluation Finalization Arhivat la 17-10-2014 Data din adresa URL nu se potrivește: 17 octombrie 2014 la Internet Archive .
  21. ^ Adresa URL falsă a site-ului nu este de la KBOI-TV Arhivat la 5 aprilie 2011 la Arhiva Internet. KBOI-TV. Adus 01-04-2011.
  22. ^ Site-ul de știri Boise TV vizat cu farsă Justin Bieber. Arhivat 15 martie 2012 la Internet Archive . KTVB. Adus 01-04-2011.