наскоро Intel разпространи подробности за нов клас течове на данни чрез микроархитектурните структури на процесорите, които позволяват чрез манипулирането на механизма MMIO (Memory Mapped Input Output) да се определи информацията, обработвана в други ядра на процесора.
Например уязвимостите позволяват извличане на данни от други процеси, Intel SGX анклави или виртуални машини. Уязвимостите са специфични само за процесорите на Intel; Процесорите на трети страни не са засегнати от уязвимостите.
Идентифицирани са три метода. за извличане на остатъчни данни чрез MMIO:
- DRPW (Частично записване в регистър на устройства, CVE-2022-21166) – Проблем с неправилна обработка на записите в някои MMIO регистри. Ако размерът на записаните данни е по-малък от размера на дневника, остатъчната информация в буферите за запълване също се копира в дневника. В резултат на това процес, който инициира непълна операция на запис в регистъра MMIO, може да получи данни, които остават в буферите на микроархитектурата след операции, извършени на други ядра на процесора.
- SBDS (Семплиране на данни от споделени буфери, CVE-2022-21125) – Изтичане на остатъчни данни за запълване на буфера, свързан с ядрото, който е отпаднал в резултат на преминаване от общи междинни буфери към всички ядра.
- SBDR (Прочетете данни от споделени буфери, CVE-2022-21123): Проблемът е подобен на SBDS, но се различава по това, че остатъчните данни могат да влизат в структурите на процесора, видими за приложенията. Проблеми със SBDS и SBDR възникват само при клиентски процесори и семейството сървъри Intel Xeon E3.
Атака изисква достъп до MMIO, който например може да бъде получен в системи за виртуализация, които предоставят възможност за достъп до MMIO за контролирани от атакуващи системи за гости. Корекцията може да се изисква и за системи, използващи самостоятелни анклави Intel SGX (Software Guard Extensions).
Блокирането на уязвимостта изисква както актуализация на фърмуера, така и използването на методи допълнителна софтуерна защита въз основа на използването на инструкцията VERW за изчистване на съдържанието на микроархитектурните буфери в момента на връщане от ядрото към потребителското пространство или когато контролът се прехвърля към системата за гости.
Също сe използва подобна защита за блокиране на атаки по-рано идентифицирани класове MDS (извадка на микроархитектурни данни), SRBDS (извадка на данни от специален буфер на записи) и TAA (транзакционно асинхронно прекратяване).
Тези уязвимости не са преходни атаки за изпълнение. Въпреки това, тези уязвимости могат да разпространят остарели данни до буфери за запълване на ядрото, където данните могат по-късно да бъдат изведени чрез неограничена атака на преходно изпълнение.
Намаляването на тези уязвимости включва комбинация от актуализации на микрокод и промени в софтуера, в зависимост от платформата и модела на използване. Някои от тези смекчавания са подобни на тези, използвани за смекчаване на вземането на проби от микроархитектурни данни (MDS) или тези, използвани за смекчаване на извадката от специални буферни данни (SRBDS).
Тези уязвимости са получили следните общи идентификатори на уязвимост и експозиция (CVE) и резултати от версия 3.1
От страна на микрокод, промените, необходими за прилагане на сигурността, се предлагат в актуализацията на микрокод през май за процесори на Intel (IPU 2022.1).
В ядрото на Linux защитата е включена срещу нов клас атаки в различните версии, които се поддържат.
Файлът "/sys/devices/system/cpu/ulnerabilities/mmio_stale_data" беше добавен към ядрото на Linux, за да се провери чувствителността на системата към уязвимости в MMIO и да се оцени активността на определени защитни механизми.
Същността от класа идентифицирани уязвимости е, че някои операции водят до копиране или преместване на данни, останали след изпълнение на други ядра на процесора от един микроархитектурен буфер към друг. Уязвимостите в MMIO позволяват тези остатъчни данни да бъдат прехвърлени от изолирани микроархитектурни буфери към видими от приложението регистри или буфери на процесора.
И накрая, ако имате интерес да научите повече за него, можете да се консултирате с подробностите в следната връзка.