Група изследователи от няколко университета в САЩ разработи нова техника за атака чрез странични канали, която позволява възстановяване на визуална информация, обработвана в 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 от друг сайт без почистване на бисквитките, позволява приложението на SVG филтри към iframe и делегира изпълнението на рендерирания от GPU. Firefox и Safari не са податливи на уязвимост, тъй като не отговарят на тези критерии. Атаката също не е приложима за сайтове, които забраняват вграждането чрез iframe на други сайтове (например, чрез задаване на HTTP заглавие X-Frame-Options със стойноста «SAMEORIGIN» или «DENY», както и чрез настройки за достъп с помощта на заглавие Content-Security-Policy).
Източник: opennet.ru
