Zabezpieczenia moBILET – drugi rzut okiem.

Dawno temu pisałem o zabezpieczeniach w moBILECIE. Zainspirowany mailem, którego dziś dostałem (tak, są ludzie, którzy dają radę rozszyfrować toto, zaczynam wierzyć w ludzkość), postanowiłem sprawdzić, co się zmieniło od tamtego czasu.

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 sposobu na pobranie pliku .jar, za to szybka kombinacja ze ścieżką do pliku .jad w Nokia-Update w połączeniu z zawartością MIDlet-Jar-URL pozwala pobrać coś, co plikiem .jar nie jest, ale wygląda jak archiwum zip ze źródłem. Nie jestem javowcem, ale każdym razie masa plików .class oraz .png z grafikami z programu. Plus jakieś nieczytelne pliki .conf. Brak plików z czytelnym źródłem.

Tamten plik .rms zawierał mało danych, w tym jest ich znaczenie więcej. W tym jakaś historia płatności oraz coś, co wygląda na historię skasowanych biletów (plus jakieś zakodowane dane – być może sumy kontrolne biletów). Prawdopodobnie wynika to z faktu, że tamten był świeżo po instalacji, a ten trochę używany jest – jutro zainstaluję od nowa. Hasło nadal jest przechowywane otwartym tekstem, choć mniej rzuca się w oczy (raczej za sprawą ilości innych danych).

W każdym razie człowiek, który wysłał maila i zainspirował do przyjrzenia się bliżej moBILETowi dostanie jutro odpowiedź i to, o co prosił…

Błędy w moBILET – przepis na DoS i proste oszustwo.

Z moBILETu korzystam od dawna, ogólnie jestem zadowolony. Kiedyś, na starym blogu, pisałem o słabych punktach tej usługi i ogólnych wrażeniach. Dziś zaszło pewne zdarzenie, które przypomniało mi o tym, że miałem napisać parę słów więcej o bezpieczeństwie i możliwościach nadużyć.

Po pierwsze, najsłabszym punktem moBILETu są… kontrolerzy. Nigdy nie zdarzyło mi się, bym został poproszony o przełączenie na inny ekran, nie był sprawdzony kod i w ogóle całe sprawdzenie skończyło się na sprawdzeniu, czy godzina na wyświetlonym bilecie jest OK. Zatem najprostszy sposób oszustwa to prosta aplikacja w javie, która wyświetli co trzeba i doda taką godzinę, by bilet był ważny. Pewnie z 30 min roboty, jeśli ktoś zna Javę ME.

Po drugie, stosunkowo łatwo uniemożliwić komuś skasowanie biletu. Wystarczy zacząć dzwonić w momencie, kiedy próbuje skasować bilet. Zaowocuje to wyświetleniem przez aplikację komunikatu, żeby najpierw zakończyć rozmowę, a samo kupno biletu nie będzie możliwe do czasu, kiedy dzwoniący nie przestanie dzwonić (czy się nie rozłączy, nie testowałem dokładnie). De facto pozwala to na DoS na kasującego bilet, możliwe, że skuteczny, bo kanary mają przykry zwyczaj rozpoczynania kontroli tuż po ruszeniu tramwaju.

Tak dziś wyszło, jak kumpel zadzwonił tuż po moim wejściu do tramwaju. Chwilę później zadzwonił z pytaniem, czy moBILET się wywalił. Nie, ale i tak gratki za pomysł. Ląduje w kategorii security, choć nietypowe.