Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Hakowanie odtwarzaczy Blu-ray

01 marca 2015, 17:11 | Aktualności | komentarzy 5

Stephen Tomkinson z NCC Group PLC zaprezentował na konferencji bezpieczeństwa Security-Tay sposoby eksploitowania odtwarzaczy Blu-ray za pomocą specjalnie przygotowanych dysków optycznych. Autor wykazał słabość sandbox’a Blu-ray i dzięki wykorzystaniu kilku podatności  opracował dysk, który wykrywa rodzaj odtwarzacza i uruchamia odpowiednie exploity umożliwiające wykonywanie poleceń systemowych.  Jednocześnie kod exploita odtwarza film, tak by nie wzbudzić podejrzeń u zaatakowanego użytkownika.

Przyczyny podatności

Specyfikacja Blu-ray oprócz wysokiej jakości filmów zapewnia również bardziej rozbudowane dodatkowe funkcje takie jak: gry, odtwarzanie najnowszych trailerów z Internetu, rozbudowane i interaktywne menu użytkownika. Wzbogacenie User Experience spowodowało jednak, że wzrosła powierzchnia ataku, jaką można wykorzystać w przypadku urządzeń Blu-ray, a co było niedostępne w standardzie DVD.

Dodatkowe funkcje budowane są za pomocą BD-J (Blu-ray Disc Java). Aplikacje na dyski Blu-ray określane są mianem Xlet’ów. Generalnie, aplikacje te uruchamiane w wirtualnej maszynie Javy zamknięte są w odseparowanym środowisku chronionym przez klasę SecurityManager, która zapewnić izolację przed bezpośrednim dostępem z dysku do systemu operacyjnego. Stephen Tomkinson znalazł luki w tych mechanizmach bezpieczeństwa i udało mu się ominąć sandboxa, w którym zamknięty był kod Xlet’u.

Słabość Sandbox’a

W oprogramowaniu do obsługi dysków Blu-ray autor wskazał lukę w klasie dziedziczącej po SecurityManager, która implementuje własne mechanizmy bezpieczeństwa dla popularnego oprogramowania CyberLink PowerDVD.

Cyberlink PowerDVD SecurityManager, żródło: nccgroup.com

CyberLink PowerDVD SecurityManager, żródło: nccgroup.com

Klasa ta sprawdza, czy Xlet’owi zostały przydzielone takie uprawnienia jakich żąda, a jeśli Xlet próbowałby sięgnąć głębiej np. bezpośrednio uruchomić polecenie systemowe – Runtime.exec(), to rzucany jest wyjatek SecurityException() (linia 253).

Odkryta słabość znajduje się jednak parę linijek wyżej (linia 244-245), gdzie SecurityManager sprawdza, czy uruchomiony wątek programu znajduje się na liście obiektów wątków o nazwie m_middlewareThreadList. Wystarczy zatem dodać aktualny wątek do tej listy, aby obiekt SecurityManager stał się bezużyteczny w swej roli zapewniania bezpieczeństwa. Co więcej, Stephen Tomkinson wskazał, że w tej samej klasie znajduje się metoda enterMiddleWare(), której wywołanie spowoduje dodanie aktualnego wątku do wspomnianej listy!

Metoda enterMiddleWare(), źródło: nccgroup.com

Metoda enterMiddleWare(), źródło: nccgroup.com

Odpowiednia manipulacja wywołaniami metod z tej klasy spowoduje, że atakujący przejmie kontrolę nad oprogramowaniem CyberLink PowerDVD i ominie przygotowany sandobx.

Hakowanie fizycznych odtwarzaczy Blu-ray

W prezentacji autor przytoczył również inne przykłady ataków na urządzenia Blu-ray, m.in. prace innego badacza Malcolma Stagg’a.  Urządzenia te często oparte są na systemie Linux, a procesy uruchomione są z poziomu użytkownika root. W poniższym przykładzie wskazano, że 2 demony uruchomione są na interfejsie loopback i nie są dostępny z sieci, jednakże jeśli można na dysku Blu-ray uruchomić własny kod napisany w Javie, to jest możliwość komunikacji z demonami: ipcd lub netinfd.

# netstat –ltpn
Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 192.168.1.105:54400     0.0.0.0:*               LISTEN      708/bdpprog

tcp        0      0 127.0.0.1:58530         0.0.0.0:*               LISTEN      705/ipcd

tcp        0      0 192.168.1.105:52323     0.0.0.0:*               LISTEN      708/bdpprog

tcp        0      0 127.0.0.1:55050         0.0.0.0:*               LISTEN      704/netinfd

tcp        0      0 192.168.1.105:22222     0.0.0.0:*               LISTEN      708/bdpprog

tcp        0      0 192.168.1.105:50001     0.0.0.0:*               LISTEN      898/upnpunr

tcp        0      0 0.0.0.0:50002           0.0.0.0:*               LISTEN      708/bdpprog

tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      1099/telnetd

Analiza ruchu sieciowego umożliwiła badaczom podatności przygotowanie exploita uruchamiającego kod poprzez demona ipcd.

Podsumowanie

Stephen Tomkinson współpracuje z producentami urządzeń i oprogramowania do obsługi dysków Blu-ray w celu załatania tych luk bezpieczeństwa. Jednocześnie warto pamiętać o wyłączeniu automatycznego odtwarzania podłączonych dysków, zablokowaniu dostępu do sieci Internet w urządzeniu Blu-ray, jeśli nie jest to konieczne i przede wszystkim nie uruchamiać dysków z nieznanych źródeł.

 –j23

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Odpowiedz
    • Prawda. Dzięki za takie uwagi – przynajmniej wiadomo, że ktoś nas czyta! ;-)

      Odpowiedz
      • Czyta czyta. Ma w czytniku kanalow RSS nawet.

        Pozdrawiam.

        Andrzej

        Odpowiedz
    • sdgfsdf

      ale jaja
      tyle lat w błędzie

      Odpowiedz
  2. Staszek

    Jeszcze wypada tytuł linka zmienić, tam też jest blue :-)

    Ciekaw jestm, czy Sony już to zablokowało w oprogramowaniu PS3 – jeśli nie, to ciekaw jestem czy da się z tego jakiś jailbreak wykrzesać.

    Odpowiedz

Odpowiedz