Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Exploity zero day: teraz dostępne dla samochodów

Andriej Nikiszin
Kaspersky Lab Expert
Dodany 28 lipca 2015, 11:37 CEST
Tagi:

21 lipca okazał się ważnym dniem dla branży informatycznej. Badacze poinformowali o wykorzystaniu pierwszej w historii luki 0-day w samochodach. Atak bezprzewodowy został zademonstrowany na Jeepie Cherokee.  

Charlie Miller i Chris Valasek wykryli tę lukę w komputerze pokładowym wspomnianego samochodu. Od dawna już trwały dyskusje na temat możliwych ataków na takie systemy, gdyby osoby atakujące miały dostęp do danych diagnostycznych. Jednak zdalny atak na krytyczne systemy w samochodzie pozostał czysto teoretycznym scenariuszem, przed którym eksperci (w tym z Kaspersky Lab) ostrzegali już od dawna. Wielu miało nadzieję, że producenci samochodów uznają ryzyko wykorzystania takich luk w zabezpieczeniach i podejmą działania zapobiegawcze. Niestety, były to tylko nadzieje.        

Badacze uzyskali dostęp za pośrednictwem pokładowego systemu rozrywki nie tylko do mało istotnych ustawień, ale również do systemów sterowania samochodem, takich jak hamulec czy pedał gazu. Publikacja szczegółów technicznych tego ataku hakerskiego jest planowana na sierpień, jednak ogólny schemat działania jest już znany.   

Atak hakerski na samochód

Na początku kierowca stracił kontrolę nad klimatyzacją, radiem oraz wycieraczkami. Następnie nad samym pojazdem. Kontrolę nad pedałem gazu i hamulcami posiadał nie właściciel samochodu za kierownicą Jeepa, a wyłącznie zdalni badacze.

Należy tu zauważyć, że samochód nie został zmodyfikowany. Wszystko, o czym wspomniano wyżej, zostało dokonane przy użyciu luki w zabezpieczeniach pokładowego systemu Uconnect, który obsługuje kontakt ze światem zewnętrznym za pośrednictwem infrastruktury operatora komórkowego Sprint w samochodach grupy FCA (Chrysler, Dodge, Fiat, Jeep oraz Ram). Wystarczy znać zewnętrzny adres IP ofiary, aby nadpisać kod w jednostce głównej samochodu (więcej na ten temat nieco później).

Firma wydała już łatę dla Uconnect, którą można zainstalować w oficjalnych salonach samochodowych lub – w przypadku osób, którym nie są obce kwestie techniczne – samodzielnie, za pośrednictwem portu USB. Obecnie, dzięki połączeniu się z siecią Sprint i wykorzystaniu znalezionego exploita 0-day, badacze mogą uzyskać takie dane jak: numer identyfikacyjny pojazdu, współrzędne GPS oraz adres IP. Przy okazji warto wspomnieć, że znalezienie określonego samochodu wśród 471 tysięcy pojazdów z systemem Uconnect na pokładzie jest, według badaczy, raczej trudne.    

Obrona koncepcyjna

Nie jest to pierwszy przypadek pokazujący, że mechanizmy bezpieczeństwa standardowo wbudowane we współczesne samochody nie są wystarczające. Wcześniej miało miejsce lokalne przejęcie kontroli nad kierowaniem pojazdem za pośrednictwem portu diagnostycznego OBD-II oraz nielegalna aktualizacja oprogramowania za pośrednictwem fałszywej stacji telefonii komórkowej.  

Zarówno dostawcy systemów operacyjnych jak i producenci samochodów implementują obecnie istotne i niezbędne, ale niewystarczające, mechanizmy bezpieczeństwa cybernetycznego. Sytuację pogarsza fakt, że architektura pokładowych sieci elektronicznych pojazdów została opracowana w latach 80., gdy pomysł, że samochód będzie połączony z internetem, był rodem z powieści science fiction. W efekcie, chociaż elementy elektroniczne są niezawodne i działają bezpiecznie, nie można powiedzieć tego samego o ich cyberbezpieczeństwie. W Kaspersky Lab jesteśmy przekonani, że - tak jak w przypadku konwencjonalnych sieci komputerowych – całkowite, wielopoziomowe bezpieczeństwo można osiągnąć jedynie poprzez połączenie odpowiedniej architektury, opracowanej z uwzględnieniem wszystkich zagrożeń, w tym cyberzagrożeń, odpowiedniej konfiguracji sprzętu oraz wykorzystania wyspecjalizowanych rozwiązań.  

Architektura

Podejście firmy Kaspersky Lab opiera się na dwóch fundamentalnych zasadach architektury: izolacji i kontrolowanej komunikacji.

Izolacja gwarantuje, że dwa niezależne elementy w żaden sposób nie mogą oddziaływać na siebie. Na przykład, aplikacje zapewniające rozrywkę nie będą w stanie wpłynąć na sieć techniczną. Ani na pokładzie samolotu, ani w samochodzie. 

Kontrola komunikacji gwarantuje, że dwa niezależne elementy, które powinny współpracować ze sobą, aby system mógł działać, będą to robić zgodnie z polityką bezpieczeństwa. Na przykład, system uzyskiwania danych telemetrycznych i wysyłania ich do centrum serwisowego może odczytywać tylko dane dotyczące stanu samochodu, ale nie może przesyłać sygnałów kontroli. Tego rodzaju kontrola byłaby bardzo przydatna dla naszego właściciela Jeepa.

Nieodzownym elementem chronionego systemu jest również wykorzystanie kryptografii i uwierzytelniania w celu przesyłania i otrzymywania informacji wewnątrz i z zewnątrz. Jednak sądząc po wynikach badaczy, Jeep albo wykorzystywał słabe, podatne na ataki algorytmy, albo kryptografia została zaimplementowana z błędami lub wcale.  

Opisane wyżej podejście – izolacja i kontrola komunikacji – wydaje się naturalne w przypadku systemu operacyjnego opartego na mikrojądrze z kontrolowaną interakcją wewnątrz procesów. Każda domena logiczna posiada własną przestrzeń adresową, a kontakt pomiędzy domenami odbywa się zawsze za pośrednictwem monitora bezpieczeństwa.

Produkty

W obrębie elektroniki pokładowej kontrolującej funkcje pojazdu, które mają krytyczne znaczenie i teoretycznie są otwarte na atak, do kluczowych elementów zalicza się jednostkę główną oraz elektroniczne jednostki sterujące, które tworzą całą sieć urządzeń sterujących. Można wyróżnić bloki sterujące dla silnika, transmisji, zawieszenia itd.  

Jednostki główne działają w systemach operacyjnych w czasie rzeczywistym (RTOS), takich jak QNX, VxWorks oraz innych. Po uzyskaniu niezbędnych certyfikatów Kaspersky Lab zamierza oferować własny zabezpieczony system operacyjny dla jednostek głównych.

Obie wspomniane wyżej zasady architektury (izolacja i kontrola komunikacji) stanowią fundament  KasperskyOS – bezpiecznego systemu operacyjnego opartego na mikrojądrze z kontrolowaną interakcją wewnątrz procesów.

System ten został stworzony od zera i od początku priorytetem podczas jego rozwoju było   bezpieczeństwo. Jest to główna różnica pomiędzy naszym produktem a systemami operacyjnymi instalowanymi obecnie w samochodach. Kluczowy komponent naszego bezpiecznego systemu operacyjnego nazwaliśmy Kaspersky Security System (KSS).  

Podczas działania system ten odpowiada za szacowanie werdyktu dotyczącego bezpieczeństwa danego zdarzenia, jakie ma miejsce w systemie. Na podstawie tego werdyktu jądro systemu operacyjnego podejmuje decyzję o tym, czy zezwolić, czy zablokować zdarzenie lub komunikację wewnątrz procesów. Z pomocą KSS można kontrolować dowolną aktywność – dostęp do portów, plików, zasobów sieciowych za pośrednictwem określonych aplikacji itd. Obecnie KSS działa ma PikeOS oraz Linuksie.

Oprogramowanie w elektronicznych blokach sterowania składa się jedynie z niewielkich bloków kodu i Kaspersky Lab zamierza współpracować z firmami z branży mikroelektroniki, aby wspólnie zagwarantować bezpieczeństwo tego osadzonego oprogramowania.

Zamiast wniosku

Tak naprawdę nie chcemy pozbawiać się wygody, jaką zapewnia nam komputeryzacja samochodów. Jednak, jeśli producenci samochodów nie zaczną poważnie traktować problemu cyberbezpieczeństwa swoich pojazdów wyposażonych w technologię dostępu do internetu i wymagać od producentów części samochodowych, aby postępowali podobnie, osoby, które niepokoją się kwestią bezpieczeństwa, będą musiały przesiąść się do klasycznych samochodów. To prawda, stare samochody nie mają komputerów. Nie mają również sterowanego komputerowo wtrysku paliwa, systemów nawigacji, klimatyzacji czy innych nowoczesnych gadżetów. Z drugiej strony jednak, słuchają tylko osoby za kółkiem.