12:00
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?

paypal1

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.

paypal3

Kiedy instrukcja dotrze do aplikacji, aplikacja “zablokuje ekran”.

paypal2

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ę”.

Wszystko wskazuje na to, że to nie jedyna metoda na ominięcie dwyskładnikowego uwierzytelnienia — podobno ktoś znalazł tej samej klasy problem w webaplikacji …i PayPal wciąż milczy.

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).

Przeczytaj także:

7 komentarzy

Dodaj komentarz
  1. 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.

  2. 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 :)

  3. Do Androida instalujemy AdAway.

  4. Albo Firefoxa i Adblocka. ;)

  5. […] uwierzytelnienie w PayPalu (ostatni atak z wykorzystaniem aplikacji mobilnej opisaliśmy tutaj)… Szczegóły obecnej metody poznacie tutaj, a poniżej video z demonstracją […]

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.