Gebruik van soortgelijke Unicode-symbolen om authenticatie te omzeilen

GitHub bleek heeft blootgesteld aan een aanval die toegang tot het account kan overnemen door manipulatie van Unicode-symbolen in e-mail. Het probleem heeft te maken met het feit dat sommige Unicode-symbole bij het toepassen van functies voor het omzetten naar hoofd- of kleine letters worden omgezet in gewone symbolen die qua uiterlijk dicht bij elkaar liggen (wanneer verschillende symbolen in één symbool worden omgezet — bijvoorbeeld, het Turkse symbool «ı» en «i» worden bij omzetting naar hoofdletters «I»).

Voordat de inlogparameters in sommige diensten en applicaties worden gecontroleerd, worden de door de gebruiker ingevoerde gegevens eerst omgezet naar hoofd- of kleine letters en vervolgens in de database gecontroleerd. Als de dienst het gebruik van Unicode-symbolen in de inlognaam of e-mail toestaat, kan de aanvaller vergelijkbare Unicode-symbolen gebruiken om een aanval uit te voeren die manipuleert met conflicten in de conversietabellen van hoofdletters (Unicode Case Mapping Collisions).

‘ß’.toUpperCase() == ‘ss’.toUpperCase() // 0x0131
‘K’.toLowerCase() == ‘K’.toLowerCase() // 0x212A
‘John@Gıthub.com’.toUpperCase() == ‘John@Github.com’.toUpperCase()

Op GitHub kon de aanvaller via het herstelformulier van een vergeten wachtwoord het verzenden van een herstelcode naar een andere e-mail инициëren door in het formulier een adres op te geven dat een Unicode-symbool bevat dat een conflict veroorzaakt (bijvoorbeeld in plaats van mike@example.org werd het e-mail m ıke@example.org) opgegeven. Het adres is goedgekeurd omdat het werd omgezet naar hoofdletters en overeenkwam met het oorspronkelijke adres (mike@example.org), maar bij het verzenden van de e-mail werd het zoals het is doorgegeven en ging de herstelcode naar het valse adres (mke@example.org).ke@example.org) opgegeven. Het adres is goedgekeurd omdat het werd omgezet naar hoofdletters en overeenkwam met het oorspronkelijke adres (mike@example.org), maar bij het verzenden van de e-mail werd het zoals het is doorgegeven en ging de herstelcode naar het valse adres (mSommige van

symbolen , die conflicten bij het omzetten van hoofdletters veroorzaken:ß 0x00DF SS

ı 0x0131 I
ſ 0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
fl 0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k
Nieuwe versie van Cygwin 3.1.0, GNU-omgeving voor Windows

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster