Grupa istraživača sigurnostiod kojih je nekoliko sudjelovalo u otkrivanju prvih ranjivosti otapanja i spektra, razvio novu vrstu napada na kanale treće strane.
Ovaj napad izvedeno na osnovu analize sadržaja predmemorije stranica, koji sadrži dobivene informacije kao rezultat pristupa operativnog sistema diskovima, SSD-ovima i drugim uređajima za zaključavanje.
Za razliku od Spectre napada, novu ranjivost ne uzrokuju hardverski problemi, ali se tiče samo softverskih implementacija predmemorije stranica i manifestuje se u Linuxu (CVE-2019-5489), Windows i vjerovatno mnogi drugi operativni sistemi.
Manipuliranjem sistemskih poziva mincore (Linux) i QueryWorkingSetEx (Windows) kako bi se utvrdilo prisustvo memorijske stranice u predmemoriji sistemske stranice, neprivilegirani lokalni napadač može pratiti neke pristupe memoriji drugih procesa.
Napad vam omogućava praćenje pristupa na razini bloka 4 kilobajta s vremenskom rezolucijom od 2 mikrosekunde na Linuxu (6.7 mjerenja u sekundi) i 446 nanosekundi na Windowsu (223 mjerenja u sekundi).
Predmemorija stranice akumulira prilično raznolike podatke, uključujući ekstrakte izvršnih datoteka, zajedničke biblioteke, podatke učitane na disk, zrcaljene datoteke u memoriji i druge informacije koje se obično pohranjuju na disk i koriste ih operativni sistem i aplikacije.
O čemu se radi u ovom napadu?
Napad zasniva se na činjenici da svi procesi koriste zajedničku predmemoriju sistemske stranice, a prisustvo ili odsustvo informacija u ovoj predmemoriji može se utvrditi promjenom kašnjenja u čitanju podataka diska ili pozivajući se na gore spomenute sistemske pozive.
Predmemorirane stranice mogu se zrcaliti u području virtualne memorije koje koristi više procesa (na primjer, u fizičkoj memoriji može biti prisutna samo jedna kopija dijeljene biblioteke koja se zrcali u virtualnoj memoriji različitih aplikacija).
U procesu pomicanja informacija iz predmemorije stranice i njihovog popunjavanja prilikom učitavanja tipičnih podataka s diska, možete analizirati status sličnih stranica u virtualnoj memoriji drugih aplikacija.
Pozivi mincore i QueryWorkingSetEx uvelike pojednostavljuju napad omogućavajući vam da odmah odredite koje su memorijske stranice iz datog raspona adresa prisutne u predmemoriji stranica.
Budući da je veličina nadziranog bloka (4Kb) prevelika da bi se odredio sadržaj po iteraciji, napad se može koristiti samo za tajni prijenos podataka.
Smanjivanje snage kriptografskih operacija praćenjem ponašanja algoritma, procjenom tipičnih obrazaca pristupa memoriji poznatih procesa ili praćenjem napretka drugog procesa.
Izgled podataka u memoriji po kojima je napadač poznat (Na primjer, ako je osnovni sadržaj međuspremnika u početku poznat u trenutku izlaska iz dijaloga za provjeru autentičnosti, možete odrediti Arolu na osnovu simbola iznude tijekom vaše intervencije korisnika.)
Postoji li rješenje protiv ovoga?
si, ako već postoji rješenje iz Linuxa Ova vrsta istraživanja pomaže u otkrivanju problema prije nego što ih iskoriste drugi sa štetnim namjerama.
Za Linux kernel, rješenje je već dostupno kao zakrpa, koja je već dostupna opisano i dokumentovano ovdje.
U slučaju Windows 10, problem je riješen u probnoj verziji (Insider Preview Build) 18305.
Praktične primjene napada na lokalni sistem koje su demonstrirali istraživači uključuju stvaranje kanala za prenos podataka iz izoliranih izoliranih okruženja, rekreaciju elemenata interfejsa na ekranu (na primjer, dijalozi za provjeru autentičnosti), definisanje pritiska na tipke i oporavak automatski generirane privremene lozinke).