После того, как карта RX Vega 56 поступила в продажу несколько дней назад, было лишь вопросом времени, пока кто-то не попытается прошить в неё BIOS от RX Vega 64. И хотя этот процесс не разблокирует все потоковые процессоры, прошивка значительно повышает производительность ускорителя.
После прошивки GPU по-прежнему оперирует 3584 потоковыми процессорами, однако значительно повышается частота как GPU, так и видеопамяти. Так, номинальные частоты для Vega 56 составляют 1471 МГц для GPU и 800 МГц для памяти HBM2, в то время как в RX Vega 64 процессор работает на 1545 МГц, а память — на 945 МГц.
Однако даже это небольшое повышение частоты значительно поднимает производительность, практически доводя её до Vega 64. Однако если поднять частоту GPU до 1650 МГц и память до 2200 МГц, производительность оказалась значительно выше более дорогого решения. Так что дело не только в доступных потоковых процессорах.
Как и в случае с разгоном, подмена BIOS приносит разную эффективность для разных образцов плат. Кроме того, перешивка BIOS лишает гарантии. Также трудность заключается в том, что все платы RX Vega 64 имеют два BIOS.
Алексей Николайчук a.k.a. Unwinder, создатель и разработчик знаменитых программ RivaTuner, MSI Afterburner, EVGA Precision (X) и ряда других, поделился своими наблюдениями по поводу эксплойта на базе драйвера ASMMAP.
«Некоторое время назад был показан забавный эксплойт на базе ASUS’овского драйвера ASMMAP. Он продемонстрировал использование интерфейсов этого драйвера для мэппинга любого диапазона адресов физической памяти к своему виртуальному адресному пространству и дампа этого блока памяти в файл. Соответственно, можно получить доступ не только к данным любого процесса, но и к внутренним структурам ОС. Несколько дней назад эту концепцию развили ещё дальше, показав использование того же самого подхода уже для поиска блоков EPROCESS в физической памяти и подмены токена своего процесса токеном любого привилегированного процесса. Уже на базе других драйверов со сходным функционалом, NTIOLib и WinIO.
Но авторы эксплойта, похоже, не совсем осознают, какой ящик Пандоры они открыли, так как механизм мэппинга, который они посчитали простой дырой в данных драйверах, на самом деле является абсолютно стандартным механизмом для доступа к MMIO (memory mapped IO, режим доступа к портам какого либо устройства через адресное пространство физической памяти). Соответственно, такой интерфейс присутствует в драйверах десятков разновидностей ПО, работающих под Windows с железом напрямую. Не знаю в какую гигантскую дыру в безопасности в конечном итоге выльется демонстрация данного эксплойта и как с этим будут бороться, но как минимум свой драйвер RTCore от этого хотелось бы защитить уже сейчас. Поскольку интерфейсы мэппинга физической памяти предназначены для MMIO, то концепция защиты видится в ограничении возможности мэппинга неавторизированных адресов физической памяти, не принадлежащих никаким MMIO устройствам. Представляется это пока примерно следующим образом:
в интерфейсе для мэппинга теперь помимо желаемого диапазона адресов физической памяти также нужно будет передать и локацию владельца этого адресного пространства — валидного PCI-устройства (то есть номер PCI-шины, устройства и функции) и индекс BAR-регистра;
драйвер будет считывать из BAR-регистра данного устройства базовый адрес MMIO-апертуры, мэппинг будет возможен только если желаемый диапазон адресов для мэппинга лежит внутри апертуры этого устройства;
при мэппинге будут пропускаться без валидации некоторые фиксированные диапазоны физических адресов, не принадлежащие никаким PCI-устройствам (например, теневая копия VGA BIOS в диапазоне 0xC0000 — 0xDFFFF);
поскольку теоретически злоумышленник может попытаться временно перепрограммировать BAR какого-либо устройства для создания видимости принадлежности нужного адреса этому устройству, будут заблокированы для записи адреса BAR любого PCI-устройства в интерфейсах для доступа к конфигурационному пространству PCI;
поскольку доступ к конфигурационному пространству PCI особо умные товарищи могут попытаться обойти через прямой доступ к портам PCI-контроллера, интерфейс доступа к портам также будет блокировать попытки записи в порт данных PCI-контроллера, если в порту адреса контроллера выставлен адрес BAR-регистра любого устройства.»
Компания PowerColor представила опциональный «разблокированный BIOS» для видеокарты Radeon RX 480 RED Devil.
Загрузка данного видео BIOS доступна только посредством PowerColor DevilClub (хотя нет сомнений, что он разойдётся по Сети). Компания настаивает на том, что это опциональное решение, предназначенное исключительно для опытных пользователей. Представленное решение позволяет расширить пределы энергопотребления видеокарты, облегчает достижение потолка разгона и увеличивает устойчивость повышенной частоты.
Расплатой за прирост производительности станет большее энергопотребление, температура и шум. Фактически, PowerColor настоятельно предостерегает не тестировать модифицированную карту с помощью FurMark, поскольку по её исследованиям, данный стресс-тест может повредить карту с разблокированным BIOS даже без разгона.
При этом в компании отметили, что если вы сожжёте видеокарту, используя модифицированный BIOS, вы не лишитесь гарантии производителя.