26/05/2017

Dlaczego autoryzacja dwuetapowa nie jest wystarczająca

Informacje Porady

Tradycyjna argumentacja na pytanie o potrzebę posiadania antywirusa często wygląda mniej więcej tak:

— Nie potrzebuję antywirusa! Nie mam nic, co byłoby warte kradzieży! Wirusy? Ransomware? Proszę bardzo, infekujcie mnie! Zainstaluję system operacyjny ponownie, bo nie mam nic do stracenia — na moim komputerze nie ma nic wartościowego.

— A czy masz konto w banku? Robisz zakupy w internecie?

— Tak, ale mój bank korzysta z uwierzytelniania dwuetapowego, które zapewnia mi ochronę. Zatem jeśli hakerzy ukradną numer mojej karty, i tak nie uda im się wypłacić pieniędzy.

Cóż, okazuje się, że jednak może im się to udać. Po pierwsze dlatego, że nie każdy sklep internetowy używa zabezpieczenia 3D Secure, co oznacza, że nie każda transakcja wymaga SMS-a potwierdzającego z kodem. Nawet kod CVC (trzy ostatnie cyfry na odwrocie karty) nie gwarantuje całkowitego bezpieczeństwa — nie we wszystkich transakcjach należ go podać.

Co więcej, hakerzy mogą przechwytywać wiadomości SMS wysyłane przez banki i używać kodów weryfikacyjnych do uzyskania pełnego dostępu do konta. W taki sposób niedawno skradziono znaczną kwotę pieniędzy klientom w Niemczech. Zobaczmy, jak to się stało.

SS7: dziura w telefonie

Przechwytywanie wiadomości SMS jest możliwe dzięki lukom w zestawie protokołów sygnalizacji telefonicznej występujących pod wspólną nazwą SS7 (ang. Signaling System 7 lub Common Channel Signaling System 7).

Te protokoły sygnalizacyjne stanowią oś współczesnego systemu komunikacji telefonicznej. Ich zadaniem jest przesyłanie wszystkich informacji o usłudze w obrębie sieci telefonicznej. Powstały one w latach 70., a pierwszy raz zostały zaimplementowane w latach 80. Od tamtej pory zostały standardem stosowanym na całym świecie.

Początkowo protokoły SS7 miały być stosowane tylko w przypadku telefonów stacjonarnych. Pomysł polegał na fizycznym oddzieleniu głosu od sygnałów usługi poprzez umieszczenie ich na różnych kanałach, co miało na celu zwiększenie ochrony przed oszustami telefonicznymi, którzy wykorzystywali specjalne urządzenia do imitowania sygnałów tonowych, używanych wówczas do przesyłania informacji o usłudze w obrębie sieci telefonicznych.

Ten sam zestaw protokołów został później zaimplementowany w sieciach mobilnych. W międzyczasie programiści dodali do niego wiele funkcji. SS7 jest używany między innymi do przesyłania wiadomości SMS.

Niestety 50 lat temu bezpieczeństwo informacji nie było przedmiotem zmartwień — a przynajmniej nie w przypadku technologii przeznaczonych do użytku cywilnego. Liczyła się wydajność. W ten oto sposób powstał skuteczny, lecz niezapewniający bezpieczeństwa system Signaling System 7.

Najsłabszym punktem tego systemu (pośród wielu innych systemów utworzonych w tamtych czasach) jest to, że opiera się on na zaufaniu. Założono, że dostęp do niego będą mieć tylko operatorzy sieci, a powszechnie cieszyli się oni dobrą opinią.

Trzeba jednak mieć na uwadze, że poziom bezpieczeństwa systemu jest określany przez najsłabiej chroniony element. Jeśli zhakowany zostanie jeden z operatorów, zhakowany zostanie cały system. Podobnie wygląda sytuacja, gdy dowolny administrator sieci pracujący dla tych operatorów zdecydowałby się przekroczyć swoje uprawnienia i użyć SS7 do własnych celów.

Dostęp do SS7 umożliwiał podsłuchiwanie rozmów, określanie lokalizacji użytkownika, a także przechwytywanie wiadomości SMS, nic więc dziwnego, że wśród aktywnych użytkowników nieautoryzowanego dostępu do SS7 znajdowały się zarówno służby specjalne z różnych krajów, jak i przestępcy.

Jak przeprowadzano atak

W przypadku niedawnego ataku w Niemczech wyglądało to tak:

  1. Komputery użytkowników infekowano trojanem bankowym. Łatwo jest doprowadzić do takiej infekcji, gdy nie korzystasz z programu zabezpieczającego. Co więcej, mogą one działać w ukryciu, więc trudno je dostrzec.

Korzystając z trojana, hakerzy kradli loginy bankowe i hasła. (Oczywiście kradzież tych danych autoryzacyjnych w większości przypadków nie wystarczy — należy także posiadać kod potwierdzający wysyłany przez bank w wiadomości SMS.)

  1. Prawdopodobnie ten sam trojan kradł numery telefonów użytkowników. Dane te są zazwyczaj potrzebne podczas dokonywania zakupów przez internet i nietrudno jest je ukraść. W tej sytuacji oszuści mieli zarówno dane uwierzytelniające, umożliwiające dostęp do kont bankowych użytkowników, jak również ich numery telefonów komórkowych.
  2. Przestępcy używali skradzionych loginów do bankowości w celu przesyłania pieniędzy na własne konta bankowe. Następnie, mając dostęp do SS7 w imieniu pewnych zagranicznych dostawców, przekierowywali wiadomości SMS wysyłane na te numery na własne telefony i otrzymywali kody potwierdzające, potrzebne do pełnego zalogowania się i przesłania pieniędzy. Takich okolicznościach bank nie miał podstaw do podejrzewania, że mogło dojść do nadużycia.

Niemiecki dostawca, którego abonenci ucierpieli w tym przypadku, potwierdził atak. Dostawca zza granicy, którego dostęp do sieci SS7 został wykorzystany w ataku, został zablokowany, a odpowiednie osoby zostały poinformowane o sytuacji. Nie wiemy, czy udało im się odzyskać pieniądze.

Czy nadal nie potrzebujesz antywirusa?

Uwierzytelnianie dwuetapowe jest przeważnie uważane za solidną ochronę — jeśli dostęp do telefonu komórkowego masz tylko Ty, któż mógłby odczytywać wiadomości, które na niego przychodzą? Cóż, każdy, kto posiada dostęp do systemu SS7 i kto jest zainteresowany używaniem Twoich wiadomości SMS do uzyskania Twoich pieniędzy.

Co można zrobić, aby zwiększyć rzetelność autoryzacji dwuetapowej i ochronić się przed podobnymi atakami? Oto nasze porady:

  • Wiadomości SMS nie są jedynym rozwiązaniem dla uwierzytelniania dwuetapowego. Sprawdź, czy Twój bank oferuje inne, bezpieczniejsze warianty, takie jak aplikacja Google Authenticator czy kryptograficzne klucze USB.
  • Zainstaluj na swoim urządzeniu sensowny produkt zabezpieczający. Niestety nie wszystkie banki oferują alternatywne sposoby umożliwiające dwukrotną autoryzację — niektóre wysyłają potwierdzenie jedynie w wiadomości SMS. Wówczas jedyna nadzieja leży w dobrym rozwiązaniu zabezpieczającym. W przypadku wystąpienia ataku podobnego do opisanego w tym poście odpowiedni antywirus nie pozwoli trojanowi bankowemu na zainfekowanie komputera, więc nie dojdzie do kradzieży danych logowania. Oznacza to, że dostęp do SMS-ów będziesz mieć tylko Ty.