Група изследователи от няколко университета в САЩ разработи нова техника за атака чрез странични канали, позволяваща възпроизвеждане на визуална информация, обработвана в GPU. С предложеното от тях метод, наречен GPU.zip, атакуващият може да определи информацията, показвана на екрана. Сред другото, атаката може да бъде проведена през уеб браузър, например, демонстрирано е как вредоносна уеб страница, отворена в Chrome, може да получи информация за пикселите, показвани при рендериране на друга уеб страница, отворена в същия браузър.
Източникът на изтичане на информация е оптимизацията, прилагана в съвременните GPU, която осигурява компресия на графичните данни. Проблемът се проявява при използване на компресия на всички тествани интегрирани GPU (AMD, Apple, ARM, Intel, Qualcomm) и дискретни видеокарти NVIDIA. При това изследователите установиха, че интегрираните GPU на Intel и AMD винаги включват компресия на графичните данни, дори ако приложението не е специално насянало прилагането на такава оптимизация. Прилагането на компресия води до това, че трафикът в DRAM и натоварването на кеша корелират с характера на обработваните данни, които могат да бъдат възстановени пиксел по пиксел чрез анализ чрез странични канали.
Методът е доста бавен, например, на система с интегриран GPU AMD Ryzen 7 4800U атаката по определяне на името, под което потребителят е влязъл в Wikipedia в друга таб, отнема 30 минути и позволява да се определи съдържанието на пикселите с точност 97%. На системи с интегриран GPU Intel i7-8700 подобна атака отнема 215 минути с точност 98%.
При провеждане на атака през браузъра целевият сайт циклично се отваря в iframe за иницииране на рендериране. За определяне на показваната информация изходът на iframe се преобразува в черно-бяло представяне, към което се прилага SVG-филтър, извършващ последователно наложение на маски, прилагащи и не прилагащи значителна излишност при компресия. На базата на оценка на промените в времето за рендериране на еталонни образци се определя наличието на тъмни или светли пиксели в определена позиция. Общото изображение се възстановява чрез последователна проверка пиксел по пиксел с използване на подобни маски.

Производителите на GPU и браузерите бяха уведомени за проблема през март, но все още никой доставчик не е подготвил решение, тъй като провеждането на атака в реални условия е съмнително и проблемът има повече теоретичен интерес. Google все още не е взел решение относно целесъобразността на блокирането на атаката на ниво браузър Chrome. Chrome е уязвим, тъй като позволява зареждането на iframe от друг сайт без почистване на Cookie, позволява прилагането на SVG филтри към iframe и делегира изпълнението на визуализацията на GPU. Firefox и Safari не са податливи на уязвимостта, тъй като не отговарят на тези критерии. Атаката не е приложима и за сайтове, които забраняват вграждането чрез iframe на други сайтове (например чрез задаване на HTTP заглавка X-Frame-Options в стойност „SAMEORIGIN“ или „DENY“, както и чрез настройки за достъп с заглавка Content-Security-Policy).
Източник: opennet.ru
