Hertzbleed är en ny familj av sidokanalsattacker som påverkar moderna processorer

Ett team av forskare från University of Texas, University of Illinois och University of Washington har avslöjat information om en ny familj av sidokanalsattacker (CVE-2022-23823, CVE-2022-24436), med kodnamnet Hertzbleed. Den föreslagna attackmetoden är baserad på funktionerna för dynamisk frekvenskontroll i moderna processorer och påverkar alla nuvarande Intel- och AMD-processorer. Potentiellt kan problemet också visa sig i processorer från andra tillverkare som stödjer dynamiska frekvensförändringar, till exempel i ARM-system, men studien begränsades till att testa Intel- och AMD-chips. Källtexterna med implementeringen av attackmetoden publiceras på GitHub (implementationen testades på en dator med en Intel i7-9700 CPU).

För att optimera strömförbrukningen och förhindra överhettning ändrar processorer dynamiskt frekvensen beroende på belastningen, vilket leder till förändringar i prestanda och påverkar utförandetiden av operationer (en förändring av frekvensen med 1 Hz leder till en förändring av prestanda med 1 klockcykel per andra). Under studien fann man att under vissa förhållanden på AMD- och Intel-processorer korrelerar förändringen i frekvens direkt med den data som behandlas, vilket till exempel leder till att beräkningstiden för operationerna "2022 + 23823" och "2022 + 24436" kommer att vara annorlunda. Baserat på analysen av skillnader i exekveringstiden för operationer med olika data, är det möjligt att indirekt återställa informationen som används i beräkningar. Samtidigt, i höghastighetsnätverk med förutsägbara konstanta fördröjningar, kan en attack utföras på distans genom att uppskatta exekveringstiden för förfrågningar.

Om attacken lyckas gör de identifierade problemen det möjligt att fastställa privata nycklar baserat på en analys av beräkningstiden i kryptografiska bibliotek som använder algoritmer där matematiska beräkningar alltid utförs i konstant tid, oavsett vilken typ av data som behandlas . Sådana bibliotek ansågs skyddade från sidokanalattacker, men som det visade sig bestäms beräkningstiden inte bara av algoritmen utan också av processorns egenskaper.

Som ett praktiskt exempel som visar genomförbarheten av att använda den föreslagna metoden demonstrerades en attack mot implementeringen av SIKE (Supersingular Isogeny Key Encapsulation) nyckelinkapslingsmekanismen, som ingick i finalen i post-kvantkryptosystemtävlingen som hölls av USA National Institute of Standards and Technology (NIST), och är placerad som skyddad från sidokanalattacker. Under experimentet, med hjälp av en ny variant av attacken baserad på vald chiffertext (gradvis urval baserat på manipulering av chiffertexten och erhållande av dess dekryptering), var det möjligt att helt återställa nyckeln som användes för kryptering genom att ta mätningar från ett fjärrsystem, trots användningen av en SIKE-implementering med konstant beräkningstid. Att fastställa en 364-bitars nyckel med hjälp av CIRCL-implementeringen tog 36 timmar och PQCrypto-SIDH tog 89 timmar.

Intel och AMD har erkänt sårbarheten hos sina processorer för problemet, men planerar inte att blockera sårbarheten genom en mikrokoduppdatering, eftersom det inte kommer att vara möjligt att eliminera sårbarheten i hårdvara utan en betydande inverkan på hårdvarans prestanda. Istället får utvecklare av kryptografiska bibliotek rekommendationer om hur man programmässigt blockerar informationsläckage när man utför konfidentiella beräkningar. Cloudflare och Microsoft har redan lagt till liknande skydd till sina SIKE-implementationer, vilket har resulterat i en prestandaträff på 5 % för CIRCL och en prestandaträff på 11 % för PQCrypto-SIDH. En annan lösning för att blockera sårbarheten är att inaktivera Turbo Boost-, Turbo Core- eller Precision Boost-lägena i BIOS eller drivrutinen, men denna förändring kommer att resultera i en drastisk minskning av prestanda.

Intel, Cloudflare och Microsoft underrättades om problemet under det tredje kvartalet 2021 och AMD under det första kvartalet 2022, men offentliggörandet av problemet försenades till den 14 juni 2022 på Intels begäran. Förekomsten av problemet har bekräftats i stationära och bärbara processorer baserade på 8-11 generationer av Intel Core-mikroarkitektur, såväl som för olika stationära, mobila och serverprocessorer AMD Ryzen, Athlon, A-Series och EPYC (forskare visade metoden på Ryzen-processorer med Zen-mikroarkitektur 2 och Zen 3).

Källa: opennet.ru

Lägg en kommentar