Ataki DMA – czym są i jak się przed nimi chronić?

Ataki DMA – czym są i jak się przed nimi chronić?25.02.2020 00:09
Thunderbolt i DMA (fot. Pixabay)

Podczas naszych pobieżnych rozważań na temat optymalizacji ustawień BIOS-u, wspomnieliśmy krótko na temat wyłączenia obsługi dla nieużywanych magistrali rozszerzeń. Ten pozornie upośledzający funkcjonalnie scenariusz ma na celu usunięcie potencjalnych możliwości ataku z wykorzystaniem bezpośredniego dostępu do pamięci (Direct Memory Access, DMA).

Atak DMA, czyli co?

Nowoczesne gniazda rozszerzeń nie są już tak "dosłowne" jak dawna szyna ISA, literalnie wcinająca się w przestrzeń adresową. Niemniej, magistrale PCI, 1394, Express Card i Thunderbolt, mimo wysokiego poziomu skomplikowania, noszą cechy rozwiązań zaskakująco niskopoziomowych. Owszem, interfejsy rozszerzeń wykorzystują dziś programowalne kontrolery przerwań lub abstrahują warstwę komunikacji nad kontroler hosta, pozwalając na niebawienie się w IRQ oraz łatwą implementację PnP.

Gniazda standardu ISA
Gniazda standardu ISA

Ale to nie znaczy, że dodatkowe warstwy pozbawiły owe szyny możliwości dostępu do pamięci z pominięciem instrumentu MMU. Innymi słowy, złożone, hotplugowane urządzenia Plug-And-Play wykorzystujące skomplikowany stos technologiczny, dalej mogą bezpośrednio czytać pamięć fizyczną (całą, via DMA), a nie wirtualną (VMM, zmapowaną i kontrolowaną przez system operacyjny w ramach ochrony pamięci). Niebezpieczeństwa takiego podejścia są oczywiste: zyskujemy wydajność, ale musimy teraz ufać podpinanemu urządzeniu.

Option ROM

Kontrolery FireWire oraz ExpressCard są już raczej wymarłą kategorią sprzętu, coraz rzadziej dostępną w laptopach. Jeżeli jednak są u nas obecne, warto rozważyć ich... wyłączenie. Sroko sprzęt tego typu ma domyślnie uprawnienia do bardzo głębokiego "wcinania się" w ustrój komputera, tj. ma zapewniony uprzywilejowany dostęp do BIOSu i pamięci. Być może może nic nie stracimy, wyłączając je. Nie wolno nam jednak zapomnieć, że laptopy wcale nie straciły możliwości podłączania uprzywilejowanych peryferiów. Rolę tę dziś powoli przejmuje Thunderbolt.

Gniazda Thunderbolt 3 w laptopie Lenovo Yoga (fot. Kamil Dudek)
Gniazda Thunderbolt 3 w laptopie Lenovo Yoga (fot. Kamil Dudek)

Kontroler Thunderbolt 3, obsługujący urządzenia podpinane przez gniazdo typu USB-C, jest coraz popularniejszym elementem na pokładzie mocniejszych laptopów. Jego popularyzacja jeszcze nie jest wysoka, choć powoli ulega to zmianie wskutek złagodzenia licencji, przez co gniazda USB-C nie oferują często warstwy Thunderbolt. Sprzęt z wyższej półki zaczął jednak stosować nowe gniazdo wraz z nowym protokołem i z lekką tylko przesadą możemy stwierdzić, że Thunderbolt potrafi być jak PCI Express na kablu. Również oferuje potencjalnie niebezpieczny dostęp do pamięci i ładowanie opcjonalnych sterowników przed startem systemu operacyjnego (Option ROM).

To właśnie ten Option ROM jest niebezpieczny. Nie ma na rynku np. "złośliwych kamer", których funkcją jest infekowanie klienta CryptoLockerem. Są natomiast urządzenia, którym Option ROM można łatwo podmienić na złośliwy, a następnie puścić w obieg. Skąd użytkownik ma wiedzieć, że urządzenie które chce podpiąć do komputera nie jest zainfekowane?

Niskopoziomowa integracja

Thunderbolt ma oczywiście swoje zalety. Przepustowość pozwala wykorzystywać estetyczne, dyskretne stacje dokujące podpinane pojedynczym kablem. Sam protokół umożliwia także uwierzytelnianie urządzeń: sprzęt nie zostanie uruchomiony, dopóki jego obecność nie zostanie "odkliknięta" i zatwierdzona w BIOSie lub stosownym kreatorze ze sterownika.

Stacja dokująca TB3 Dla ThinkPada (fot. Lenovo)
Stacja dokująca TB3 Dla ThinkPada (fot. Lenovo)

Jeżeli nie potrzebujemy wyższej przepustowości, a wizja urządzeń o nieskończonych uprawnieniach nie jest szczególnie kusząca, port Thunderbolt można wyłączyć. Nie zawsze jednak możliwe jest wyłączenie samej warstwy TB3. Istnieje ryzyko, że wyłączenie kontrolera skończy się całkowitą niedostępnością gniazda USB-C, nawet w "zwykłym" trybie. Więcej z tego szkody niż pożytku. Dlatego zapewne należy ograniczyć się do zabezpieczenia samego kontrolera.

Wydawałoby się, że Thunderbolt to po prostu kolejne, jeszcze bardziej skomplikowane złącze. Skala tego skomplikowania, widoczna w poziomie rozbudowania sterownika (kilkadziesiąt megabajtów i ikona w zasobniku!) może skłonić do opinii, że najwyraźniej do swojego działania, TB3 potrzebuje systemu Windows ze sporą zgrają oprogramowania wspomagającego. Nic bardziej mylnego.

Dowodem na to niech będzie poprawne działanie monitorów i urządzeń USB podpiętych do stacji dokujących Thunderbolt 3 jeszcze przed uruchomieniem systemu operacyjnego! Być może sterownik jest skomplikowany, ale całą zabawę w uwierzytelnianie urządzeń i obsługę peryferiów obsługuje sam BIOS i firmware kontrolera (np. JHL7540).

Lenovo ostrzega, że Thunderbolt działa tylko czasami
Lenovo ostrzega, że Thunderbolt działa tylko czasami

Aktualizacje

Czas wrócić do rytuału aktualizacji, zawitać na stronę wsparcia technicznego ponownie, a następnie pobrać i uruchomić narzędzie do aktualizacji firmware'u kontrolera. Na czas tego procesu najlepiej odpiąć wszystkie urządzenia Thunderbolt/USB-C. Aktualizacja samego kontrolera zajmuje około 256 kilobajtów (plus objętość narzędzia instalatora). Jednak należy do tego dodać wartwę "uświadamiającą" system, z jakim koszmarem ma do czynienia, czyli instalację sterownika Thunderbolt Secure Connect. On już taki lekki nie jest.

Rzecz jasna, zaktualizowanie sterownika pod Windows nie chroni nagle przed atakami DMA, ale technologia Thunderbolt 3okazała się tak wadliwa, tak dziurawa i niestabilna, że aby używać ją bez zawrotów głowy, należy koniecznie stosować najnowsze sterowniki. Problemy dotyczą nie tylko warstwy logicznej i protokolarnej, ale wręcz "elektrycznej" i stare oprogramowanie może poskutkować... uszkodzeniem urządzenia, o czym głośno ostrzega np. Lenovo. Aczkolwiek, sam system Windows 10 zawiera zabezpieczenia chroniące przez atakami DMA przez urządzenia Thunderbolt.

Dok TB3 to pęk urządzeń (fot. HP)
Dok TB3 to pęk urządzeń (fot. HP)

Naturalnie, jeżeli jednym z uzywanych urządzeń TB3 jest stacja dokująca, ona sama również może posiadać aktualizacje wbudowanego oprogramowania! W tym przypadku mają one więcej wspólnego ze stabilnością niż z bezpieczeństwem, ale ponieważ stacje TB3 są nieziemsko skomplikowanym sprzętem, zaktualizowanie ich oprogramowania często rozwiązuje problemy np. z migającymi monitorami. Doki TB3 to prawdziwe piekło na Ziemi, jeżeli komuś działają stuprocentowo sprawnie – zazdroszczę.

Wnioski

Magistrale wysokiej przepustowości, jak PCI, CardBus, 1394 i Thunderbolt oferują bezpośredni dostęp dostęp do pamięci (DMA), co zwiększa wydajność, ale umożliwia urządzeniom omijanie zabezpieczeń systemu Urządzenia peryferyjne często posiadają możliwość ładowania rozszerzeń (Option ROM), co będzie miało miejsce jeszcze przed uruchomieniem systemu operacyjnego Potencjalnie złośliwy ROM, w zestawieniu z DMA, pozwala wykradać i modyfikować dane, z pominięciem mechanizmu pamięci wirtualnej i teoretycznie w sposób niewidzialny dla software'owych mechanizmów ochrony (antywirus, tampering protection itp.) W przypadku niewykorzystywania urządzeń PCI, CardBus, 1394 i Thunderbolt, warto rozważyć wręcz całkowite wyłączenie ich obsługi w BIOS-ie Gdy ww. urządzenia są jednak używane, konieczna jest aktualizacja firmware Zaktualizowany firmware wymaga odpowiadającego mu sterownika

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.