

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.
- emailE-mail
- linkKopier link

Fortsæt din læsning
Hardware-fejl lukkede luftrummet over Schweiz
Hardware16. juni 2022
- Sortér efter chevron_right
- Trådet debat
Man kunne måske lempe lidt på restriktionerne med inspiration fra Rust.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)
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.
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.
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.
Der er noget du har misforstået: IBM mainframes har, per definition, ikke sikkerhedshuller :-)
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.
Både IBM Z og IBM Power er sårbare over for Meltdown- og Spectre-lignende angreb.
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?