ROKICKI Krzysztof 1 SZCZUROWSKI Krzysztof 2 ZIELIŃSKI Łukasz 3 Analiza bezpieczeństwa sieci informatycznych pojazdów WSTĘP Wraz z rozwojem systemów informatycznych pojazdów pojawiło się zapotrzebowanie na wymianę coraz większej ilości danych służących do podejmowania decyzji, powodowało to znaczne zwiększenie ilości przewodów co skutkowało zarówno wzrostem ceny jak i masy pojazdu. Innym problemem była potrzeba dotarcia do tych samych informacji przez różne systemy jak na przykład dotarcie do prędkości obrotowej kół wykorzystywanej przez wiele systemów. Odpowiedzią na te kłopoty są cyfrowe sieci przesyłu informacji. Pojęcie sieci wymiany danych należy rozumieć jako system, w którym grupa elementów wymienia między sobą informacje za pośrednictwem medium transmisyjnego. Elementy te oznacza się jako węzły, a połączenia komunikacyjne między nimi jako linie[2]. 1 ARCHITEKTURA SIECI INFORMATYCZNYCH POJAZDÓW Większość dzisiejszych pojazdów jest wyposażona w magistralę CAN (ang. Controller Area Network) oraz LIN (ang. LocalInterconnect Network) dodatkowo występują również magistrale FlexRay nie są jeszcze tak popularne, jednak ich znaczenie stale wzrasta natomiast w pojazdach z rozbudowanymi systemami rozrywkowo-informatycznymi znajdziemy światłowodową sieć typu MOST (Media Orientad Systems Transport) zapewniającą największą szybkość transmisji danych Magistrale wymiany danych w pojazdach, takie jak ISO 9131 (K-Line), czy ISO 11898 (CAN), jak również nowsze - FlexRay, LIN, MOST zostały zaproponowane i opracowane przez producentów pojazdów. Duża część z tych rozwiązań została uznana przez ISO za normy, jednak są one stosowane głównie przez producentów europejskich. Producenci amerykańscy stosują podobne standardy SAE (np. SAE J1850 czy SAE J1939). Docelowo producenci pojazdów mają dążyć do unifikacji i zastąpienia starszych rozwiązań normą ISO11898 (CAN). Model szeregowej komunikacji wg ISO składa się z 7 warstw, w których można wyznaczyć trzy zasadnicze grupy: warstwę fizyczną obejmującą przewody, łącza, sterowniki elektroniczne, warstwę danych zawierającą protokoły komunikacji, warstwę aplikacyjną oprogramowanie sterujące wymianą informacji przez sieć. Jedynie warstwa fizyczna została znormalizowana, pozostałe warstwy nie zostały do końca znormalizowane. Producenci samochodów mogą stosować własne protokoły transmisji danych nie objęte standardami. Najczęściej spotykane protokoły przedstawiono i krótko scharakteryzowano w Tab1. Sieci możemy dzielić także ze względu na prędkość transmisji danych. W przemyśle samochodowym stosuje się o prędkości od 10 kbps do około 1 Mbps. Sieci Klasy A (o prędkości transmisji <10kbps) wykorzystywane są w pojazdach przez takie urządzenia jak sterowniki świateł, siłowniki foteli, okien, lusterek, centralnego zamka. Do tej klasy należą np. sieci typu LIN (Localinterconnect Network). Klasa B (o prędkościach 10 125 kbps) obejmuje np. układy klimatyzacji wykorzystujące sieci standardu J1850. W Klasie C (125 kbps 1 Mbps) są sieci umożliwiające sterowanie urządzeniami w czasie rzeczywistym silnikiem, skrzynią biegów, układami bezpieczeństwa trakcji ESP, ABS. Do tej klasy zalicza się także większość aplikacji 1 Politechnika Warszawska Instytut Maszyn Roboczych Ciężkich; 02-524 Warszawa ul Narbutta 84. Tel: + 48 22 234-8117k.rokicki@mechatronika.net.pl 2 Politechnika Warszawska Instytut Pojazdów; 02-524 Warszawa ul Narbutta 84. Tel: + 48 22 234-8118 kszczur@simr.pw.edu.pl 3 3 Politechnika Warszawska Instytut Pojazdów; 02-524 Warszawa ul Narbutta 84. Tel: + 48 22 234-8118 lzielinski@mechatronika.net.pl 9130
opartych na magistrali CAN. Klasa D (najszybsza o prędkościach > 1Mbps) z kolei obejmuje systemy multimedialne i inne działające w standardach FlexRay i MOST Tab. 1. Protokoły komunikacji stosowane w pojazdach [3] l.p. Protokół Prędkość maks. Zastosowanie Droga przekazu sygnału 1. Bluetooth 750 kbps sterowanie bezprzewodowa 2. CAN 1 Mbps sterowanie skrętka 2-przewodowa 3. D2B 12 Mbps audio/video światłowodowa 4. DSI 5 kbps multipleksowanie sensorów 2-przewodowa 5. FlexRay 10 Mbps bezpieczeństwo 2-przewodowa 6. IEEE-1394 200 Mbps multimedia skrętka 6-przewodowa 7. J1850-PWM 41,6 kbps sterowanie 2-przewodowa 8. J1850-VPWM 10,4 kbps sterowanie 1-przewodowa 9. J1939 1 Mbps sterowanie skrętka 2-przewodowa 10. LIN 20 kbps sterowanie 1-przewodowa 11. MOST 25 Mbps multimedia światłowodowa 12. TTP 25 Mbps sterowanie w czasie rzeczywistym 2-kanałowa 2 BADANIA SIECI W POJAZDACH Wśród obecnie produkowanych oraz eksploatowanych pojazdów większość wyposażonych jest w magistrale wymiany danych zgodne z ISO 11898 (CAN), a coraz mniej w ISO 9131 (K-Line). Pojazdy wyposażone w pozostałe magistrale mają niewielki udział w rynku. W przypadku protokołów wyższych warstw zauważa się dominację protokółu KWP2000 nad drugim UDS. Pozostałe protokoły, takie jak CCP czy XCP stanowią obecnie marginalną część rynku. Protokół KWP2000 oparty na linii K opisany jest przez normę ISO14230, zaś KWP2000 oparty o magistralę CAN - opisany jest przez ISO15765. Stosowana przez niektórych amerykańskich producentów norma SAE J2190 jest bliźniacza z KWP2000, przynajmniej w obszarach interesujących z punktu widzenia celu tego projektu. W przypadku stosowania przez producentów pojazdów protokołu ISO11898 (CAN), ustalono różne protokoły transmisji danych. Konieczność stosowania specjalnych protokołów wynika m. in. z faktu, że magistrala CAN pozwala przesłać jedynie do 8 bajtów danych w jednej ramce. Wśród protokołów transmisji danych trudno wskazać dominujące rozwiązanie. Stosowane są znacznie różniące się od siebie protokoły: ISO-TP (ISO 15765-2), TP 2.0 i TP 1.6 [3,4]. Wysłanie odpowiedniego zapytania do sterownika, z wykorzystaniem wyżej wymienionych protokołów, umożliwia otrzymanie od niego różnego rodzaju danych, m. in. danych identyfikacyjnych sterowników (numery seryjne, numery VIN pojazdu, producent i wersja sterownika, wersja oprogramowania, data produkcji i inne). Brak normalizacji w zakresie nazewnictwa parametrów sprawił, że każdy z producentów w każdym modelu pojazdu może stosować inne nazwy parametrów i inne maski dekodowania danych. Niektórzy producenci w swoich sterownikach w ogóle nie zapisują danych identyfikacyjnych. W przypadku poszczególnych producentów lub całych koncernów motoryzacyjnych występują pewne wewnętrzne standardy również w wyżej wymienionym obszarze. Pozwala to na zbudowanie bazy danych procedur i parametrów, umożliwiających nawiązanie komunikacji (poprzez odpowiednie protokoły komunikacji i transmisji danych) oraz wysłanie odpowiedniego zapytania, odebranie odpowiedzi wraz z jej poprawną interpretacją. 9131
W komunikacji wykorzystywane są sygnały cyfrowe, których przykłady przedstawiono na rysunku 1. Odczyt zer i jedynek zamieniany jest na ciągi informacji zwane ramkami rys. 2 a następnie stosuje się system arbitrażu który szeżej został omówiony w wielu pozycjach w tym na przykład [1, 3] Rys. 1. Przebiegi poziomów napięcia w magistrali żółtym kolorem oznaczono przewód CAN-H, natomiast zielonym przewód CAN-L.: a Low-Speed CAN; b High-Speed CAN [1] Rys.2. Struktura ramki danych protokołu CAN 2.0A.[1] Dla poszczególnych pojazdów istnieją urządzenia diagnostyczne, mające zaprogramowane potrzebne procedury, do uzyskania np. danych identyfikacyjnych. W zależności od marki i modelu pojazdu mogą być to uniwersalne urządzenia, takie jak BOSCH KTS, Autocom CDP+, TEXA, Carmann Scan i inne. W przypadku niektórych mniej popularnych pojazdów, odpowiednie zestawy procedur mogą posiadać jedynie fabryczne urządzenia diagnostyczne, przygotowane przez producenta pojazdu. W celu przeprowadzenia badań pozwalających na identyfikację zapytań i odpowiedzi od sterowników, szczególnie w obszarze pozyskiwania danych identyfikacyjnych, opracowano system śledzący ruch w magistrali wymiany danych pomiędzy złączem diagnostycznym w pojeździe, a zewnętrznymi urządzeniami diagnostycznymi (rysunek2.). Wywołując rozkaz podania danych identyfikacyjnych przez pojazd za pomocą urządzenia diagnostycznego, opracowany system śledzący ruch jest w stanie dla badanego pojazdu określić protokół komunikacji i transmisji danych, a także konkretny rozkaz i odpowiedź przesłaną z pojazdu. Przechwycone dane często wymagają nałożenia odpowiedniej maski do zdekodowania informacji, jednak stosowane przez producentów pewne standardy ułatwiły ten proces. Weryfikacja poprawności zdekodowania komunikacji polega na wysłaniu odpowiedniego zapytania z urządzenia diagnostycznego nie do pojazdu, a do specjalnie przygotowanego urządzenia, które wysyła odpowiednio przygotowaną odpowiedź do testera, który powinien ją poprawnie zinterpretować. 9132
Rys. 3. System do przechwytywania komunikacji w systemie OBD-II. 2.1 Centralny sterownik elektryczny. W badanym pojeździe pełni również funkcję Gatewaya, łączy zatem wszystkie magistrale. Jego zadaniem jest przechowywanie w pamięci głównych ustawień pojazdu, takich jak numer VIN, pod kraju, rok modelowy i wiele innych. Sterownik ten jest odpowiedzialny również za sterowanie wybranymi układami elektrycznymi, takimi jak oświetlenie zewnętrzne pojazdu, klakson, wycieraczki i spryskiwacze. Z poziomu fabrycznego urządzenia diagnostycznego można dokonać przeprogramowania takich parametrów jak numer VIN, konfiguracji świateł do jazdy dziennej, moc świecenia świateł mijania i drogowych (sterowanych sygnałem PWM) i wielu innych. Można wykonać test każdego układu niezależnie, np. włączyć lewe przednie światło drogowe, czy wyzwolić wycieraczki. 2.2 Układ ABS / ESP. Wyposażony w 4 kanałowy układ ABS z ESP oraz kontrolą trakcji przy ruszaniu. Układ posiada w pamięci zapisany oryginalny numer VIN, a także aktualny numer VIN pobrany ze sterownika Gateway. Umożliwia oprócz odczytu i kasowania informacji diagnostycznej programowanie w zakresie np. ustawienia średnicy kół pojazdu do wyznaczania dokładnej prędkości. Wśród testów urządzeń wykonawczych znajdują się testy wszystkich zaworów ABS i ESP, a także pompy ESP. Istnieje zatem możliwość wywołania ciśnienia płynu hamulcowego przez ESP w celu zablokowania koła lub też zamknięcie lub otwarcie zaworów ABS w celu zdjęcia ciśnienia w układzie hamulcowym. 3 BEZPIECZEŃSTWO KOMUNIKACJI Komunikacja pomiędzy urządzeniem diagnostycznym a pojazdem nie jest szyfrowana. Odbywa się z wykorzystaniem sieci CAN oraz znormalizowanych protokołów transmisji danych i protokołów diagnostycznych. Może zatem być bez przeszkód zarejestrowana przez dodatkowy układ, lub też inne urządzenie może podszyć się pod fabryczne urządzenie diagnostyczne. Dostęp do pewnych funkcji, takich jak wykonywanie niektórych testów urządzeń wykonawczych czy też przeprogramowywanie pamięci flash, może być zabezpieczony autoryzacją. Odbywa się ona poprzez wymianę klucza - sterownik w pojeździe wysyła do urządzenia diagnostycznego pewną 9133
losową liczbę, a urządzenie diagnostyczne musi odpowiedzieć słowem właściwym dla przesłanej liczby. W praktyce stosuje się często 1 bajtowe słowa kluczowe, zatem możliwych jest 256 par słów kluczowych, które umożliwiają przejście autoryzacji. 3.1 Zagrożenia - przejęcie kontroli nad pojazdem Coraz powszechniejsze staje się stosowanie tanich interfejsów diagnostycznych OBD - bluetooth, które umożliwiają nawiązanie komunikacji z pojazdem za pośrednictwem np. smartfonów z systemami Android, Windows Phone czy ios. Darmowe aplikacje, które można pobrać z internetu, umożliwiają np. odczytywanie i kasowanie błędów lub wyświetlanie wartości parametrów bieżących z wybranych sterowników - na ogół tylko sterownika silnika. W praktyce, jak pokazały przeprowadzone badania, możliwe jest przejęcie przez takie aplikacje kontroli nad wybranymi funkcjami pojazdu. Niebezpiecznym może być zatem korzystanie z aplikacji pochodzących z niezaufanego źródła wraz z dostępnymi na rynku urządzeniami typu ELM 327 (rysunek 4) które nie są w żaden sposób chronione. Rys.4. Interfejsy komunikacyjne oparte na mikroprocesorze ELM 327 [5] 3.2 Przykład przejęcia kontroli nad pojazdem Wykorzystując fabryczne oprogramowanie diagnostyczne oraz system do rejestracji danych przesyłanych poprzez magistralę CAN, połączone równolegle, udało się zarejestrować a następnie przeanalizować komunikację. Wiedząc, że wykorzystywany jest protokół KWP2000, bez problemu ustalono polecenia odpowiedzialne za wywołanie poszczególnych procedur diagnostycznych, np. w sterowniku ABS / ESP. Przeprowadzanie autoryzacji nie zabezpiecza pojazdu, ponieważ wykorzystując fabryczne urządzenie diagnostyczne oraz odpowiednio przygotowany system symulujący system diagnostyczny pojazdu, można w bardzo prosty sposób otrzymać wszystkie kombinacje słów kluczowych do autoryzacji. Możliwe jest to w sytuacji, kiedy zamiast generowanych losowo liczb, dedykowany system przesyła kolejne liczby zapamiętując za każdym razem odpowiedź fabrycznego diagnoskopu. W badanych pojazdach podczas jazdy pojazdu z niewielką szybkością udało się przejąć kontrolę nad wybranymi układami - m. in. oświetleniem, klaksonem, wycieraczkami, ale także nad systemem ABS / ESP. Z powodzeniem doprowadzono do sytuacji, w której zablokowano wybrane koło jadącego pojazdu, lub też uniemożliwiono wytworzenie ciśnienia w układzie hamulcowym, a w konsekwencji zablokowano możliwość zahamowania pojazdu. Wprawdzie wewnętrzne procedury w sterowniku ABS / ESP nie pozwalają na wyzwolenie procedur testowania układu podczas jazdy z pełną szybkością, jednak proste działanie polegające na zmianie parametru "średnica kół pojazdu", może sprawić, że znacznie zmieni się rzeczywista prędkość przy której możliwe jeszcze będzie wykonanie wyżej wymienionych procedur. 9134
Tab. 2. Wyniki badania możliwości wykonania testów w różnych warunkach pracy pojazdu ( "+" - test udało się przeprowadzić, "-" - testu nie udało się przeprowadzić). WNIOSKI Mając na uwadze bezpieczeństwo pojazdów możemy rozróżnić dwa kierunki działań pierwszym podstawowym mogącym mieć bezpośrednie oddziaływanie na ruch pojazdu jest przejęcie komunikacji w poruszającym się pojeździe. Wykorzystana w tym celu może być przede wszystkim technologia Bluetooth, która coraz częściej jest wykorzystywana do komunikacji pomiędzy systemami. Innym potencjalnym niebezpieczeństwem jest używanie przez niektórych kierowców tak zwanych końcówek diagnostycznych typu ELM 327, które służą jako urządzenia do komunikacji pomiędzy pojazdem a np: smartfonem, tabletem lub komputerem. W trakcie jazdy położenia te wykorzystywane są do odczytu danych których nie otrzymuje kierowca w zestawach fabrycznych wskaźników. Drugim kierunkiem jest nieuprawniona ingerencja w dane fabryczne. W tym zadaniu również można rozróżnić dwa cele działania. Po pierwsze wymiana danych typu nr VIN czy nr seryjny które mają niewielki lub żaden wpływ na bezpieczeństwo chyba że będą nieprawidłowo wykonane. oraz ingerencja bezpośrednio w dane odpowiedzialne za sterowanie elementami pojazdu. Przykładem takiej ingerencji może być czyszczenie pamięci i wgrywanie nowego softu w sterowniki poduszek powietrznych. Po takim "odświeżeniu" nikt nie badał jak będą się zachowywać pozostałe podzespoły w tym sensory wcześniej biorące udział w zderzeniu. W tym wypadku możliwość wykrycia takich ingerencji jest podstawą zapewnienia bezpieczeństwa. Dodatkowym zadaniem jest wykrywanie takich ingerencji dla celów procesowych przez organy ścigania. Artykuł powstał na podstawie badań realizowanych w ramach projektu DOBR- BIO4/037/13175/2013 finansowanego przez Narodowe Centrum Badań i Rozwoju This paper was created on the basis of researches conducted within the project DOBR- BIO4/037/13175/2013 funded by the National Centre for Research and Development 9135
Streszczenie W przedstawionym artykule poruszono zagadnienie związane z zachowaniem bezpieczeństwa w wymianie danych za pomocą sieci informatycznych pojazdów. Krótko została scharakteryzowana sieć CAN jako podstawowa sieć wymiany danych, jak również sieć odpowiedzialna za komunikacje pomiędzy pojazdem i otoczeniem a szczególnie operatorem-użytkownikiem. W dalszej części pracy przedstawiono sposób podsłuchu przepływających danych i możliwość "nauczenia się" odpowiednich poleceń ingerujących w sposób działania sterowników odpowiedzialnych za bezpieczeństwo np. układ ESP. Na koniec przedstawiono przykładowe "testy" elementów wykonawczych różnych układów za pomocą przejęcia transmisji bezprzewodowej z wykorzystaniem interfejsu ELM 327. Safety analysis of vehicles in formation networks Abstract In the present paper discusses problem associated with safety in the exchange of data over a network of vehicles. Shortly CAN network has been characterized as a basic data exchange network, as well as the network responsible for the communication between the vehicle and the environment and in particular the operator-user. In the following paper presents a method of tapping data and the ability to "learn" the appropriate commands affecting the mode of operation of drivers responsible for safety such as the ESP system. Finally, a sample "tests" actuators of various systems using wireless acquisition using ELM 327 interface was preformed BIBLIOGRAFIA 1. Frei Martin Samochodowe magistrale danych w praktyce warsztatowej. Wydawnictwo Komunikacji i Łączności, Wydanie 1 Warszawa 2010. Str. 9-57. ISBN 978-83-206-1787-0. 2. Kneba Z., Makowski S., Zasilanie i sterowanie silników., WKiŁ, Warszawa 2004. 3. Merkisz J., Mazurek S., Pokładowe Systemy Diagnostyczne Pojazdów Samochodowych, WKiŁ, Warszawa 2006 4. Zimmermann W., Schmidgall R., Magistrale danych w pojazdach, WKiŁ, Warszawa 2007 5. www.allegro.pl /oferta/elm327-bluetooth-micro-elm-327-bt-obd2-pl-nowosc-i3595284538.html 9136