Zwalczanie ataków na systemy wbudowane

| Technika

Włamywanie się do firmware'u urządzeń peryferyjnych i systemów wbudowanych staje się coraz powszechniejsze przez exploity, czyli programy do wykorzystywania błędów w oprogramowaniu. Atakowanie drukarek, modemów, płyt głównych, telefonów IP czy samochodów okazuje się łatwiejsze niż pokonywanie zabezpieczeń komputerów, serwerów czy smartfonów i stanowi duży problem dla projektantów systemów embedded.

Zwalczanie ataków na systemy wbudowane

Według naukowców z Uniwersytetu Columbia w Nowym Jorku ataki polegające na wstrzyknięciu szkodliwego kodu można wykorzystać do kradzieży danych lub przejęcia kontroli nad urządzeniami elektronicznymi. Łatwo sobie wyobrazić, jak poważne konsekwencje mogą mieć tego rodzaju wrogie działania w przypadku samolotów, samochodów czy środków transportu publicznego.

Tworzenie bardziej bezpiecznego oprogramowania wymaga jednak dodatkowych nakładów i współpracy wszystkich uczestników łańcucha dostaw, w tym konstruktorów i producentów urządzeń oraz innych dostawców, także firm OEM.

Poprawa kodu

Kod firmware musi być lepszy, a oprogramowanie zamknięte powinno być zastępowane przez open source. Co prawda podstawowy kod firmware systemów embedded jest w większości otwarty, a wiele urządzeń pracuje na Linuksie, jednak kod najwyższych warstw, czyli sterowników, otwarty, a więc taki, które podlega ocenie przez wielu specjalistów, nie jest. Stąd producenci elektroniki w swoich urządzeniach dodają własny zamknięty kod do kodu, który już na tym etapie nie jest pozbawiony wad. W wyniku tego firmy dostają urządzenia, które są praktycznie niemożliwe do naprawy w przypadku wykrycia luki w bezpieczeństwie.

Firmware systemów wbudowanych powinien być zatem w całości open source, a OEM-y muszą mieć możliwość łatwej eliminacji wykrytych błędów. Wymagałoby to jednak od dostawców układów większych inwestycji w poprawę jakości własnego oprogramowania.

Zdalna aktualizacja

Firmy OEM są często zmuszone do wycofania produktów z rynku po wykryciu poważnych luk w oprogramowaniu firmware. Nawet jeśli możliwe jest zdalne zainstalowanie poprawek bezpieczeństwa w modemach, routerach czy drukarkach, to dla osób niebędących ekspertami takie działanie jest z reguły zbyt skomplikowane, dlatego niewielu się na nie decyduje. Niezbędne zatem staje się przyjęcie przez OEM-y modelu automatycznej aktualizacji firmware'u, co polega na pobraniu i zainstalowaniu w tle nowej wersji oprogramowania w momencie podłączenia urządzenia do Internetu, podobnie jak odbywa się to w komputerach osobistych i smartfonach.

Kod ochronny

Jednym ze sposobów ochrony jest dodanie warstw oprogramowania, które mogą służyć jako zabezpieczenie przed atakami. Według Red Balloon Security, startupa założonego przez naukowców Uniwersytetu Columbia w Nowym Jorku, dodany do firmware'u kod może wykrywać i unieszkodliwiać złośliwe oprogramowanie.

Przykładem może być przygotowywane przez Red Balloon oprogramowanie, które po dodaniu do firmware'u ma chronić systemy wbudowane. W swoim założeniu ma ono przypominać tradycyjne programy anti-mailware, służące do wykrywania i neutralizowania ataków. Jego działanie jest jednak unikalne, gdyż neutralizuje szkodliwy kod w sposób losowy. Uniemożliwia to zaatakowanie takiego samego urządzenia identyczną metodą nawet po jednorazowym obejściu jego zabezpieczeń, gdyż kod ochronny będzie za każdym razem inny.

W niedalekiej przyszłości powszechne może stać się dedykowane do firmware'u oprogramowanie antywirusowe dla systemów embedded. Pozostaje mieć nadzieję, że będzie miało większą skuteczność niż jego odpowiedniki z branży komputerów osobistych, które często nie mogą się pochwalić skutecznością.

Lepsza wiedza o produktach i łańcuchu dostaw

Ocena ryzyka, do której wlicza się również ocenę podatności firmware'u na ataki, wymaga wiedzy na temat pochodzenia i jakości wszystkich komponentów składowych. Może być ona dobra u bezpośredniego dostawcy, ale z takimi informacjami u dostawców pośrednich może być już gorzej. A niestety wystarczy jeden komponent ze słabym jakościowo oprogramowaniem, aby spowodować kaskadę wiekszych problemów.

Kiedyś na przykład w serwerach Della znaleziono złośliwe oprogramowanie, pochodzące z płyty głównej pozyskanej od innego dostawcy. Jednak szkodliwy kod czy podrobione części mogły pojawić się w łańcuchu dostaw już wcześniej, skąd dopiero trafiły do dostawcy płyt głównych używanych przez Della. Negatywnym skutkom luki bezpieczeństwa oraz stratom marketingowym można było zapobiec dzięki lepszemu testowaniu otrzymanego firmware'u i pełnej wiedzy na temat wszystkich komponentów składowych i dostawców.

W zapobieganiu atakom na systemy wbudowane kluczowa jest zatem wiedza o tym, gdzie i w jaki sposób w łańcuchu dostaw oprogramowanie może być podatne i powinna być ona częścią ogólnej strategii zarządzania ryzykiem.

Grzegorz Michałowski

Zobacz również