SLAM - en attack pÄ Intel, AMD och ARM-processorer som lÄter dig bestÀmma innehÄllet i minnet

En grupp forskare frÄn Vrije Universiteit Amsterdam presenterade en ny attackteknik, SLAM (Spectre Linear Address Masking), som erbjuder ett nytt sÀtt att utnyttja mikroarkitektoniska sÄrbarheter i Spectre-klassen, dÀr datalÀckage uppstÄr under översÀttningen av icke-kanoniska adresser, och linjÀra adressmaskeringstillÀgg som tillhandahÄlls i nya processorer anvÀnds för att kringgÄ kanonicitetskontroller. Forskarna publicerade en verktygslÄda med en implementering av metoden och erbjöd en demonstration som visar hur data som matchar en viss mask kan extraheras frÄn kÀrnminne (visas som nÄgra tiotals sekunder i ... Ubuntu allokera en strÀng med root-anvÀndarens lösenordshash frÄn kÀrnminnet).

Spela upp video

Attacken kan utföras pÄ system med Intel-processorer som stöder LAM-tillÀgget (Linear Address Masking), AMD-processorer med UAI-tillÀgget (Upper Address Ignore) och ARM-processorer med TBI-tillÀgget (Top Byte Ignore). Dessa tillÀgg gör det möjligt att anvÀnda vissa bitar i 64-bitarspekare för att lagra icke-adresserbara metadata (vanliga program behöver inte lika mycket minne som 64-bitarspekare kan adressera, sÄ de övre bitarna kan anvÀndas för sÀkerhetsrelaterade kontroller). Intressant nog har Intel-, AMD- och ARM-processorer med stöd för LAM, UAI och TBI precis tillkÀnnagivits men Àr inte i massproduktion, vilket gör SLAM till den första spekulativa attacken mot framtida processorer. Attacken kan ocksÄ utföras pÄ Àldre AMD Zen+ och Zen 2-processorer som drabbats av sÄrbarheten CVE-2020-12965.

I likhet med utnyttjandet av Spectre-sÄrbarheterna krÀver SLAM-attacken nÀrvaron av vissa instruktionssekvenser (gadgets) i kÀrnan som leder till spekulativ exekvering av instruktioner. SÄdana instruktioner leder till spekulativ lÀsning av data frÄn minnet beroende pÄ externa förhÄllanden som kan pÄverkas av angriparen. Efter att en felaktig förutsÀgelse har faststÀllts, kasseras resultatet av den spekulativa exekveringen, men den bearbetade datan finns kvar i cachen och kan sedan extraheras med hjÀlp av sidokanalanalys. För att extrahera data som har lagt sig i cachen anvÀnder forskarna Evict+Reload-metoden, som baseras pÄ att skapa villkor för att förflytta data frÄn cachen (till exempel att skapa en aktivitet som jÀmnt fyller cachen med typiskt innehÄll) och utföra operationer vars exekveringstid gör det möjligt för oss att bedöma nÀrvaron av data i processorns cache.

För att utföra en SLAM-attack anvÀnds gadgets baserade pÄ kod dÀr angriparkontrollerad data (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, till exempel i kÀrnan Linux Tiotusentals sÄdana prylar har identifierats, varav minst flera hundra Àr lÀmpliga för utnyttjande. LÀckan kan blockeras genom att lÀgga till ytterligare instruktioner till sÄdana prylar som blockerar spekulativ exekvering. Intel avser att tillhandahÄlla en mjukvarumetod för att blockera lÀckan innan LAM-aktiverade processorer börjar levereras. AMD rekommenderade att man anvÀnder befintliga metoder för att blockera Spectre v2-attacker. KÀrnutvecklare Linux För att skydda sig mot attacken beslutade de att inaktivera LAM-stöd som standard tills Intel publicerade rekommendationer om att blockera sÄrbarheten.

KĂ€lla: opennet.ru

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