Seneste meltdown-hul i cpu’er: Crosstalk kan lække data på tværs af kerner

7. september 2021 kl. 03:456
Seneste meltdown-hul i cpu’er: Crosstalk kan lække data på tværs af kerner
Illustration: Lasse Gorm Jensen.
Hidtil har spectre- og meltdown-sårbarheder været begrænset til kode, der kører på samme cpu-kerne. Men nye huller gør op med den begrænsning og øger sårbarhederne.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

2018 var knap nok kommet i gang, da verden fik kendskab til to alvorlige sikkerhedsbrister, der er svære at gøre noget ved.

Den 4. januar for tre et halvt år siden kom sårbarhederne Spectre og Meltdown til offentlighedens kendskab.

De udnytter cpu’ers metoder til at øge hastigheden på en utilsigtet facon, som gør det muligt for en proces at aflæse data steder i hukommelsen, som processen ellers ikke har adgang til. På den måde kan angribere få adgang til kodeord og anden hemmelig information på en computer.

Log ind og læs videre
Du kan læse indholdet og deltage i debatten ved at logge ind eller oprette dig som ny bruger, helt gratis.
6 kommentarer.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
6
8. september 2021 kl. 12:04

eller ved at en processor eksplicit overlader en virtuel lagerside til en anden (hvorved den selv mister adgang, og cachede elementer fra siden slettes/invalideres)

Man kunne måske lempe lidt på restriktionerne med inspiration fra Rust.

Enten kan der være en og kun en processor der har læse- og skriveadgang, eller der kan være flere processorer der har læseadgang, men ikke skriveadgang.

Det ville så kræve en ekstra enhed der, i stil med Rusts Borrow Checker, står for at tildele adgang til lageret.

  • Hvis der allerede er en processor der har læse- og skriveadgang til den ønskede side, så kan andre processorer ikke få adgang til den pågældende side. Heller ikke hvis de blot ønsker læseadgang.
  • Hvis der allerede er en processor der har adgang til den ønskede side, uanset om det kun er læseadgang, så kan en anden processor ikke tildeles skriveadgang.
5
8. september 2021 kl. 10:46

Mange af problemerne skyldes smarte trick til at få de enkelte kerner til at køre hurtigere, f.eks. spekulativ udførsel. Men ikke alene er disse mekanismer usikre, de bruger også meget strøm.

Så tiden er måske til at forenkle de enkelte kerner og i stedet af flere af dem. Endvidere skal de ikke dele ressourcer, der kan lede til crosstalk på tværs af processorer, så de skal have hver deres (lille) cache, og adgang til lageret skal ske til virtuelle sider, hvor kun en enkelt processor har adgang. Al kommunikation mellem processorer skal ske enten med eksplicit message passing eller ved at en processor eksplicit overlader en virtuel lagerside til en anden (hvorved den selv mister adgang, og cachede elementer fra siden slettes/invalideres).

Ja, det gør visse former for parallel programmering vanskeligere (da shared memory er dømt ude), og de enkelte kerner er langsommere (og bruger mere tid på at vente på lager eller betingede hop), men da de hver for sig bruger færre gates og mindre strøm, kan flere sættes på samme chip. Shared memory skalerer i øvrigt dårligt, så at erstatte det med message passing og eksplicit ejerskifte af lagersider er nok alligevel en god ide.

3
8. september 2021 kl. 10:15

Ja, men jeg tænkte mere på konsekvenserne af at dele L3 og L4 på den måde. Alt andet lige må angreb kunne lække på tværs af alt der deler L4 cachce - hvilket så er noget mere end "bare" på tværs af kerner.

2
8. september 2021 kl. 07:50

Både IBM Z og IBM Power er sårbare over for Meltdown- og Spectre-lignende angreb.

1
7. september 2021 kl. 10:42

Gad vide i hvor stor en grad IBM's nye Telum med virtualiseret L3/L4 cache bygget op af enkelte cores L2 caches er sårbar overfor den slags angreb?