Ці вразливості отримали кодові імена Meltdown і Spectre. (Ознайомитися з доповіддю можете на офіційному веб-порталі Google Project Zero (https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html) ).
Як повідомляється, вразливість Meltdown характерна для Intel, а Spectre - для Intel/AMD/ARM. Розробники підготували працюючі прототипи експлойтів, у тому числі -реалізація JavaScript для використання в браузері.
Вразливість Meltdown дозволяє порушити бар'єр між додатками і внутрішньою пам'яттю операційної системи, що відкриває доступ до даних, що зберігаються в пам'яті ОС.
Spectre порушує такий бар'єр між самими додатками: умовно, один сервіс може одержати доступ до пам'яті іншого.
Фрагмент коду Spectre:
1 #include
2 #include
3 #include
4 #ifdef _MSC_VER
5 #include
6 #pragma
optimize("gt",on)
7 #else
8 #include
9 #endif
10
11
/********************************************************************
12 Victim code.
13
********************************************************************/
14 unsigned int array1_size
= 16;
15 uint8_t unused1[64];
16 uint8_t array1[160]
= { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
17 uint8_t unused2[64];
18 uint8_t array2[256 *
512];
19
20 char *secret =
"The Magic Words are Squeamish Ossifrage.";
21
22 uint8_t temp = 0; /*
Used so compiler won’t optimize out victim_function() */
23
24 void
victim_function(size_t x) {
25 if (x <
array1_size) {
26 temp &=
array2[array1[x] * 512];
27 }
28 }
Але природа цих вразливостей така, що дозволяє тільки зчитувати певні дані без можливості запису. (https://newsroom.intel.com/news/intel-responds-to-security-research-findings/).
Таке зчитування даних дозволяє обійти ASLR/KASLR, а атаки такого типу називаються «side-channel» (http://blog.erratasec.com/2018/01/why-meltdown-exists.html) та є доволі апаратно-специфічними.
Такого роду атаки були відомі і раніше, однак, ніколи не виходили за рамки теоретичного обговорення в силу складності їх використання.
Оскільки, як ми писали вище, ані Spectre, ані Meltdown не являються повноцінними атаками, ми не очікуємо якого-небудь серйозного використання цих вразливостей у найближчий час.
В Intel і ARM наполягають на тому, що проблема не є недоліком дизайну, але для її вирішення потрібно, щоб користувачі завантажили патч і оновили свою операційну систему.
Корпорація Microsoft вже опублікувала оновлення для своїх операційних систем (https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s), але природа оновлення така, що погіршує продуктивність центрального процесора. За різними оцінками, втрата продуктивності може сягати до 5%.