[PL] Jak działa kradzież karty SIM? Co to jest SIM swap?

Homepage:

https://youtu.be/FjDBMzweZj8

Description:

Wprowadzenie

Jeszcze kilkanaście lat temu gdy bankowość internetowa pomału wkraczała do naszego życia karty kodów jednorazowych były czymś normalnym. Idea stojąca za tym podejściem była prosta. Oprócz loginu i hasła, które potrzebne jest do zalogowania się do serwisu transakcyjnego, każdy przelew musiał być dodatkowo potwierdzony.

Dzięki takiemu podejściu bank był pewien, że został on zlecony przez prawowitego właściciela danego konta. Dawniej wystarczyło parę cyfr, które zostały zdrapane z odpowiedniego pola karty zdrapki. Dlaczego te metody nie są wystarczające w dzisiejszym świecie? Dlaczego banki tak bardzo chcą aby ich użytkownicy porzucili tradycyjne potwierdzenia sms na poczet mobilnych aplikacji potwierdzających znajdujących się w naszych telefonach komórkowych? O tym w dzisiejszym odcinku.

Jeżeli materiały tego rodzaju Ci się podobają zapraszam do dołączenia do grupy od 0 do pentestera na Facebooku. Podcast ten można również znaleźć na Spotify oraz Google i Apple Podcasts oraz Anchor.

Nie jest odkrywczym stwierdzenie, że tam gdzie pieniądze pojawiają się ludzie, którzy chcą nam je ukraść przy użyciu różnorakich metod. To samo tyczy się sieci i bankowości elektronicznej. Z punktu widzenia atakującego to idealne miejsce. Wystarczy zdobyć do niego nieautoryzowany dostęp i można rozporządzać czyimś majątkiem bez dodatkowych przeszkód. Jak więc można uzyskać dane do logowania do czyjegoś konta?

Najprościej przy pomocy phishingu. Phishing polega na podszywaniu się pod kogoś lub coś zazwyczaj w celu uzyskania korzyści materialnych. Tworzy się więc kopie stron bankowych, które wyglądają praktycznie tak samo jako oryginały i czeka aż potencjalna ofiara zaloguje się na nie swoimi danymi. Wtedy to tak pozyskane informacje trafiają do rąk złodzieja i mogą zostać przez niego wykorzystane do zalogowania się na prawidłowej stronie banku.

Stąd też pomysł dwuskładnikowego potwierdzania transakcji, który funkcjonuje niemal w każdym banku. Dzięki temu zabezpieczeniu nawet jeżeli klient straci kontrole nad swoim hasłem, jego majątek jest nadal bezpieczny. Każda transakcja musi bowiem zostać dodatkowo potwierdzona aby mogła być wykonana.

Jak zatem realizowano to zabezpieczenie jeszcze kilka lat temu? Przy użyciu kart kodów, które przypominają zdrapki, które możemy zakupić w totalizatorze sportowym. Taka karta zawiera kilkanaście ponumerowanych kodów. W ostatniej fazie potwierdzania przelewu system losowo wybiera jeden z numerów jeszcze nie wykorzystanych przez klienta i prosi o przepisanie odpowiedniej kombinacji cyfr. Klient zdrapuje wtedy odpowiednie pole, przepisuje odpowiednią kombinację i zleca wykonanie przelewu. Całość zabezpieczenia opiera się zatem na tym iż tylko klient posiada fizyczną kartę zdrapkę. Atakujący używający komputera nie posiada do niej dostępu. Ale jak to mówią na wszystko znajdzie się metoda.

Przestępcy zauważyli, że aby włamywanie się na konta miało sens - oprócz haseł muszą także pozyskać liczby z kart zdrapek. Zazwyczaj najprostsze metody bywają najskuteczniejsze. Zaczęli wiec na swoich stronach phishingowych prosić niczego nieświadome osoby o przepisanie konkretnych kodów z fizycznych kart. Ale takie podejście ma jeden minus.

System losuje kod, który ma zostać wykorzystany do potwierdzenia konkretnej płatności. Atakujący prosząc zatem o jeden kod z karty zdrapki posiadającej ich 25 ma szanse jedną na 25, że system wylosuje właśnie ten konkretny kod. Całość ewoluowała - użytkowników proszono o coraz większą liczbę kodów - co proporcjonalnie zwiększało szanse przestępców.

Oczywiście teraz może się nam to wydawać śmieszne. Jeżeli ktoś przepisywał wszystkie kody jak leci - sam jest sobie winien. Ale należy pamiętać iż nie wszystkie osoby są biegłe w temacie używania Internetu. Poza tym zawsze uda się wymyśleć jakiś powód aby poprosić o dodatkowy kod.

Weźmy pod uwagę chociażby taki przykład. Użytkownik loguje się do fałszywego serwisu i chce zlecić przelew za prąd. Zostaje poproszony o kod X który przepisuje. Ale oszuści zwracają informację iż kod ten jest nieprawidłowy i proszą o kolejny kod - tym razem T.

Dzięki temu prostemu podejściu nawet bardziej świadomy użytkownik, który nigdy w życiu nie podał by na serwisie wielu kodów na raz - może nabrać się na trick stosowany przez przestępców. Tutaj uwidacznia się bowiem wada systemu wykorzystywania jednorazowych kodów. Każdy nieużyty ciąg znaków mógł bowiem potwierdzić dowolną transakcję na dowolną kwotę. Posłużę się tu analogią do kluczy do naszych drzwi do mieszkań. Jeżeli złodziej posiada nasz klucz ma dostęp do wszystkich zasobów i rzeczy znajdujących się w naszej posiadłości. Może zrobić wszystko kiedy tylko chce.

Podobnie tutaj - posiadając prawidłowy kod, jeżeli tylko zostanie on wylosowany przez bank - można zlecić przelew na dowolną kwotę do dowolnej osoby. Dlatego tez po pewnym czasie kiedy już telefonia komórkowa była na tyle rozwinięta iż praktycznie każdy dorosły Polak posiada swój telefon komórkowy, metody gry się zmieniły.

Teraz każdy z nas podczas zlecania przelewu otrzymuje od banku wiadomość tekstową wraz z unikalnym kodem który może potwierdzić tylko tą jedną transakcję. Co więcej - w smsie zazwyczaj widoczna jest kwota przelewu a także numer konta odbiorcy.

Na pierwszy rzut oka stosując taką metodę weryfikacji pozbyto się praktycznie wszystkich minusów jej poprzedniczki. Tym razem każdy kod jest unikalny i powiązany z jedną konkretną operacją. Atakujący nie może zatem pozyskiwać takich kodów na przyszłość z myślą wykorzystania ich w dogodnej chwili. Co więcej teraz wiadomo jaka jest kwota danej operacji a także możliwe jest sprawdzenie, czy pieniądze są przesyłane na podany przez nas numer konta a nie numer należący do podmiotów zewnętrznych. Wszystko gra i działa. Prawda?

Nie do końca. Prześledźmy bowiem minusy takiego podejścia oraz w jaki sposób ta metoda jest omijana przez sprytnych złodziei. Strona bankowa dalej jest chroniona przez login i hasło - tutaj nic się nie zmieniło. Dalej pierwszym elementem jest zatem pozyskanie tych informacji. Zmiana następuje jednak w drugim kroku. Po przechwyceniu danych do logowania atakujący wykorzystuje je do zalogowania się na stronę banku.

W tym momencie na stronie phishingowej niczego nieświadoma ofiara widzi klepsydrę i czeka na logowanie. Potem przestępca zleca przelew na kontrolowane przez siebie konto. W tym momencie bank wysyła do swojego klienta kod SMS, mający potwierdzić daną transakcję. Teraz klientowi wyświetla się informacja iż w celu ukończenia logowania musi je potwierdzić wpisując otrzymany kod SMS.

W idealnym scenariuszu klient powinien przeczytać treść wiadomości i zauważyć, że cos się tutaj nie zgadza. W SMSie bowiem otrzymuje informację o tym iż kod ten służy do potwierdzenia przelewu wychodzącego na obcy rachunek. W rzeczywistości jednak niewiele osób czyta te wiadomości a tylko przepisuje kod w nich zawarty. Możesz teraz pomyśleć: ofiary same są sobie winne. Gdyby wykazały należytą ostrożność i odczytały treść wiadomości mogły by się ustrzec przed skutkami takiego ataku.

Po fakcie łatwo osądzać, dlatego przedstawię teraz drugi rodzaj podobnego ataku który już od pewnego czasu jest wykorzystywany na naszym rodzimym rynku Polskim. Wszystko zaczyna się od serwisów ogłoszeniowych, zazwyczaj w dziale “oddam” gdzie ludzie dobrej woli za darmo pozbywają się rzeczy który nie są im już potrzebne. Oprócz zdjęcia i krótkiego opisu przedmiotów widnieje numer telefonu. Można także skorzystać z wbudowanego w stronę czatu.

Po wymienieniu standardowych uprzejmości zazwyczaj dowiadujemy się, że owszem - darmowe przedmioty na nas czekają, należy jednak zapłacić za ich wysyłkę. Wysyłka to tylko parę złotych co zazwyczaj z nawiązką rekompensują zdobyte w taki sposób przedmioty. Ofiary przystają więc na taką opcję i podają numer telefonu a także swój adres.

Wtedy to otrzymują SMS-a od kuriera, w którym zawarta jest informacja iż paczka została wysłana i należy uiścić za nią opłatę. Jako iż mamy już 21 wiek, można to zrobić drogą elektroniczną na co pozwala zawarty w wiadomości link. Po kliknięciu naszym oczom ukazuję się standardowy widok pośrednika płatności, wykorzystywany przez większość sklepów internetowych w Polsce.

Na tego rodzaju stronach możemy wybrać nasz bank i wpłacić przy jego pomocy pieniądze, które to potem automatycznie zostaną przetransferowane do konta sprzedającego. Dzięki temu nawet jeżeli sprzedający i kupujący nie posiadają konta w tym samym banku - cała operacja trwa tylko kilka sekund. Większość z nas na pewno nie raz lub dwa korzystała z usług tego rodzaju pośredników. Na stronie widzimy mała kwotę za przesyłkę a także opis usługi. Wybieram więc nasz bank i logujemy się do niego.

Jesteśmy świadomymi użytkownikami dlatego sprawdzamy czy kwota przelewu się zgadza. Dopiero po weryfikacji kwoty przepisujemy kod z SMSa. Niestety, wychodzi na to że się pomyliliśmy i serwis prosi nas o podanie kolejnego kodu - ponieważ poprzedni był niepoprawny.

Ponownie przepisujemy kod z SMS i już. Właśnie zostaliśmy okradzeni. Jak to się stało? Witryna pośrednika prowadziła do strony phishingowej tak samo jak fałszywa strona banku.

Po podaniu naszych danych do logowania przestępcy zdefiniowali przelew na swoje konto - najpierw na kwotę kilkunastu złotych. Wtedy to otrzymaliśmy pierwszy kod z SMSA którego treść sprawdziliśmy. W między czasie atakujący anulowali ten przelew i zlecili kolejny - na dużo większą kwotę. My natomiast otrzymaliśmy komunikat o błędnym kodzie. Jesteśmy przecież tylko ludźmi, czasami zdarza się na popełnić błąd podczas przepisywania cyferek. Podczas podawania kolejnego kodu nie zapoznaliśmy się już dokładnie z jego wiadomością - będąc przekonanymi że dalej potwierdzamy poprzedni przelew na kilkanaście złotych. Tym czasem jednak potwierdzamy inny przelew, na duża wyższą kwotę a cała operacja z podwójnym kodem z SMSa miała tylko uśpić naszą czujność.

Teraz sam zadaj sobie pytanie czy byłbyś łatwym celem? Ale to nie jedyne problemy, które związane są z wiadomościami, które otrzymujemy na nasz telefon. Coraz częściej możemy usłyszeć o ataki SIM SWAP, w którym to używany jest duplikat naszej karty SIM. Na czym polega ten przekręt i dlaczego jest tak niebezpieczny?

Każdy telefon komórkowy do swojego działania potrzebujemy karty SIM. W niej to zapisane są wszystkie informację potrzebne operatorowi telekomunikacyjnemu do zweryfikowania naszych uprawnień do posługiwania się konkretnym numerem telefonu. To właśnie dzięki karcie SIM tylko my możemy otrzymywać wiadomości adresowane na nasz konkretny numer telefonu.

Tak to wygląda w świecie idealnym. Ale w życiu codziennym mamy do czynienia z różnego rodzaju sytuacjami losowymi. Zdarza się że karty SIM gubią się lub też zostają zniszczone i przestają działać. W takiej sytuacji każdy użytkownik może zwrócić się do swojego operatora z prośba o wydanie duplikatu karty. Firma sprawdza wtedy nasze prawo do użytkowania danego numeru i po przeprowadzeniu całej procedury weryfikacyjnej udostępnia nam duplikat takiej karty.

Od tego momentu stara karta SIM przestaje działać - to znaczy nie jest możliwe odbieranie i wykonywanie połączeń za jej pomocą. Infrastruktura operatora nie traktuje jej już jako karty powiązanej z danym numerem. Wszystkie wiadomości i połączenia są od teraz przekierowywane na nową kartę SIM. Tak wygląda teoria - wszystko po to aby uprościć życie w sytuacjach nadzwyczajnych. I tu dochodzimy do sedna problemu.

Jak już wcześniej ustaliliśmy - SMSY potwierdzające nasze przelewy przychodzą na nasz numer telefonu. Co bowiem w przypadku gdy ktoś bez naszej wiedzy i zgody wyrobi sobie duplikat naszej karty SIM? Jeżeli mu się to uda - wszystkie wiadomości – w tym te pochodzące od banku trafią nie do naszego telefonu ale do jego telefonu. Ale jak to możliwe? Przecież firmy telekomunikacyjne mają procedury, które na pewno chronią przed tego rodzaju przypadkami.

Oczywiście - firmy posiadają procedury ale jak zwykle najsłabszym ogniwem jest człowiek. W Internecie z łatwością można znaleźć witryny, gdzie oferowane są tak zwane “kolekcjonerskie wersje dowodów tożsamości”. Dzięki usługom tego rodzaju można wyrobić fałszywy dowód osobisty na dowolne dane i nasze zdjęcie. Oczywiście posługiwanie się tego rodzaju dokumentem jest przestępstwem, ale myślę - że przestępcy nie bardzo się tym przejmują. I tutaj dochodzimy do pytania - czy statystyczny pracownik pomocy technicznej sieci komórkowej jest w stanie rozpoznać tego rodzaju fałszywe dokumenty? Czy Ty drogi słuchaczu byłbyś w stanie rozpoznać taką podróbkę?

I właśnie dlatego ataki tego rodzaju są bardzo niebezpieczne. Cały czas mówię tutaj o bankach i przelewach internetowych. Ale atak tego rodzaju dotyczy praktycznie każdej większej strony internetowej. Jak to możliwe?

Większość stron internetowych, które posiadają mechanizm logowania - zawierają także funkcję przypominania hasła. Dzięki niej możemy odzyskać dostęp do konta w przypadku gdy z naszej pamięci wypadnie ważne hasło. Jak działa taka procedura? Serwis musi w jakiś sposób potwierdzić że my to my tak aby pozwolić na reset hasła tylko osobie do tego upoważnionej.

Zazwyczaj wykorzystuje się wiec do tego celu wiadomość email, która jest wysyłana na konto email powiązane z naszym kontem. W takiej to wiadomości znajduje się link po którego kliknięciu możemy przydzielić nowe hasło do naszego serwisu.

Ale - na największych serwisach internetowych to samo można dokonać przy pomocy wiadomości SMS. Wtedy to nie jest wysyłany email a kod SMS na powiązane z naszym kontem numer telefonu. Jeżeli zatem numer ten jest kontrolowany przez atakującego - bo wyrobił on kopie naszej karty SIM, może on zresetować hasło w naszej poczcie internetowej. Posiadając dostęp do poczty można później zresetować hasło praktycznie w każdym innym serwisie w którym posiadamy konto, używając poprzednio opisanej metody.

Okazuje się więc że na pozór dobre zabezpieczenie nie jest takie mocne jak mogło by się wydawać. Co nam więc pozostaje? Najnowszym podejściem do tematu jest wykorzystanie specjalnych aplikacji na naszym telefonie komórkowym. Wtedy do podczas potwierdzania transakcji - potwierdzamy ją z poziomu ekranu aplikacji. Czym takie rozwiązanie różni się od poprzedniego? Po pierwsze cały ruch pomiędzy naszą aplikacją a serwerem jest szyfrowany - to znaczy nie może zostać w łatwy sposób podsłuchany. Po drugie nawet jeżeli ktoś wyrobi duplikat karty - aplikacja powiązana jest z naszym telefonem a nie z naszym numerem. To znaczy - że potwierdzenia transakcji dalej będą przechodzić na nasz telefon. Oczywiście zakładamy tutaj, że atakujący przy użyciu naszego numeru nie może w prosty sposób powiązać kolejnego telefonu z danym kontem użytkownika.

Tutaj wszystko zależy od implementacji aplikacji u konkretnej firmy. Warto tu również zaznaczyć iż mobilna aplikacja jest tak bezpieczna jak nasz telefon komórkowy. Dalej należy bowiem uważać na fałszywe aplikacje, które można ściągnąć na nasz smartfon. Wtedy dalej jesteśmy narażeni na ataki - co bowiem z tego, ze transakcję musimy potwierdzić telefonem jeżeli jest na nim zainstalowana złośliwa aplikacja kontrolowana przez atakujących. Jak zatem chronić się przed atakami SIM SWAP?

Ataku nie da się wyeliminować w stu procentach. Ale możemy próbować choć trochę się przed nim uchronić. Po pierwsze - warto posiadać osobny numer telefonu, który jest znany wyłącznie nam i którego nie można w prosty sposób powiązać z naszą osobą. Wtedy - nawet jeżeli ktoś będzie próbował legitymować się naszym dowodem, istnieje szansa, ze nie będzie wiedział duplikat jakiego numeru musi wykonać.

Po drugie - jeżeli korzystamy z usług Gmaila warto włączyć Google Advanced Protection Program. Jest to specjalna usługa, która wymaga od nas posiadania fizycznych kluczy sprzętowych. Wtedy to podczas każdego logowania oprócz hasła musimy wykorzystać taki klucz aby zostać zalogowanym. Pamiętajmy bowiem, że nasza poczta to nasza twierdza. Jeżeli ktoś uzyska nad nią kontrolę - może wyrządzić nam sporo złego. I to już wszystko w tym odcinku. Teraz już wiesz jak to działa.

Timeline: