Wanneer een ‘a’ geen a is
Een domeinnaam die begint met “xn--” lijkt op het eerste gezicht misschien vervuilde data. Meestal is het juist de geldige technische representatie van een internationale domeinnaam. Diezelfde techniek kan echter ook worden misbruikt.
Een vreemde waarde tijdens een database-audit
Tijdens een reguliere database-audit kwam ik meerdere domeinnamen tegen die begonnen met “xn--”, gevolgd door een reeks tekens die op het eerste gezicht weinig betekenis leek te hebben. Ik had kunnen constateren dat de waarden technisch geldig waren en verder kunnen gaan. Maar de onderzoeker in mij was getriggerd: waarom worden domeinnamen op deze manier opgeslagen?
Het antwoord bracht me van een oplossing met goede bedoelingen naar een geraffineerde vorm van phishing – en naar de maatregelen die browsers en gebruikers daartegen kunnen nemen.
De goede bedoeling: IDN en Punycode
Internationalized Domain Names (IDN) maken het mogelijk om domeinnamen te gebruiken met tekens uit verschillende talen en schriften. Denk aan Latijnse letters met accenten, maar ook aan Griekse, Cyrillische, Arabische en Chinese tekens. Zo kunnen mensen wereldwijd websites in hun eigen taal en schrift bezoeken.
Het Domain Name System gebruikt voor domeinlabels een beperkte verzameling ASCII-tekens. Een internationaal domeinlabel wordt daarom omgezet naar een ASCII-representatie. Punycode is de codering die daarbij wordt gebruikt. Een omgezet label krijgt het voorvoegsel “xn--”.
Dat verklaarde de vreemde waarden in mijn database. Er was niets mis mee: ik keek naar de technische representatie van internationale domeinnamen.
Het misbruik: de homograafaanval
Veel tekens uit verschillende alfabetten lijken voor het menselijk oog sterk op elkaar, terwijl ze voor een computer verschillende Unicode-tekens zijn. Een aanvaller kan zo een domeinnaam registreren die visueel vrijwel gelijk is aan die van een bekende organisatie, maar technisch naar een andere website verwijst.
U+0061
U+0430
Neem apple.com. Wanneer de Latijnse a wordt vervangen door de Cyrillische а, blijft het verschil in veel lettertypes vrijwel onzichtbaar. Toch gaat het technisch om een andere domeinnaam. De variant met de Cyrillische letter wordt in ASCII weergegeven als xn--pple-43d.com.
Dit wordt een homograafaanval genoemd, ook bekend als een IDN homograph attack of homoglyph attack. Het doel is doorgaans phishing: slachtoffers naar een overtuigende nepsite leiden om bijvoorbeeld inloggegevens buit te maken of malware te verspreiden.
Waarom deze aanval zo overtuigend kan zijn
- Het verschil kan visueel onzichtbaar zijn. Zelfs een oplettende gebruiker hoeft in veel lettertypes geen verschil te zien.
- De nepsite kan HTTPS gebruiken. Een geldig certificaat bevestigt dat de versleutelde verbinding bij die specifieke domeinnaam hoort; het bewijst niet dat de organisatie achter de site betrouwbaar is.
- De gebruiker heeft niets verkeerd gespeld. Anders dan bij typosquatting, zoals gooogle.com, zit het verschil hier in de onderliggende tekens.
Niet iedere internationale domeinnaam vormt natuurlijk een risico. IDN en Punycode zijn legitieme en noodzakelijke technieken. Het gevaar ontstaat wanneer gelijkende tekens bewust worden ingezet om een andere identiteit te suggereren.
De strijd ertegen
Moderne browsers passen veiligheidsregels toe bij de weergave van internationale domeinnamen. Wanneer een domeinnaam bijvoorbeeld een verdachte combinatie van schriften bevat of niet aan de weergaveregels voldoet, kan de browser de ASCII-representatie met “xn--” tonen in plaats van de mogelijk misleidende Unicode-weergave.
Volledige bescherming biedt dat niet. Een aanvaller kan soms tekens uit één schrift gebruiken die samen toch overtuigend op een Latijnse naam lijken. Daarom blijven ook de volgende maatregelen zinvol:
- Gebruik een wachtwoordmanager. Deze vergelijkt de exacte domeinnaam en vult opgeslagen inloggegevens niet zomaar op een technisch afwijkend domein in.
- Controleer bij twijfel de domeinnaam. Let niet alleen op het slotje of HTTPS, maar ook op onverwachte tekens en een zichtbare “xn--”-notatie.
- Gebruik eigen bladwijzers. Navigeer naar belangrijke websites, zoals die van uw bank, via een zelf opgeslagen bladwijzer of door het bekende adres zelf in te voeren.
Wat dit met datakwaliteit te maken heeft
Een waarde die ongebruikelijk oogt, is niet automatisch fout. Zonder kennis van de betekenis, herkomst en technische representatie kan een goedbedoelde opschoningsactie geldige gegevens beschadigen. Dat geldt voor Punycode, maar net zo goed voor telefoonnummers, postcodes, identificatienummers en andere gegevens met domeinspecifieke regels.
Goede datakwaliteit begint daarom niet met corrigeren, maar met begrijpen. Wat stelt de waarde voor? Volgens welke regels is zij opgebouwd? En is de afwijking werkelijk een fout, of alleen een representatie die u nog niet herkent?
Bronnen en verdere verdieping
- ICANN – Internationalized Domain Names
- IETF RFC 3492 – Punycode
- RSecurity – Homograph attacks and Unicode phishing
- Wikipedia – IDN homograph attack
- Huntress – Homograph attacks explained
- Doppel – What is a homograph attack?
- Stingrai – Homoglyph attacks explained
- DeepStrike – What is a homoglyph attack?
Eerst begrijpen, dan verbeteren
Wilt u weten waar de datakwaliteit en het datamanagement binnen uw organisatie kunnen worden verbeterd? Met de datamanagement quickscan brengt u sterke punten, risico’s en concrete verbeterkansen in beeld.