SLAM — en attack mot CPU:er frĂ„n Intel, AMD och ARM som gör det möjligt att bestĂ€mma innehĂ„llet i minnet

En grupp forskare frÄn Vrije Universiteit Amsterdam har presenterat en ny attackteknik kallad SLAM (Spectre Linear Address Masking), som erbjuder en ny metod för att utnyttja mikroarkitekturella sÄrbarheter av typen Spectre, dÀr datalÀckage sker vid översÀttning av icke-kanoniska adresser, och för att kringgÄ kanonicitetskontroller utnyttjas de nya processorerna som erbjuder tillÀgg för att maskera linjÀra adresser. Forskarna har publicerat ett verktyg med implementeringen av metoden och föreslagit en demonstration som visar hur man kan extrahera data frÄn kÀrnminnet som motsvarar en viss mask (det visas hur man under nÄgra sekunder kan fÄ ut en strÀng med hash av root-anvÀndarens lösenord frÄn kÀrnminnet i Ubuntu).

Spela video

Attacken kan utföras pÄ system med Intel-processorer som stöder LAM (Linear Address Masking), AMD-processorer med UAI (Upper Address Ignore) och ARM-processorer med TBI (Top Byte Ignore). Dessa tillÀgg möjliggör anvÀndning av en del av bitarna i 64-bitars pekarna för att lagra metadata som inte Àr relaterad till adressering (normala program behöver inte sÄ mycket minne att de kan adressera 64-bitars pekare, sÄ de övre bitarna kan anvÀndas för att till exempel göra sÀkerhetsrelaterade kontroller). Intressant nog har Intel-, AMD- och ARM-processorer med stöd för LAM, UAI och TBI bara annonserats och Àr Ànnu inte massproducerade, vilket gör SLAM till den första spekulativa attacken mot framtida CPU:er. Attacken kan ocksÄ utföras pÄ Àldre AMD CPU:er Zen+ och Zen 2, som Àr sÄrbara för CVE-2020-12965.

Genom att anvÀnda sÄrbarheterna i Spectre krÀver attacken SLAM att det finns specifika sekvenser av instruktioner (gadgets) i kÀrnan som leder till spekulativ exekvering av instruktioner. SÄdana instruktioner möjliggör spekulativ lÀsning av data frÄn minnet beroende pÄ externa förhÄllanden, som kan pÄverkas av angriparen. Efter att en felaktig prognos har faststÀllts avvisas resultatet av den spekulativa exekveringen, men de bearbetade data förblir i cachen och kan sedan extraheras genom analys via sidokanaler. För att extrahera data som har samlats i cachen anvÀnder forskarna metoden Evict+Reload, som bygger pÄ att skapa förhÄllanden som tvingar bort data frÄn cachen (till exempel genom att skapa aktivitet som jÀmnt fyller cachen med typiskt innehÄll) och utföra operationer vars exekveringstid gör det möjligt att avgöra om data finns i processorens cache.

För att genomföra attacken SLAM anvĂ€nds gadgets baserade pĂ„ kod dĂ€r de kontrollerade data frĂ„n angriparen (nedan variabeln „secret”) anvĂ€nds som en pekare. Till exempel: void unmasked_gadget(long **secret) { **secret; }

Det noteras att sÄdana kodmönster ofta anvÀnds i program, exempelvis har tiotusentals sÄdana gadgets identifierats i Linux-kÀrnan, varav minst flera hundra Àr anvÀndbara för exploateringar. Ett lÀckage kan blockeras genom att lÀgga till ytterligare instruktioner i sÄdana gadgets som blockerar spekulativ exekvering. Företaget Intel avser att tillhandahÄlla en programvarumetod för att blockera lÀckan innan leverans av processorer som stödjer LAM. Företaget AMD rekommenderade att anvÀnda befintliga metoder för att blockera angrepp av typen Spectre v2. Utvecklarna av Linux-kÀrnan beslutade att stÀnga av LAM-stöd som standard för att invÀnta Intels rekommendationer om hur man blockerar sÄrbarheten.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster