Grupi i studiuesve nga Universiteti i Lirë në Amsterdam prezantoi një teknikë të re sulmi SLAM (Mashtimi i Adresave Lineare Spectre), e cila ofron një mënyrë të re për të shfrytëzuar dobësitë mikroarkitektonike të klasës Spectre, ku rrjedhja e të dhënave ndodh gjatë përkthimit të adresave jo kanonike, dhe për të anashkaluar verifikimet e kanonicitetit janë angazhuar zgjerime të ofruara në procesorët e rinj për mashtimin e adresave lineare. Studiuesit publikuan një mjet me implementimin e metodës dhe ofruan një demonstrim që tregon se si mund të nxirren të dhënat nga memoria e bërthamës që përfshijnë një maskë të caktuar (tregohet se si brenda disa dhjetëra sekondash në Ubuntu mund të nxirret nga memoria e bërthamës një varg me hash të fjalëkalimit të përdoruesit root).

Sulmi mund tĂ« realizohet nĂ« sisteme me procesorĂ« Intel, qĂ« mbĂ«shtesin zgjerimin LAM (Mashtimi i Adresave Lineare), procesorĂ« AMD me zgjerimin UAI (Injorimi i AdresĂ«s SĂ« SipĂ«rme) dhe procesorĂ« ARM me zgjerimin TBI (Injorimi i Byte-it SĂ« SipĂ«rme). Zgjerimet e lartpĂ«rmendura lejojnĂ« pĂ«rdorimin e disa bitĂ«ve tĂ« treguesve 64-bit pĂ«r ruajtjen e metadatatave qĂ« nuk lidhen me adresimin (pĂ«r programet normale nuk kĂ«rkohet aq shumĂ« memorie qĂ« mund tĂ« adresojnĂ« tregues 64-bit, prandaj bitĂ«t e sipĂ«rm mund tĂ« angazhohen, pĂ«r shembull, pĂ«r verifikime qĂ« kanĂ« lidhje me sigurinĂ«). ĂshtĂ« interesante qĂ« procesorĂ«t Intel, AMD dhe ARM qĂ« mbĂ«shtesin LAM, UAI dhe TBI janĂ« vetĂ«m shpallur, por nuk prodhohen masivisht, duke e bĂ«rĂ« SLAM sulmin e parĂ« spekulativ ndaj CPU-ve tĂ« ardhshme. Sulmi gjithashtu mund tĂ« realizohet nĂ« CPU-tĂ« e vjetra AMD Zen+ dhe Zen 2, tĂ« cilat janĂ« tĂ« ndjeshme ndaj dobĂ«sisĂ« CVE-2020-12965.
Si për analogji me shfrytëzimin e dobësive Spectre, për të realizuar një sulm SLAM nevojitet që në bërthamë të ekzistojnë sekuenca të caktuara instrukcionesh (gadgetë) që çojnë në ekzekutimin spekulativ të instrukcioneve. Instrukcione të tilla çojnë në leximin spekulativ të të dhënave nga memoria në varësi të kushteve të jashtme, të cilat mund të ndikohen nga sulmuesi. Pasi të përcaktohet një parashikim i gabuar, rezultati i ekzekutimit spekulativ hidhet poshtë, por të dhënat e përpunuara mbeten në cache dhe mund të nxirren më vonë përmes analizës përmes kanaleve të tjera. Për të nxjerrë të dhënat e ngelura në cache, studiuesit përdorin metodën Evict+Reload, e cila bazohet në krijimin e kushteve për të dëbuar të dhënat nga cache (për shembull, krijohet aktivitet që mbush barazim cache me përmbajtje standarde) dhe ekzekutimin e operacioneve, koha e realizimit të cilave lejon të jepet një gjykim mbi prani të dhënash në cache-in e procesorit.
Për të realizuar një sulm SLAM, përdoren pajisje të bazuara në kod, në të cilin të dhënat e kontrolluara nga sulmuesi (në vargun që po quhet «secret») përdoren si tregues. Për shembull: void unmasked_gadget(long **secret) { **secret; }
Vërehet se këto modele të kodit shpesh përdoren në programe, për shembull, në bërthamën Linux janë identifikuar dhjetëra mijëra gadgetë të tillë, nga të cilët të paktën disa qindra janë të përdorshëm në eksploitë. Shpërthimi mund të bllokohet përmes shtimit të instrukcioneve të tjera në gadgetët e tillë, të cilat bllokojnë ekzekutimin spekulativ. Kompania Intel ka për qëllim të ofrojë një metodë programore për bllokimin e shpërthimeve para fillimit të dërgesave të procesorëve me mbështetje për LAM. Kompania AMD rekomandoi përdorimin e metodave ekzistuese për bllokimin e sulmeve të klasës Spectre v2. Zhvilluesit e bërthamës Linux për mbrojtje nga sulmi vendosën të çaktivizojnë mbështetje për LAM si parazgjedhje deri në publikimin e rekomandimeve nga Intel për bllokimin e dobësisë.
Burimi: opennet.ru
