Sekcja 52 firmy Microsoft (grupa badawcza Azure Defender for IoT) ujawniła niedawno szereg krytycznych luk w alokacji pamięci w urządzeniach IoT i OT. Atakujący mogą wykorzystać je do ominięcia kontroli bezpieczeństwa w celu wykonania złośliwego kodu lub spowodowania awarii systemu.

Luki te, to podatności typu RCE, które obejmują ponad 25 CVE i potencjalnie wpływają na szeroki zakres domen, od konsumenckiego i medycznego IoT po przemysłowe, technologię operacyjną (OT) i przemysłowe systemy sterowania.
Występują w standardowych funkcjach alokacji pamięci, obejmujących szeroko stosowane systemy operacyjne czasu rzeczywistego (RTOS), wbudowane zestawy programistyczne (SDK) i implementacje standardowej biblioteki C (libc).

Ustalenia zostały udostępnione dostawcom za pośrednictwem odpowiedzialnego ujawnienia podatności prowadzonego przez Microsoft Security Response Center (MSRC) i Departament Bezpieczeństwa Wewnętrznego USA, co umożliwiło dostawcom zbadanie i załatanie luk w zabezpieczeniach.

Aby uzyskać pełną listę produktów i CVE, których dotyczy problem, odwiedź witrynę internetową DHS: ICSA-21-119-04 Multiple RTOS.

Biorąc pod uwagę wszechobecność urządzeń IoT i OT, jeśli podatności zostaną z powodzeniem wykorzystane, stanowią istotne potencjalne zagrożenie dla wszelkiego rodzaju organizacji. Jak dotąd firma Microsoft nie widziała żadnych oznak wykorzystywania tych luk w środowisku produkcyjnym. Jednak zdecydowanie zachęcamy do jak najszybszego łatania swoich systemów.

Jednocześnie zdajemy sobie sprawę, że łatanie urządzeń IoT / OT może być skomplikowane. W przypadku urządzeń, których nie można natychmiast załatać, zalecamy mitygacje zagrożenia poprzez: zmniejszenie powierzchni ataku przez zminimalizowanie lub wyeliminowanie narażenia wrażliwych urządzeń na działanie Internetu; wdrażanie monitorowania bezpieczeństwa sieci w celu wykrywania behawioralnych wskaźników naruszenia bezpieczeństwa; oraz wzmocnienie segmentacji sieci w celu ochrony krytycznych zasobów.


Na czym polega podatność?

BadAlloc” to nazwa przypisana przez Microsoft rodzinie luk w zabezpieczeniach wykrytych w wbudowanych systemach operacyjnych IoT i OT oraz oprogramowaniu, które opisują tę klasę luk związanych z przepełnieniem pamięci. Wszystkie te podatności wynikają z wykorzystania wrażliwych funkcji pamięci, takich jak malloc, calloc, realloc, memalign, valloc, pvalloc i inne. Badania pokazują, że implementacje alokacji pamięci pisane przez lata jako część urządzeń IoT i oprogramowania wbudowanego, nie zawierały odpowiednich walidacji danych wejściowych. Bez takiej weryfikacji, osoba atakująca może wykorzystać funkcję alokacji pamięci do wykonania przepełnienia sterty, co spowodowałoby wykonanie złośliwego kodu na urządzeniu docelowym.

Luki w zabezpieczeniach alokacji pamięci można wywołać, wykonując funkcję alokacji pamięci, taką jak malloc(WARTOŚĆ), z parametrem WARTOŚĆ pochodzącym dynamicznie z zewnętrznego wejścia i wystarczająco dużym, aby wywołać przepełnienie lub zawijanie liczb całkowitych. Koncepcja jest następująca: podczas wysyłania tej wartości zwracanym wynikiem jest świeżo przydzielony bufor pamięci. Chociaż rozmiar przydzielonej pamięci pozostaje niewielki ze względu na zawijanie, ładunek związany z alokacją pamięci przekracza faktycznie przydzielony bufor, co powoduje przepełnienie sterty. To przepełnienie sterty umożliwia osobie atakującej wykonanie złośliwego kodu na urządzeniu docelowym. Oto przykłady „BadAlloc”:


Jak się chronić?

Zalecamy następujące środki zaradcze dla organizacji z urządzeniami IoT i OT:

Łatanie – Postępuj zgodnie z instrukcjami dostawcy dotyczącymi stosowania poprawek do produktów, których dotyczy problem. Praktycznie wszyscy dostawcy zostali już powiadomieni przez Microsoft i przygotowali odpowiednie łatki.

Monitorowanie – Ponieważ większość starszych urządzeń IoT i OT nie obsługuje agentów, użyj rozwiązania do wykrywania i reagowania w sieci obsługującego IoT / OT. Pomocne mogą być tutaj rozwiązania typu IDS, aby automatycznie wykrywać i stale monitorować urządzenia pod kątem anomalii lub nieautoryzowane zachowania, takiego jak komunikacja z nieznanymi hostami lokalnymi czy zdalnymi.

Zmniejszanie powierzchni ataku – eliminując niepotrzebne połączenia internetowe z systemami sterowania OT i wdrażając dostęp VPN z uwierzytelnianiem wieloskładnikowym (MFA), gdy wymagany jest dostęp zdalny. DHS ostrzega, że urządzenia VPN mogą również mieć luki w zabezpieczeniach i należy je zaktualizować do najnowszej dostępnej wersji.

Segmentacja – Segmentacja sieci jest bardzo ważna w koncepcji Zero Trust, ponieważ ogranicza zdolność atakującego do poruszania się na boki i narażania krytycznych zasobów po początkowym włamaniu. W szczególności urządzenia IoT i sieci OT powinny być izolowane od korporacyjnych sieci IT za pomocą firewall’a.

Podziel się z innymi tym artykułem!