r   e   k   l   a   m   a
r   e   k   l   a   m   a

Ocalił ich przed ogromnymi rachunkami za telefon – w zamian dostał symboliczną nagrodę

Strona główna AktualnościBEZPIECZEŃSTWO

Znacie zapewne usługi internetowe, w których użytkownik weryfikowany jest poprzez połączenie telefoniczne? Po drugiej stronie znajduje się oczywiście automat z obsługą dialtonów (a coraz częściej z systemem rozpoznawania mowy), któremu musimy podać przekazany nam drogą e-mailową kod z liter i cyfr. Bardzo ciekawą (i w sumie zabawną) podatność w tego typu usługach odkrył Arne Swinnen, informatyk z Belgii zajmujący się zawodowo bezpieczeństwem IT.

Swinnen wpadł na zaskakujący pomysł. A co, gdyby internetowej usłudze zamiast swojego numeru telefonu ktoś podał numer telefonu premium? Niektóre seks-telefony potrafią przecież kosztować majątek. Czy usługa poprawnie rozpozna numer jako niewłaściwy i odmówi dzwonienia?

Okazuje się, że słabo to wyglądało w praktyce. Instagram pozwala np. na połączenie numeru telefonu z kontem; na numer komórkowy wysyłany SMS-em jest sześciocyfrowy kod weryfikujący. Jeśli jednak na SMS-a użytkownik nie odpowie w ciągu trzech minut, to serwis zadzwoni do niego z Kalifornii. Połączenie trwa kilkanaście sekund. A gdyby to wszystko zautomatyzować?

r   e   k   l   a   m   a

W tym celu badacz wykorzystał narzędzie Burp, pozwalające ręcznie modyfikować żądania HTTP i analizować odpowiedzi na nie (oraz oczywiście skryptować te procesy). Założył sobie własny numer premium poprzez usługę eurocall24.com, zmodyfikował żądanie wysyłane na serwer Instagrama, podając zamiast numeru komórkowego swój numer premium i uruchomił automat. Okazało się, że bez problemu był w stanie wykonać pod rząd 60 połączeń, z 30-sekundową przerwą między nimi. Swoim atakiem wykradł Instagramowi nieco ponad funta.

Zaangażowany napastnik mógłby w ten sposób nabić rachunek na 1440 funtów miesięcznie – korzystając z tylko jednego instagramowego konta. To się jednak wydawało skalować bez ograniczeń – przy stu kontach można już by było wykraść 144 tysiące funtów miesięcznie. Jedyne bowiem, co ograniczało liczbę połączeń, był limit 30 sekund przerwy między nimi.

Arne Swinnen złodziejem nie był i we wrześniu 2015 roku o wszystkim powiadomił Facebooka (właściciela Instagrama). Początkowo pewni siebie ludzie Zuckerberga odpowiedzieli, że oni o tym wiedzą, że to zamierzona funkcjonalność i mają mechanizmy monitorujące nadużycia. Potem, gdy Swinnen przedstawił im możliwość wywoływania połączeń dla stu kont, trochę zmiękli, zaczęli jednak opowiadać coś o „akceptowalnym ryzyku” i konieczności stosowania technik social engineeringu dla wyłudzenia tychże stu kont. Dopiero gdy badacz przypomniał im, że te sto kont można sobie ręcznie założyć, przyznali, że coś jest na rzeczy. Uznano, że odkryta luka jest poważna i objęta programem nagród. Lukę załatano 6 stycznia, a 9 stycznia wypłacono nagrodę, całe 2 tysiące dolarów (pomnożone potem przez Facebooka dwukrotnie, jako że badacz wpłacił pieniądze na konto fundacji non-profit). Zdobytego 1 funta Arne Swinnen sobie zostawił.

Nie mniej ciekawy okazał się test na usługach Google’a. Tutaj było nieco trudniej, trzeba było sobie skonfigurować przekierowania na serwer SIP, ponieważ Google po kilku próbach blokowało głuche telefony, ale i w tym wypadku proces udało się zautomatyzować. Dopuszczalne było do 10 połączeń na godzinę, po 18 połączeniach na numer w Estonii, badacz zarobił na google’owym automacie nieco ponad 1 euro. W teorii efektywność ataku wynosiła 12 euro dziennie, 360 euro miesięcznie. Niewiele, ale skalując o dwa rzędy wielkości byłoby już 36 tys. euro miesięcznie. Wystarczyło utrzymywać sto kont Google i sto numerów premium.

Google choć przyjęło zgłoszenie o luce, odmówiło wypłaty jakiejkolwiek nagrody. Firma z Mountain View stwierdziła, że praktycznie nie ma to wpływu na bezpieczeństwo użytkowników, a tylko to się liczy. Straty finansowe dla firmy to betka.

Najciekawiej jednak wyszło exploitowanie Microsoftu, który miał jakieś tam zabezpieczenia przed nadużyciami – siedem nieudanych prób rejestracji blokowało numer premium. Okazało się jednak, że wystarczy poprzedzić numer zerem, a system znów go przyjmie. W ten sposób można było dodawać kolejno nawet 18 zer i zastępować dowolną parę zer kodem kierunkowym. Co więcej, okazało się, że system akceptował też numery, do których dodawano losowo maksymalnie nawet cztery cyfry.

Dzięki tym kombinacjom zabezpieczenie Microsoftu kompletnie straciło na wartości – na jeden numer premium można było wykonać ponad 13,37 mln połączeń, pozwalając w teorii zarobić nawet na niego 669 euro na minutę. Co więcej, Microsoft dopuścił jednoczesne połączenia na ten sam numer – więc przy uruchomieniu naraz np. dwudziestu połączeń, ktoś w Redmond musiałby się nieźle zdziwić wysokością rachunku za połączenia z automatu Office 365.

Tymczasem po zgłoszeniu problemu w lutym tego roku, w czerwcu firma wypłaciła Swinnenowi całe 500 dolarów. Przyznano co prawda, że była to podatność, i to całkiem niezła, ale nie zagrażała danym użytkowników, a straty poniósłby nie Microsoft, lecz zewnętrzna firma, która dla Microsoftu świadczy te usługi. Jako że zaś program wynagrodzeń dla whitehatów skupia się na ochronie danych użytkowników – no cóż, jakaś to nagroda jest.

Co dodać? Można powiedzieć, że patrząc na wartości tych nagród wypłacanych badaczom przez wielkie korporacje, zupełnie nie dziwi, że tak wiele exploitów sprzedawanych jest na czarnym rynku za znacznie lepsze pieniądze.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.