Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Hakowanie odtwarzaczy Blu-ray
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.
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!
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
Blue-ray? Zawsze wydawalo mi sie ze to to nazywa sie Blu-ray…
https://en.wikipedia.org/wiki/Blu-ray_Disc
Pozdrawiam.
Andrzej
Prawda. Dzięki za takie uwagi – przynajmniej wiadomo, że ktoś nas czyta! ;-)
Czyta czyta. Ma w czytniku kanalow RSS nawet.
Pozdrawiam.
Andrzej
ale jaja
tyle lat w błędzie
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ć.