Moodul 3 · 3.2
Domeenide ja linkide lugemine
Moodul 3: Andmepüügi äratundmine · Lugemisaeg: 13 minutit
Eesmärk: Pärast seda õppetundi oskad igast lingist leida selle tegeliku sihtkoha: leiad registreeritava domeeni avaliku järelliidete nimekirja abil ning tunned ära alamdomeeni-, raja- ja @-trikid, nägemislikud sarnasused, punycode'i, lühendajad ja avatud ümbersuunamised.
Põhimõisted: URL, skeem, host, registreeritav domeen, avalik järelliide, alamdomeen, rada, nägemislik sarnasus (lookalike), typosquatting, homograaf, punycode (xn--), URL-lühendaja, avatud ümbersuunamine
Lingi osad
Veebiaadressi nimetatakse URL-iks. Sellel on kindlad osad:
https://inlog.mijnbank.example:443/klant/overzicht?taal=nl#saldo| Osa | Selles näites | Mida see teeb |
|---|---|---|
| Skeem | https | Kuidas brauser ühenduse loob |
| Host | inlog.mijnbank.example | Millise serveriga sa suhtled |
| Port (harva näha) | 443 | Selle serveri "uksenumber" |
| Rada (path) | /klant/overzicht | Milline lehekülg sellel serveril |
| Päring (query) | ?taal=nl | Lisaandmed lehe jaoks |
| Fragment | #saldo | Koht lehe sees |
Host on ainus osa, mis määrab, kellele sait kuulub. Rada, päringu ja fragmendi sisu määrab selle hosti omanik ise. Seal võib seega seista mida iganes, ka teise organisatsiooni nimi.
Hosti loed paremalt vasakule, silt sildi haaval. Lõpp on kõige tähtsam.
Registreeritav domeen ja avalik järelliidete nimekiri
Omanikku ei näita kogu host, vaid ainult üks selle osa: registreeritav domeen. See on nimi, mille keegi on registripidaja juures kinnistanud. Kõik sellest vasakul olev on alamdomeenid, mida omanik ise loob, nii palju kui tahab.
Registreeritava domeeni leidmiseks pead teadma, kus saad ise nime registreerida. Sellist osa nimetatakse avalikuks järelliiteks (public suffix). Näited on com, nl ja example, aga ka co.uk: Ühendkuningriigis registreerib ettevõte nime all domeenile co.uk. Registreeritav domeen on siis avalik järelliide pluss üks silt selle ees.
| Host | Avalik järelliide | Registreeritav domeen |
|---|---|---|
www.example.com | com | example.com |
inlog.mijnbank.example | example | mijnbank.example |
www.shop.[nimi].co.uk | co.uk | [nimi].co.uk |
mijnbank.co.uk.example | example | uk.example |
Rusikareegel "võta viimased kaks tükki" läheb seega valesti. Aadressi www.shop.[nimi].co.uk puhul saaksid tulemuseks co.uk, mis ei kuulu kellelegi konkreetsele. Ja viimane näide näitab, et co.uk nime keskel ei tähenda midagi: seal on omanik uk.example.
Millised järelliited on avalikud, on kirjas Public Suffix List'is (publicsuffix.org), nimekirjas, mille algatas Mozilla ja mida nüüd hooldab kogukond. Brausereid kasutavad seda muu hulgas selleks, et määrata, millised saidid tohivad küpsiseid jagada, ja selleks, et tõsta esile aadressi olulist osa. Nimekirjas on ka "private" järelliidete osa: teenused, kus kliendid saavad oma alamdomeeni, näiteks mõned blogide ja projektilehtede majutusteenused. Iga klient seal all loetakse eraldi omanikuks.
Kui järelliide nimekirjas ei ole, kehtib vaikereegel: viimane silt on järelliide. Seepärast on domeenil .example registreeritav domeen alati viimased kaks silti.
Trikid alamdomeeni, raja ja @-märgiga
Nüüd kui tead, kus omanik asub, näed, kuidas ründajad su silma petavad. Nad panevad sulle tuttava nime lingi muusse kohta.
Alamdomeeni trikk.
https://mijnbank.example.inlog-check.example/loginSa näed ees nime mijnbank.example. Aga loe paremalt: järelliide on example, registreeritav domeen on inlog-check.example ja see kuulub ründajale. Ründaja on ostnud selle domeeni ja pannud selle ette ise alamdomeeni mijnbank.example.
Raja trikk.
https://inlog.example/mijnbank.example/klant/loginHost on inlog.example ja mitte midagi muud. Kõik, mis tuleb pärast esimest üksikut /, on rada ehk path, ja selle valib domeeni inlog.example omanik ise.
@-trikk.
https://mijnbank.example@aanvaller.example/inloggenURL võib enne hosti sisaldada kasutajaosa, mis lõpeb märgiga @ (URL-ide standard, RFC 3986, nimetab seda userinfo). Kõik enne märki @ ei ole seega host. Brauser läheb domeenile aanvaller.example ja mitte kuhugi mujale. Mõned brauserid hoiatavad või eemaldavad kasutajaosa, aga sellele ei saa loota.
Kasulik kindel viis: otsi esimest märki / pärast https://. See, mis on enne seda, on host (koos võimaliku kasutajaosaga ja märgiga @). Kui seal on @, algab host alles pärast seda. Loe hosti paremalt vasakule, kuni leiad registreeritava domeeni.
Nägemislikud sarnasused, typosquatting ja punycode
Nägemislik sarnasus (lookalike) on oma domeen, mis sarnaneb kellegi teise omaga:
| Nägemislik sarnasus | Trikk |
|---|---|
rnijnbank.example | rn näeb paljudes kirjatüüpides välja nagu m |
mijnbnak.example | kaks tähte ümber vahetatud (typosquatting: lootus trükivea peale) |
mijnbank-veilig.example | lisasõna koos sidekriipsuga: täiesti teine domeen |
mijnbank-example.example | punkt asendatud sidekriipsuga |
mijnbank.example.inlog-check.example | tõeline domeen alamdomeenina (vt eespool) |
Samm edasi on homograaf: domeen, mille tähed pärinevad teisest kirjast, aga näevad välja samasugused. Kirillitsa а näeb välja nagu ladina a, aga arvuti jaoks on see teine märk. Selliste märkidega domeeninimesid nimetatakse rahvusvahelisteks domeeninimedeks. DNS tunneb ainult tähti a kuni z, numbreid ja sidekriipsu, seega selline nimi teisendatakse punycode'iks (RFC 3492): vormiks, mis algab tähtedega xn--.
mijnbаnk.example (kirillitsa а-ga)
xn--mijnbnk-6fg.example (sama nimi punycode'is)Kui näed aadressis xn--, siis sisaldab see nimi märke väljaspool vahemikku a kuni z. See võib olla täiesti normaalne (paljudel keeltel on diakriitikud või oma kiri), aga nime puhul, mis muidu näeb välja eestikeelne või ingliskeelne, on see tugev märk ohust. Brauseritel on reeglid, mille järgi näidatakse kahtlasi kombinatsioone punycode'ina; Chrome näitab näiteks märgistust koos ladina ja kirillitsa kirja seguga kujul xn--. Aga need reeglid ei püüa kõike kinni ja kirjas või vestluses näed tihti lihtsalt korralikke tähti.
Lühendajad ja avatud ümbersuunamised
URL-lühendajad teevad pikast lingist lühikese, näiteks https://kort.example/a8Xk2. Mugav, aga sa ei näe sihtkohta. Lingi registreeritav domeen kuulub lühendajale, mitte organisatsioonile, keda ootad. Pank või tarnija, kes palub sul lühendatud lingi kaudu sisse logida: ära tee seda.
Avatud ümbersuunamine (open redirect) on lehekülg tõelisel saidil, mis suunab külastajad ümber mistahes aadressile, mis lingis on kirjas:
https://mijnbank.example/doorsturen?naar=https://aanvaller.example/inloggenHost on tõepoolest mijnbank.example, aga pärast ühte klikki oled domeenil aanvaller.example, seda märkamata. Ka lühendaja või uudiskirjateenuse jälgimislingiga satud mujale kui esimene domeen. Õppetund: vaata pärast klikkimist uuesti aadressiriba, enne kui midagi täidad. Ja lukuke? See ütleb ainult, et ühendus on krüpteeritud. Ka petulehtedel on kehtiv sertifikaat.
Praktikas: nii see välja näeb
Arvutis vii hiir lingi kohale ilma klikkimata; tegelik sihtkoht ilmub akna vasakus alanurgas või mullis. Enamikus meiliprogrammides ja veebimeilis töötab see samamoodi. Telefonis hoia lingil sõrme all: saad menüü, mille kohal on aadress. Ära vali siis "ava".
Jälgi kahte lõksu:
- Nähtav tekst ei ole sihtkoht. Kirjas võib nupul või tekstis olla kirjas
https://mijnbank.example, samal ajal kui selle all olev link viib hoopis teisele aadressile. Loeb ainult see, mida näed hiirega üle minnes või pikalt vajutades. - Pikad aadressid lõigatakse ära. Telefonid näitavad tihti ainult algust. Just oluline lõpp jääb siis nägemata. Keri või puuduta aadressis, et näha seda täies pikkuses.
Kui kahtled, sisesta ise aadress, mida tunned, või kasuta järjehoidjat. Riigi Infosüsteemi Amet (RIA) soovitab samuti linki enne kontrollida.
Kokkuvõte
- Ainult host määrab, kellele sait kuulub. Raja, päringu ja kõik enne märki
@valib ründaja ise. - Registreeritav domeen on avalik järelliide pluss üks silt. Kasuta Public Suffix List'i, mitte "viimast kaht tükki" (mõtle domeenile
co.uk). - Loe hosti paremalt vasakule. Tõeline domeen ees alamdomeenina on klassikaline trikk.
- Nägemislikud sarnasused: tähtede vahetus, lisasõnad, homograafid.
xn--tähendab märke väljaspool vahemikku a kuni z. - Lühendajad peidavad sihtkoha, avatud ümbersuunamised suunavad su edasi. Vaata pärast klikkimist uuesti aadressiriba.
Test
Ülesanne
Ülesanne A3.2: Registreeritava domeeni leidmine. Saad kaheksa linki. Täida iga lingi juurde registreeritav domeen ja märgi, kas link vastab tõelisele organisatsioonile. Programm kontrollib su vastust Public Suffix List'i abil.
Ülesanne A3.2b: Kavalad lingid. Kaheksa linki @-trikkide, punycode'i, lühendajate ja ümbersuunamislehtedega. Täida iga lingi juurde, millisele domeenile jõuad, või vali "ei ole näha".
Loe edasi
WebOké artiklites toodud sammud kehtivad WebOké keskkonna kohta; teiste pakkujate juures toimib see sarnaselt.
- Kas see e-kiri on tõesti WebOkélt? Kuidas tunda ära andmepüük ja kasutada sooduskoodi
- DNS-kursus, domeeninimedest ja kuidas neid lugeda: https://www.weboke.ee/dns-cursus
- Hollandi NCSC, spuufimine: https://www.ncsc.nl/phishing/spoofing
- Public Suffix List: https://publicsuffix.org/
- RFC 3986, URL-i ülesehitus (muu hulgas userinfo): https://www.rfc-editor.org/rfc/rfc3986
- RFC 3492, Punycode: https://www.rfc-editor.org/rfc/rfc3492
- Chromium, millal brauser näitab rahvusvahelist nime punycode'ina: https://chromium.googlesource.com/chromium/src/+/main/docs/idn.md
