W Zephyr, systemie RTOS, wykryto około 25 luk w zabezpieczeniach

Zefir

Opublikowali naukowcy z firmy NCC Group niedawno wyniki audytów projektów Zephyr, który jest systemem operacyjnym czasu rzeczywistego (RTOS), przeznaczonym do wyposażenia urządzeń zgodnie z koncepcją „Internetu rzeczy” (IoT). Zephyr jest tworzony przy udziale firmy Intel.

Zephyr zapewnia pojedynczą wirtualną przestrzeń adresową dla wszystkich procesów globalny współużytkowany (SASOS, system operacyjny z pojedynczą przestrzenią adresową). Kod aplikacji jest łączony z jądrem dostosowanym do konkretnej aplikacji i tworzy monolityczny plik wykonywalny do pobrania i uruchomienia na niektórych komputerach.

Wszystkie zasoby systemowe są określane na etapie kompilacji, co zmniejsza rozmiar kodu i zwiększa produktywność. Obraz systemu może zawierać tylko te funkcje jądra, które są wymagane do uruchomienia aplikacji.

Warto zauważyć, że wśród głównych zalet - wspomniał Zephyr rozwój z myślą o bezpieczeństwie. Twierdzi się, że Wszystkie etapy rozwoju przechodzą przez obowiązkowe etapy potwierdzenie bezpieczeństwa kodu: testy rozmyte, analiza statyczna, testy penetracyjne, przegląd kodu, analiza wdrożenia backdoorów i modelowanie zagrożeń.

O podatnościach

Audyt ujawnił 25 luk w Zephyr i 1 lukę w MCUboot. W sumie zostali zidentyfikowani 6 luk w stosie sieciowym, 4 w jądrze, 2 w powłoce poleceń, 5 w programach obsługi wywołań systemowych, 5 w podsystemie USB i 3 w mechanizmie aktualizacji oprogramowania.

Dwóm problemom przypisano krytyczny poziom zagrożeniadwa: wysokie, 9 umiarkowane, 9 - niskie i 4 - do uwzględnienia. Problemy krytyczny wpływ na stos IPv4 i parser MQTT, a coNiebezpieczne obejmują sterowniki pamięci masowej USB i sterowniki USB DFU.

W momencie publikacji informacji poprawki były przygotowane tylko dla 15 luk bardziej niebezpieczne, nadal istnieją problemy, które zostały rozwiązane, prowadzące do odmowy usługi lub związanej z tym awarii mechanizmów dodatkowej ochrony jądra.

W stosie IPv4 platformy zidentyfikowano zdalnie wykorzystywaną lukę, która prowadzi do uszkodzenia pamięci podczas obsługi pakietów ICMP zmodyfikowanych w określony sposób.

Inny poważny problem został znaleziony w parserze protokołu MQTT, qJest to spowodowane brakiem odpowiedniej weryfikacji długości pól w nagłówku i może prowadzić do zdalnego wykonania kodu. Mniej niebezpieczne problemy typu „odmowa usługi” występują w stosie IPv6 i implementacji protokołu CoAP.

Inne problemy można wykorzystać lokalnie spowodować odmowę usługi lub wykonanie kodu na poziomie jądra. Większość z tych luk wiąże się z brakiem odpowiedniego sprawdzenia argumentów wywołań systemowych i może prowadzić do zapisywania i odczytywania dowolnych obszarów pamięci jądra.

Zagadnienia dotyczą również samego kodu przetwarzania wywołań systemowych - dostęp do ujemnego numeru wywołania systemowego prowadzi do przepełnienia całkowitoliczbowego. IJądro zidentyfikowało również problemy we wdrażaniu ochrony ASLR (randomizacja przestrzeni adresowej) oraz mechanizm instalowania etykiet kanaryjskich na stosie, czyniąc te mechanizmy nieskutecznymi.

Wiele problemów ma wpływ na stos USB i poszczególne sterowniki. Na przykład problem z pamięcią masową USB umożliwia spowodowanie przepełnienia bufora i uruchomienie kodu na poziomie jądra po podłączeniu urządzenia do kontrolowanego atakującego hosta USB.

Luka w USB DFU, sterownik do pobierania nowego oprogramowania sprzętowego przez USB, umożliwia załadowanie zmodyfikowanego obrazu oprogramowania układowego do wewnętrznej pamięci Flash mikrokontrolera bez użycia szyfrowania i obejścia bezpiecznego trybu rozruchu z weryfikacją podpisu cyfrowego komponentu. Ponadto zbadano kod otwartego programu ładującego MCUboot, w którym znaleziono nieszkodliwą lukę, która może prowadzić do przepełnienia bufora podczas korzystania z protokołu Simple Management Protocol (SMP) przez UART.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.