Med dunder och brak släpptes förra veckan nyheten om att massor av servrar plötsligt var sårbara på så sätt att man kan läsa ut data från dem trots att man inte har behörighet att göra det. Buggarna fick namnen Meltdown och Spectre. Attackerna i sig bygger på möjligheten att räkna ut vilka data som finns i minnet, trots att processen i fråga inte har behörighet att läsa själva datan. Man kan säga att man med hjälp av de effektiviseringsfunktioner som finns i moderna cpu:er kan man baserat på hur snabbt man får veta att man inte får läsa datan räkna ut vilka data det ändå var.

I fallet Meltdown handlar det om att läsa data som cachats i en processor. I fallet Spectre handlar det om att utnyttja hur branch prediction och pre-execution fungerar och de data som efterlämnas då en i förväg uträknad instruktion inte infaller utan ska kastas. Meltdown är mer rättfram att skydda sig mot med en patch i ett operativsystem medan Spectre är svårare och kräver både stöd i operativsystemet och en uppdatering av mikrokoden i en processor för att få bukt med.

Läs också: Så skyddar du dig mot Spectre och Meltdown – här är allt vi vet om buggarna

– Det enklaste sättet att förstå hotet från Meltdown är att se den som en traditionell ”local privilege escalation” från vanlig användarbehörighet till systembehörighet. Sen ska man veta att Meltdown är hyfsat komplicerad att utnyttja, samt rätt begränsad i hastigheten man kan läsa ut minne, säger Marcus Murray, säkerhetsexpert på Truesec.

Det kan vara bra att veta när man egentligen är sårbar och när man inte är det. Vi zoomar här in på Meltdown då detta är det enda du helt kan skydda dig från idag och med enklare medel. Många företag och molnleverantörer använder idag virtualiserade miljöer och många undrar hur utsatt man egentligen är i dessa miljöer? Kan hackare stjäla dina data från en virtuell server som du hyr hos en outsourcingpartner till exempel? Svaret på det är tyvärr att det beror på.

– Med traditionella virtuella servrar, det vill säga VM-till-VM finns ingen risk för dataläckage rörande Meltdown, men i exempelvis containerbaserade miljöer som blir allt populärare är det verkligen en risk. Likaså finns en risk alla de fall där man kan ladda upp eller exekvera kod inom ramen för en app som delar underliggande OS med andra kunder. Ett exempel är om du har delade webb-tjänster där du kan ladda upp din webb-app i en delad miljö. Så länge det är möjligt att exekvera kod i samma OS-kontext som andra så är det sårbart, säger Marcus Murray.

Traditionella virtuella servrar (VM:s) som kör kompletta och isolerade OS-instanser är alltså inte sårbara för Meltdown. Det vill säga allt som är separerat med en hypervisor är skyddat från datastöld från VM till VM. Däremot kan host-OS (till exempel ESXi, XENServer eller Hyper-V) läsa data i VM:s då host-OS har tillgång till minnet på ett helt annat sätt än en VM. De stora molnleveratörerna har nyligen påbörjat patchning av infrastrukturen för att minimera denna risk, även om man redan tidigare givetvis inte släppte in sina kunder i hypervisorlagret. Det finns också redan patchar att hämta från till exempel Microsoft och VMware för att få skyddet på plats i hypervisorlagret.

Däremot är allt sårbart som exekveras i en delad OS-instans. Allt som bygger på containerteknik är sårbart då detta är en svagare form av OS-isolering jämfört med en hypervisor. Det betyder att i alla sammanhang där du delar OS med andra företag skulle data kunna stjälas. Är du fundersam så kolla med din molnleverantör hur isoleringen är uppbyggd i just deras lösning och be dem svara på om du är hotad eller skyddad.

Detta innebär alltså att alla processer som körs på en klient eller server plötsligt skulle kunna läsa ut data från andra applikationer som körs. Det är kanske inte så kul att tänka sig att ett Javaprogram som körs på en webbsida plötsligt skulle läsa ut data ur minnet från din instans av Keepass som du råkar köra samtidigt. För att slippa oroa sig för det är det alltså en mycket god idé att skydda sig så gott man kan genom att patcha sitt operativsystem. Detta tar oss till nästa problem, nämligen att patchen som löser problemen inte går att lägga på som standard. Varför det då? Jo, det finns tyvärr gott om tillverkare av antivirus som på olika kreativa sätt kontaktar Windows Kernel på icke supportade sätt. Patchen för Meltdown och Spectre ändrar på mycket i Windows Kernel och detta innebär mycket hög risk att ditt antivirus plötsligt ser till att du råkar ut för ständiga bluescreens och kanske aldrig mer kan boota ditt OS.

För att Microsoft ska veta att detta problem inte inträffar så kräver patchen att ett registervärde finns på plats för att den ska gå med på att installeras. Tanken är att antiviruset ska sätta detta värde och därmed visa att det är kompatibelt, men långt från alla antivirus har hunnit testas och skrivits om så att det sätter värdet. Om du är 100 procent säker på att ditt antivirus fungerar med patchen kan du sätta värdet själv genom att ange värdet 0 i ett DWORD med namnet cadca5fe-87d3-4b96-b7fb-a231484277cc på platsen Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\QualityCompat.

Läs också: Nu berättar Microsoft vilka datorer som blir segare av Spectre-patchen

Vissa leverantörer, som till exempel Webroot, sätter inte ännu värdet på egen hand men erbjuder på sin webbsida en reg-fil som du kan ladda ner som sätter värdet åt dig. När värdet är satt så går det äntligen att lägga på patchen. Den patch du är ute efter heter KB4056892 och laddas automatiskt ner på din klient om du kör Windows 10 version 1709 på din pc. I företagsmiljöer hänger hanteringen av patchar på hur WSUS är konfigurerat. För mer info från Microsoft finns här.

För att veta att man har patchen på plats och exakt hur skyddad man är kan man starta Powershell och köra kommandot ”Install-Module SpeculationControl” för att ladda ner modulen för att genomföra kontrollen. Kör sedan kommandot Get-SpeculationControlSettings för att se hur just ditt skydd ser ut. Troligen är du idag skyddad mot Meltdown (CVE-2017-5754) men inte Spectre (CVE-2017-5715).

Det verkar också som att skyddet mot dessa svagheter kostar en hel del prestanda beroende på vilken hårdvara du har. Företaget Epic Games rapporterade för några dagar sedan att deras spel Fortnite hade drabbats av problem med segheter och bekymmer med inloggningar på grund av patchning mot Meltdown så håll koll på hur din CPU belastas efter att du patchat ditt system.

Spectre är svårare att både skydda sig mot och att utnyttja. Meltdown är lättare att skydda sig mot och också lättare att utnyttja. Se till att få skyddet på plats så fort som möjligt, och märkligt nog är första steget att kontakta din leverantör av antivirus för att kolla att det är kompatibelt med patchen.