Група от изследователи от Техническия университет в Грац (Австрия), по-рано известен с разработването на MDS, NetSpectre, Throwhammer и ZombieLoad атаки, направени известни Преди няколко дни нов метод за атака (CVE-2021-3714) който чрез канали отстрани на механизма за дедупликация на страници с памет може да определи наличието на определени данни в паметта, да организира изтичане на байтове на съдържанието на паметта или да определи разположението на паметта, за да заобиколи защитата на базата на рандомизиране на адреса (ASLR).
Новият метод се различава от вариантите на атаки към механизма за дедупликация демонстрирано по-рано при извършване на атака от външен хост, използвайки като критерии за промяна на времето за отговор на заявки, изпратени от нападателя чрез протоколите HTTP / 1 и HTTP / 2. Атаката беше демонстрирана за Linux и Windows сървъри.
Атаките за дедупликация на паметта използват разликата във времето за обработка на операция на запис като канал за изтичане на информация в ситуации, при които промените в данните водят до клониране на страница с дедуплицирана памет, използвайки механизма на копиране при запис (COW).
В процеса ядрото определя едни и същи страници от паметта на различни процеси и ги комбинира, картографиране на идентични страници от паметта в област от физическа памет, за да се съхранява само едно копие. Когато един от процесите се опита да промени данните, свързани с дедуплицираните страници, се създава изключение (грешка на страницата) и с помощта на механизма за копиране при запис автоматично се създава отделно копие на страницата с памет, което се разпределя на процеса, който прекарва най-много време за копиране, което може да е знак за промяна на данните се припокрива с друг процес.
Изследователите са показали, че в резултат на това забавяне на механизма COW могат да бъдат уловени не само локално, но и чрез анализиране на промяната във времето за доставка на отговорите по мрежата.
С тази информация изследователите са предложили няколко метода за определяне на съдържанието на паметта от отдалечен хост чрез анализиране на времето за изпълнение на заявките чрез протоколите HTTP / 1 и HTTP / 2. За запазване на избраните шаблони се използват типични уеб приложения, които съхраняват получената информация в заявките в паметта.
Общият принцип на атаката се свежда до запълване на страница с памет на сървъра с данни, които потенциално дублират съдържанието на страница с памет, която вече е на сървъра. По късно, нападателят изчаква времето, необходимо за дедуплициране на ядрото и обединете страницата с памет, след това модифицирайте контролираните дублирани данни и оценява времето за реакция, за да определи дали успехът е бил успешен.
В хода на проведените експерименти, максималната скорост на изтичане на информация е 34,41 байта на час за атака срещу WAN и 302,16 байта на час за атака в локална мрежа, което е по-бързо от други методи за извличане на данни от страничен канал. (Например при атаката NetSpectre скоростта на трансфер на данни е 7,5 байта на час).
Предлагат се три варианта на атаката:
- Първият вариант ви позволява да дефинирате данни в паметта на уеб сървъра, където се използва Memcached. Атаката се свежда до зареждане на определени набори от данни в паметта на Memcached, изтриване на дедуплиран блок, пренаписване на същия елемент и създаване на условие за възникване на COW копие, когато съдържанието на блока се промени.
- Вторият вариант е разрешен познават съдържанието на регистрите в СУБД MariaDB, когато използвате хранилище на InnoDB, пресъздаване на съдържанието байт по байт. Атаката се извършва чрез изпращане на специално модифицирани заявки, генериране на еднобайтови несъответствия в страниците на паметта и анализиране на времето за отговор, за да се определи дали предположението за съдържанието на байта е било правилно. Скоростта на такъв теч е ниска и възлиза на 1,5 байта на час при атака от локална мрежа.
- Третият вариант е разрешен напълно заобикаляйте защитния механизъм на KASLR за 4 минути и да получите информация за отместването в паметта на образа на ядрото на виртуалната машина, в ситуация, когато адресът на отместване е в страница с памет, други данни, в които не се променя.
И накрая, ако се интересувате да научите повече за това, можете да се консултирате с подробности в следващия линк.