1/7/2014
Dwuskładnikowe uwierzytelnienie, które chroni przed jednym z najpopularniejszych ataków — kradzieżą hasła — włączyć można nie tylko w GMailu, Facebooku, Dropboksie i Evernote ale również w PayPalu (i wielu innych serwisach, por. tę listę). W przypadku PayPala drugim składnikiem jest tzw. Security Key, czyli sprzętowy token lub wiadomość SMS. Okazuje się jednak, że to dodatkowe zabezpieczenie można łatwo ominąć.
Jak ominąć dwuskładnikowe uwierzytelnienie?
Wystarczy włączyć aplikację mobilną PayPala i tuż po jej otwarciu i zalogowaniu się …przejść w tyb samolotowy, a po chwili go wyłączyć …i już można działać na koncie, które do zalogowania wymaga podania dodatkowego składnika (tj. Security Key).
Jak to możliwe? Odkrywca błędu, Dan Saltman, nie do końca rozumiał, na czym on polega, ale zgłosił go do PayPala poprzez ich program Bug Bounty. Kiedy jednak po 2 tygodniach nie otrzymał żadnej odpowiedzi, przesłał opis błędu do badaczy z Duo Security, a ci doszli do istoty problemu.
Winne mobilne API
Otóż, po podsłuchaniu ruchu okazało się, że jeśli konto PayPalowe zostało skonfigurowane do obsługi dwuskładnikowego uwierzytelnienia, to w trakcie logowania do konta z poziomy aplikacji mobilnej (niewspierającej dwuskładnikowego uwierzytelnienia), serwer wyśle specjalną instrukcję nakazującą zablokowanie konta.
Kiedy instrukcja dotrze do aplikacji, aplikacja “zablokuje ekran”.
Aby “oszukać” aplikację wystarczy więc przechwycić wiadomość od serwera i podmienić “true” na “false”. Podręcznikowy błąd…
Podsumowując, atak był możliwy, ponieważ aplikacja mobilna korzystała z dedykowanego jej API, które nie miało zaimplementowanej obsługi dwuskładnikowego uwierzytelnienia, a jedynie — włączaną tylko i wyłącznie po stronie klienta “zaślepkę”.
Podobny problem miało Google i Apple
Na koniec przypomnijmy, że dwuskładnikowe uwierzytelnienie można było ominąć także w Google (i to dwukrotnie). Problemy z dwuskładnikowym uwierzytelnieniem miało także Apple. Błędy tego typu leżą w tzw. warstwie logiki biznesowej i są dość trudne do wykrycia, ponieważ zazwyczaj wymagają zrozumienia całości testowanego środowiska.
Na koniec wszystkim programistom webaplikacji polecamy także nasz niedawny artykuł dotyczący ochrony webaplikacji przed atakami zgadywania haseł, w którym tłumaczymy jak wykrywać tego typu ataki i z jakich zabezpieczeń warto skorzystać, a jakie w ogóle nie mają sensu (jest też opinia na temat dwuskładnikowego uwierzytelnienia).
Wiem, że nie wybieracie reklam. Ale strasznie słabo wygląda w nagłówku “wykryto zagrożenie – skanuj”, link który przenosi do strony wciskającej usługi premium.
Na tym poście nie ma żadnych reklam (nie powinno być). Reklamy są aktywowane po 2 dniach, tak aby nie przeszkadzały stałym czytelnikom. Czy korzystasz może z wersji mobilnej? Podaj URL reklamy — tylko tak możemy je blacklistować w Google AdSense.
Polecam Adblock Edge. Jeśli nie chcesz być trackowany przez *analytics, to jeszcze jakiś noScript. Wg. redakcji bycie czytelnikiem bloga o bezpieczeństwie IT zobowiązuje do zadbania o siebie samemu.
Ja korzystam z mobilnej wersji witryny. Url reklamy to http://www.dotpay.pl/oferta/ oraz kilka innych na innych postach. Chyba czas na nowy soft dla telefonu i wgranie przydatnych aplikacji jak w komentarzu nademna :)
Do Androida instalujemy AdAway.
Albo Firefoxa i Adblocka. ;)
[…] uwierzytelnienie w PayPalu (ostatni atak z wykorzystaniem aplikacji mobilnej opisaliśmy tutaj)… Szczegóły obecnej metody poznacie tutaj, a poniżej video z demonstracją […]