A Facebook akkor is beengedi, ha kicsit elírta a jelszavát, és ez nem baj
Egy olvasónk hívta fel a figyelmünket egy elsőre meglepőnek tűnő facebookos jelenségre, amelyet ő biztonsági hibának gondolt, de valójában direkt így működik: ha bejelentkezéskor elírja az emailcímét és/vagy a jelszavát, a Facebook akkor is beengedi.
Aki jelentkezett már be neten valamilyen oldalra (tehát gyakorlatilag mindenki, aki él és mozog), tudja, milyen könnyű elírni a saját adatait, pláne a jelszót, hiszen az általában ki van csillagozva, így még csak visszaolvasni se tudjuk. A Facebook ezért beépített egy kis mozgásteret: a rendszerük igyekszik felismerni, ha valaki kisebb elírásokat követett el, és ezeket automatikusan javítja is, nehogy ezek miatt nem tudjon belépni az illető.
Ezzel elvileg mindenki jól jár, a kedves felhasználó kap egy sok anyázást megspóroló kényelmi szolgáltatást, a Facebook meg örül, hogy a kedves felhasználó minél könnyebben be tud lépni, hogy pörgesse a hírfolyamot, mintha az élete múlna rajta, és bámulja közben számolatlanul a hirdetéseket. Fontos kérdés viszont, hogy ez az önkényes javítgatás nem jelent-e biztonsági kockázatot, hiszen gyakorlatilag azt eredményezi, hogy többféleképpen is be lehet lépni a fiókunkba.
Jobban tudja az emailcímünket, mint mi
Az emailcím az egyszerűbb eset. Mivel gmail.cmo vagy gmail.comm emailszolgáltatás – illetve .cmo vagy .comm domainvégződés – nem létezik, biztosra vehető, hogy ha valaki ilyesmit ad meg bejelentkezéskor, akkor a jó öreg gmail.com-ra gondolt. Kicsit olyan ez, mint az indexes cikkek elírásai – hiba, persze, de azért érthető, mit akartunk mondani. Gyorsan belátható tehát, ez az emailes javítás különösebb visszaélésre nem adna lehetőséget. Az már egy fokkal érdekesebb, hogy sok felhasználó tapasztalata szerint a @ előtti, személyes rész elírását is figyeli a Facebook.
Valójában azonban mindkét fajta emailkorrekció csak akkor működik, ha az adott böngészőben korábban már sikerült a hibátlan címmel bejelentkeznünk, és nem töröltük a sütiket, azaz a böngésző még emlékszik arra, hogy milyen címmel léptünk be, és ez alapján végzi el Facebook a korrekciót. Ha valaki más akarna egy másik gépről – vagy akár mi egy másik böngészőből – belépni rossz emailcímmel, már nem sikerülne.
Tegyük hozzá, hogy az emailcímünk amúgy is bárki által látható, fűnek-fának megadjuk, különben nem sok értelme lenne, mert senki nem írna nekünk levelet. Ha valaki kicsit is szeretné feltörni a fiókunkat, az emailcímünk megszerzése nem fog neki gondot jelenteni, úgyhogy amúgy se szorulna rá arra, hogy találomra próbálkozzon különféle permutációkkal.
Na de a Facebook tényleg elfogadja a csak nagyjából eltalált jelszavakat is?
Igen, ráadásul itt nem helyi böngészőtrükkről van szó, hanem tényleg a Facebook egy funkciójáról, és bár ez első hallásra már sokkal problémásabbnak tűnik, mint az emailek esete, valójában ez is elfogadható.
Szeázm tárujl
Az olvasónk konkrét esetében pláne: ő csak a kis- és nagybetűkkel variált. Erről először azt hittem, hogy a Facebook rendszere nem is elírásként érzékelte, hanem egyszerűen nem vett tudomást a különbségről, mert nem kisbetű-nagybetű érzékeny. De aztán jobban utánanézve kiderült, hogy nem erről van szó, a rendszer igenis figyel arra, hogy kis- vagy nagybetűket írunk-e be. A kényelmesebb használat érdekében viszont felismer néhány tipikus esetet, és ezekben korrigálja a betűméretet:
- Ha a tárolt jelszavunk kis kezdőbetűje helyett nagyot írunk be, mert ezt jellemzően a mobilos gépelés automatikus nagy kezdőbetűs beállítása okozza.
- Ha a tárolt jelszavunk betűméretei megfordulnak (ami eredetileg kicsi, azt nagyként írjuk be és fordítva), mert ezt nagy valószínűséggel egy véletlenül benyomott Caps Lock gomb idézi elő.
Ha tehát a regisztrációkor a jElSzÓ123! jelszót adtuk meg, bejelentkezéskor a rendszer emellett el fogja fogadni a JElSzÓ123! és a JeLsZó123! alakokat is. Ez egyébként nem újdonság, itt például egy 2011-es cikk csodálkozik rá ugyanerre, ezen a videón pedig maga a Facebook egy akkori szoftvermérnöke beszél erről egy 2014-es előadásában:
És akkor nézzük a legérdekesebb részt, a valóban elírt jelszavakat.
Van egy harmadik eset, amikor a Facebook úgy ítéli meg, hogy a helyes jelszót szándékoztuk beírni, csak homokszem csúszott a gépezetbe: ha a jelszó elé vagy után beírunk még egy karaktert. Ez lehet bármi, de csak egyetlen karakter, és csak a jelszó legelején vagy legvégén. A fenti példát továbbvéve, a rendszer el fogja fogadni, hogy 1jElSzÓ123!, és azt is, hogy jElSzÓ123!4, de azt például már nem, hogy jElSzÓ123!45 vagy jElSz4Ó123!, mert valahol meg kell húzni a határt, és ezek a cég szerint nem tipikus elírós esetek, azaz ennyire már nem lehetünk bénák, ha be akarunk jutni az oldalra.
Kényelmes. De biztonságos?
Mindezek kétségtelenül kompromisszumok, de az abszolút vállalható fajtából valók. Nézzünk egy tipikus forgatókönyvet. Amikor a hekkerek ismeretlen jelszavakat akarnak kitalálni, úgynevezett brute force támadást indítanak, amelyben gépi erővel próbálgatnak végig nagyon gyorsan nagyon sok variációt, amíg bele nem botlanak a működőbe.
Több oka is van annak, hogy a Facebook engedményei nem könnyítik meg érdemben a dolgukat.
Egyrészt a kis- és nagybetűk variálása és hasonló bonyolítások sokkal kevesebb nehézséget jelentenek az ilyen támadásokban, mint gondolnánk. A hosszabb jelszót viszont jelentősen nehezebb feltörni, így se a kis-nagybetűk terén tanúsított engedékenység, se a plusz egy-egy karakterrel megnyújtott jelszó nem jelent a gyakorlatban jelentős kockázatot.
Másrészt a brute force támadások kivédésére szokás olyan korlátozásokat bevezetni, mint az egységnyi idő alatt végzett jelszópróbálgatások számának korlátozása vagy a gyanús viselkedéskor Captcha-kód kérése, és ilyesmiket a Facebook is alkalmaz. A betűméretes elírásoknál ráadásul a rendszerük a jelek szerint azt is figyeli, hogy tényleg fordított mérettel pötyögi-e be valaki az adott jelszót, és ha nem, hanem egyszerűen csak bemásolja egyben valahonnan (ahogy egy támadás esetén történne), azt nem fogadja el.
Az átlagfelhasználónak pedig egyébként is sokkal inkább kell tartania olyan támadástípusoktól (például a jelszót a szájából kiéneklő social engineering, illetve a jelszószivárgás), amelyekben tökmindegy, hogy a Facebook beenged-e hibás jelszóval, mert a támadó a hibátlanhoz jut hozzá. Persze ha aztán azt rosszul gépelné be, a Facebook engedékenysége neki is a javára válhatna, de ezen a ponton talán már ez lenne a legkisebb gondunk.
Összefoglalva tehát nem teljesen kockázatmentes ez a gyakorlat, de ha minden más rendben van – például a jelszavak nem egyszerű szövegként tárolódnak, hanem rendesen titkosítva –, akkor ez minimális biztonsági áldozatot jelent a kényelmesebb használatért cserébe.
Ha erős jelszót szeretnénk használni, a kis-nagybetűk és hasonló trükkök helyett amúgy is inkább arra figyeljünk, hogy minél hosszabbat adjunk meg, mert azt tényleg nehezebb gépi segítséggel megfejteni. És mindenképp érdemes bekapcsolni a két tényezős hitelesítést, hogy legalább megnehezítsük a kiberbűnözők és a haragos exek dolgát.
És ha már az elírások és a biztonság határvidékén nézelődünk, érdemes még egy jelenségre kitérni. Létezik a Facebook engedékenységéhez hasonló megoldás weboldalak címével kapcsolatban is: az üzemeltető lefoglal a saját oldalához hasonló címeket, amelyek jellegzetes elírások (ilyen lenne mondjuk az Index esetében mondjuk az idnex.hu), hogy a felhasználó akkor is odataláljon, ha rosszul gépelt. Ugyanakkor kiberbűnözők is szoktak ismert oldalakhoz hasonló címeket lefoglalni, ha azok még szabadok, hogy aki elír egy címet, azt higgye, a jó oldalon jár, miközben valójában a bűnözők által lemásolt adathalász oldalon adja meg a jelszavát vagy a bankkártyaszámát. Ezért érdemes mindig figyelni a beírt url-re, akkor meg különösen, ha a meglátogatott oldalon még személyes adatokat is megadunk.