SQUIP - angreb på AMD-processorer, hvilket fører til datalækage gennem tredjepartskanaler

En gruppe forskere fra Graz University of Technology (Østrig), tidligere kendt for at udvikle MDS-, NetSpectre-, Throwhammer- og ZombieLoad-angrebene, afslørede detaljer om et nyt sidekanalangreb (CVE-2021-46778) på AMD-processorplanlægningskøen , bruges til at planlægge udførelse af instruktioner i forskellige udførelsesenheder af CPU'en. Angrebet, kaldet SQUIP, giver dig mulighed for at bestemme de data, der bruges i beregninger i en anden proces eller virtuel maskine eller organisere en skjult kommunikationskanal mellem processer eller virtuelle maskiner, der giver dig mulighed for at udveksle data uden om systemadgangskontrolmekanismer.

AMD CPU'er baseret på 2000., 5000. og 3000. generations Zen-mikroarkitekturer (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) påvirkes ved brug af Simultaneous Multithreading Technology (SMT). Intel-processorer er ikke modtagelige for angreb, da de bruger en enkelt planlægningskø, mens sårbare AMD-processorer bruger separate køer for hver eksekveringsenhed. Som en løsning til at blokere informationslækage anbefalede AMD udviklere at bruge algoritmer, der altid udfører matematiske beregninger i konstant tid, uanset arten af ​​de data, der behandles, og også undgå forgrening baseret på hemmelige data.

Angrebet er baseret på en vurdering af niveauet af konfliktforekomst (konditionsniveau) i forskellige planlægningskøer og udføres gennem måling af forsinkelser ved start af kontroloperationer udført i en anden SMT-tråd på den samme fysiske CPU. For at analysere indholdet blev Prime + Probe-metoden brugt, hvilket indebærer at udfylde køen med et referencesæt af værdier og bestemme ændringer ved at måle adgangstiden til dem ved genopfyldning.

Under eksperimentet var forskerne i stand til fuldstændigt at genskabe den private 4096-bit RSA-nøgle, der blev brugt til at skabe digitale signaturer ved hjælp af mbedTLS 3.0 kryptografiske bibliotek, som bruger Montgomery-algoritmen til at hæve et tal til en effektmodulo. Det tog 50500 spor at bestemme nøglen. Den samlede angrebstid tog 38 minutter. Der er demonstreret angrebsvarianter, der giver et læk mellem forskellige processer og virtuelle maskiner styret af KVM-hypervisoren. Det er også vist, at metoden kan bruges til at organisere skjult dataoverførsel mellem virtuelle maskiner med en hastighed på 0.89 Mbit/s og mellem processer med en hastighed på 2.70 Mbit/s med en fejlrate på mindre end 0.8 %.

Kilde: opennet.ru

Tilføj en kommentar