Systemy USB mogą mieć poważne luki w zabezpieczeniach, zwłaszcza w systemie Linux

Systemy USB mogą mieć poważne luki w zabezpieczeniach, zwłaszcza w systemie Linux

Naukowcy opracowali nowe narzędzie, które wykryło 26 wcześniej niezidentyfikowanych luk w stosie sterowników USB używanych przez wiele popularnych systemów operacyjnych, w tym Linux, macOS, Windows i FreeBSD. Hui Peng z Purdue University i Mathias Payer ze Szwajcarskiego Federalnego Instytutu Technologii w Lozannie stworzyli nowe narzędzie o nazwie USBFuzz, w którym podali więcej szczegółów w artykule zatytułowanym „USBFuzz: A Framework for Controlling USB Controllers by device emulation”, który brzmi: w następujący sposób: „Przedstawiamy USBFuzz, przenośną, elastyczną i modułową platformę do testowania kontrolerów USB fuzz. Zasadniczo USBFuzz wykorzystuje emulowane programowo urządzenie USB do dostarczania losowych danych z urządzenia do pilotów (podczas wykonywania operacji we/wy). " Narzędzie służy do smużenia, które polega na celowym umieszczaniu lub wstrzykiwaniu obciętych danych do określonej aplikacji lub programu. Jeśli oprogramowanie nie obsługuje prawidłowo nieoczekiwanych danych, programiści mogą zidentyfikować potencjalne naruszenia bezpieczeństwa i naprawić je, zanim użytkownicy zdadzą sobie z tego sprawę. .

USBFuzz

Po opracowaniu USBFuzz naukowcy przetestowali narzędzie na dziewięciu ostatnich wersjach jądra Linuksa (v4.14.81, v4.15, v4.16, v4.17, v4.18.19, v4.19, v4.19.1, v4 i v19.2. 4.20-rc2), FreeBSD12, macOS 10.15 oraz Windows 8 i 10. Po testach znaleźli jeden błąd we FreeBSD, trzy w macOS i cztery w Windows 8 i Windows 10. Jednak spośród 26 nowych błędów wykrytych przez badaczy , 18 zostało znalezionych w systemie Linux. Szesnaście błędów dotyczyło poważnych błędów pamięci w różnych podsystemach Linuksa (jądro USB, USB i dźwięk sieciowy), znaleziono błąd sterownika kontrolera hosta USB w systemie Linux, a ostatni błąd wykryto w sterowniku kamery USB. Od tego czasu naukowcy zgłosili te błędy zespołowi jądra Linuksa, a także wymyślili swoje pomysły na łatki, aby nieco ułatwić pracę programistom jądra. Spośród 18 błędów USBFuzz znalezionych w Linuksie, 11 z nich otrzymało poprawkę od czasu, gdy badacze przesłali swoje pierwsze raporty w zeszłym roku. Oczekuje się, że dodatkowe poprawki zostaną wydane w najbliższej przyszłości dla pozostałych siedmiu problemów. Naukowcy planują również opublikować USBFuzz na GitHub jako projekt open source, aby inni mogli korzystać z ich narzędzia fuzz. przez ZDNet