Zabezpieczenia moBILET i luki - szybki rzut okiem.
27 stycznia, 2009
O samym systemie moBILET, służącym do płatności za przejazdy i parkingi, działającym przez telefon komórkowy w sieci dowolnego operatora wyposażony w Javę, pisałem wcześniej. Nadszedł czas na obiecane szybkie przejrzenie "zabezpieczeń" tego systemu.
Producent twierdzi, że system jest bezpieczny. W sumie, nie ma się co dziwić, bo cóż innego mu pozostało? Ponieważ jednak "zabezpieczenia" są dość irytujące dla użytkownika, postanowiłem przyjrzeć się im bliżej.
Po domyślnej instalacji w telefonie dobrać się do instalacji nie sposób (przynajmniej na mojej Nokii 3110c; albo ja nie wiem jak, bo na komórkach znam się jak...). Ale już przenieść do innego katalogu można ją bez problemu. W szczególności na kartę MicroSD. Stamtąd droga do komputera jest już prosta.
Przeniesienie aplikacji powoduje przeniesienie 3 plików: moBILET KM.jad, moBILET KM.jar oraz moBILET KM?_m_d.rms. Pierwszy to dane o aplikacji dla telefonu, drugi plik właściwy, trzeci to dane aplikacji. Co ciekawego w plikach? Sporo.
Przede wszystkim, plik moBILET KM.jad zawiera ciekawe informacje. Wbrew temu, co twierdzi producent, aplikację można pobrać bezpośrednio na komputer. Ścieżki do pliku .jad i .jar są zawarte w zmiennych Nokia-Update i MIDlet-Jar-URL, odpowiednio. Połączenie zwykłą przeglądarką z komputera działa. TBH, nie testowałem wrzucenia tak pobranej aplikacji na telefon. Wygląda, że pliki są tworzone per użytkownik, lub przynajmniej per model telefonu - w linku jest pseudolosowy ciąg znaków. Ciekawe czy sprawdzają integralność pliku (nie testowałem).
Dalej: zmienne channel i area - zapewne określają typ usługi i miasto. Poza tym, zmienna user z nazwą użytkownika (taka sama jak do panelu), zmienna host, określająca z czym ma się łączyć aplikacja (zmień na własną i poznaj, co faktycznie wysyła telefon) oraz najciekawsze: initpin - cztery cyfry. Ciekawe czy służą do szyfrowania transmisji OSLT... Pewnie za jakiś czas porównam z moBILETami znajomych.
Z kolei z ciekawych rzeczy plik moBILET KM?_m_d.rms zawiera hasło użytkownika otwartym tekstem. Na przyjrzenie się plikowi .jar nie było czasu.
Ostatnim "zabezpieczeniem" jest zabezpieczenie czasowe aplikacji. Jak czytamy w FAQ:
Na czym polegają zabezpieczenia czasowe aplikacji ?
Jeżeli pasażer zwleka ze skasowaniem biletu powyżej 15 sekund (dotyczy to wszystkich ekranów w menu głównym i menu "Skasuj bilet") aplikacja zamknie się automatycznie. Jeżeli powtórzy się to przy 4 kolejnych próbach, konto użytkownika zostanie zablokowane wskutek próby nadużycia. Prawidłowe skasowanie biletu przed wyczerpaniem się limitu 4 prób nadużyć zlikwiduje ich naliczanie. Zablokowanie konta następuje tylko wtedy, kiedy aplikacja wyłączy się automatycznie 4 razy pod rząd. Odblokowanie konta możliwe jest wyłącznie przez operatora infolinii.
Wspomniane zabezpieczenie czasowe to upierdliwość, jakich mało. Na szczęście widząc nadjeżdżający wystarczy uruchomić aplikację i otworzyć "skasowane bilety" w menu. W skasowanych biletach można już przebywać dowolnie długo, bez konsekwencji w postaci wyłączenia aplikacji...
Uwaga: powyższy opis dotyczy starej (choć nadal działającej) wersji programu. W zeszłym tygodniu pojawiła się nowa wersja - jeszcze jej nie oglądałem. A w ogóle to z wpisami jestem lekko licząc 2 tyg. do tyłu.
1. D4rky napisał(a):
27 stycznia 2009, 09:43:41
probowales rozpakowac?
2. dos napisał(a):
27 stycznia 2009, 13:32:20
Dekompilacja, zabawa z kodem i darmowe bilety do poznańskiego MPK! :D
3. GDR! napisał(a):
27 stycznia 2009, 21:17:26
O, widzisz, też chciałem się pobawić ale teraz sesja niestety.
Najbardziej mnie interesuje sama procedura sprawdzania przez kontrolerów. Bo jak oni niby ten kod weryfikacyjny sprawdzą? Checksum w pamięci policzą?
Próbowałem nawet dekompilować, ale rozmiar kodu raczej nie na 15 wolnych minut, ze jedno popołudnie a może i wieczór należałoby poświęcić.
4. Pomiędzy bitami napisał(a):
23 stycznia 2010, 20:15:00
Zabezpieczenia moBILET - drugi rzut okiem.
Zmieniło się naprawdę wiele. Większość informacji zawartych w tamtym wpisie jest nieaktualna, ale działa sposób z przenoszeniem do innego miejsca na kartę SD w celu dostania się do plików .jar , .jad oraz .rms . Nie ma już prostego sp[...]
5. Pomiędzy bitami napisał(a):
14 lutego 2010, 12:46:13
Security - ostatnie różności zabezpieczenia moBILETu ponownie .
Po pierwsze, po dyskusji z netu na ten temat, postanowiłem się przyjrzeć moBILTowi . W sumie po raz kolejny bo i na zabezpieczenia patrzyłem i to dwa razy . Przy dyskusji zeszło oczywiście na temat jak oni to sprawdzają jak pisałem , sp[...]
6. Pomiędzy bitami napisał(a):
29 października 2011, 16:48:12
Pożegnanie z moBILET.
Rzadko zdarza się tak, że rezygnuję z usługi, z której jestem zadowolony. A dokładnie tak jest w tym przypadku. Mimo pewnych wad, o których pisałem podczas opisu pierwszego wrażenia z kontaktu z moBILETem , mimo wielu wad systemu: stosunkow[...]