9:41
21/5/2010

Dziś chcielibyśmy zwrócić waszą uwagę nie na straszny błąd bezpieczeństwa, ale na malutkie potknięcie w logice biznesowej, którego skutkiem może być ujawnienie danych. I znowu, nie chodzi tu o jakieś bardzo poufne, czy “wrażliwe” dane, ale o informacje, które być może są interesujące w pewnych przypadkach. Bardziej niż potępić, w tym przypadku chcemy uczulić, przestrzec i zwrócić uwagę na pewną klasę błedów projektowych…

Wielka kumulacja w RMF-FM

Jeden z naszych cztelników, Tomasz Trzeszkowski, podesłał nam następującą analizę systemu konkursowego wykorzystywanego przez RMF:

RMF FM organizuje konkurs-loterię “Wielka kumulacja”. Aby przystąpić do loterii, słuchacze wysyłają SMSa premium. Za przystąpienie do loterii otrzymują możliwość pobrania tapety lub dzwonka na telefon — link do strony WWW, z której można pobrać dzwonek otrzymuje się w wiadomości SMS.

Adres URL dla danego numeru jest zawsze ten sam — pod wskazanym adresem można pobrać dzwonek lub tapetę każdego dnia, a nie tylko wtedy, kiedy przystąpiło się do konkursu. Link jest w postaci http://rmffm.mobi/r/xxxxxxxx, gdzie xxxxxxxx jest pewnym przekształceniem numeru telefonu.

Ponieważ ciekawiło mnie, jak projektant określił przekształcenie, dokonałem eksperymentów wysyłając SMS z różnych numerów i obserwując wyniki. Efekty? Przekształcenie jest wręcz trywialne — jest to zwykłe kodowanie (nazwałbym je liniowym lub “przesunięciem”). Nie powiem jakim, bo nie chcę słuchać RMFu z miejsca odosobnienia.

Dla dowolnego numeru potrafię wskazać link do strony WWW organizatora, skąd “ofiara mojego ataku” może pobrać otrzymane dzwonki lub tapety, oczywiście jeżeli brała udział w konkursie. Dostęp nie wymaga innych działań jak odwołania się do wskazanego URL. A na stronie jest data i czas kiedy dysponent numeru (“ofiara”) brała udział w konkursie (wysłała SMS). Mogę stwierdzić czy ktoś brał udział w konkursie, czy nie, ile razy i kiedy. Oczywiście nie jest to jakaś straszna tajemnica, ale może ktoś znajdzie zastosowanie dla tej informacji wbrew woli grającego. Przestrzegam przed pobieraniem nie zapłaconych dzwonków — może to być potraktowane jako nieautoryzowany dostęp do zasobów, ale to temat na zupełnie inny wątek.

Z technicznego punktu widzenia mamy identyfikację użytkownika, ale “system” nie realizuje uwierzytelnienia (potwierdzenia tożsamości). Aby rozwiązanie posiadało cechy uwierzytelnienia wystarczyło tak zaprojektować system, by numer przekształcić na URL w trochę bardziej złożony sposób. Można to zrealizować np. przy pomocy funkcji skrótu. Obecnie używane przez RMF kodowanie ma tą zaletę, że gwarantuje brak kolizji, a wynik funkcji skrótu skrócony do 8 znaków ASCII może wygnerować kolizję. Można zastosowane przekształcenie rozszerzyć o przestawienia, permutacje, może XOR wyniku z sekretem, tak by zaburzyć odstęp (odległość) między elementami dziedziny i przeciwdziedziny funkcji kodującej — rozwiązań wiele i dyskutować można długo…

Podsumowując, powyższy post, podobnie jak “hackowanie kart IKEA” jest sztuką dla sztuki i powstał wyłącznie w celach edukacyjnych. Dlaczego zdecydowaliśmy się na jego publikację? Dlatego, że analogiczne do RMF-owych niedociągnięć spotykamy w dużo poważniejszych webaplikacjach i systemach…

Spróbujmy się teraz wpólnie zastanowić, jak tego typu system można “ulepszyć“, zapominając na chwilę, że w przypadku RMF chodzi wyłącznie o “słitaśne tapetki i głupkowate dzwonki” ;-) Pamiętajcie też o kluczowej w tym przypadku wygodzie użytkownika…


Przeczytaj także:

19 komentarzy

Dodaj komentarz
  1. Niech w treści smsa zgłoszeniowego uczestnicy konkursu umieszczą hasło.

  2. mozna generowac hashe dla kazdej transakcji (wyslania sms-a) albo dla numeru telefonu. hash bedzie unikalny i do jego generowania nie potrzeba uzywac przeksztalcen numeru telefonu
    wtedy zgadywac mozna do woli

  3. Kodowanie powinno byc na pewno silniejsze, tak by częśc URL odpowiadająca numerowi telefonu zgłaszającego składała się z przypadkowych liter uniemożliwiających odgadnięcie sposobu kodowania. O ile tym razem chodzi o rzeczy błache (gadzety na telefon), o tyle innym razem może chodzić o rzeczy poważniejsze. Dobre nawyki w procedurach bezpieczeństwa zawsze procentuja, bo w nastepnym konkursie moze chodzić o nagrody duzo większej wartości.

    PS
    Jesli chodzi o procedury to nawet banki potrafią sie popisowo kompromitować. Mam na myśli znajdywane co jakiś czas nieprzemielone wyzucone dokumenty. Niby już nieważne, ale to jednak bank. O wiele gorsze jest wyzucenie dokumentów policyjnych. Niedawno w Szczecinie znaleziono takie dokumenty w lesie. Niby sprzed kilkunastu lat, ale ich dostanie się w niepowołane ręce mogło zagrozić np. świadkom w sprawach sprzed wielu lat. Podsumowujac dbanie o bezpieczeństwo ma znaczenie i powinno się zacząć od błachych z pozoru konkursów.

  4. a po co to w ogóle zabezpieczać? Żeby czasem różowa gimnazjalistka nie pobrała tapety z kotkiem zgadując adres? Przecież i tak albo wyśle SMS-a, albo znajdzie sobie inną darmową w internecie. Przekombinowali.

  5. Bah… Zaraz mi się przypomina afera Quiptxt Day. Nie pamiętam, czy była wspominana na łamach Niebezpiecznika, ponieważ ja akurat dowiedziałem się o niej z /b/. Podobna gafa w kwestii zabezpieczeń, jednak o O WIELE poważniejszych konsekwencjach :-)

  6. @zuezuo: Widzę, że napisać na górze i powtórzyć na dole tekstu, dlaczego on powstał to dla niektórych za mało… ;)

  7. @zuezuo: Problem nie leży w zabezpieczeniu tapety przed pobraniem przez gimnazjalistkę – problem mimo, że akademicki, leży w ujawnieniu informacji o użytkowniku. Dzisiaj nikt nie widzi problemu, że każdy może się dowiedzieć iż grasz w WK i kupiłeś tapetę, jutro mało istotne będzie czy jesteś klientem Banku. A taka informacja jest traktowana jako objęta tajemnicą bankową.
    Temat został poruszony by poruszyć myślenie ….

  8. @Piotr: ja rozumiem po co powstał ten tekst :) Odpowiadam tylko na Twoje “Spróbujmy się teraz wpólnie zastanowić, jak tego typu system można “ulepszyć“” – nijak, nie ma potrzeby :)

  9. rmf chyba tez czyta niebezpiecznik bo operacja ta juz nie jest mozliwa

  10. szacunek dobre (ps: ze tobie sie chciał główkowac )

  11. Skoro funkcja skrótu by pomogła to imo najlepiej użyć funkcji skrótu a link przed wysłaniem skrócić czymś na wzór tnij.com

  12. RMF chyba czyta niebezpiecznika ;)
    Sprawdziłem swój dzwonek, i mam taki komunikat:
    “Wpisany adres jest niepoprawny.

    Ze względów bezpieczeństwa zmieniliśmy adres, pod którym znajdziesz swoje dzwonki. Sprawdź swój nowy adres wysyłając SMS-a o treści KOLEKCJA pod darmowy numer 8065.

    W razie dalszych problemów pomoc można uzyskać:
    wysyłając maila pod adres: reklamacje@rmf.fm
    dzwoniąc pod numer infolinii: 22 48 040 84

    Pamiętaj, że za połączenie internetowe w sieci komórkowej płacisz dodatkowo. Dzwonki możesz ściągnąć także przez połączenie WiFi lub na komputer.”

    • @Jaclo: czyta, czyta. I to regularnie :)

  13. Nie ma co, wyrabiacie sobie markę… ;D

  14. Tak ale po raz ostatni bo to Ściema jak i w rmf fm po to to jest bo radia muszą sie nachapać . A ci którzy pisza ze cos wygrali to pracownicy radia . Ja raz cały dzien tam wyłalem i co 20 w plecy a telefon głuchy .
    MORAŁ Z TEGO TAKI LOTERIA RADIA ZET I RMF FM TO ŚCIEMA !
    LUDZIE NIE DAJCIE SIE NABRAĆ!

  15. Ja wygrałam w RMFie 2tys. złotych w rundzie dodatkowej.

  16. Ja to wpakowałem kupe kasy w rmf i ani dzwonków ani tapety żadnej nie mogę ściągnąć wielki szwindel,tak mi się wydaje,prubowałem przez tele3fon nic przez komputer nic ta jak mam swoje ściągnąć ha? niechaj mi te radiowce odpowiedzą.

  17. zgadza sie wysyłają adres pod który niby można pobrać dzwonek a tutaj adres nie znany straszna lipa

  18. Wysłałam swoje imię na radiowy konkurs sms na 7252, w odpo dzwonek nawiedzi otrzymałam sms-a pobierz dzwonek na rmffm.mobi/i/X4873FS6NWG NA TEJ STRONIE NIE MA ŻADNEJ OPCJI ZEBY POBRAĆ DZWONKA Z KONKURSU!!! więc wysłałam sms na nr 8065 o treści DZWONEK w odp.otrzymałam znowu sms o treści twoja kolekcja rmffm na stronie internetowej pod nazwą ,,jak wyżej,, . TO JEST JAKIEŚ BDNE KOŁO CO JEST Z TYM KONKURSEM ŻEBY NIE MOŻNA BYŁO POBRAĆ CHOCIAŻ DZWONKA WZAMIAN ZA KONKURSOWEGO SMS!!!!!!!!!!!!! JESTEM ZAWIEDZIONA BO SMS WYSYŁAŁAM KILKAKROTNIE!!!!!!!!!!! –ROZŻALINA ALICJA–MÓJ NR 508 607 525

Twój komentarz

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

RSS dla komentarzy: