Modul 3 · 3.2
Læs domæner og links
Modul 3: Genkend phishing · Læsetid: 13 minutter
Læringsmål: Efter denne lektion kan du finde det ægte formål med ethvert link: du finder det registrerbare domæne med den offentlige suffixliste, og du genkender subdomæne-, sti- og @-tricks, lookalikes, punycode, forkortere og open redirects.
Nøglebegreber: URL, skema, host, registrerbart domæne, offentlig suffix, subdomæne, sti, lookalike, typosquatting, homograf, punycode (xn--), URL-forkorter, open redirect
De forskellige dele af et link
En webadresse hedder en URL. Den består af faste dele:
https://inlog.mijnbank.example:443/klant/overzicht?taal=nl#saldo| Del | I dette eksempel | Hvad den gør |
|---|---|---|
| Skema | https | Hvordan browseren opretter forbindelsen |
| Host | inlog.mijnbank.example | Hvilken server du taler med |
| Port (ses sjældent) | 443 | "Dørnummeret" på den server |
| Sti | /klant/overzicht | Hvilken side på den server |
| Forespørgsel | ?taal=nl | Ekstra oplysninger til siden |
| Fragment | #saldo | Et sted på siden |
Hosten er den eneste del, der afgør, hvem siden tilhører. Sti, forespørgsel og fragment bestemmer ejeren af den host selv. Der kan altså stå hvad som helst, også navnet på en anden organisation.
Du læser hosten fra højre mod venstre, label for label. Slutningen er det vigtigste.
Det registrerbare domæne og den offentlige suffixliste
Det er ikke hele hosten, der fortæller, hvem ejeren er, men kun én del af den: det registrerbare domæne. Det er det navn, nogen har registreret hos en registrar. Alt til venstre for det er subdomæner, og dem laver ejeren selv, lige så mange han vil.
For at finde det registrerbare domæne skal du vide, hvor man selv kan registrere et navn. Sådan en del kaldes en offentlig suffix. Eksempler er com, nl og example, men også co.uk: i Storbritannien registrerer en virksomhed et navn under co.uk. Det registrerbare domæne er altså den offentlige suffix plus ét label foran den.
| Host | Offentlig suffix | Registrerbart domæne |
|---|---|---|
www.example.com | com | example.com |
inlog.mijnbank.example | example | mijnbank.example |
www.shop.[naam].co.uk | co.uk | [naam].co.uk |
mijnbank.co.uk.example | example | uk.example |
Tommelfingerreglen "tag de sidste to dele" går altså galt. Ved www.shop.[naam].co.uk ville du få co.uk, og det tilhører ikke nogen bestemt. Det sidste eksempel viser, at co.uk midt i et navn ikke betyder noget særligt: der er uk.example ejeren.
Hvilke suffikser der er offentlige, står i Public Suffix List (publicsuffix.org), en liste som Mozilla startede, og som nu vedligeholdes af fællesskabet. Browsere bruger den blandt andet til at afgøre, hvilke sider der må dele cookies, og til at fremhæve den vigtige del af en adresse. Listen har også en del med "private" suffikser: tjenester hvor kunder får et eget subdomæne, som visse hostingtjenester til blogs og projektsider. Hver kunde under det tæller som en separat ejer.
Står en suffix ikke på listen, gælder standardreglen: det sidste label er suffixen. Derfor er det registrerbare domæne under .example altid de sidste to labels.
Tricks med subdomæne, sti og @
Nu du ved, hvor ejeren står, kan du se, hvordan angribere vildleder dine øjne. De placerer det navn, du forventer, et andet sted i linket.
Subdomænetrick.
https://mijnbank.example.inlog-check.example/loginDu ser mijnbank.example forrest. Men læs fra højre: suffixen er example, det registrerbare domæne er inlog-check.example, og det tilhører angriberen. Angriberen har købt det domæne og selv sat subdomænet mijnbank.example foran det.
Stitrick.
https://inlog.example/mijnbank.example/klant/loginHosten er inlog.example og intet andet. Alt efter den første enkelte / er stien, og den vælger ejeren af inlog.example selv.
@-trick.
https://mijnbank.example@aanvaller.example/inloggenEn URL må indeholde en brugerdel før hosten, afsluttet med @ (standarden for URL'er, RFC 3986, kalder det userinfo). Alt før @ er altså ikke en host. Browseren går til aanvaller.example og ingen andre steder. Nogle browsere advarer eller fjerner brugerdelen, men regn ikke med det.
En nyttig fast fremgangsmåde: find den første / efter https://. Det, der står før den, er hosten (eventuelt med en brugerdel og @). Står der et @, begynder hosten først derefter. Læs hosten fra højre mod venstre, til du har det registrerbare domæne.
Lookalikes, typosquatting og punycode
En lookalike er et eget domæne, der ligner en andens:
| Lookalike | Trick |
|---|---|
rnijnbank.example | rn ligner i mange skrifttyper m |
mijnbnak.example | to bogstaver byttet om (typosquatting: gætter på en tastefejl) |
mijnbank-veilig.example | et ord mere med bindestreg: et helt andet domæne |
mijnbank-example.example | punktummet erstattet med en bindestreg |
mijnbank.example.inlog-check.example | det ægte domæne som subdomæne (se ovenfor) |
Et skridt videre er homografen: et domæne med bogstaver fra et andet skriftsystem, der ser ens ud. Det kyrilliske а ligner det latinske a, men er for computeren et andet tegn. Domænenavne med sådanne tegn kaldes internationale domænenavne. DNS kender kun bogstaverne a til z, tal og bindestreg, så sådan et navn bliver omsat til punycode (RFC 3492): en form, der begynder med xn--.
mijnbаnk.example (med et kyrillisk а)
xn--mijnbnk-6fg.example (samme navn i punycode)Ser du xn-- i en adresse, indeholder det navn tegn uden for a til z. Det kan være helt normalt (mange sprog har accenter eller eget skriftsystem), men ved et navn, der ellers ligner dansk eller engelsk, er det et stærkt signal. Browsere har regler for at vise mistænkelige kombinationer som punycode; Chrome viser for eksempel et label med blandet latinsk og kyrillisk skrift som xn--. Men de regler fanger ikke alt, og i en mail eller chat ser du ofte bare de pæne bogstaver.
Forkortere og open redirects
URL-forkortere laver et langt link om til et kort, som https://kort.example/a8Xk2. Praktisk, men du ser ikke målet. Det registrerbare domæne i linket tilhører forkorteren, ikke den organisation, du forventer. En bank eller leverandør, der beder dig logge ind via et forkortet link: gør det ikke.
En open redirect er en side på et ægte website, der videresender besøgende til enhver adresse, der står i linket:
https://mijnbank.example/doorsturen?naar=https://aanvaller.example/inloggenHosten er rigtignok mijnbank.example, men efter ét klik står du på aanvaller.example uden at bemærke det. Også med en forkorter eller et trackinglink fra en nyhedsbrevstjeneste ender du et andet sted end det første domæne. Lektien: kig på adresselinjen igen efter du har klikket, før du udfylder noget. Og hængelåsen? Den siger kun, at forbindelsen er krypteret. Også falske sider har et gyldigt certifikat.
I praksis: sådan ser det ud
På en computer holder du musen over et link uden at klikke; det ægte mål vises nederst til venstre i vinduet eller i en boble. I de fleste mailprogrammer og webmail virker det også sådan. På en telefon holder du fingeren på linket: du får en menu med adressen ovenover. Vælg så ikke "åbn".
Vær opmærksom på to faldgruber:
- Den synlige tekst er ikke målet. I en mail kan der stå
https://mijnbank.examplepå knappen eller i teksten, mens linket derunder går til en helt anden adresse. Kun det, du ser ved museover eller langt tryk, tæller. - Lange adresser bliver afkortet. Telefoner viser ofte kun begyndelsen. Netop den vigtige afslutning falder så væk. Rul eller tryk i adressen for at se den helt.
Er du i tvivl, så skriv selv den adresse, du kender, eller brug dit bogmærke. Det hollandske NCSC henviser også til checkjelinkje.nl til at lade et link tjekke først.
Opsummering
- Kun hosten afgør, hvem en side tilhører. Sti, forespørgsel og alt før et
@vælger angriberen selv. - Det registrerbare domæne er den offentlige suffix plus ét label. Brug Public Suffix List, ikke "de sidste to dele" (tænk på
co.uk). - Læs hosten fra højre mod venstre. Det ægte domæne forrest som subdomæne er et klassisk trick.
- Lookalikes: bogstavombytning, ekstra ord, homografer.
xn--betyder tegn uden for a til z. - Forkortere skjuler målet, open redirects videresender dig. Kig på adresselinjen igen efter et klik.
Quiz
Opgave
Opgave A3.2: Find det registrerbare domæne. Du får otte links. Udfyld for hvert link det registrerbare domæne, og angiv om linket passer til den ægte organisation. Programmet retter dit svar med Public Suffix List.
Opgave A3.2b: Vanskelige links. Otte links med @-tricks, punycode, forkortere og videresendelsessider. Udfyld for hvert link, hvilket domæne du ender på, eller vælg "kan ikke ses".
Læs mere
Trinene i WebOké-artiklerne gælder for WebOkés eget miljø; hos andre udbydere virker det på lignende måde.
- Er denne mail virkelig fra WebOké? Genkend phishing, og brug aktionskoden
- DNS-kursus, om domænenavne og hvordan du læser dem: https://www.weboke.dk/dns-cursus
- Det hollandske NCSC, Spoofing: https://www.ncsc.nl/phishing/spoofing
- Public Suffix List: https://publicsuffix.org/
- RFC 3986, opbygningen af en URL (blandt andet userinfo): https://www.rfc-editor.org/rfc/rfc3986
- RFC 3492, Punycode: https://www.rfc-editor.org/rfc/rfc3492
- Chromium, om hvornår browseren viser et internationalt navn som punycode: https://chromium.googlesource.com/chromium/src/+/main/docs/idn.md
