Weryfikacja dwustopniowa uchroni Cię przed złem — ale czy na pewno?
Czym jest weryfikacja dwustopniowa w podstawach
Kilka lat temu w wielu programach, usługach i stronach zaczęto promować tzw. weryfikację dwustopniową (lub też zwaną "dwu-etapową"). To zabezpieczenie było określane jako remedium na wszelkie bolączki w stylu: ktoś wykradł mi konto na Steam'ie i straciłem wszystkie gry lub ktoś zalogował się na moje konto google bez mojej wiedzy.I taki system weryfikacji użytkowników wydaje się wręcz idealny. Oprócz samego loginu i hasła użytkownik musi wprowadzić też ciąg znaków z urządzenia (przypominające breloczek) lub z zewnętrznego oprogramowania. Kod taki jest generowany na bieżąco i zmienia się zazwyczaj raz na minutę. W teorii, system nie do złamania, jak to wygląda w praktyce - no cóż... o tym w dalszej części tego wpisu.
Ale wracając na razie do podstaw.
Sam byłem pod wrażeniem, kiedy miła pani z banku wręczyła mi taki oto breloczek:
Jako, że nie zawsze byłem na bieżąco z nowinkami technologicznymi, to nie dość że taki breloczek był ciekawostką techniczną, to jeszcze dodawał wręcz +20 do bycia "specem IT" ;)
Niedługo później, na swoim ukochanym telefonie zainstalowałem aplikację Google Authenticator, która to swoją prostotą urzekła mnie w trybie natychmiastowym.
Na wszelki wypadek, jeśli ktoś nie wie jak taki program działa, śpieszę z pomocą i wytłumaczeniem.
Na telefonie instalujemy Google Authenticator, a na stronie w której chcemy włączyć taką usługę, wybieramy Google Authenticator jako nasz token uwierzytelniający:
Oczywiście kod z ekranu skanujemy w aplikacji na telefonie i voila! - od tej pory jeśli będziemy logować się w aplikacji/na stronie i system uzna, że warto nas sprawdzić "dodatkowo", to będziemy musieli otworzyć aplikację na telefonie i wprowadzić wygenerowany klucz.
Przykładowe zapytanie:
Oraz generowane kody w aplikacji na telefonie:
Dlaczego system miałby uznać, że "warto nas sprawdzić jeszcze raz" ?
Wystarczy, że system nie rozpozna np. podpisu cyfrowego naszego komputera. Niezależnie czy to będzie pełna specyfikacja techniczna naszego nowego komputera czy też tylko jego nazwa. To zależy od "dostawcy".
I tak po zainstalowaniu np. Steam (aby pograć we wszystkie nasze ulubione gry) i wpisaniu loginu i hasła do konta, jeśli Steam zauważy, że nie jest to ten sam komputer, na którym zazwyczaj graliśmy w gry, to pojawi się monit o wprowadzenie kodu weryfikacji dwuetapowej.
Tak w podstawach działa system weryfikacji dwu‑etapowej/dwustopniowej.
Jak to wygląda w różnych serwisach
Na szybkiego przejrzałem najpopularniejsze "serwisy" i usługi aby sprawdzić jak wygląda opis weryfikacji dwu‑etapowej oraz jak jest to wytłumaczone zwykłemu użytkownikowi:
Steam:
Chciałbym zwrócić uwagę na takie słowa jak "dodatkowy środek bezpieczeństwa... "specjalny kod.."
Wybaczcie że po angielsku ale nie miałem pod ręką polskiego odpowiednika... słowa na które zwracam uwagę: "enabling steam guard provides best level of Steam account security" czyli mniej więcej "Włączenie Steam Guard wprowadza najlepszy poziom zabezpieczenia na Twoim koncie"
no cóż... wg tego obrazka sami widzimy, że nie używanie Steam Guard jest "nierekomendowane". Oczywiście w kolorze czerwonym. Gdyż jest to ustawienie bardzo "niezalecane"
W Ubisofcie jest bardzo podobnie. Wielki wykrzyknik wpisany w trójkąt, niczym ostrzegawczy znak mówi nam, że nasze konto nie jest wystarczająco zabezpieczone:
No i oczywiście Facebook.
Mały "background plot" czyli taka niekrótka historia jak wszystko wokół mnie zaczęło się psuć niczym złośliwość rzeczy martwych w praktyce
13‑ty stycznia 2017.. Piątek.. podobno nie wierzę w przesądy.
Godzina 7:00. Rano wsiadam do auta, na pięknym ekranie wyświetla się napis: No GPS. Ignoruję. Może czarna dziura pomiędzy budynkami biurowców zablokowała sygnał GPS. W późniejszym czasie potwierdza się jednak informacja, że nowe Fordy Focusy potrafią się popsuć, bo woda dostaje się do podstawy anteny FM, a w tej podstawie jest akurat antena GPS. Oczywiście gwarancja nie obejmuje systemu nawigacji (wliczając w to antenę).
Godzina 07:05 - Auto rozmrożone, ale nie jezdnia na podjeździe pod domem. Przy wyjeździe letnie opony nie pomagają z kontrolą w którą stronę auto się zsuwa. Pod 2mm warstwą śniegu znajduje się lód. Efektem tego "nieprzygotowania" jest zarysowana felga i rozwalona zbieżność. No nic.. przed pracą trzeba podjechać do zakładu wulkanizacji. 25GBP=127PLN w plecy plus na lato trzeba będzie odnowić felgę. Zimówek nie zakładam. W klimacie w którym żyję, byłoby to nieekonomiczne.
Godzina 12:00 - w moich ukochanym Nexusie 5 zaczyna dziać się coś niedobrego. W poprzednich dniach miałem wrażenie, że coś mikrofon nie łapie, bo wiele osób prosiło, żebym zadzwonił jeszcze raz bo mnie nie słyszą. Co dziwne, mikrofon działa idealnie ale tylko w trybie głośnomówiącym. Jednak w biurze nie jest to najwygodniejszy sposób prowadzenia rozmów. Po wyłączeniu trybu głośnomówiącego, mikrofon po prostu nie zbiera głosu. Podejrzenie padło na mikrofon. Jako, że w biurze przewinęło się kilka Nexusów 5 i nie brakuje pod ręką części zamiennych to 5 minutach zabawy i wykręceniu kilku śrubek cała taśma z mikrofonem została zmieniona. Niestety - problem wciąż pozostał. Mikrofon działa tylko w trybie głośnomówiącym. Hard-reset, wgranie czystego oprogramowania to kwestia 12 minut. Wciąż nic nie działa. W biurze pojawia się Simon... maniak rozkładania wszystkiego na części pierwsze. Telefony, tablety, długopisy itp. itd. jego szuflada to składowisko wszystkiego... Simon potwierdza, że jego Nexus psuł się identyczny sposób i wystarczy docisnąć taśmę na gnieździe płyty głównej. Nie ukrywam, że rozwiązanie sprawdziło się, ale tylko na 10 minut. Po 10 minutach ekran (nowiutki, zmieniony tydzień wcześniej jak Nexus niefortunnie spadł ekranem na kamienie) zgasł z telefonu i z komórki dało się korzystać, ale tylko poprzez bluetooth. Niestety w takim stanie telefon wytrzymał tylko godzinę, więc udało mi się tylko zrobić kopię zapasową zwykłych danych.
Tak też tego dnia - mój telefon zmarł... Uznałem, że zbyt wiele razy go naprawiałem - żeby po raz kolejny pakować pieniądze w telefon który jest wręcz idealny
gdyby nie: a) bateria która mimo wielokrotnych wymian, nie wytrzymuje dnia bez ładowania b) pamięć (16GB minus system minus aplikacje i zostaje 5GB) c) brak wejścia na karty microSD d) słaby aparat (zajmuje się również fotografią, ale nie zawsze chce mi się targać dwie torby ciężkiego sprzętu aby mieć pod ręką aparat).
Godzina 18:30: Wchodzę do domu i zastanawiam się czemu w moim akwarium nie lecą bąbelki.
Okazało się, że nowo założony zawór do butli CO2 nie jest wcale taki fajny i na którymś złączu mam wyciek.
Cała nowa butla CO2 pusta, roślinki nie dostają więcej jedzenia...
Podsumowując: ten piątek nie był moim najlepszym dniem
Dlaczego ten system ma prawo nie działać
czyli system działa, tylko słabym ogniwem będzie ludzka natura
Po tych wszystkich przygodach tego dnia, uznałem że należy mi się odrobina rozrywki.
Odpaliłem Uplay (mimo szeroko zakrojonej niechęci wobec Ubisoftu mają jedną grę, która przyciąga mnie jak magnes, mianowicie Tom Clancy's HAWX2) i zobaczyłem okno logowania. Trochę zdziwiony, bo nie pamiętam kiedy ostatni raz wpisywałem login i hasło:
Jako, że hasła nie pamiętałem, oczywiście kliknąłem w "Odzyskaj hasło". Na mojego maila przyszedł link, hasło zresetowane, wpisuje ponownie i okazuje się, że aby kontynuować, muszę wpisać kod weryfikacji dwu‑etapowej z aplikacji Google Authenticator z mojego telefonu...
Tak. Właśnie dochodzimy do kwestii dlaczego okazuje się to teraz skomplikowane. Otóż Google Authenticator jest na telefonie który tego dnia zmarł.
No nic.. Sam Ubisoft przecież oferuje kody awaryjne, czyli właśnie kody których użyjemy jeśli nie mamy dostępu do zwykłych kodów z aplikacji.
Godzina szukania... Niestety - kody awaryjne gdzieś przepadły.
Czyżby koniec konta Uplay i stracone wszystkie gry? Otóż nie całkiem.
Nie poddając się spróbowałem zalogować się na stronie ubisoft.com i co dziwne, na tej stronie wystarczyło podać login (adres e‑mail) i hasło. Bez podawania danych z weryfikacji dwu‑etapowej.
A tak... gwoli wyjaśnienia - podałem hasło, które zresetowałem kilkanaście/kilkadziesiąt minut wcześniej. Linkiem który przecież przyszedł na adres e‑mail.
Jeśli już dostałem się na stronę ubisoft.com to czemu z tego nie skorzystać?
Otworzyłem sprawę w customer support. Nie trzeba było długo czekać na odpowiedź:
Wsparcie techniczne poprosiło mnie abym podał im kod weryfikacyjny który wysłali mi na skrzynkę mailową:
Oczywiście w skrzynce znalazłem kod weryfikacyjny:
Po kilku minutach dostałem następujące potwierdzenie:
Podsumowując: Moje super bezpieczne konto Uplay było wręcz skazane na stratę, jednak okazuje się, że wystarczy tylko i wyłącznie dostęp do konta poczty e‑mail na którą jest przypisane konto uplay. Co śmieszne, śmiem twierdzić, że można by posunąć się jeszcze dalej i np. po zresetowaniu hasła na stronie ubisoft.com, przekierować konto Uplay na nowy adres e‑mail po czym skontaktować się z supportem Ubisoftu i wtedy poprosić o wyłączenie weryfikacji dwuetapowej. W końcu przecież kod weryfikacyjny dla wyłączenia tej usługi i tak przyjdzie na maila, tym razem już na nowej skrzynce.
Mam mieszane uczucia. Zaczynam się zastanawiać, czy każdy "usługodawca" który świadczy weryfikację dwustopniową/dwuetapową, jest skłonny tak "wyłączyć" to zabezpieczenie tylko dlatego, że skontaktował się z Tobą użytkownik który ma dostęp do skrzynki mailowej.
Bo chciałbym tylko zaznaczyć, że jedyne do czego miałem dostęp, to do skrzynki mailowej.
Dawno temu (jak byłem nastolatkiem) to za pewnego rodzaju autorytet brałem znaną dość postać w świecie IT czyli pan Kevin Mitnick. Otóż uznawał on bardzo fajną zasadę przy łamaniu wszelkich systemów IT, że to nie komputery łamiemy, ale ludzi. I w tym przypadku myślę, że weryfikacja dwustopniowa jest naprawdę świetnym systemem która wspomaga zabezpieczenie naszych kont, danych, bibliotek itp, jednak i tak na samym końcu łańcucha zabezpieczeń i tak jest żywa osoba, która potrafi zawieść.
P.S. W celu wyjaśnienia - nie obwiniam tutaj bezpośrednio pana z obsługi klienta Ubisoftu. Obstawiam przecież, że to nie on wymyślił procedurę, aby taką weryfikację dwuetapową wyłączać za pomocą kodu wysłanego mailem. Raczej cała procedura nie została do końca przemyślana. Kwestia ile osób to sprawdziło i ile możliwych scenariuszy zostało sprawdzonych. P.S. 2 - Powyższa historia jest prawdziwa, jednakże nie służyła w celach "łamania zabezpieczeń". Sam cieszę się, że mam z powrotem dostęp do swoich gier, jednak po wszystkim po prostu zauważyłem, że chyba te całe zabezpieczenia, nie działają tak jak powinny.