Budowanie narzędzi do zarządzania sporą infrastrukturą nie jest prostym zadaniem. Czasem wystarczy jeden błąd, by okazało się, że infrastrukturą może zarządzać każdy internauta znający odpowiedniego linka.
Możliwość samodzielnego przeprowadzenia przez klienta wielu operacji za pomocą odpowiedniej strony WWW na pewno znacząco upraszcza procesy obsługi i obniża jej koszty. Problem jednak powstaje, gdy okazuje się, że nie tylko klient może przeprowadzać operacje w swoim imieniu.
Niespodziewane odkrycie
Jeden z naszych Czytelników, Ion, odkrył coś ciekawego na serwerze firmy UPC. Jak sam napisał w zgłoszeniu przekazanym UPC:
Kilka dni temu, przy próbie skorzystania z Asystenta Pomocy UPC, odkryłem, że zawołania do API pod adresem: http://app.upc.pl/szyna-danych/ nie są autoryzowane. Oznacza to, że w praktyce możliwe jest wykonanie poniższych czynności dla każdego z Państwa klientów bez jakiejkolwiek autoryzacji:
– sprawdzenie, czy nie zalega z opłatami
– sprawdzenie dostępnych usług
– sprawdzenie prędkości internetu
– sprawdzenie, z jakiego sprzętu korzysta
– odświeżenie karty do dekodera
oraz najważniejsze: sformatowanie dysku twardego w nagrywarce Mediabox! Można to zrobić preparując odpowiednio URL: http://app.upc.pl/szyna-danych/products/format-hdd?id=[id] – ten URL sformatuje dysk, bez żadnej autoryzacji. Oczywiście możliwe byłoby przeiterowanie po wszystkich liczbach od 1 do 5 000 000 i sformatowanie dysku wszystkim klientom, którzy akurat mają podłączony ten dekoder. Może nie jest to bardzo poważna ingerencja, ale ktoś, kto nagrywa sobie mecze czy inne programy, mógłby się dość mocno zdenerwować :) Oprócz tego, dostępne są logi aplikacji „Szyna danych” pod adresem: http://app.upc.pl/szyna-danych/storage/logs/laravel.log, a pod http://app.upc.pl/szyna-danych/.env znajdziemy zmienne środowiskowe, gdzie znaleźć można nieco więcej szczegółów. Oprócz tego, dostępny jest http://app.upc.pl/szyna-danych/composer.lock, który podpowiada, że aplikacja jest oparta na Laravelu 5.4.27.
Lista problemów wyglądała dość ciekawie. Co prawda, ujawnione błędy nie pozwalały na ustalenie danych osobowych użytkowników UPC, jednak umożliwiały np. pozyskanie informacji o tym, jakie produkty mają klienci firmy czy też ilu z nich zalega z opłatami. O ile informacje te nie są kluczowe z punktu widzenia klienta (atakujący mógł powiązać je jedynie z numerem klienta), o tyle możliwość zdalnego sformatowania dysku twardego to już zupełnie inna para kaloszy. Biorąc pod uwagę fakt, że ID klienta UPC należą do liczb całkowitych z dość ograniczonego zakresu, ryzyko, że ktoś skasuje wszystkie nagrania klientów z dekoderów Mediabox było całkiem realne.
Odpowiedź UPC
Skontaktowaliśmy się z Michałem Furą, rzecznikiem firmy, który potwierdził występowanie podatności:
Potwierdzamy otrzymanie zgłoszenia i możliwość wykonania wymienionych zapytań dla konkretnego ID. Należało oczywiście znać ID klienta. W efekcie zgłoszenia wprowadzono poprawki, mające na celu załatanie podatności. Najistotniejszy błąd ( możliwość formatu dysku i odświeżenia karty) został wyeliminowany. Prace nad zoptymalizowaniem funkcjonowania aplikacji trwają. Zapytania nie zwracały danych osobowych abonentów.
Niestety mimo naszych pytań oficjalnymi kanałami nie poznaliśmy liczby klientów, którzy dysponują obecnie dekoderami Mediabox. Kiedyś były bardzo popularne, lecz są od dłuższego czasu zastępowane nowszymi modelami, dekoderami Horizon. Nieoficjalnie dowiedzieliśmy się, że liczba użytkowników Mediaboksów może solidnie przekraczać 100 000.
Podsumowanie
Wygląda zatem na to (co potwierdził także nasz Czytelnik), że najpoważniejsze problemy zostały usunięte. Proces zajął kilka dni, lecz ostatecznie odkrywca błędu otrzymał podziękowania oraz pół roku abonamentu gratis, co jest miłym gestem ze strony dostawcy usługi. Klienci UPC mogą się cieszyć, że odkrycia dokonał ktoś, kto wolał błąd odpowiedzialnie zgłosić, niż nieodpowiedzialnie wykorzystać.
Ważna informacja dodatkowa: Autor artykułu do połowy 2017 odpowiadał za bezpieczeństwo danych w UPC.
Komentarze
Laravel ma kilka CVE dotyczących deserializacji, a w .envie poza dostępami do różnych api i baz danych jest też APP_KEY.
Polecam Google hacking, jest tego mnóstwo zwłaszcza u Chińskich braci.
Te renifery Horizon to straszny szajs.. non stop problemy
Bardzo mnie ciekawi dlaczego autor artykułu zrezygnował z pracy w UPC;p
Bo praca w z3s była lepsza ;)
„była”, słowo klucz, co będzie następne ? ;)
Czyli to autor artykułu jest winny tej dziurze w bezpieczeństwie? Tak to należy rozumieć?
Może być winny nie załatania o ile to starsza dziura istniejąca tam już w 2017 (możliwe – no ale to wiadomo czy on był tam jedyną osobą odpowiedzialną za security i czy miał czas na audytowanie wszystkiego co tylko można ?).Ale szczerze… najgłupsze błędy to najczęstsze błędy,a nikt nie interesuje się gosposią,sprzątaczka i pomocą techniczną… (Wiecie i rozumiecie co to znaczy ? ;) )
Tak na zdrowy rozum – to było skopane już na poziomie tego kto stawiał ten system pomocy technicznej,admin/pentester „tylko” nie znalazł dziury wcześniej. Brak autoryzacji nie opartej o id w takim panelu – ktoś tu chyba zatrudnił pierwszorocznego studenta do napisania stronki dla pomocy technicznej w Laravelu i wyszło jak wyszło.
@Adam Haertle,
czy możesz rozwinąć co daje informacja:
„Ważna informacja dodatkowa: Autor artykułu do połowy 2017 odpowiadał za bezpieczeństwo danych w UPC.”
Dlaczego to jest ważna informacja?
Ważna, ponieważ mimo moich najlepszych intencji zachowania obiektywizmu, może wpływać na sposób przestawienia informacji.
Bo interesujące jest, że kiedy miał w pracy się zajmować bezpieczeństwem, to przepuścił taką dziurę.
Chyba, że ktoś przy systemie grzebał po jego odejściu. Ewentualnie ten system nie był pod jego opieką.
Teraz już wiem kto skasował mi serial na nagrywarce przed obejrzeniem! :D
Dziękuję ci „Jeden z naszych Czytelników”.
Obawiam się, że musisz szukać winnego wśród domowników, bo nikt poza znalazcą błędu nie skorzystał z tej luki.
Mieszkam sam. :D
A to było chyba w polowie ubiegłego roku.
po takim bledzie – ups … ups powinni caly popremierowy content przeniesc do repozytorium VOD i udostepniac w ramach zwyklego abonamentu z PVR. Kto wie co jeszcze mozna bylo zrobic zdalnie z tym mediaboxem. Moze tak zarzadzanie kluczami szyfrowania tegoz HDD :)
Zabrakło Adama i dziury wyszły ;(
Pol roku abonamentu, to zart?
A dlaczego żart?
Chyba nie wiesz jak poważne firmy nagradzają w programie bug bounty, a pół roku abonamentu to śmiech na sali w porównaniu ze wsciekłośccią klientów po skasowaniu ich seriali ;)
@UPC POLSKA… oszuści i kombinatorzy. Na reklamację odpowiadają w dogodnym dla siebie terminie 30stu dni, bo sobie tak postanowili w regulaminie łamiąc polskie prawo!!! Brak odpowiedzi na reklamację w terminie 14 dni od otrzymania żądania konsumenta skutkuje uznaniem tego żądania w zakresie i treści wskazanym w reklamacji. Od 25 grudnia 2014 roku zagadnienie odpowiedzialności sprzedawcy w takim przypadku reguluje ustawa o prawach konsumenta oraz Kodeks cywilny. Art. 5615 Kodeksu cywilnego mówi, że jeżeli sprzedawca, który otrzymał od kupującego żądanie wymiany lub usunięcia wady albo obniżenia ceny, nie ustosunkował się do tego żądania w terminie 14 dni, uważa się, że uznał je za uzasadnione. NIE DAJCIE SIĘ OSZUKIWAĆ PRZEZ UPC – JEŚLI NIE ODPOWIEDZĄ W CIĄGU 14 DNI MAJĄ OBOWIĄZEK UWZGLĘDNIENIA ŻĄDANIA KLIENTA !!!