Полный Spectre уязвимостей

Никита Дубко, iTechArt Group

Полный Spectre уязвимостей


Meltdown Spectre
Как делаются сенсации
Мир ДО
Мир ПОСЛЕ
Хайпанем немножко?

Meltdown

meltdownattack.com Meltdown Logo

Собери 5 особенностей процессора
и получи Meltdown в подарок

1. CPU Cache

CPU cache diagram

tcache < tRAM

2. Спекулятивное выполнение кода

CPU pipeline

3. Branch Prediction Unit

var secret = 0;
for (var i = 0; i < 1000; i++) {
    if (i < 999) {
        secret = i;
    }
}

4. Memory Management Unit

MMU structure

5. Косвенная адресация

add ax, [bx]
mov dl, [si]
Схема косвенной адресация

Порядок

var TABLE1_STRIDE = 1;
var TABLE1_BYTES = 3;
var probeTable = ['alpha', 'beta', 'corky'];
var simpleByteArray = [0x00, 0x01, 0x02];
var localJunk;
var index = 0;
if (index < simpleByteArray.length) {
    index = simpleByteArray[index | 0];
    index = (((index * TABLE1_STRIDE) | 0)&(TABLE1_BYTES - 1)) | 0;
    localJunk &= probeTable[index | 0] | 0;
}
console.log(localJunk);

Spectre

spectreattack.com Spectre Logo

Атакующий код

if (x < array1_size)
{
    y = array2[array1[x]];
}

Порядок

Это ж надо знать код!

Уязвимы для Meltdown

Уязвимы для Spectre

Apple
Android
График зависимости шанса узявимости от новизны смартфона

Как применить?

Skyfall
Мировой заговор
Склад Amazon

Срочные фиксы в браузерах

Powershell

Install-Module SpeculationControl
Import-Module SpeculationControl
Get-SpeculationControlSettings

speed47/spectre-meltdown-checker

Как защититься? 🛡️

Заброшенный домик в лесу

Материалы