RMF-FM: niedociągnięcia (?) w systemie konkursowym

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:

Komentarze 19

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

  • 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

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

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

  • 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 :-)

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

  • Tomasz Trzeszkowski

    @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 ….

  • @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 :)

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

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

  • 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

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

  • Nie ma co, wyrabiacie sobie markę… ;D

  • 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Ć!

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

  • 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ą.

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

  • 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

Zostaw komentarz

Adres e-mail nie zostanie opublikowany.
Pola oznaczone * są wymagane.

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>