Kiedy formularz pyta cię o nazwisko panieńskie matki, nie prosi cię o tajemnicę. Prosi cię o wpis z aktu stanu cywilnego.
I na tym w zasadzie kończy się cała krytyka; reszta to szczegóły. Pytanie zabezpieczające jest hasłem z trzema wadami, których zwykłe hasło nie ma: nie ty je wybrałeś, odpowiedź da się zgadnąć, bo mnóstwo ludzi odpowiada to samo, a często jest ona zapisana w miejscu, nad którym nie masz kontroli. W zamian dostaje ogromny przywilej: może zastąpić twoje hasło. To tylne drzwi do twojego konta — i są słabsze niż te frontowe.
To nie jest przeczucie branży. To jest to, co zmierzył Google.
Badanie, którego nikt nie czyta przed zaprojektowaniem formularza
W 2015 roku pięcioro badaczy — Joseph Bonneau, Elie Bursztein, Ilan Caron, Rob Jackson i Mike Williamson — przedstawiło na konferencji WWW we Florencji pracę, której tytuł mówi już prawie wszystko: Secrets, Lies, and Account Recovery. To nie było laboratorium z trzydziestoma ochotnikami: przeanalizowali setki milionów tajnych odpowiedzi i miliony prawdziwych prób odzyskania konta.
Wniosek ma dwie połowy. Prawie zawsze opowiada się tylko jedną.
Połowa pierwsza: da się je zgadnąć
Model zagrożenia w tej pracy to nie wścibski szwagier, tylko ktoś, kto atakuje konta masowo i musi trafić jedynie w ułamku przypadków. Pod taką lupą liczby zmieniają znaczenie.
Przy jednej jedynej próbie atakujący trafiłby 19,7% odpowiedzi anglojęzycznych użytkowników na pytanie „Twoje ulubione jedzenie?”. Jednej. A odpowiedź, gdyby ktoś miał wątpliwości, to zwykle dokładnie ta, o której właśnie pomyślałeś. Przy dziesięciu próbach trafiłby 39% odpowiedzi użytkowników koreańskich na „Miasto urodzenia?”. A jedno podejście wystarcza, by trafić 3,8% odpowiedzi użytkowników hiszpańskojęzycznych na pytanie, które Google serwował im w tłumaczeniu jako „Pierwsze nazwisko ojca?”.
3,8% brzmi jak niewiele, dopóki nie przypomnisz sobie, że atakujący nie atakuje twojego konta — atakuje milion kont. I żeby zbudować taką listę, nie trzeba być Google. Autorzy to sprawdzili: z zaledwie tysiąca odpowiedzi kupionych w serwisie crowdsourcingowym złożyli rozkłady w 75–80% tak skuteczne jak ten prawdziwy, przy do stu próbach. Eksperyment kosztował ich 100 dolarów i mniej niż dzień pracy.
Najgorsze jest to, że pytania zaprojektowane tak, by odpowiedź była niepowtarzalna, też nie wychodzą z tego obronną ręką. Numer w programie lojalnościowym linii lotniczej z definicji powinien być jedyny w swoim rodzaju; w praktyce jedna próba trafia 4,2% wśród anglojęzycznych. Powód jest przepiękny i jeszcze do niego wrócimy: ludzie kłamią, i kłamią stadnie.
Połowa druga: zapomina się je
Tutaj argumentacja rozsypuje się całkowicie, bo jedynym powodem, dla którego nadal
używamy pytań zabezpieczających, jest przekonanie, że są niezawodne. Przesłanka
brzmiała rozsądnie: zapamiętać rodzinne miasto powinno być łatwiej niż xK4$mz.
Otóż nie. 40% amerykańskich, anglojęzycznych użytkowników nie było w stanie
przypomnieć sobie własnej odpowiedzi, gdy jej potrzebowało. Nie zapomnieli jej
teoretycznie: próbowali wejść na swoje konto i nie weszli.
I wtedy pojawia się idealne odwrócenie, to, które powinno było uśmiercić tę technologię dekadę temu. Im bezpieczniejsze pytanie, tym gorzej się je pamięta. W tej samej populacji „Drugie imię twojego ojca?” — pytanie słabe — miało 76% trafień. „Twój pierwszy numer telefonu?”, znacznie trudniejszy do odgadnięcia, spadał do 55%. A kandydatki teoretycznie najbezpieczniejsze idą na dno: „Numer twojej karty bibliotecznej?” 22%, „Numer w programie dla stałych pasażerów?” 9%.
Czas dobija resztę. Dla „Twoje ulubione jedzenie?” trafność wynosiła 74% po miesiącu, 53% po trzech miesiącach i ledwie 47% po roku. A odzyskiwanie kont nie kumuluje się na początku: autorzy stwierdzili, że użytkownicy nie odzyskują konta wcześniej częściej niż później, więc większość dociera do pytania wtedy, gdy wspomnienie już wyparowało.
Wniosek autorów nie zostawia wiele miejsca na reinterpretację: wydaje się niemal niemożliwe znaleźć tajne pytania, które byłyby jednocześnie bezpieczne i łatwe do zapamiętania.
Kłamstwo cię nie ratuje, tylko zatrzaskuje drzwi
Rozsądna reakcja, kiedy już rozumiesz problem, to skłamać: pytają o rodzinne miasto — odpowiadasz „Reykjavik” i po sprawie.
To też zmierzono, ankietą wśród Amerykanów. Wśród tych, którzy przyznali się do podawania fałszywych odpowiedzi, 37% zrobiło to, żeby utrudnić życie atakującemu, 15% — żeby łatwiej było zapamiętać (przeczytaj to dwa razy), a 31,9% ze względu na prywatność, bo nie mieli ochoty oddawać firmie własnego życiorysu.
Problem w tym, że utrudnianie odpowiedzi to gest przewidywalny. Stąd te 4,2% numerów w programie lojalnościowym: kłamstwa wielu ludzi są do siebie znacznie bardziej podobne niż ich prawdy. A rachunek płaci się w drugiej połowie. Amerykańscy użytkownicy, którzy wypełnili „Twój pierwszy numer telefonu?” czymś siedmiocyfrowym — odpowiedzią prawdopodobną — pamiętali swoją odpowiedź w 55% przypadków. Ci, którzy wpisali sześć znaków, czyli ci, którzy coś zmyślili, trafiali w 18%.
Kłamać i nie zapisać kłamstwa to nie strategia bezpieczeństwa. To wyrzucenie klucza.
Po polsku to pytanie w ogóle nie trzyma się kupy
Wróćmy do nazwiska panieńskiego matki. W Polsce ta odpowiedź nie jest sekretem, tylko rubryką: figuruje w twoim akcie urodzenia i w aktach stanu cywilnego, a urzędy, banki i formularze dopisują ją do twoich danych od dziesięcioleci. Dorzućmy fleksję — Kowalski i Kowalska to to samo nazwisko — i zgadywanie robi się jeszcze łatwiejsze.
To nie jest lokalna ciekawostka. Sama praca cytuje badanie Griffitha i Jakobssona, którzy wywiedli to nazwisko dla co najmniej 30% mieszkańców Teksasu z publicznych rejestrów urodzeń i małżeństw, a także Rabkina, który stwierdził, że 16% pytań używanych w praktyce miało odpowiedzi rutynowo wypisane w publicznych profilach w mediach społecznościowych.
Dana, która widnieje w rejestrze i wyświetla się na twoim profilu, nie jest wspólnym sekretem. To informacja publiczna z polem na hasło z przodu.
Co zrobić z formularzem, który cię zmusza
Czasem nie ma ucieczki: bank wymaga trzech pytań i dalej się nie da. W takim razie przestań traktować je jak pytania i potraktuj jak to, czym są.
- Odpowiadaj hasłem, nie życiorysem. Na „Miasto urodzenia?” można odpowiedzieć losowym ciągiem z generatora albo frazą, którą wcześniej przepuściłeś przez sprawdzanie. To jedyna odpowiedź, której nie ma w żadnym rejestrze.
- Zapisz ją w menedżerze, w tej samej karcie serwisu. To nie jest opcjonalne: to dokładnie ta różnica między 55% a 18% zapamiętania. Kłamstwo działa tylko wtedy, gdy je zachowasz.
- Jeśli serwis pozwala wybrać inną metodę odzyskiwania, wybierz ją. W danych Google SMS trafiał w 81% przypadków, a e-mail w 75%, wobec 61% dla tajnych pytań wśród amerykańskich, anglojęzycznych użytkowników — i zaledwie 44% wśród Francuzów.
Google zachował się zgodnie z własnymi danymi leżącymi na stole: zdegradował tajne pytania do ostateczności, zawsze w towarzystwie innych sygnałów. Praca zaleca, by nie używać ich samodzielnie.
Jedenaście lat później twój ubezpieczyciel wciąż pyta cię o imię pierwszego zwierzaka. Odpowiedz mu szesnastoma losowymi znakami. Zasłużył.
Źródła: J. Bonneau, E. Bursztein, I. Caron, R. Jackson i M. Williamson, „Secrets, Lies, and Account Recovery: Lessons from the Use of Personal Knowledge Questions at Google”, WWW 2015, Florencja · V. Griffith i M. Jakobsson, „Messin’ with Texas: Deriving Mother’s Maiden Names Using Public Records”, ACNS 2005, oraz A. Rabkin o pytaniach zabezpieczających w praktyce — obaj cytowani w powyższej pracy.