En gruppe forskere fra universitetene i Texas, Illinois og Washington har afsløret oplysninger om en ny familie af angreb via sidekanaler (CVE-2022-23823, CVE-2022-24436), døbt Hertzbleed. Den foreslåede angrebsmetode er baseret på funktionerne i dynamisk frekvensstyring i moderne processorer og berører alle gældende CPU'er fra Intel og AMD. Problemet kan potentielt også manifestere sig i processorer fra andre producenter, der understøtter dynamisk frekvensjustering, som i ARM-systemer, men den udførte undersøgelse begrænsede sig til at teste Intel- og AMD-chips. Kildekoden med implementeringen af angrebsmetoden er offentliggjort på GitHub (implementeringen er testet på en computer med en Intel i7-9700 CPU).
For at optimere energiforbruget og forhindre overophedning ændrer processorer dynamisk frekvensen afhængigt af belastningen, hvilket medfører ændringer i ydeevnen og påvirker udførelsestiden for operationer (en ændring af frekvensen med 1 Hz medfører en ændring i ydeevnen med 1 cyklus pr. sekund). I den gennemførte undersøgelse blev det konstateret, at under visse forhold på AMD- og Intel-processorer korrelerer ændringen af frekvensen direkte med de behandlede data, hvilket for eksempel medfører, at beregningstiden for operationerne "2022 + 23823" og "2022 + 24436" vil variere. Baseret på analysen af forskellene i udførelsestiderne for operationer med forskellige data kan man indirekte genskabe oplysningerne, der anvendes under beregningerne. Desuden kan angrebet udføres eksternt i højhastighedsnetværk med forudsigelige konstante forsinkelser ved at evaluere udførelsestiden for anmodninger.
Ved et succesfuldt angreb muliggør de identificerede problemer bestemmelse af hemmelige nøgler baseret på analyse af beregningstiden i kryptografiske biblioteker, der anvender algoritmer, hvor matematiske beregninger altid udføres på konstant tid, uanset arten af de behandlede data. Sådanne biblioteker blev anset for at være beskyttede mod angreb via sidekanaler, men som det viser sig, bestemmes beregningstiden ikke kun af algoritmen, men også af processorens funktionsmåde.
Som et praktisk eksempel, der viser realismen i anvendelsen af den foreslåede metode, er der blevet demonstreret et angreb på implementeringen af SIKE (Supersingular Isogeny Key Encapsulation) nøgleindkapsling, som er nået til finalen i konkurrencen for post-kvantum kryptosystemer, der blev afholdt af National Institute of Standards and Technology (NIST) i USA, og som positionerer sig som beskyttet mod angreb via sidekanaler. Under eksperimentet lykkedes det at genoprette den anvendte krypteringsnøgle fuldstændigt ved hjælp af en ny variant af angrebet baseret på en tilpasset ciphertext (gradvis tilpasning baseret på manipulationer med den krypterede tekst og opnåelse af dens dekryptering), selvom SIKE-implementeringen anvendte konstant beregningstid. Det tog 36 timer at bestemme den 364-bit nøgle ved brug af CIRCL-implementeringen, mens PQCrypto-SIDH tog 89 timer.
Virksomhederne Intel og AMD har anerkendt, at deres processorer er sårbare over for problemet, men de har ikke planer om at blokere sårbarheden via en mikrocode-opdatering, da det ikke er muligt at fjerne sårbarheden på hardware niveau uden væsentlig indflydelse på ydeevnen. I stedet er udviklerne af kryptografiske biblioteker blevet givet anbefalinger til at programmatisk blokere for information lækage under udførelse af fortrolige beregninger. Virksomhederne Cloudflare og Microsoft har allerede tilføjet en lignende beskyttelse i deres SIKE-implementationer, hvilket har medført en reduktion af CIRCL's ydeevne med 5%, mens PQCrypto-SIDH er blevet reduceret med 11%. En anden vej til at blokere sårbarheden kan være at deaktivere "Turbo Boost", "Turbo Core" eller "Precision Boost" i BIOS eller i driveren, men denne ændring vil føre til en markant reduktion i ydeevnen.
Virksomhederne Intel, Cloudflare og Microsoft blev informeret om problemet i tredje kvartal af 2021, mens AMD blev informeret i første kvartal af 2022. Men efter anmodning fra Intel blev offentliggørelsen af informationer om problemet udsat indtil den 14. juni 2022. Problemet er bekræftet i processorer til stationære systemer og bærbare computere baseret på 8-11 generationer af Intel Core mikroarkitektur, samt for forskellige stationære, mobile og serverprocessorer som AMD Ryzen, Athlon, A-Series og EPYC (forskere demonstrerede metoden på Ryzen CPU'er med Zen 2 og Zen 3 mikroarkitektur).
Kilde: opennet.ru
