Grupa badaczy z kilku uniwersytetów w USA opracowała nową technikę ataku przez kanały boczne, która pozwala na rekonstrukcję wizualnych informacji przetwarzanych w GPU. Dzięki proponowanej metodzie, nazwanej GPU.zip, atakujący może określić informacje wyświetlane na ekranie. Atak ten może być przeprowadzony m.in. przez przeglądarkę internetową, a jako przykład pokazano, jak złośliwa strona internetowa otwarta w Chrome może uzyskiwać informacje o pikselach wyświetlanych podczas renderowania innej strony internetowej otwartej w tej samej przeglądarce.
Źródłem wycieku informacji jest zastosowywana w nowoczesnych GPU optymalizacja, która zapewnia kompresję danych graficznych. Problem ujawnia się przy wykorzystaniu kompresji na wszystkich przetestowanych zintegrowanych GPU (AMD, Apple, ARM, Intel, Qualcomm) oraz kartach graficznych NVIDIA. Badacze odkryli, że zintegrowane GPU Intel i AMD zawsze włączają kompresję danych graficznych, nawet jeśli aplikacja nie żąda jej zastosowania. Użycie kompresji prowadzi do tego, że ruch w DRAM i obciążenie pamięci podręcznej korelują z rodzajem przetwarzanych danych, które można odtworzyć na poziomie pikseli poprzez analizę zewnętrznych kanałów.
Metoda jest dość wolna; na systemie z zintegrowanym GPU AMD Ryzen 7 4800U atak polegający na ustaleniu nazwy, pod którą użytkownik zalogował się na Wikipedii w innej karcie, zajął 30 minut i pozwolił określić zawartość pikseli z dokładnością 97%. Na systemach z zintegrowanym GPU Intel i7-8700 podobny atak trwał 215 minut przy dokładności 98%.
Podczas ataku przez przeglądarkę docelowa strona jest cyklicznie otwierana w iframe w celu zainicjowania renderowania. Aby określić wyświetlane informacje, zawartość iframe jest przekształcana w czarno-białą reprezentację, na którą nakładany jest filtr SVG, wykonujący sekwencyjne nakładanie masek, które wprowadzają i nie wprowadzają dużej nadmiarowości podczas kompresji. Na podstawie oceny zmiany czasu renderowania wzorcowych próbek wydzielane jest występowanie ciemnych lub jasnych pikseli w określonym miejscu. Cały obraz jest odtwarzany przez sekwencyjne sprawdzenie pikseli z wykorzystaniem podobnych masek.

Producenci GPU i przeglądarek zostali poinformowani o problemie w marcu, ale żaden dostawca nie przygotował jeszcze poprawki, ponieważ przeprowadzenie ataku w praktyce w idealnych warunkach jest wątpliwe, a problem ma większe znaczenie teoretyczne. Google nie podjął jeszcze decyzji o zasadności blokowania ataku na poziomie przeglądarki Chrome. Chrome jest podatny, ponieważ umożliwia ładowanie iframe z innej strony bez czyszczenia cookie, pozwala stosować do iframe filtry SVG i deleguje wykonanie renderowania GPU. Firefox i Safari nie są podatne na tę lukę, ponieważ nie spełniają tych kryteriów. Atak również nie jest stosowany w przypadku stron, które zabraniają osadzania przez iframe na innych stronach (np. poprzez ustawienie nagłówka HTTP X-Frame-Options na wartość „SAMEORIGIN” lub „DENY”, a także poprzez ustawienia dostępu za pomocą nagłówka Content-Security-Policy).
Źródło: opennet.ru
