Modul 3 · 3.2
Läsa domäner och länkar
Modul 3: Känna igen phishing · Lästid: 13 minuter
Lärandemål: Efter den här lektionen kan du avgöra det verkliga målet för vilken länk som helst: du hittar det registrerbara domänet med den publika suffixlistan och känner igen knep med subdomän, sökväg och @, lookalikes, punycode, förkortare och open redirects.
Nyckelbegrepp: URL, schema, host, registrerbart domän, publik suffix, subdomän, sökväg, lookalike, typosquatting, homograf, punycode (xn--), URL-förkortare, open redirect
Delarna i en länk
En webbadress kallas en URL. Den består av fasta delar:
https://inlog.mijnbank.example:443/klant/overzicht?taal=nl#saldo| Del | I det här exemplet | Vad den gör |
|---|---|---|
| Schema | https | Hur webbläsaren ansluter |
| Host | inlog.mijnbank.example | Vilken server du pratar med |
| Port (sällan synlig) | 443 | "Dörrnumret" på den servern |
| Sökväg | /klant/overzicht | Vilken sida på den servern |
| Query | ?taal=nl | Extra uppgifter till sidan |
| Fragment | #saldo | En plats på sidan |
Hosten är den enda delen som avgör vem sajten tillhör. Sökväg, query och fragment bestämmer ägaren av den hosten själv. Där kan det alltså stå vad som helst, även namnet på en annan organisation.
Du läser hosten från höger till vänster, etikett för etikett. Slutet är viktigast.
Det registrerbara domänet och den publika suffixlistan
Det är inte hela hosten som avslöjar ägaren, utan en del av den: det registrerbara domänet. Det är namnet som någon har registrerat hos en registrar. Allt till vänster om det är subdomäner, och dem skapar ägaren själv, så många denne vill.
För att hitta det registrerbara domänet måste du veta var man faktiskt kan registrera ett eget namn. En sådan del kallas en publik suffix. Exempel är com, nl och example, men även co.uk: i Storbritannien registrerar du som företag ett namn under co.uk. Det registrerbara domänet är då den publika suffixen plus en etikett framför den.
| Host | Publik suffix | Registrerbart domän |
|---|---|---|
www.example.com | com | example.com |
inlog.mijnbank.example | example | mijnbank.example |
www.shop.[namn].co.uk | co.uk | [namn].co.uk |
mijnbank.co.uk.example | example | uk.example |
Tumregeln "ta de sista två delarna" går alltså fel. Med www.shop.[namn].co.uk skulle du få co.uk, och det tillhör ingen särskild. Det sista exemplet visar att co.uk mitt i ett namn inte betyder något: där är uk.example ägaren.
Vilka suffix som är publika finns i Public Suffix List (publicsuffix.org), en lista som Mozilla startade och som nu underhålls av communityn. Webbläsare använder den bland annat för att avgöra vilka sajter som får dela cookies och för att markera den viktiga delen av en adress. Listan har också en del med "privata" suffix: tjänster där kunder får en egen subdomän, som vissa webbhotell för bloggar och projektsidor. Varje kund under en sådan räknas som en separat ägare.
Finns inte en suffix i listan gäller standardregeln: den sista etiketten är suffixen. Därför är det registrerbara domänet för .example alltid de sista två etiketterna.
Knep med subdomän, sökväg och @
Nu när du vet var ägaren står ser du hur angripare vilseleder blicken. De placerar namnet du förväntar dig någon annanstans i länken.
Subdomänknepet.
https://mijnbank.example.inlog-check.example/loginDu ser mijnbank.example allra först. Men läs från höger: suffixen är example, det registrerbara domänet är inlog-check.example och det tillhör angriparen. Angriparen har köpt det domänet och själv satt subdomänen mijnbank.example framför det.
Sökvägsknepet.
https://inlog.example/mijnbank.example/klant/loginHosten är inlog.example och inget annat. Allt efter det första enkla / är sökvägen, och den väljer ägaren av inlog.example själv.
@-knepet.
https://mijnbank.example@aanvaller.example/inloggenEn URL får innehålla en användardel före hosten, avslutad med @ (standarden för URL:er, RFC 3986, kallar det userinfo). Allt före @ är alltså inte en host. Webbläsaren går till aanvaller.example och ingen annanstans. Vissa webbläsare varnar eller tar bort användardelen, men räkna inte med det.
Ett användbart fast arbetssätt: leta reda på det första / efter https://. Det som står före det är hosten (eventuellt med en användardel och @). Står det ett @, börjar hosten först efter det. Läs hosten från höger till vänster tills du har det registrerbara domänet.
Lookalikes, typosquatting och punycode
En lookalike är ett eget domän som liknar någon annans:
| Lookalike | Knep |
|---|---|
rnijnbank.example | rn liknar i många typsnitt ett m |
mijnbnak.example | två bokstäver omkastade (typosquatting: satsar på ett skrivfel) |
mijnbank-veilig.example | ett ord till med bindestreck: ett helt annat domän |
mijnbank-example.example | punkten ersatt med ett bindestreck |
mijnbank.example.inlog-check.example | det verkliga domänet som subdomän (se ovan) |
Ett steg längre är homografen: ett domän med bokstäver från ett annat skriftsystem som ser likadana ut. Det kyrilliska а ser ut som det latinska a, men är för datorn ett annat tecken. Domännamn med sådana tecken kallas internationella domännamn. DNS känner bara till bokstäverna a till z, siffror och bindestreck, så ett sådant namn omvandlas till punycode (RFC 3492): en form som börjar med xn--.
mijnbаnk.example (med ett kyrilliskt а)
xn--mijnbnk-6fg.example (samma namn i punycode)Ser du xn-- i en adress innehåller namnet tecken utanför a till z. Det kan vara helt normalt (många språk har accenter eller ett eget skriftsystem), men i ett namn som i övrigt ser nederländskt eller engelskt ut är det en stark varningssignal. Webbläsare har regler för att visa misstänkta kombinationer som punycode; Chrome visar till exempel en etikett med blandad latinsk och kyrillisk skrift som xn--. Men de reglerna fångar inte allt, och i ett mejl eller en chatt ser du ofta bara de fina bokstäverna.
Förkortare och open redirects
URL-förkortare gör en lång länk kort, som https://kort.example/a8Xk2. Praktiskt, men du ser inte målet. Länkens registrerbara domän tillhör förkortaren, inte organisationen du förväntar dig. En bank eller leverantör som ber dig logga in via en förkortad länk: gör det inte.
En open redirect är en sida på en riktig sajt som skickar vidare besökare till vilken adress som helst som står i länken:
https://mijnbank.example/doorsturen?naar=https://aanvaller.example/inloggenHosten är verkligen mijnbank.example, men efter ett klick hamnar du på aanvaller.example utan att märka det. Även med en förkortare eller en spårningslänk från en nyhetsbrevstjänst hamnar du någon annanstans än det första domänet. Lärdomen: titta på adressfältet igen efter att du klickat, innan du fyller i något. Och hänglåset? Det säger bara att anslutningen är krypterad. Även falska sajter har ett giltigt certifikat.
I praktiken: så här ser det ut
På en dator för du musen över en länk utan att klicka; det verkliga målet visas längst ner till vänster i fönstret eller i en ballong. I de flesta e-postprogram och webbmejl fungerar det likadant. På en telefon håller du länken nedtryckt: du får en meny med adressen ovanför. Välj då inte "öppna".
Se upp för två fallgropar:
- Den synliga texten är inte målet. I ett mejl kan det stå
https://mijnbank.examplepå knappen eller i texten, medan länken under den går till en helt annan adress. Bara det du ser vid musen eller det långa nedtryckandet räknas. - Långa adresser klipps av. Telefoner visar ofta bara början. Just det viktiga slutet försvinner då. Scrolla eller tryck i adressen för att se den helt.
Är du osäker, skriv då själv in adressen du känner till eller använd ditt bokmärke. Det nederländska NCSC hänvisar också till checkjelinkje.nl för att först låta kontrollera en länk.
Sammanfattning
- Bara hosten avgör vem en sajt tillhör. Sökväg, query och allt före ett
@väljer angriparen själv. - Det registrerbara domänet är den publika suffixen plus en etikett. Använd Public Suffix List, inte "de sista två delarna" (tänk på
co.uk). - Läs hosten från höger till vänster. Det riktiga domänet allra först som en subdomän är ett klassiskt knep.
- Lookalikes: bokstavsbyten, extra ord, homografer.
xn--betyder tecken utanför a till z. - Förkortare döljer målet, open redirects skickar dig vidare. Titta på adressfältet igen efter ett klick.
Quiz
Uppgift
Uppgift A3.2: Hitta det registrerbara domänet. Du får åtta länkar. Fyll i det registrerbara domänet för varje länk och ange om länken stämmer med den riktiga organisationen. Programmet rättar ditt svar med Public Suffix List.
Uppgift A3.2b: Lurig länkar. Åtta länkar med @-knep, punycode, förkortare och vidarebefordringssidor. Fyll i för varje länk vilket domän du hamnar på, eller välj "går inte att se".
Läs mer
Stegen i WebOkés artiklar gäller för WebOkés miljö; hos andra leverantörer fungerar det på liknande sätt.
- Är det här mejlet verkligen från WebOké? Känna igen nätfiske och använda rabattkoden
- DNS-kurs, om domännamn och hur man läser dem: https://www.weboke.se/dns-cursus
- Det nederländska NCSC, Spoofing: https://www.ncsc.nl/phishing/spoofing
- Public Suffix List: https://publicsuffix.org/
- RFC 3986, uppbyggnaden av en URL (bland annat userinfo): https://www.rfc-editor.org/rfc/rfc3986
- RFC 3492, Punycode: https://www.rfc-editor.org/rfc/rfc3492
- Chromium, när webbläsaren visar ett internationellt namn som punycode: https://chromium.googlesource.com/chromium/src/+/main/docs/idn.md
