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

Microsoft исключает сторонние драйверы принтеров

Софтверный гигант Microsoft принял решение исключить из своей операционной системы драйверы и заменить их стандартом Mopria.

При этом процесс окажется затяжным и будет длиться до 2027 года и может даже дольше, если какой-то из крупных производителей принтеров не обеспечит поддержку Mopria.

Что же такое Mopria? Это стандарт, созданы ещё в 2013 году объединением Canon, HP, Samsung и Xerox. Он представляет собой универсальный стандарт для печати и сканирования. Позднее к этой группе присоединилась Epson, Lexmark, Adobe и Microsoft. Поддержка Mopria была внедрена Microsoft в обновлении Windows 10 21H2, что обеспечило универсальную работу с принтерами, подключенными по сети или USB с использованием драйвера Microsoft IPP Class.

Сама Microsoft характеризовала эти изменения таким образом: «Это исключает необходимость для производителя печатающего устройства создания собственных инсталляторов, драйверов, утилит и так далее».

Выявлены уязвимости в массе системных драйверов

Люди защищают свои компьютеры и телефоны антивирусами, полностью полагаясь на них и надёжность самих ОС. Но как оказалось, опасности таятся даже в драйверах, которые открывают компьютеры перед возможными атаками.

Исследователи из Eclypsium опубликовали отчёт, в котором показали, что крупнейшие компании, включая ASRock, ASUSTeK Computer, ATI Technologies (AMD), Biostar, EVGA, Getac, GIGABYTE, Huawei, Insyde, Intel, Micro-Star International (MSI), NVIDIA, Phoenix Technologies, Realtek Semiconductor, SuperMicro и Toshiba имеют систематические проблемы. Примечательно, что пока это не полный список, поскольку ряд компаний, уведомлённых о проблемах в их драйверах, пока не сумели их решить. Речь идёт о несанкционированном получении высоких привилегий процессами.

Screwed Drivers

В исследовании Screwed Drivers говорится: «Особую озабоченность вызывает то, что рассматриваемые драйверы не были мошенническими или несанкционированными; на самом деле, как раз наоборот. Все драйверы поставляются доверенными сторонними поставщиками, подписаны действующими центрами сертификации и сертифицированы Microsoft. Microsoft и сторонние поставщики должны быть более бдительными в отношении этих типов уязвимостей в будущем».

Это значит, что все эти уязвимые драйверы были сертифицированы Microsoft, так что даже переустановка ОС никак не решит проблему.

По всей видимости, в ближайшее время пользователям будет предложен установить свежие версии драйверов, которые устранят уязвимости. К примеру, совсем недавно так уже поступила NVIDIA.

NVIDIA готовится прекратить поддержку Fermi

Компания NVIDIA объявила, что продолжит выпускать критические обновления для видеокарт Fermi до января 2019 года. До этого момента она будет продолжать выпуск драйвера «Game Ready Driver» для Windows, однако со следующего года поддержки Fermi не будет.

Таким образом долгая серия 390.xx драйверов видеокарт может стать последней, где поддерживается архитектура Fermi. Эта архитектура была представлена в 2010 году и сменила Tesla, но уже в 2012 году была заменена на Kepler. Самым свежим видеокартам Fermi в этом году исполняется 6 лет, так что в отказе от поддержки этой архитектуры нет ничего удивительного.

Видеокарта Palit GTX 460 на базе архитектуры Fermi

Что касается Linux, то для этой ОС компания продолжает поддержку наследных драйверов в новых сборках ОС. К сожалению, драйвер Nouveau для Fermi далёк от идеала, так что с января владельцев видеокарт Fermi, которые используют Linux, ждут тяжёлые времена.

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

Алексей Николайчук 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-регистра любого устройства.»

Intel поддерживает Vulkan 1.0 AP

Компания Intel представила новую бета версию графического драйвера с поддержкой API Vulkan 1.0 в процессорах, относящихся к 6-му поколению процессоров Intel Core. Технология доступна в операционных системах Windows 7, 8 и 10.

Технология Vulkan 1.0 была представлена в прошлом месяце промышленным консорциумом Khronos Group. Технология должна заменить OpenGL, который был подготовлен в далёком 1991 году компанией Silicon Graphics. Новая технология может задействовать ресурсы как GPU, так и многоядерных CPU, однако пока она далека от  конкурента — DirectX 12, поддержка которого реализована в финальных драйверах всех производителей графических процессоров.

Технология Vulkan 1.0 также сможет работать и на Linux, в составе таких операционных систем, как SteamOS. Компания Intel открыла исходный код драйвера для Linux. Он будет доступен для процессоров с кодовыми именами Broadwell и Skylake.