При написании собственного VT-d монитора (или вируса), стартующего

При написании собственного VT-d монитора (или вируса), стартующего до или вместо ОС, чтобы организовать DMA-remapping для заданного устройства, делать нужно так:

1) Локализовать ACPI-таблицу DMAR (DMA Remapping Table).
2) Проверить поддерживается ли DMA remapping для PCIe порта, используемого устройством (по адресу устройства - Bus/Device/Function).
3) Извлечь из таблицы DMAR базовый адрес блока регистров управления блока Remapping Unit.
4) Подготовить в оперативной памяти таблицы трансляции, постранично описывающие виртуальное адресное пространство, создаваемое для bus-master устройства.
5) Настроить блок Remapping Unit, используя memory-mapped i/o регистры, локализованные на шаге 3. А именно - установить указатель на корневую таблицу трансляции, созданную на шаге 4 и включить трансляцию, установить бит TE(Translation Enable)=1.

Начиная с этого момента, выдача bus-master устройством адреса X будет приводить к появлению на шине памяти адреса F(X), где функция F(X) определяется содержимым страниц, созданных на шаге 4.

Сказанное справедливо как для On-Board устройства, так и устройства в слоте PCIe.

Бирусы атакуют!
  • https://cdn1.vox-cdn.com/uploads/chorus_asset/file/3415904/Equation_group_questions_and_answers.0.pdf https://twitter.com/wzornet
  • Сейчас спецслужбы выстроятся в очередь за стендами типа
  • http://habrahabr.ru/post/250775/ http://lenta.ru/news/2015/02/17/nsavirus/ Где там Роман, говоривший что скоро попрошивают всё
  • В продолжении темы. http://nnm.me/blogs/hugobosss/uefi-kak-snafu/
  • http://www.guru3d.com/news-story/macs-vulnerable-to-virus-is-not-removable.html
  • дополню по USB http://samy.pl/usbdriveby/ http://youtu.be/FfRhKzbgmeU https://github.com/samratashok/Kautilya https://github.com/Cryoganix/Teensyterpreter
  • И про SMM они знают. Вот же!..