Spectre är ett säkerhetshål i många vanliga mikroprocessorer som använder spekulativ exekvering och branch prediction. Genom att utnyttja att processorerna gör gissningar vid programförgreningar (villkorliga hopp) för att exekvera program så snabbt som möjligt kan ett program förmå processorn att avslöja vad som finns i minnet som det egentligen inte har behörighet att läsa. Det kan användas av illasinnade program för att stjäla lösenord och kontouppgifter.[1]

Spectre tros drabba de allra flesta processorer av x86- och x64-typ från Intel och AMD, och även många av ARM-typ, och kan därför drabba såväl PC och Macintosh som mobiltelefoner och plattor. Hålet anses svårt att utnyttja, men svårt att skydda sig mot. Det skulle kunna användas i virtuella maskiner för att läsa minne från andra maskiner, och är därför ett hot mot molntjänster.

Spectre upptäcktes på Googles säkerhetslabb Project Zero, och parallellt på Technische Universität Graz. Hålet blev känt för allmänheten den 3 januari 2018, samtidigt som Meltdown (betecknas även variant 3, eller CVE-2017-5754).

Spectre finns i två varianter:

Spectre Variant 1 betecknas CVE-2017-5753. Det är ett kringgående av gränskontrollen vid programförgrening (bounds check bypass). Bland annat har JIT-motorer som används för JavaScript visat sig vara sårbara. Ett script som lagras på en webbplats skulle kunna läsa data för en annan webbplats som lagras i webbläsarens minne, exempelvis sessionscookies. Problemet i webbläsaren kan minskas genom att ändra inställningar i webbläsaren så att den isolerar varje webbplats i en egen JIT-motor, och så att JIT-motorn får försämrad precision vid tidmätningar. Problemet kan mer generellt åtgärdas med en uppdatering av operativsystemets kärna. Prestandatest för Linux Red Hat för Intels uppdatering för variant 1 visade ingen mätbar inverkan.[2]

Spectre Variant 2 betecknas CVE-2017-5715. Det är injicering av programförgreningsmål (branch target injection). Säkerhetshålet gör det möjligt för en virtualiserad maskin att läsa minnet från värdsystemet. AMD hävdar att deras processorer är immuna mot denna typ av attack. Vid Intel-processorer kräver denna sårbarhet uppdaterade mikrokod i processorn, och/eller uppdateringar för såväl gäst- som värdvirtualiseringsprogram med en metod som kallas Retpoline.[3]

Källor redigera