Друга уязвимост е идентифицирана в процесорите на AMD, която позволява Meltdown атаки

Екип от изследователи от Техническия университет в Грац (Австрия) и Центъра за информационна сигурност Хелмхолц (CISPA) разкриха информация за уязвимост (CVE-2021-26318) във всички процесори на AMD, която прави възможно извършването на Meltdown-class странични канални атаки (първоначално се предполагаше, че процесорите на AMD не са засегнати от уязвимостта на Meltdown). На практика атаката може да се използва за установяване на скрити комуникационни канали, наблюдение на активността в ядрото или получаване на информация за адреси в паметта на ядрото, за да се заобиколи KASLR защитата, докато се използват уязвимостите в ядрото.

AMD счита за неуместно да предприема специални мерки за блокиране на проблема, тъй като уязвимостта, подобно на подобна атака, открита през август, е малко полезна в реални условия, ограничена е от текущите граници на адресното пространство на процеса и изисква наличието на определени готови последователности от инструкции (джаджи) в ядрото. За да демонстрират атаката, изследователите заредиха свой собствен модул на ядрото с изкуствено добавена притурка. В реални условия нападателите могат да използват, например, редовно появяващи се уязвимости в подсистемата eBPF, за да заменят необходимите последователности.

За да се предпази от този нов тип атака, AMD препоръча използването на техники за защитено кодиране, които помагат да се блокират атаките на Meltdown, като например използването на LFENCE инструкции. Изследователите, които са идентифицирали проблема, препоръчват да се активира по-строга изолация на таблицата на страниците в паметта (KPTI), която преди това се използваше само за процесори на Intel.

По време на експеримента изследователите успяха да изтекат информация от ядрото към процес в потребителското пространство със скорост от 52 байта в секунда, предвид наличието на притурка в ядрото, която изпълнява операцията „if (offset < data_len) tmp = LUT[данни[отместване] * 4096];” . Предложени са няколко метода за извличане на информация чрез странични канали, която завършва в кеша по време на спекулативно изпълнение. Първият метод се основава на анализиране на отклоненията във времето за изпълнение на инструкцията на процесора “PREFETCH” (Prefetch+Time), а вторият – на промяна на промяната в потреблението на енергия при изпълнение на “PREFETCH” (Prefetch+Power).

Спомнете си, че класическата уязвимост на Meltdown се основава на факта, че по време на спекулативно изпълнение на инструкции, процесорът може да получи достъп до лична област с данни и след това да отхвърли резултата, тъй като зададените привилегии забраняват такъв достъп от потребителския процес. В програмата спекулативно изпълненият блок е отделен от основния код чрез условен клон, който в реални условия винаги се задейства, но поради факта, че условният оператор използва изчислена стойност, която процесорът не знае по време на превантивното изпълнение на кода, всички опции за разклонения се извършват спекулативно.

Тъй като спекулативно изпълнените операции използват същия кеш като нормално изпълняваните инструкции, е възможно по време на спекулативното изпълнение да се зададат маркери в кеша, които отразяват съдържанието на отделни битове в частна област на паметта, а след това в нормално изпълняван код да се определи тяхната стойност чрез синхронизация анализ на достъп до кеширани и некеширани данни.

Източник: opennet.ru

Добавяне на нов коментар