Новости про EVGA Precision и драйвер

Эксплойт на базе драйвера стороннего ПО позволяет получить доступ к внутренним структурам операционной системы

Алексей Николайчук a.k.a. Unwinder, создатель и разработчик знаменитых программ RivaTuner, MSI Afterburner, EVGA Precision (X) и ряда других, поделился своими наблюдениями по поводу эксплойта на базе драйвера ASMMAP.

«Некоторое время назад был показан забавный эксплойт на базе ASUS’овского драйвера ASMMAP. Он продемонстрировал использование интерфейсов этого драйвера для мэппинга любого диапазона адресов физической памяти к своему виртуальному адресному пространству и дампа этого блока памяти в файл. Соответственно, можно получить доступ не только к данным любого процесса, но и к внутренним структурам ОС. Несколько дней назад эту концепцию развили ещё дальше, показав использование того же самого подхода уже для поиска блоков EPROCESS в физической памяти и подмены токена своего процесса токеном любого привилегированного процесса. Уже на базе других драйверов со сходным функционалом, NTIOLib и WinIO.

MSI Afterburner

Но авторы эксплойта, похоже, не совсем осознают, какой ящик Пандоры они открыли, так как механизм мэппинга, который они посчитали простой дырой в данных драйверах, на самом деле является абсолютно стандартным механизмом для доступа к MMIO (memory mapped IO, режим доступа к портам какого либо устройства через адресное пространство физической памяти). Соответственно, такой интерфейс присутствует в драйверах десятков разновидностей ПО, работающих под Windows с железом напрямую. Не знаю в какую гигантскую дыру в безопасности в конечном итоге выльется демонстрация данного эксплойта и как с этим будут бороться, но как минимум свой драйвер RTCore от этого хотелось бы защитить уже сейчас. Поскольку интерфейсы мэппинга физической памяти предназначены для MMIO, то концепция защиты видится в ограничении возможности мэппинга неавторизированных адресов физической памяти, не принадлежащих никаким MMIO устройствам. Представляется это пока примерно следующим образом:

  • в интерфейсе для мэппинга теперь помимо желаемого диапазона адресов физической памяти также нужно будет передать и локацию владельца этого адресного пространства — валидного PCI-устройства (то есть номер PCI-шины, устройства и функции) и индекс BAR-регистра;
  • драйвер будет считывать из BAR-регистра данного устройства базовый адрес MMIO-апертуры, мэппинг будет возможен только если желаемый диапазон адресов для мэппинга лежит внутри апертуры этого устройства;
  • при мэппинге будут пропускаться без валидации некоторые фиксированные диапазоны физических адресов, не принадлежащие никаким PCI-устройствам (например, теневая копия VGABIOS в диапазоне 0xC0000 — 0xDFFFF);
  • поскольку теоретически злоумышленник может попытаться временно перепрограммировать BAR какого-либо устройства для создания видимости принадлежности нужного адреса этому устройству, будут заблокированы для записи адреса BAR любого PCI-устройства в интерфейсах для доступа к конфигурационному пространству PCI;
  • поскольку доступ к конфигурационному пространству PCI особо умные товарищи могут попытаться обойти через прямой доступ к портам PCI-контроллера, интерфейс доступа к портам также будет блокировать попытки записи в порт данных PCI-контроллера, если в порту адреса контроллера выставлен адрес BAR-регистра любого устройства.»

EVGA Precision версии 1.9.3 с множеством улучшений и исправлений

Сегодня вышла очередная версия популярной утилиты управления и разгона видеокарт от компании EVGA. В текущей версии 1.9.3 пользователи увидят множество исправлений и улучшений. 

Зарегистрированные пользователи видеокарт EVGA могут загрузить последнюю версию программы с официального сайта EVGA, прочим остается ждать утечек программы в Интернет, а с полным перечнем изменений вы сможете ознакомиться на этой странице.

Мы же отметим улучшенное взаимодействие с планировщиком Windows Vista/Seven при использовании альтернативного способа запуска утилиты, новый On-Screen Display server версии 3.7.0 с улучшенной поддержкой Direct X10/11, изменившийся алгоритм работы механизма захвата снимков экрана и разблокированное по-умолчанию автоматическое управление профилями 2D/3D.

EVGA Precision версии 1.9.1 с функцией разгона для драйверов 196.21

Оперативное исправление проблемы разгона видеокарт при использовании драйверов NVIDIA 196.21.

Многие из наших посетителей столкнулись с невозможностью разгона видеокарты при использовании новых драйверов 196.21. По полученной нами от Unwinder (автор RivaTuner) информации, проблема заключается в:

В новой версии драйверов неудачно добавили возможность разгона G100, случайно порушив при этом возможность разгона остальных карт. Вариантов событий два:

  1. Выпуск новых перекомпилированных под новые реалии всех утилит разгона ( в том числе и nTune от самой-же NVIDIA).
  2. Выпуск новой версии драйверов с работой над ошибками.

Никакой принудительной блокировки разгона старых карт — нет.

И вот появилась новая версия утилиты EVGA Precision 1.9.1, содержащая обходной способ разгона текущих видеокарт с драйверами NVIDIA 196.xx. Зарегистрированные пользователи видеокарт EVGA могут загрузить последнюю версию программы с официального сайта EVGA, прочим остается ждать утечек программы в Интернет.