Size: a a a

2020 May 23

АН

Авроамэриканец Начрэ... in HWV ⟼ R&D
Авроамэриканец Начрэл
А что тут имеется в виду в параграфе "Эта функция не защищает от атак через DMA с помощью 1394/FireWire, PCMCIA, CardBus, ExpressCard и т. д." ? Не могу понять
Тогда почему они пишут, что IOMMU не защищает от "1394/FireWire, PCMCIA, CardBus, ExpressCard и т. д."? Это какие-то интерфейсы/устройства взаимодействующие не через DMA?

Если да, то не понятно зачем они об этом написали.
Если нет, то не могу понять, почему не защищает, если DMA только через IOMMU для всех устройств кроме процессора
источник

KS

Kepler’s Supernova in HWV ⟼ R&D
Мне тоже непонятно почему написали это. Атаки через память возможны без него, ну разве если нет багов в IOMMU
источник

KS

Kepler’s Supernova in HWV ⟼ R&D
А, возможно они не реализовали это просто :)
источник

АН

Авроамэриканец Начрэ... in HWV ⟼ R&D
Kepler’s Supernova
Мне тоже непонятно почему написали это. Атаки через память возможны без него, ну разве если нет багов в IOMMU
А какой там ответ? FireWire, PCMCIA, CardBus, ExpressCard используют DMA?
источник

KS

Kepler’s Supernova in HWV ⟼ R&D
Возможно для легаси устройств майкростофт решил оставить доступ без IOMMU
источник

АН

Авроамэриканец Начрэ... in HWV ⟼ R&D
Значит технически возможно любой DMA пропускать строго через IOMMU и таким образом делать недоступным для PCIe интерфейсов (как пример) DMA к области памяти с важными данными?
источник

KS

Kepler’s Supernova in HWV ⟼ R&D
Да
источник

АН

Авроамэриканец Начрэ... in HWV ⟼ R&D
Тогда очень хорошо. Спасибо за помощь
источник

TN

Tiny Nop in HWV ⟼ R&D
Авроамэриканец Начрэл
А какой там ответ? FireWire, PCMCIA, CardBus, ExpressCard используют DMA?
да, используют. но с некоторыми оговорками. тот же FireWire может работать и без DMA.
источник

TN

Tiny Nop in HWV ⟼ R&D
Kepler’s Supernova
Возможно для легаси устройств майкростофт решил оставить доступ без IOMMU
хехе. на этот счет  есть еще ряд проблем с разного рода переходниками. не все можно в принципе через IOMMU порешать, ой не все
источник

АН

Авроамэриканец Начрэ... in HWV ⟼ R&D
Tiny Nop
хехе. на этот счет  есть еще ряд проблем с разного рода переходниками. не все можно в принципе через IOMMU порешать, ой не все
Но конкретно DMA решается так?
источник

KS

Kepler’s Supernova in HWV ⟼ R&D
типа на какие-то конкретные адреса завязываются?
источник

АН

Авроамэриканец Начрэ... in HWV ⟼ R&D
Защита от DMA атак*
источник

TN

Tiny Nop in HWV ⟼ R&D
Kepler’s Supernova
типа на какие-то конкретные адреса завязываются?
именно
источник

TN

Tiny Nop in HWV ⟼ R&D
многие контроллеры 32битные, например
источник

IL

Ivan Loskutov in HWV ⟼ R&D
Авроамэриканец Начрэл
Значит технически возможно любой DMA пропускать строго через IOMMU и таким образом делать недоступным для PCIe интерфейсов (как пример) DMA к области памяти с важными данными?
на x86 (как минимум Intel vt-d) жёстко приколочен к pci, поэтому только dma запросы с pci шины проходят через него, там bdf pci устройства используется для идентификации запроса. видимо этого достаточно, т.к. в современных х86 устройствах почти все подключено через pci, даже переферия в х86 soc. а в арм, например, smmu (реализация iommu от арм) может идентифицировать все (ну или почти все) устройства в soc, и так же pci
источник

TN

Tiny Nop in HWV ⟼ R&D
источник

TN

Tiny Nop in HWV ⟼ R&D
специцификация перво версии IOMMU
источник

TN

Tiny Nop in HWV ⟼ R&D
Ivan Loskutov
на x86 (как минимум Intel vt-d) жёстко приколочен к pci, поэтому только dma запросы с pci шины проходят через него, там bdf pci устройства используется для идентификации запроса. видимо этого достаточно, т.к. в современных х86 устройствах почти все подключено через pci, даже переферия в х86 soc. а в арм, например, smmu (реализация iommu от арм) может идентифицировать все (ну или почти все) устройства в soc, и так же pci
грубо говоря да. виртуализация/проброс PCI Express основана в том числе на этом.
источник

IL

Ivan Loskutov in HWV ⟼ R&D
да, я знаю, я для гипервизоров в первую очередь и писал реализации под vt-d и smmu
источник