Korištenje sličnih Unicode znakova za zaobilaženje provjere autentičnosti
GitHub ustanovilo se da je je podložan napadu koji vam omogućuje preuzimanje pristupa računu kroz manipulaciju Unicode znakova u e-pošti. Problem je u tome što se neki Unicode znakovi, kada se koriste funkcije pretvorbe malih ili velikih slova, prevode u regularne znakove koji su slični po stilu (kada se nekoliko različitih znakova prevodi u jedan znak - na primjer, turski znak "ı" i "i" " kada se pretvore u velika slova pretvaraju se u "I").
Prije provjere parametara za prijavu u nekim uslugama i aplikacijama, podaci koje unese korisnik najprije se pretvaraju u velika ili mala slova, a zatim provjeravaju u bazi podataka. Ako usluga dopušta korištenje unicode znakova u prijavi ili e-pošti, tada napadač može koristiti slične unicode znakove za izvođenje napada koji manipulira kolizijama u Unicode Case Mapping Collisions.
Napadač na GitHub mogao putem obrasca za oporavak zaboravljene lozinke pokrenite slanje koda za oporavak na drugu e-poštu tako da u obrascu navedete adresu koja uključuje unicode znak koji uzrokuje koliziju (na primjer, umjesto [e-pošta zaštićena] naznačena je e-pošta mı[e-pošta zaštićena]). Adresa je prošla test jer je pretvorena u velika slova i odgovara izvornoj adresi ([e-pošta zaštićena] ), ali prilikom slanja pisma ono je zamijenjeno kakvo jest, a kod za oporavak poslan je na lažnu adresu (mı[e-pošta zaštićena]).
Neke od символов, uzrokujući kolizije prilikom pretvaranja registra:
ß 0x00DF SS
ı 0x0131 I
ſ 0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
fl 0xFB02 FL
0xFB03 FFI
0xFB04 FFL
0xFB05 ST
st 0xFB06 ST
K 0x212A k