Специалисты установили истинную причину уязвимостей Meltdown и Foreshadow
10/08/20
Главная причина уязвимостей Meltdown и Foreshadow, позволяющих осуществлять атаки на механизм спекулятивного выполнения в современных процессорах, оказалась совсем не той, что считалась ранее.
Как принято считать, Meltdown и Foreshadow существуют из-за упреждающей выборки команд из памяти, и, готовя исправления, производители руководствовались именно этим ошибочным утверждением, в результате чего их патчи оказались недостаточно эффективными.
Группе специалистов Грацского технического университета и Центра информационной безопасности им. Гельмгольца (CISPA) удалось установить истинную причину существования Meltdown и Foreshadow. Они выяснили, почему сначала кэшируется адрес ядра, и представили несколько новых способов эксплуатации ранее невыявленной проблемы, являющейся первопричиной Meltdown и Foreshadow.
По словам специалистов, уязвимости вызваны спекулятивным разыменованием регистров пользовательского пространства в ядре, и затрагивают не только современные процессоры Intel, как считалось ранее, но также ряд современных процессоров от ARM, IBM и AMD.
«На самом деле этот эффект упреждающей выборки не имеет отношения ни к инструкции по предварительной загрузке программного обеспечения, ни к аппаратному эффекту упреждающей выборки, связанному с доступом к памяти. Он вызван спекулятивным разыменованием регистров пользовательского пространства в ядре», - пояснили специалисты.
В подтверждение своих слов исследователи продемонстрировали эксплуатацию уязвимости Foreshadow на процессоре Intel со всеми установленными рекомендуемыми патчами. Атака оказалась эффективной, поскольку ее можно было осуществить на данные, не находящиеся в кэше L1 в версиях ядра, содержащих гаджеты предварительной выборки.