Атака DMA (Direct Memory Access) — это атака, при которой злоумышленник получает возможность загружать данные напрямую в память устройства и считывать их оттуда через высокоскоростные порты.
Обычно доступом к памяти устройства управляет операционная система. Из соображений безопасности ОС запрещает несистемным приложениям доступ к определенным разделам памяти. Однако некоторые комплектующие (такие как звуковые и сетевые карты) и устройства (например, внешние жесткие диски) для ускорения передачи данных могут обращаться к памяти напрямую. Для этого используются специальные интерфейсы, такие как Firewire, Thunderbolt, ExpressCard, PCI и PCI Express. Их основное назначение — обеспечить быструю передачу больших объемов данных, не загружая центральный процессор. Однако они позволяют обходить ограничения безопасности ОС, поэтому их эксплуатируют в атаках типа DMA.
Виды атак DMA
Большинство методов атак DMA требуют физического доступа к устройству. Они делятся на две группы:
- Атаки с закрытым корпусом (closed-chassis attacks), предполагающие подключение к атакуемому устройству через доступный порт.
- Атаки с открытым корпусом (open-chassis attacks), предполагающие снятие крышки корпуса атакуемого устройства для доступа к внутреннему оборудованию.
Чтобы обойти сложности, связанные с необходимостью физического доступа, киберпреступники могут использовать методы социальной инженерии и убедить человека, уже имеющего доступ к целевой системе, подключить к ней вредоносное устройство.
Инструменты атак DMA
Для манипуляции памятью целевого устройства злоумышленники могут использовать готовые инструменты, в частности:
- Inception — средство получения прямого доступа к памяти через интерфейс PCI и построенные на нем высокоскоростные интерфейсы.
- FinFisher — коммерческое шпионское ПО, в которое входит инструмент для получения прямого доступа к памяти через интерфейс Firewire.
Противодействие атакам типа DMA
Несмотря на высокую потенциальную опасность атак DMA, существуют способы свести к минимуму вероятность их успешного проведения.
- Ограничение физического доступа к устройствам. Если не оставлять устройства без присмотра в общедоступных местах, а критически важные размещать в закрытых помещениях, доступ в которые жестко регламентирован, риск того, что кто-то получит к ним несанкционированный доступ, будет мал.
- Физическое удаление высокоскоростных портов или отключение их драйверов. Эти меры позволяют предотвратить подключение вредоносных устройств через соответствующий порт.
- Технологии, защищающие от DMA-атак. Ведущие производители оборудования принимают меры для предотвращения атак, в том числе DMA. В частности, во многих продуктах AMD и Intel реализована технология управления памятью ввода-вывода IOMMU, обеспечивающая дополнительную безопасность физической памяти.