SLAM – njĂ« sulm ndaj CPU-ve Intel, AMD dhe ARM, qĂ« mundĂ«son identifikimin e pĂ«rmbajtjes sĂ« memories

Një grup hulumtuesish nga Universiteti i Lirë i Amsterdamit prezantoi një teknikë të re sulmi SLAM (Spectre Linear Address Masking), e cila ofron një mënyrë të re për të shfrytëzuar dobësitë mikroarkitekturore të klasës Spectre, ku ndodhin rrjedhje të të dhënave gjatë përkthimit të adresave jo kanonike, dhe për të anashkaluar verifikimet e kanonikës përfshihen zgjerimet që ofrohen në procesorët e rinj për maskimin e adresave lineare. Hulumtuesit publikuan një mjet me implementimin e metodës dhe propozuan një demonstrim që tregon se si mund të nxirren nga memoria e bërthamës të dhëna që përputhen me një maskë të caktuar (tregohet se si në disa dhjetëra sekonda në Ubuntu të nxirret nga memoria e bërthamës një varg me hash-in e fjalëkalimit të përdoruesit root).

Luaj videon

Sulmi mund tĂ« realizohet nĂ« sisteme me procesorĂ« Intel qĂ« mbĂ«shtesin zgjerimin LAM (Linear Address Masking), procesorĂ« AMD me zgjerimin UAI (Upper Address Ignore) dhe procesorĂ« ARM me zgjerimin TBI (Top Byte Ignore). Zgjerimet e pĂ«rmendura lejojnĂ« pĂ«rdorimin e disa bitĂ«ve tĂ« treguesve 64-bit pĂ«r ruajtjen e metadatat qĂ« nuk janĂ« tĂ« lidhura me adresimin (pĂ«r programet e zakonshme nuk kĂ«rkohet aq shumĂ« memorie sa mund tĂ« adresojnĂ« treguesit 64-bit, kĂ«shtu qĂ« bitĂ«t e sipĂ«rm mund tĂ« angazhohen, pĂ«r shembull, pĂ«r kontrolle qĂ« lidhen 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, çka e bĂ«n SLAM sulmin e parĂ« spekulativ ndaj CPU-ve tĂ« ardhshme. Sulmi mund tĂ« realizohet gjithashtu nĂ« CPU-tĂ« e vjetra AMD Zen+ dhe Zen 2, tĂ« prekura nga dobĂ«sia CVE-2020-12965.

Në përputhje me shfrytëzimin e dobësive Spectre, për realizimin e sulmit SLAM kërkohet që në bërthamë të ekzistojnë sekuenca të caktuara instruksionesh (gadget), të cilat çojnë në ekzekutimin spekulativ të instruksioneve. Instruksionet e tilla shkaktojnë leximin spekulativ të të dhënave nga memoria në varësi të kushteve të jashtme, në të cilat mund të ndikojë sulmuesi. Pas përcaktimit të parashikimit të gabuar, rezultati i ekzekutimit spekulativ hidhet poshtë, por të dhënat e trajtuara mbeten në cache dhe mund të nxirren më vonë përmes analizës përmes kanaleve anësore. Për nxjerrjen e të dhënave të mbetura në cache, hulumtuesit 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ë plotëson në mënyrë të barabartë cache-in me përmbajtje tipike) dhe ekzekutimin e operacioneve, koha e ekzekutimit të të cilave lejon të gjykohet për praninë e të dhënave në cache-in e procesorit.

Për realizimin e sulmit SLAM përdoren gadget të bazuara në kodin, ku të dhënat e kontrolluara nga sulmuesi (poshtë variabli 'secret') përdoren si një tregues. Për shembull: void unmasked_gadget(long **secret) { **secret; }

Vërehet se këto modele kodi përdoren shpesh në programe, për shembull, në kernelin Linux janë identifikuar dhjetëra mijëra të tilla gadget, nga të cilat të paktën disa qindra janë të përshtatshme për t'u përdorur në eksploitë. Rrjedhja mund të bllokohet duke shtuar në këto gadget instrukcione shtesë që bllokojnë ekzekutimin spekulativ. Kompania Intel ka për qëllim të ofrojë një metodë softuore për bllokimin e rrjedhjes para fillimit të shpërndarjes së procesorëve me mbështetje LAM. Kompania AMD rekomandoi përdorimin e metodave ekzistuese për bllokimin e sulmeve të klasës Spectre v2. Zhvilluesit e kernelit Linux, për të mbrojtur nga sulmi, vendosën të çaktivizojnë për default mbështetje LAM deri në publikimin e rekomandimeve nga Intel për bllokimin e dobësisë.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster