Изследователи от Калифорнийския университет в Сан Диего представиха нов метод на атака върху микроархитектурните структури на Intel процесори, приложим, между другото, и към CPU на базата на микроархитектурите Raptor Lake и Alder Lake. Атаката, получила кодово име Indirector, позволява промяна на хода на спекулативното изпълнение на инструкции в други процеси и на други нива на привилегии (например в ядрото или друга виртуална машина), изпълнявани в един поток CPU с кода на нападателя. Като демонстрация на работата на метода е подготвен прототип на експлоит, който позволява да се определи разположението на адресите в паметта за заобикаляне на механизма за защита ASLR (Address Space Layout Randomization). Освен това, под лиценза MIT е публикуван инструментариум, разработен за анализ и обратен инженеринг на микроархитектурната логика на CPU.
Предложени са два метода за организация на атаката. Първият метод е основан на изкривяването на съдържанието на буфера за предсказване на косвени преходи IBP (Indirect Branch Predictor), използван за предсказване на косвени преходи в условия, когато адресът или отклонението за прехода все още не са известни и се изчисляват в инструкциите, предшестващи инструкцията за преход. Вторият метод засяга буфера за предсказване на преходи BTB (Branch Target Buffer), съдържащ информация за последните преходи.


Откритите уязвимости дават възможност на нападателя да определи съдържанието на записите в буферите IBP и BTB, съдържащи адресите на преходите, използвани в странични процеси, както и да извърши подмяна на произволен адрес на преход в таблиците с данни на буферите. В резултат нападателят може да постигне пренасочване на потока на изпълнение на страничния процес към желания адрес в паметта по време на спекулативното изпълнение на инструкциите. След определяне на погрешното предсказание, резултатът от спекулативното изпълнение ще бъде отхвърлен, но адресите и данните, прочетени от паметта в процеса на спекулативното изпълнение, ще се запазят в кеша и могат да бъдат извлечени, използвайки един от начините за определяне съдържанието на кеша на базата на анализа на промяната на времето за достъп до кешираните и некешираните данни. Определянето на точните адреси на косвените преходи на практика, например, може да се използва за заобикаляне на механизма за защита ASLR.
Източник: opennet.ru
