Wyobraź sobie, że prowadzisz samochód. To nowy model, który właśnie kupiłeś i jak dotąd jesteś z niego bardzo zadowolony. Jesteś na autostradzie w drodze do pracy, stereo gra twoją ulubioną muzykę, klimatyzacja działa idealnie. Nagle stereo się wyłącza. To dziwne, myślisz. Czy nacisnąłeś jakiś przycisk? Potem klimatyzacja przestaje działać, a z nawiewów zaczyna wiać gorące powietrze. Co się tutaj dzieje? Podczas gdy próbujesz to zrozumieć, hamulce nagle włączają się na pełną moc. Samochód za tobą dziko trąbi, ledwo unikając zderzenia z tyłu. Przerażony, robisz co w twojej mocy, aby zjechać na bok. Pomimo twoich daremnych prób zrozumienia, nic nie wyjaśnia otwartej rebelii twojego samochodu. Dla producenta samochodów to katastrofa wizerunkowa.
Ta sytuacja, choć wydaje się naciągana, została udowodniona przez grupę hakerów komputerowych jako całkowicie możliwa. Jak udokumentowało Magazyn Wired, niemal wszystkie kluczowe systemy późnego modelu Jeepa Cherokee mogły być kontrolowane zdalnie. Luka w systemie „UConnect” SUV-a, wykorzystywanym przez całą linię pojazdów Fiat Chrysler Automobiles, umożliwiła atak przez internet za pośrednictwem wbudowanego połączenia komórkowego. Ponieważ niemal wszystkie funkcje Cherokee są kontrolowane elektronicznie, zamieniło to dwutonowy pojazd w wyszukane zabawkowe auto zdalnie sterowane. Gdy Fiat Chrysler dowiedział się o eksperymencie z hackingiem, został zmuszony do wycofania 1,4 miliona podobnie wyposażonych samochodów, co wiązało się z dużymi kosztami. Jednak cały ten zamęt mógł zostać łatwo rozwiązany za pomocą aktualizacji przesyłanych przez powietrze.
Dzięki przyspieszonemu tempu komputeryzacji systemów pojazdów, aktualizacja i zabezpieczanie oprogramowania sterującego stały się nowym obowiązkiem dla producentów samochodów. Łączność bezprzewodowa oznacza, że kluczowe poprawki, zwłaszcza te zamykające luki w zabezpieczeniach, mogą być cicho przesyłane do tysięcy samochodów bez ingerencji użytkownika. Należy jednak zdawać sobie sprawę, że rozwiązanie typu over-the-air ma dwa oblicza: jeśli nie zostanie właściwie wdrożone, systemy sprzętowe pojazdów mogą zostać narażone na atak. Absolutnie kluczowe jest, aby nie tylko system aktualizacji był sam w sobie bezpieczny, ale także aby podejście projektowe było z natury odporne.
Najlepsze praktyki dotyczące aktualizacji over-the-air wciąż ewoluują, ale można je łatwo podsumować: trzymaj rzeczy oddzielnie. Im więcej warstw, zamaskowanych elementów i piaskownic dodanych do kluczowych systemów pojazdu, tym lepiej. W praktyce oznacza to, że docelowe zasoby, takie jak jednostki sterujące silnikiem i sieć kontrolerów, muszą być odseparowane od sprzętu infotainment i telekomunikacyjnego i aktualizowane oddzielnie. Chociaż korzyści kosztowe wynikające z zastosowania zintegrowanego podejścia projektowego są atrakcyjne, warstwowe podejście jest znacznie bardziej odporne.
Projektanci sprzętu wbudowanego powinni również rozważyć użycie większej liczby gotowych rozwiązań, szczególnie tych, które działają na standardowych systemach operacyjnych przemysłowych. Nie tylko pozwoli to ograniczyć koszty rozwoju, ale podejście własne może nie poświęcić wystarczającej uwagi potencjalnym lukom bezpieczeństwa. Wreszcie, dla absolutnego bezpieczeństwa, warto rozważyć wyłączenie najbardziej krytycznych systemów z programu aktualizacji przez sieć. Na przykład, główne jednostki sterujące ECU i kontrolery poduszek powietrznych mogą być aktualizowane podczas wizyt w serwisie i w ramach biuletynów serwisowych.
Ostatni punkt może wydawać się unikiem, ale nie musi tak być. Możliwe jest bezpieczne aktualizowanie wszystkich systemów pojazdu, ale wymaga to nieco przemyślenia poprzez nowatorskie podejście. Użycie niezależnego menedżera aktualizacji przez sieć, czyli lekkiego komputera odpowiedzialnego za aktualizacje, zapewnia maksymalne bezpieczeństwo. Ta jednostka, która izoluje krytyczne systemy od rzeczywistego sprzętu komunikacyjnego, działa jak „kontrola paszportowa” dla przychodzących aktualizacji firmware'u.
Korzystając z wbudowanego szyfrowania/deszyfrowania lub kryptograficznego sprawdzania, menedżer aktualizacji przez powietrze weryfikuje plik aktualizacji, aby zapewnić jego autentyczność. Jeśli oprogramowanie układowe zostało naruszone lub jest fałszywe, menedżer aktualizacji przez powietrze odrzuca plik. Gdy jest to wdrożone wraz z bezpieczeństwem komunikacji, takim jak TLS, system ten jest teoretycznie nie do przebicia. Krytyczne kontrole sprzętowe pozostają izolowane, a aktualizacje oprogramowania układowego mogą być dystrybuowane bez obaw.
Producenci samochodów stopniowo dochodzą do porozumienia z nowymi obowiązkami, jakie tworzą nowoczesne systemy samochodowe i rolą, jaką odgrywa bezpieczeństwo. Na pierwszy rzut oka może się wydawać, że bezpieczne, solidne rozwiązanie skazuje projektantów na większe koszty i nakład pracy. Jednak nie musi tak być. Dzięki wykorzystaniu nowoczesnego narzędzia do rozwoju zorientowanego na bezpieczeństwo, jakim jest Altium TASKING®, wysoki poziom odporności nie będzie problemem. Narzędzie to zapewnia zintegrowane środowisko programistyczne dla systemów wbudowanych i jest zaprojektowane z myślą o unikalnych potrzebach aplikacji motoryzacyjnych.
Zgodny z MISRA C i CERT C, umożliwia szybki rozwój dla warstwowych jednostek sprzętowych, nie poświęcając przy tym niezawodności ani bezpieczeństwa. Kosztowo efektywnie umożliwia aktualizacje przez powietrze z ukierunkowanym rozwojem oprogramowania układowego i długą listą obsługiwanych rozwiązań sprzętowych. Co najważniejsze, ułatwia i upraszcza tworzenie szybko kompilującego się kodu o niskim wpływie, który jest wysoce odporny na podatności i ataki. Porozmawiaj z Altium już dziś, aby dowiedzieć się więcej o tym, co może zrobić dla Twojej konkretnej aplikacji motoryzacyjnej.