Jump to content

DMA-атака

Атака DMA — это тип атаки по побочному каналу в области компьютерной безопасности , при которой злоумышленник может проникнуть в компьютер или другое устройство, используя наличие высокоскоростных портов расширения, которые разрешают прямой доступ к памяти (DMA).

DMA включен во многие соединения, поскольку позволяет подключенному устройству (например, видеокамере , сетевой карте , устройству хранения данных или другому полезному аксессуару или внутренней ПК-карте ) передавать данные между собой и компьютером с максимально возможной скоростью, используя прямой аппаратный доступ для чтения или записи непосредственно в основную память без какого-либо контроля или взаимодействия со стороны операционной системы . Законное использование таких устройств привело к широкому распространению аксессуаров и соединений DMA, но злоумышленник может в равной степени использовать то же средство для создания аксессуара, который будет подключаться через тот же порт, а затем потенциально может получить прямой доступ к части или всем устройствам. адресное пространство физической памяти компьютера, минуя все механизмы безопасности ОС и любой экран блокировки , чтобы читать все, что делает компьютер, красть данные или криптографические ключи , устанавливать или запускать шпионское ПО и другие эксплойты , а также модифицировать систему, чтобы разрешить бэкдоры или другое вредоносное ПО.

Предотвращение физических подключений к таким портам предотвратит атаки DMA. На многих компьютерах соединения, реализующие DMA, также могут быть отключены в BIOS или UEFI , если они не используются, что в зависимости от устройства может свести на нет или уменьшить вероятность такого типа эксплойта.

Примеры соединений, которые могут разрешить использование DMA в той или иной форме, включают FireWire , CardBus , ExpressCard , Thunderbolt , USB 4.0 , PCI , PCI-X и PCI Express .

Описание [ править ]

В современных операционных системах несистемным (то есть пользовательским ) приложениям запрещен доступ к любым областям памяти, не разрешенным явным образом контроллером виртуальной памяти (называемым блоком управления памятью (MMU)). Помимо сдерживания ущерба, который может быть вызван ошибками программного обеспечения, и обеспечения более эффективного использования физической памяти, эта архитектура является неотъемлемой частью безопасности операционной системы. Однако драйверы режима ядра, многие аппаратные устройства и уязвимости пользовательского режима обеспечивают прямой и беспрепятственный доступ к адресному пространству физической памяти. Физическое адресное пространство включает в себя всю основную системную память, а также отображаемые в памяти шины и аппаратные устройства (которые управляются операционной системой посредством операций чтения и записи, как если бы они были обычным ОЗУ).

Спецификация OHCI 1394 позволяет устройствам из соображений производительности обходить операционную систему и напрямую обращаться к физической памяти без каких-либо ограничений безопасности. [1] [2] Но устройства SBP2 легко подделать , что позволяет обмануть операционную систему, заставив злоумышленника читать и записывать физическую память и тем самым получить несанкционированный доступ к конфиденциальному криптографическому материалу в памяти. [3]

Системы по-прежнему могут быть уязвимы для атаки DMA со стороны внешнего устройства, если у них есть FireWire , ExpressCard , Thunderbolt или другой порт расширения, который, как PCI и PCI Express в целом, подключает подключенные устройства непосредственно к физическому, а не к виртуальному адресному пространству памяти . Таким образом, системы, не имеющие порта FireWire, все равно могут быть уязвимы, если у них есть порт PCMCIA / CardBus / PC Card или ExpressCard, который позволяет установить карту расширения с FireWire.

Использует [ править ]

Злоумышленник может, например, использовать атаку социальной инженерии и отправить «счастливому победителю» мошенническое устройство Thunderbolt. При подключении к компьютеру устройство благодаря прямому и беспрепятственному доступу к физическому адресному пространству сможет обходить практически все меры безопасности ОС и иметь возможность считывать ключи шифрования, устанавливать вредоносное ПО или управлять другими устройствами системы. . Атаку также можно легко осуществить, если злоумышленник имеет физический доступ к целевому компьютеру.

Помимо вышеупомянутых гнусных применений, есть и некоторые полезные применения, поскольку функции DMA можно использовать для ядра целей отладки . [4]

Есть инструмент Inception. [5] для этой атаки требуется только машина с портом расширения, подверженным этой атаке. Еще одним известным приложением, использующим эту уязвимость для получения несанкционированного доступа к компьютерам под управлением Windows, Mac OS и Linux, является шпионское ПО FinFireWire .

Смягчения [ править ]

Атаки DMA можно предотвратить с помощью физической защиты от потенциально вредоносных устройств.

Драйверы режима ядра обладают множеством возможностей поставить под угрозу безопасность системы, поэтому необходимо позаботиться о загрузке надежных и безошибочных драйверов. Например, последние 64-разрядные версии Microsoft Windows требуют, чтобы драйверы были протестированы и имели цифровую подпись Microsoft, а также предотвращают установку любых неподписанных драйверов.

IOMMU — это технология , которая применяет концепцию виртуальной памяти к таким системным шинам и может использоваться для закрытия этой уязвимости безопасности (а также для повышения стабильности системы). Intel маркирует свой IOMMU как VT-d. AMD маркирует свой IOMMU как AMD-Vi. Linux и Windows 10 поддерживают эти IOMMU. [6] [7] [8] и может использовать их для блокировки запрещенных транзакций ввода-вывода.

Новые операционные системы могут предпринять шаги для предотвращения атак DMA. Последние ядра Linux включают возможность отключать DMA для устройств FireWire, разрешая при этом другие функции. [9] Windows 8.1 может запретить доступ к портам DMA необслуживаемого компьютера, если консоль заблокирована. [10] Но по состоянию на 2019 год основные поставщики ОС не учли множество способов, с помощью которых вредоносное устройство могло воспользоваться сложным взаимодействием между несколькими эмулируемыми периферийными устройствами, обнаруживая тонкие ошибки и уязвимости. [11]

Никогда не разрешать хранить конфиденциальные данные в незашифрованном виде в оперативной памяти — это еще один способ защиты от атак DMA. Однако защиты от чтения содержимого ОЗУ недостаточно, поскольку запись в ОЗУ через DMA может поставить под угрозу, казалось бы, безопасное хранилище за пределами ОЗУ путем внедрения кода . Примером атаки последнего типа является TRESOR-HUNT, которая раскрывает криптографические ключи, которые никогда не хранятся в оперативной памяти (а только в определенных регистрах ЦП); TRESOR-HUNT достигает этого путем перезаписи частей операционной системы. [12]

Microsoft рекомендует внести изменения в конфигурацию Windows по умолчанию, чтобы предотвратить это, если это вызывает беспокойство. [13]

См. также [ править ]

Ссылки [ править ]

  1. ^ Фредди Уизерден (07 сентября 2010 г.). «Криминалистика памяти через интерфейс IEEE 1394» (PDF) . Проверено 22 мая 2024 г.
  2. ^ Пигдон, Дэвид Расмус (21 февраля 2006 г.). Взлом физически адресуемой памяти — доказательство концепции (PDF) . Семинар по передовым методам эксплуатации, WS 2006/2007.
  3. ^ «Блокировка драйвера SBP-2 для уменьшения угроз 1394 DMA для BitLocker» . Майкрософт . 04.03.2011 . Проверено 15 марта 2011 г.
  4. ^ Том Грин. «Отладка ядра 1394: советы и рекомендации» . Майкрософт . Архивировано из оригинала 9 апреля 2011 г. Проверено 2 апреля 2011 г.
  5. ^ «Inception — это инструмент для манипуляций с физической памятью и взлома, использующий DMA на базе PCI. Этот инструмент может атаковать через FireWire, Thunderbolt, ExpressCard, PC Card и любые другие интерфейсы PCI/PCIe.: carm». 28 июня 2019 г. – через GitHub.
  6. ^ "/linux/Documentation/Intel-IOMMU.txt" . 14 июля 2014 г. Архивировано из оригинала 14 июля 2014 г.
  7. ^ «База данных драйверов ядра Linux: CONFIG_AMD_IOMMU: поддержка AMD IOMMU» . cateee.net .
  8. ^ Дансимп. «Защита DMA ядра (Windows 10) — безопасность Microsoft 365» . docs.microsoft.com . Проверено 16 февраля 2021 г.
  9. ^ Германн, Уве (14 августа 2008 г.). «Атаки на физическую память через FireWire/DMA. Часть 1: Обзор и меры по снижению рисков» . Архивировано из оригинала 4 марта 2016 года.
  10. ^ «Контрмеры: защита устройств, зашифрованных с помощью BitLocker, от атак» . Майкрософт . Январь 2014 г. Архивировано из оригинала 24 марта 2014 г.
  11. ^ «Thunderclap: исследование уязвимостей в защите IOMMU операционной системы через DMA от ненадежных периферийных устройств — симпозиум NDSS» . Проверено 21 января 2020 г.
  12. ^ Бласс, Эрик-Оливер (2012). «Трезор-Хант». Материалы 28-й ежегодной конференции по приложениям компьютерной безопасности . стр. 71–78. дои : 10.1145/2420950.2420961 . ISBN  9781450313124 . S2CID   739758 .
  13. ^ «KB2516445: Блокировка драйвера SBP-2 для уменьшения угроз 1394 DMA для Bitlocker» . Майкрософт . 04.03.2011 . Проверено 15 марта 2011 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 88a9e07791ee16c43c9ab7e9d5b4a1c2__1716401640
URL1:https://arc.ask3.ru/arc/aa/88/c2/88a9e07791ee16c43c9ab7e9d5b4a1c2.html
Заголовок, (Title) документа по адресу, URL1:
DMA attack - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)