Pojdi na vsebino

Homoglif

Iz Wikipedije, proste enciklopedije
Prekrita homoglifa
U+0061 a LATINIČNA MALA ČRKA A in
U+0430 а CIRILIČNA MALA ČRKA A. Na sliki sta oba znaka upodobljena v pisavi Helvetica LT Std Roman.

Homoglíf je v pravopisu in tipografiji eden od dveh ali več grafemov, znakov ali glifov z oblikami, ki se videti enake ali zelo podobne, vendar imajo lahko različen pomen. Oznaka se rabi tudi za zaporedja znakov, ki si delijo te lastnosti.

Leta 2008 je Unicode Consortium objavil svoje tehnično poročilo št. 36[1] o vrsti vprašanj, ki izhajajo iz vizualne podobnosti znakov v posameznih pisavah in podobnosti med znaki v različnih pisavah.

Zgleda homoglifskih simbolov sta:

(a) diareza in preglas (oba sta par pik, vendar z različnim pomenom, čeprav sta kodirana z istimi kodnimi točkami)
(b) vezaj in znak minus (oba sta kratka vodoravna črta, vendar z različnim pomenom, čeprav sta pogosto kodirana z isto kodno točko).

Med števkami in črkami sta števka 1 in mala črka l vedno kodirani ločeno, vendar sta v mnogih tipografskih pisavah označeni z zelo podobnimi glifi, števka 0 in velika črka O pa sta vedno kodirani ločeno, vendar sta v mnogih pisavah označeni z zelo podobnimi glifi. Praktično je mogoče vsak primer homoglifskega para znakov grafično ločiti z jasno razločljivimi glifi in ločenimi kodnimi točkami, vendar to ni vedno storjeno. Pisave, ki ne ločujejo izrecno homoglifov ena/el in nič/o, veljajo za neprimerne za pisanje formul, URL-jev, izvorne kode, ID-jev in drugega besedila, kjer znakov ni vedno mogoče ločiti brez konteksta. Za te namene so na primer prednostne pisave, ki ločujejo glife s poševno ničlo.

Sorodni pojmi

[uredi | uredi kodo]

Izraz enakopisnica (homograf) se včasih zlorablja kot sopomenka za homoglif, vendar so v običajnem jezikovnem smislu enakopisnice besede, ki se pišejo enako, vendar imajo različne pomene, kar je lastnost besed, ne znakov.

Alografi so različice oblikovanja pisav, ki so videti drugače, vendar pomenijo isto stvar   na primer g in g ali znak dolarja ($) z eno ali dvema črticama. Izraz sinoglif ima podoben, a nekoliko bolj abstrakten pomen   na primer simbol ⟨£⟩ in črka ⟨L⟩ (v Lsd) oba pomenita funt šterling,[2] vendar le v tem kontekstu. Alografi in sinoglifi so neformalno znani tudi kot prikazovalne različice.

Trema za preglas in diarezo

[uredi | uredi kodo]

Trema se uporablja za označevanje preglasa ali diereze. V času zgodnjih mehanskih pisalnih strojev so jo tipkali z isto tipko (z uporabo tehnike »vračanja in tipkanja preko roba«), ki se je uporabljala za dvojne narekovaje. Vendar pa je preglas izviral iz para kratkih navpičnih črt, ne iz dveh pik (glej Sütterlinova pisava). Mimogrede, dve piki nad črko ⟨ë⟩ sta v albanščini opisani kot diareza, vendar ne izpolnjujeta njene funkcije.[a]

Zgledi

[uredi | uredi kodo]

0 in O; 1, l in I

[uredi | uredi kodo]

Dva pogosta in pomembna nabora homoglifov, ki se uporabljata v sedanjosti, sta števka nič ⟨0⟩ in velika črka ⟨O⟩   ter števka ena ⟨1⟩, mala črka Ll⟩ in velika črka iI⟩. V zgodnjih dneh mehanskih pisalnih strojev je bilo običajno, da sta se tipki za števki ⟨0⟩ in ⟨1⟩ izpuščali, tipki za črki ⟨O⟩ in ⟨l⟩ pa sta ustvarili glifa, ki sta se uporabljala za oba znaka. Ko so tipkarji, ki so uporabljali takšne pisalne stroje, v 1980-ih in 1980-ih na računalniške tipkovnice, so se njihove stare navade tipkanja nadaljevale in so bile občasen vir zmede.

Večina trenutnih oblik pisav skrbno razlikuje med temi homoglifi, običajno tako, da števko nič nariše ožje, števko ena pa z izrazitimi serifi. Zgodnji računalniški izpisi so šli še dlje in so ničlo označevali z (desno) poševnico ali piko, kar je privedlo do novega konflikta med skandinavsko črko »Ø« in grško črko »Φ« fi). Preoblikovanje znakovnih tipov za razlikovanje teh znakov je pomenilo manj zmede.[3]

Latinični I in І z nadpisno piko

[uredi | uredi kodo]

Skoraj nič se razlikujeta latiničnii⟩ / ⟨I⟩ in i z nadpisno piko (ukrajinski) ⟨і⟩ / ⟨І⟩. Ker je nekdaj tudi ruščina rabila i z nadpisno piko, pogosto na tedanjih pisalnih strojih ni bilo tipke za števko 1, ampak jo je nadomeščala tipka za i z nadpisno piko І.

Latinična Č in Ć

[uredi | uredi kodo]

Tudi latinični črki ⟨č⟩ / ⟨Č⟩ in ⟨ć⟩ / ⟨Ć⟩ je težje razlikovati.

Drugo

[uredi | uredi kodo]

Nekatere zasnove pisav so skladne s standardom za berljivost DIN 1450, saj so takšne znake skrbno oblikovali tako, da jih je enostavno razlikovati:

  • poševna ničla za razlikovanje od velike črke ⟨O⟩
  • mala črka l z repom in velika črka ⟨I⟩ s serifi za razlikovanje od števke ⟨1⟩
  • razlikovanje številke ⟨5⟩ od velike črke ⟨S⟩; itd.[4]

Obstajajo tudi primeri skoraj homoglifov:

  • zgled zmede zaradi skoraj homoglifov je nastal zaradi uporabe črke y za predstavitev črke þ (torn). Zgodnji angleški (ročni) stavci so uvažali nizozemske stavke, ki niso vsebovali slednjega znaka, zato so namesto tega uporabljali črko y, ker sta si (v gotici) dovolj podobni.[5] To je v sodobnem času privedlo do pojavov, kot je Ye olde shoppe, kar napačno namiguje, da se je beseda the prej pisala ye /j/ namesto þe. Črkovanje imena Menzies (izgovarja se mengis in prvotno piše Menȝies) je nastalo iz istega razloga
  • črka z je bila nadomeščena z ȝ (joh, yogh).

Veččrkovni homoglifi

[uredi | uredi kodo]
Črkam⟩ in črki ⟨rn⟩ v tipografskih pisavah Arial, Calibri, Times New Roman, Cambria, Walbaum-Fraktur in Comic Sans
Stefan Szczotkowski na nagrobniku izgleda kot Aeffan Szczotkowski.

Nekatere druge kombinacije črk so videti podobne, na primer ⟨rn⟩ je podoben ⟨m⟩, ⟨cl⟩ je podoben ⟨d⟩ in ⟨vv⟩ je podoben ⟨w⟩.

V nekaterih pisavah z ozkim razmikom (kot je Tahoma) bo postavitev črke ⟨c⟩ poleg črke, kot so ⟨j⟩, ⟨l⟩ ali ⟨i⟩, ustvarila homoglif, kot je ⟨cj cl ci⟩ (⟨g d a⟩).

Ko so nekateri znaki postavljeni drug ob drugem, na prvi pogled skupaj dajejo vizualni vtis drugega, nepovezanega znaka. Natančneje bi se to povedalo tako, da so lahko nekatere tipografske ligature podobne samostojnim glifom. Na primer, ligatura ⟨⟩ (iz ⟨f⟩ in ⟨i⟩) je lahko v nekaterih pisavah podobna ⟨A⟩. Ta možnost zmede je včasih argument proti uporabi ligatur.

Kanonikalizacija

[uredi | uredi kodo]

Homoglife vseh vrst je mogoče zaznati s postopkom, imenovanim »dvojna kanonikalizacija«.[3] Prvi korak v tem postopku je identifikacija naborov homoglifov, in sicer znakov, ki so danemu opazovalcu videti enaki. Od tu naprej se določi en sam znak, ki predstavlja nabor homoglifov. Ta znak se imenuje kanon. Naslednji korak je pretvorba vsakega znaka v besedilu v ustrezni kanon v postopku, imenovanem kanonikalizacija. Če sta kanona dveh nizov besedila enaka, izvirno besedilo pa je različno, potem v besedilu obstaja homoglif.

Preprečevanje homoglifov

[uredi | uredi kodo]

Napade s homoglifi je mogoče ublažiti s kombinacijo ozaveščenosti uporabnikov in proaktivnih ukrepov. Ključnega pomena je, da se uporabnike pouči o tveganjih, povezanih z napadi s homoglifi, in se jih spodbudi, naj pred klikom natančno pregledajo URL-je.[6] Uporaba naprednih varnostnih rešitev, še posebej tistih, ki lahko skenirajo različice homoglifov v domenskih imenih, lahko avtomatizira odkrivanje in preprečevanje potencialnih groženj. Poleg tega lahko uvedba strogih politik spremljanja in registracije domenskih imen pomaga pri hitrem prepoznavanju in nevtralizaciji tveganj, povezanih s homoglifi. Z vzgojo kulture kibernetske budnosti in uporabo najsodobnejših tehnologij lahko organizacije okrepijo svojo obrambo pred napadi s homoglifi in tako zagotovijo varnejše spletno okolje.

Unicodovi homoglifi

[uredi | uredi kodo]
Tri najpomembnejše evropske abecede (grška, cirilična in latinična) si delijo veliko oblik črk, ki so v sistemu Unicode kodirane pod ločenimi kodnimi točkami. Te so eksluzivno:

Unicode ima kodne točke za mnoge močno homoglifske znake, znane kot »zamenljivke« (confusables).[1] Te predstavljajo varnostna tveganja v različnih situacijah (obravnavano v UTR#36)[7] in so bile posebej opozorjene v zvezi z internacionaliziranimi domenskimi imeni (IDN). Vsaj teoretično bi se lahko namerno ponaredilo domensko ime tako, da bi en znak zamenjal z njegovim homoglifom, s čimer bi se ustvarilo drugo domensko ime, ki ga ni mogoče zlahka ločiti od prvega in ga je mogoče izkoristiti pri lažnem predstavljanju (glej glavni članek napad s homografom IDN). V mnogih črkovnih vrstah so grška črka ⟨Α⟩, cirilična črka ⟨А⟩ in latinična črka ⟨A⟩ vizualno enake, prav tako latinična črka ⟨a⟩ in cirilična črka ⟨а⟩ (enako velja za latinske črke »aBceHKopTxy« in cirilične črke »аВсеНКорТху« »аВсеНКорТху«). Domensko ime je mogoče ponarediti preprosto tako, da se ena od teh oblik zamenja z drugo v ločeno registriranem imenu. Obstaja tudi veliko primerov skoraj homoglifov znotraj iste pisave, kot so ⟨í⟩ (z ostrivcem) in ⟨i⟩ (z nadpisno piko), ⟨É⟩ (E z ostrivcem) in ⟨Ė⟩ (⟨E⟩ z nadpisno piko) in ⟨È⟩ (E s krativcem), ⟨Í⟩ (velika začetnica ⟨I⟩ z ostrivcem) in ⟨ĺ⟩ (mala začetnica ⟨L⟩ z ostrivcem). Pri razpravi o tem specifičnem varnostnem vprašanju se lahko kateri koli dve zaporedji podobnih znakov ocenita glede na njuno možnost, da se razumeta kot homoglifni par, ali če se zaporedji očitno zdita besedi, kot psevdohomografa (še enkrat je treba opozoriti, da lahko ti izrazi sami po sebi povzročijo zmedo v drugih kontekstih). V kitajščini so mnogi poenostavljeni znaki homoglifi ustreznih tradicionalnih znakov.

Prizadevanja registrov domen najvišje ravni (TLD) in oblikovalcev spletnih brskalnikov so namenjena zmanjšanju tveganja za zamenjavo homoglifov. To se običajno doseže s prepovedjo imen, ki mešajo nabore znakov iz več jezikov (npr. toys-Я-us.org z uporabo cirilične črke ⟨Я⟩ bi bil neveljaven, vendar wíkipedia.org in wikipedia.org še vedno obstajata kot različni spletišči)   kanadski register .ca gre še korak dlje in zahteva, da imajo imena, ki se razlikujejo le po diakritičnih znamenjih, istega lastnika in istega registratorja.[8] Obravnava kitajskih znakov se razlikuje: v domenah .org in .info registracija ene različice onemogoča nikomur drugo, medtem ko se v domeni .biz tradicionalna in poenostavljena različica istega imena dobavljata kot paket dveh domen, ki obe kažeta na isti sistem domenskih imen.

Ustrezna dokumentacija je na voljo tako na spletiščih razvijalcev kot tudi na forumu IDN,[9] ki ga zagotavlja ICANN.

Hibridna razporeditev tipkovnice ES1845 JCUKEN-QWERTY

Cirilična črka ⟨С⟩ (U+0421 С VELIKA CIRILIČNA ČRKA ES) ni le videti kot latinična črka ⟨C⟩ (U+0043 C VELIKA LATINIČNA ČRKA CE), temveč zaseda tudi isto tipko na hibridnih tipkovnicah JCUKEN-QWERTY. Ta oblikovni odtenek je viden na tipki C/С, ki je predstavljen v Spomeniku tipkovnice v Jekaterinburgu.

Glej tudi

[uredi | uredi kodo]

Opombe

[uredi | uredi kodo]
  1. Opisovanje teh znakov kot homoglifov je vprašljivo, saj verjetno ni jezikov, v katerih bi glif lahko izpolnjeval obe vlogi. Enako veljavno bi bilo opisati, recimo, krativec kot homoglif, ker v različnih jezikih izpolnjuje različne vloge.

Sklici

[uredi | uredi kodo]
  1. 1 2 »UTR #36: Unicode Security Considerations«, unicode.org (v angleščini)
  2. Walton (2020).
  3. 1 2 Helfrich; Neff (2012).
  4. Tao; Bigelow; Pike (2016).
  5. Hill (2020).
  6. »Phishing Domain Scanner«, governance.dev (v angleščini), arhivirano iz prvotnega spletišča dne 4. maja 2024, pridobljeno 12. februarja 2024
  7. »UTR #36: Unicode Security Considerations«, unicode.org (v angleščini)
  8. »Register a .CA in French!«, cira.ca (v angleščini), arhivirano iz prvotnega spletišča dne 28. marca 2013, pridobljeno 29. marca 2013
  9. »ICANN Email Archives: [idn-guidelines]«, forum.icann.org (v angleščini)
  • Helfrich, James; Neff, Rick (2012). »Dual canonicalization: An answer to the homograph attack«. 2012 e Crime Researchers Summit. eCrime Researchers Summit (eCrime), 2012. str. 1–10. doi:10.1109/eCrime.2012.6489517. ISBN 978-1-4673-2543-1.
  • Hill, Will (30. junij 2020), »Chapter 25: Typography and the printed English text« (PDF), The Routledge Handbook of the English Writing System, Taylor & Francis, str. 6, ISBN 9780367581565, arhivirano iz prvotnega spletišča (PDF) dne 10. julija 2022, pridobljeno 24. januarja 2024, Črke, ki so jih uporabljali Caxton in njegovi sodobniki, izvirajo iz Nizozemske in Belgije ter niso omogočale nadaljnje uporabe elementov staroangleške abecede, kot so torn ⟨þ⟩, eth ⟨ð⟩ in joh ⟨ʒ⟩. Zamenjava vizualno podobnih tipografskih oblik je privedla do nekaterih anomalij, ki se še sedaj pojavljajo pri ponatisu arhaičnih besedil in črkovanju regionalnih besed. Pogosto napačno razumljen 'ye' izvira iz navade tiskarjev, ki izvira iz Caxtonovega časa, ko so tiskarji namesto torna ⟨þ⟩ ali etha ⟨ð⟩ nadomeščali ⟨y⟩ (pogosto skupaj z nadpisom ⟨e⟩), ki sta se uporabljala za označevanje zvenečih in nezvenečih glasov, /ð/ in /θ/ (Anderson, D. (1969) The Art of Written Forms. New York: Holt, Rinehart in Winston, str. 169).
  • Tao, Nigel; Bigelow, Chuck; Pike, Rob (2016), »Go fonts: DIN Legibility Standard«, go.dev (v angleščini)
  • Walton, Chas (7. oktober 2020), »A writer's guide to diacritics and special characters«, Text Wizard (v angleščini)

Zunanje povezave

[uredi | uredi kodo]
  • »#confusables.txt«, unicode.org (v angleščini), 22. julij 2025   priporočeno zavajajoče preslikavanje za IDN.