Chrome, Firefox i VP8: multimedia też mogą być złośliwe

Kilkanaście dni po odnalezieniu luki w obsłudze formatu WEBP, w bibliotekach graficznych VP8 odkryto kolejną dziurę (CVE-2023-5217). Z bibliotek tych korzystają przeglądarki internetowe, co czyni je podatnymi. Multimedia stanowią ostatnio zagrożenie.

multimedia też mogą być złośliweMultimedia też mogą być złośliwe
Źródło zdjęć: © Pixabay | Lutz Dieckmann
Kamil J. Dudek

"Bezpieczeństwo" plików graficznych wynika (teoretycznie) z tego, że nie zawierają one sekcji wykonywalnej. Zatem podczas wyświetlania ich "nie ma okazji" do załadowania i wykonania kodu. Sprawa ma się inaczej np. z dokumentami Office mogącymi zawierać makra oraz z plikami czcionek, które mogą być przechowywane w kontenerze PE, zdecydowanie wykonywalnym (FON, nie TTF).

Bez kodu

Wyjątki od tej prawidłowości są rzadkie i dość spektakularne: najważniejszym przykładem będzie tu MS06-001, czyli podatność w obsłudze WMF. Grafiki WMF mogły być zaopatrzone w sekcję dyrektyw dla drukarek, co de facto pozwalało umieszczać tam dowolny kod. Po błyskawicznym zalewie trojanów Microsoft, z pewnym opóźnieniem, opracował poprawkę.

Problemy z grafiką trwają od dziesięcioleci. Innym sławnym przykładem grafiki z wirusami były pliki kursorów. W ich przypadku chodziło o pliki bez grafiki, za to z kodem. Mechanizm GDI ładował pliki kursorów bezkrytycznie, bez walidacji - a więc także wtedy gdy w ogóle nie były kursorami. Wada projektowa obsługi kursorów była tak poważna, że Microsoft nie był w stanie jej wszędzie naprawić: poprawką dla systemu Windows 98 była ukryta usługa sprawdzająca przez cały czas, czy nie nastąpiło właśnie załadowanie nieprawidłowego pliku.

Dalsza część artykułu pod materiałem wideo

Nic nowego: bufor

Nie są to jednak jedyne sposoby. Najważniejszym rodzajem nadużycia w multimediach jest przepełnienie bufora. Błędna obsługa nagłówków, metadanych i kontenerów może doprowadzić do uszkodzenia danych i nadpisania ich kodem. Problem ten jest do pewnego stopnia mitygowany przez mechanizm DEP (i nowsze), ale nie jest on w stanie zaradzić im wszystkim. Podobnie rozwiązaniem nie jest całkowita rezygnacja z języków C/C++ i przejście na "nowoczesne" języki stosujące wyższą dyscyplinę w obsłudze pamięci.

Dlatego multimedia mogą być zawirusowane. Poważne problemy z uszkadzaniem pamięci przez JPEG zostały rozwiązane bez poprawek przez DEP i przekompilowanie Windowsa nowym Visual C++, ale ponad 10 lat później , mimo zabezpieczeń, zidentyfikowano dziurę w obsłudze JPEG XRPNG (mniej poważną). Ryzyko zdalnego wykonania kodu poprzez samo załadowanie plików spadło, ale nie zniknęło. Więcej problemów sprawiały strumienie, pełne zaawansowanych metadanych. Nieprawidłowa ich obsługa często prowadziła do przepełnień bufora.

Kodeki

Obecnie złośliwy kod w multimediach to domena zaawansowanego wykorzystania kodeków. Choć o najnowszej dziurze w VP8 nie wiadomo jeszcze zbyt wiele (szczegóły CVE-2023-5217 oficjalnie są niejawne), pojawiły się informacje że problem dotyczy tylko enkodowania. Twierdzi tak Will Dorman. Przeglądarki internetowe są jednak dziś zdolne do samodzielnego (choć oczywiście bibliotecznego) tworzenia strumieni multimedialnych, toteż zajście niebezpiecznych okoliczności jest możliwe, a konieczna do tego interakcja użytkownika może być minimalna.

Dziura jest już załatana. Nie istnieje metoda ochrony przez taką kategorią podatności, która nie zmniejszałaby znacząco funkcjonalności aplikacji. Rozbudowane mechanizmy bezpieczeństwa zarówno po stronie systemów operacyjnych jak i kompilatorów nie są wystarczające. Przepisanie wszystkiego na teoretycznie bezpieczniejsze języki także nie jest rozwiązaniem - a każda rewolucja w kodzie to ryzyko wprowadzenia nowych błędów, o innej specyfice. Podczas gdy klasyczne problemy z buforem wciąż są aktualne, złożoność oprogramowania rośnie.

Wybrane dla Ciebie
Luka 0-day w Adobe Reader. Wystarczy spreparowany PDF
Luka 0-day w Adobe Reader. Wystarczy spreparowany PDF
Zaktualizuj Windowsa: wydano kwietniowe poprawki
Zaktualizuj Windowsa: wydano kwietniowe poprawki
Wyciek danych klientów polskich sklepów. 130 tys. pokrzywdzonych
Wyciek danych klientów polskich sklepów. 130 tys. pokrzywdzonych
mBank zmienia wymagania aplikacji. Niektórzy muszą wymienić telefon
mBank zmienia wymagania aplikacji. Niektórzy muszą wymienić telefon
Awaria w Pekao S.A. Problem z bankowością (aktualizacja)
Awaria w Pekao S.A. Problem z bankowością (aktualizacja)
Zakazy social mediów dla nastolatków. Eksperci widzą problem
Zakazy social mediów dla nastolatków. Eksperci widzą problem
Zagrożenia w sieci. Na nie narażone są dzieci
Zagrożenia w sieci. Na nie narażone są dzieci
Sextortion: na czym polega internetowy szantaż?
Sextortion: na czym polega internetowy szantaż?
Koniec dominacji USA w Europie? Francja porzuca Windowsa
Koniec dominacji USA w Europie? Francja porzuca Windowsa
Ministerstwo Cyfryzacji zachwala mSzyfr. Nowy, bezpieczny komunikator
Ministerstwo Cyfryzacji zachwala mSzyfr. Nowy, bezpieczny komunikator
Zapłacą 99 mln dol. Pozwolą naprawić ciągniki bez oficjalnego serwisu
Zapłacą 99 mln dol. Pozwolą naprawić ciągniki bez oficjalnego serwisu
Komunikat Pekao S.A. Dotyczy wszystkich klientów
Komunikat Pekao S.A. Dotyczy wszystkich klientów
MOŻE JESZCZE JEDEN ARTYKUŁ? ZOBACZ CO POLECAMY 🌟