Spectre (уразливість)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Логотип, створений для позначення даної вразливості

Spectre — уразливість у модулях передбачення переходів сучасних мікропроцесорів з технологією спекулятивного виконання команд,[1] яка дозволяє зловмисникам отримати несанкційований доступ до віртуальної пам'яті інших процесів.[2][3][4] Відомо щонайменше два методи реалізації цієї вразливості, які отримали коди CVE-2017-5753 [Архівовано 11 січня 2018 у Wayback Machine.] та CVE-2017-5715 [Архівовано 11 січня 2018 у Wayback Machine.].

Уразливість Spectre була виявлена та задокументована декількома групами дослідників, зокрема: Яном Хорном з Google Project Zero та Полом Кохером у співпраці з низкою дослідників з різних установ.

Згодом було встановлено, що розкриті спочатку два способи реалізації цієї уразливості є лише окремими представниками цілого сімейства подібних атак із використанням витоків інформації через сторонні канали[5].

Значення[ред. | ред. код]

Станом на 2018 рік уразливості сімейства Spectre наявні майже в усіх сучасних мікропроцесорах, зокрема, у десктопах, ноутбуках, смартфонах, тощо. Були створені та успішно здійснені демонстраційні атаки на мікропроцесорах виробництва Intel, AMD, та сімейства ARM.[6][7]

Уразливість також була виявлена і підтверджена в процесорах IBM Power: Power7+, Power8 та Power9, Fujitsu SPARC64 XII та SPARC64 X+[8]. Існують відомості, що уразливість вдалось відтворити в мікропроцесорах Power6, хоча в них конвеєр виконує команди за чергою, але спекулятивно[9].

Уразливість була виявлена в мікропроцесорах MIPS P5600 та P6600[9].

Уразливість мікропроцесорів сімейства ARM залежить від конкретної версії архітектури та реалізації ядра конкретним виробником[8]. Відомо та підтверджено наявність уразливості в мікропроцесорах з ядрами: Cortex-R7, Cortex-R8, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A17, Cortex-A57, Cortex-A72, Cortex-A73 та ARM Cortex-A75[10]. В той же час деякі смартфони і комп'ютери з простішими (часто дешевшими) варіантами, в яких відсутня суперскалярність, не мають цієї вразливості. Наприклад, всі варіанти Raspberry Pi не уражені ані Meltdown, ані Spectre[11].

Станом на початок 2018 року вдалось створити атаки із використанням уразливості Spectre між процесами рівня користувача[8].

Реалізація вразливості Spectre набагато складніша за Meltdown, але й захиститись від неї важче.

Крім того, Spectre може становити більшу загрозу хмарним обчисленням, оскільки, на відміну від Meltdown, може спонукати гіпервізор передавати дані гостьовій системі[12].

Однак найбільшу загрозу для звичайних користувачів становить варіант CVE-2017-5753 (доступ за межі масиву), який може бути реалізований скриптами JavaScript та призводити до викрадення даних із веббраузера. Проте і захист від нього найпростіший, без помітної втрати швидкодії і вимагає лише оновлення веббраузера[13].

В квітні 2021 року компанія AMD повідомила, що її фахівці виявили уразливість подібну до Spectre v4 в підсистемі Predictive Store Forwarding (PSF) мікропроцесорів архітектури Zen 3. На їхню думку ця уразливість не становить небезпеки для більшості користувачів, а за бажання її можна вимкнути налаштуваннями процесора[14].

Алгоритм реалізації[ред. | ред. код]

Уразливість Spectre та пов'язана з нею уразливість Meltdown (CVE-2017-5754) покладаються на вади реалізації механізмів спекулятивного виконання в сучасних мікропроцесорах.

Заради підвищення швидкодії програм сучасні мікропроцесори можуть виконувати деякі інструкції поза чергою, спираючись на певні припущення. Під час спекулятивного виконання процесор перевіряє припущення і якщо вони виявляються вірними, то виконання продовжується далі. Якщо ж вони виявилися хибними, то процес виконання зупиняється й відбувається повернення до вірної послідовності інструкцій. Однак, у деяких випадках спекулятивне виконання може мати сторонні ефекти, які не усуваються під час повернення до нормальної послідовності інструкцій, що може призводити до витоку даних (так звані сторонні канали інформації)[15].

Наприклад, якщо виконання програми залежить від даних у загальній пам'яті, процесор може зробити певні припущення про подальший перебіг подій і заради економії декількох сотень циклів перемістити ці дані в кеш процесора наперед. Якщо припущення були невірними, загальна швидкість виконання програми виявляється такою самою, якби процесор виконував інструкції за їхньою чергою та простоював при звертаннях до оперативної пам'яті. Проте, якщо припущення були вірними, виконання програми істотно прискорюється завдяки ефективнішому використанню ресурсів системи. Оскільки замість простоїв корисна робота процесора не припиняється[16].

З погляду інформаційної безпеки спекулятивність може призводити до некоректного виконання програми. Інженери раніше вважали що, оскільки за невірних припущень процесор автоматично повертається до коректного стану, ці помилки не становлять загрози[16].

Уразливість Spectre основана на тому, аби примусити процесор спекулятивно виконати такі послідовності інструкцій, які було би неможливо виконати за коректної роботи програми. Дослідники назвали такі інструкції перехідними (англ. transient instructions). Шляхом правильного підбору перехідних інструкцій зловмисник здатен створити виток із пам'яті жертви через сторонній канал[16].

Уразливість Spectre має два можливі алгоритми реалізації:[13]

  • шляхом введення в оману модуля передбачення переходів, аби той спекулятивно виконав захищений код жертви зі стороннім каналом. Цей варіант діє між процесами та навіть між гіперпотоками в межах одного мікропроцесора й може бути використаний для атаки проти ядра операційної системи чи гіпервізора віртуальної машини. Ця вразливість має код CVE-2017-5715.
  • введення в оману мікропроцесора для спекулятивного завантаження даних за межами масиву. Цей варіант діє в межах одного процесу. Ця уразливість має код CVE-2017-5753.

Читання за межами масиву (CVE-2017-5753)[ред. | ред. код]

Уразливість CVE-2017-5753 є спрощеним варіантом Meltdown (або навпаки, Meltdown є розвиненим варіантом даної уразливості).

Уразливість CVE-2017-5753 основана на введенні в оману модуля передбачення переходів аби змусити його спекулятивно зчитати дані за межами масиву. У результаті, зловмисник здатен зчитати всі дані в межах одного процесу (на відміну від Meltdown без виходу у зони з вищим рівнем захисту). Дослідники назвали цей варіант уразливості англ. Exploiting Conditional Branch Misprediction — атака з використанням невірного передбачення умовного переходу.

Для успішної реалізації цієї вразливості зловмисник має примусити жертву виконати спеціальну послідовність інструкцій у просторі атакованого процесу. Це можуть бути або вже наявні в коді атакованого процесу інструкції, або ж атакований процес може виконувати інструкції зловмисника у JiT-компіляторі[17].

Дослідникам вдалось показати приклади успішної атаки із використанням цієї вразливості проти ядра Linux через систему eBPF,[17] а також на сучасні веббраузери, які виконують сценарії JavaScript у рушіях з JiT-компіляцією. Крім того, була представлена проста програма-демонстратор написана мовою C, яка зчитує «приховані» дані в межах власного процесу[16].

Атака з використанням цієї вразливості була показана на основі функції, сторонній ефект у якій створено таким кодом:

if (x < array1_size)
  y = array2[array1[x] * 256];

Умовний перехід гарантує, що звернення до array1 буде завжди коректним й не виходитиме за межі масиву. Тим не менш, при спекулятивному виконанні команд мікропроцесор може виконати ці інструкції в конвеєрі, залишивши сторонній канал у вигляді кешованих фрагментів масиву array2. У цьому прикладі значення змінної x визначає адресу в пам'яті, яку прагне зчитати зловмисник (зі зсувом від адреси масиву array1). Значення комірки пам'яті за адресою array1 + x буде відновлено на основі інформації про кешований фрагмент масиву array2[16].

Маніпуляція модулем передбачення переходів (CVE-2017-5715)[ред. | ред. код]

Дослідниками також був представлена інша уразливість, так звана англ. Branch Target Injection (BTI) або англ. Poisoning Indirect Branches — маніпуляція непрямими переходами. Уразливість розміщена в модулі передбачення переходів і може бути використана для атаки між процесами різного рівня[16].

На відміну від прямого, при непрямому переході адреса переходу наперед не відома, а має бути отримана з регістра, комірки пам'яті чи обчислена в якийсь інший спосіб. Якщо отримання адреси для переходу потребуватиме істотного часу, то модуль передбачення переходів може вирішити спекулятивно виконати перехід за невірною адресою. Зловмисник здатен підлаштувати модуль передбачення переходів так, що адресу переходу для спекулятивного виконання визначатиме він. Таким чином, буде спекулятивно виконано інструкції, які ніколи б не були виконані за нормальних умов. Така ситуація створює істотну вразливість, якщо спекулятивне виконання цих інструкцій залишає помітні сторонні ефекти (наприклад, варіації часу виконання залежно від параметра, який задає зловмисник)[16].

Інші варіанти[ред. | ред. код]

Група дослідників з Прінстонського університету і компанії NVIDIA в лютому 2018 відкрили нові способи атак з використанням цих вразливостей. Вони отримали назви MeltdownPrime і SpectrePrime відповідно, від уже відомих методів відрізняються іншим способом відтворення інформації з процесорного кешу[18][19].

Обидві атаки побудовані на роботі з двома ядрами багатоядерного процесора і використовують особливості роботи протоколу узгодження вмісту кешу для різних ядер CPU (Invalidation-Based Coherence Protocol). Якщо в уже відомих атаках сторонніми каналами служило відновлення вмісту кешу на основі техніки FLUSH + RELOAD, то в нових застосований метод «Prime and Probe»[18].

Однак поточні програмні латки, що випускаються виробниками, забезпечують захист і від нових атак[18].

Захист[ред. | ред. код]

Ризики[ред. | ред. код]

Оскільки Spectre являє собою ціле сімейство вразливостей, єдиного способу захисту, імовірно, знайдено не буде. Проте, було розроблено механізми захисту (латки операційних систем, веббраузерів, оновлення мікрокоду мікропроцесорів, тощо) від відомих конкретних атак в яких використано цю вразливість.

На відміну від Meltdown, уразливості сімейства Spectre потребують не лише латок програмного забезпечення, але й мікропроцесорів[13].

Розробники операційних систем, прикладного програмного забезпечення випустили оновлення своїх продуктів, що мають захистити або зменшити ризик успішної атаки з використанням цих уразливостей. Деякі виробники мікропроцесорів також випустили оновлені версії мікрокоду, покликані або захистити від відомих варіантів реалізації, або ж зменшити ризик успішної атаки[13].

Для успішного використання уразливості зловмисник має виконати свій код на комп'ютері жертви. Таким чином найбільшу небезпеку уразливості Spectre становлять для постачальників хмарних обчислень, коли на одному фізичному комп'ютері можуть водночас працювати декілька віртуальних машин різних клієнтів. Звичайним користувачам найбільшу небезпеку може представляти варіант CVE-2017-5753 (доступ за межі масиву), який може бути реалізований скриптами JavaScript у веббраузері[13].

Якщо зловмисник буде здатен примусити жертву завантажити свій скрипт JavaScript (чи то так званий малвертайзинг, чи то відвіданням сайту, тощо), то він отримає можливість зчитати збережені паролі або іншу приватну інформацію, що зберігається в браузері[13].

Проте, як виявилось, від варіанту CVE-2017-5753 найпростіше захиститись із майже непомітними наслідками для швидкодії. Відповідні оновлення для своїх веб браузерів уже підготували розробники Mozilla Firefox та WebKit (рушій, яким користується Chromium, сучасні версії Opera, тощо)[13].

На початку лютого 2018 року компанія AV-Test повідомила, що нею зафіксовано 140 різних вірусів та зразків шкідливого програмного забезпечення, в якому було використано вразливості Spectre та Meltdown. Проте, досі не було зрозуміло, як широко поширені дані зразки в реальному світі[20].

Латки програмного забезпечення[ред. | ред. код]

Розробники сімейства компіляторів GCC додали механізм Retpoline в релізи версії 8 та новіше. Через велике значення цих латок їх було також застосовано і до релізу версії 7.3[21]

Розробники компанії Microsoft запропонували нову версію компілятора MSVC з новою опцією /Qspectre, яка додає в компільовані програми захист від уразливості Spectre варіант «Читання за межами масиву» (англ. Bounds Check Bypass, CVE-2017-5753). Якщо дана опція увімкнута, компілятор під час компіляції шукає потенційно вразливі фрагменти коду та додає інструкцію, що виконує функцію бар'єра для спекулятивного виконання команд. Для x86-сумісних мікропроцесорів (Intel та AMD) це інструкція lfence, для ARM — csdb. Таким чином, при компіляції такого коду:

if (untrusted_index < array1_length) {
    // спекулятивний доступ до елементів масиву
    unsigned char value = array1[untrusted_index];
    // використати ці спекулятивно отримані дані аби
    // змінити стан кешу процесора
    unsigned char value2 = array2[value * 64];
}

компілятор додає бар'єр спекулятивного виконання на початку тіла циклу, фактично, генеруючи код:

if (untrusted_index < array1_length) {
    // переконатись, що процесор спочатку перевірить
    // умову, і лише тоді звертатиметься за даними
    speculation_barrier();
    // ці інструкції вже не будуть виконуватись
    // спекулятивно
    unsigned char value = array1[untrusted_index];
    unsigned char value2 = array2[value * 64];
}

Недоліком такого підходу є істотне падіння швидкодії програм. Слід звернути увагу на те, що насправді захисту потребують лише ті частини коду, в яких зловмисник може задати індекс елемента в масиві. Компілятор, попри реалізовані евристичні правила, відокремити такі фрагменти не здатен, тому він може додавати захист навіть там, де він зайвий[22][23].

У червні 2018 року проект OpenBSD повідомив про рішення учасників проекту вимикати функції Hyper-threading при роботі цієї операційної системи на мікропроцесорах виробництва Intel[24].

Проте, група дослідників компанії Google дійшла висновку, що лише програмними заходами повністю захиститись від витоків інформації через сторонні канали при спекулятивному виконанні програм неможливо, а відмова від спекулятивного виконання недоцільна з точки зору ефективності роботи мікропроцесорів[5][25].

Латки процесорів[ред. | ред. код]

Невдовзі після оприлюднення інформації про уразливості розробники операційних систем і виробники мікропроцесорів почали випускати оновлення з латками. Проте у деяких випадках оновлення спричиняли іще більше проблем. Так, наприклад, оновлення мікрокоду випущені Intel спричиняли випадкові перезавантаження системи. Тому 23 січня компанія порадила відтермінувати оновлення мікрокоду для систем на мікропроцесорах сімейства Broadwell, Haswell, Coffee Lake, Kaby Lake, Skylake і Ivy Bridge. Сервери на багатьох моделях Xeon і Ivy Bridge також мали цю проблему[26].

Компанії Intel та AMD мають намір додати три нові інструкції: Branch Restricted Speculation (IBRS), Single Thread Indirect Branch Predictors (STIBP) та Indirect Branch Predictor Barrier (IBPB) до набору інструкцій своїх мікропроцесорів. Нові інструкції будуть додані шляхом завантаження оновлень мікрокоду для процесорів Intel виробництва 2013 року і новіше, а також в нових процесорах AMD. Інформація про ці інструкції оприлюднена в документі з ідентифікатором 336996-001[27][9].

Латки для нових мікропроцесорів ARM64 Qualcomm Centriq 2400 (Falkor) та Cavium ThunderX2 будуть додані в нових релізах ядра Лінукс[9].

Компанія AMD, натомість, стверджує, що реалізація атаки сімейства Spectre CVE-2017-5715 (Branch Target Injection/BTI) надзвичайно ускладнена на мікропроцесорах її виробництва. Тому компанія має великий сумнів у потребі щось виправляти. Проте, заради збереження сумісності будуть випущені латки, в яких буде додано підтримку інструкцій Indirect Branch Control[28]. Також компанія оприлюднила докладну доповідь про уразливості Spectre у її процесорах[29].

Подальші дослідження[ред. | ред. код]

Spectre NG[ред. | ред. код]

3 травня 2018 року журнал c't[de] оприлюднив інформацію про виявлення сімейства з восьми уразливостей в процесорах Intel, що отримали загальну назву Spectre NG (англ. New Generation — нове покоління)[30].

За повідомленням журналу, уразливостям було виділено блок номерів у базі даних CVE, і 7 травня 2018 року мало бути оголошено їх назви[30]. Компанія Intel у прес-релізі не заперечувала наведені факти, і рекомендувала користувачам вчасно встановлювати оновлення програмного забезпечення[31].

За даними видання c't одна з уразливостей істотно спрощує атаку на основну систему з боку гостьової. Вона навіть дозволяє одній гостьовій системі атакувати іншу гостьову систему, що працює на тій же фізичній машині[30]. Усі вісім уразливостей ґрунтуються на тих самих прорахунках у дизайні процесорів, що й Spectre 1 и 2, а також Meltdown. [32].

Станом на 12 липня 2018 року було відомо про чотири з восьми уразливостей, що були раніше об'єднані спільною назвою «Specrte NG»:

Spoiler[ред. | ред. код]

1 березня 2019 року була оприлюднена наукова доповідь про уразливість, яку назвали SPOILER[35]. І хоча формально вона не є варіантом уразливостей сімейства Spectre, вона використовує вади в реалізації модуля таблиць пам'яті у всіх сучасних мікропроцесорах фірми Intel, починаючи з Intel Core. Цю уразливість не було виявлено в мікропроцесорах фірми AMD або сімейства ARM.

Уразливість дозволяє істотно пришвидшити атаку Rowhammer[36].

CacheOut[ред. | ред. код]

В січні 2020 року стало відомо про відкриття чергового варіанту атаки на сучасні мікропроцесори виробництва Intel (окрім виготовлених після четвертого кварталу 2019 року). Варіант отримав неформальну назву «CacheOut» та формальний ідентифікатор CVE-2020-0549/INTEL-SA-00329. Цей варіант використовує комбінацію вибіркового дослідження мікроархітектурного стану (англ. Microarchitectural Data Samping, MDS) мікропроцесора та примусового скасування транзакції в оперативній пам'яті (англ. Transactional Asynchronous Abort, TAA; див. транзакційна пам'ять).

У випадку успішного застосування зловмисник може отримати доступ до даних інших процесів, віртуальних машин, подолати захист ASLR, а також зламати захист системи Intel SGX[37][38].

Примітки[ред. | ред. код]

  1. Greenberg, Andy (3 січня 2018). A Critical Intel Flaw Breaks Basic Security for Most Computers. Wired (magazine). Архів оригіналу за 3 січня 2018. Процитовано 3 січня 2018.
  2. Staff (2018). Meltdown and Spectre. Graz University of Technology. Архів оригіналу за 3 січня 2018. Процитовано 3 січня 2018.
  3. Metz, Cade; Perlroth, Nicole (3 січня 2018). Researchers Discover Two Major Flaws in the World’s Computers. The New York Times (амер.). ISSN 0362-4331. Архів оригіналу за 3 січня 2018. Процитовано 3 січня 2018.
  4. Warren, Tom (3 січня 2018). Intel’s processors have a security bug and the fix could slow down PCs. The Verge. Архів оригіналу за 3 січня 2018. Процитовано 3 січня 2018.
  5. а б Bright, Peter (23 лютого 2019). Google: Software is never going to be able to fix Spectre-type bugs. Ars Technica. Архів оригіналу за 3 березня 2019. Процитовано 4 березня 2019.
  6. Staff (2018). Meltdown and Spectre-faq-systems-spectre. Graz University of Technology (англ.). Архів оригіналу за 3 січня 2018. Процитовано 4 січня 2018.
  7. Busvine, Douglas; Nellis, Stephen (3 січня 2018). Security flaws put virtually all phones, computers at risk. Reuters. Thomson-Reuters. Архів оригіналу за 3 січня 2018. Процитовано 3 січня 2018.
  8. а б в Christof Windeck (11 січня 2018). Spectre-Lücke: Auch Server mit IBM POWER, Fujitsu SPARC und ARMv8 betroffen. Heise online. Архів оригіналу за 11 січня 2018. Процитовано 11 січня 2018.
  9. а б в г Christof Windeck (29 січня 2018). Spectre-Lücken: auch MIPS P5600 und IBM POWER6 betroffen, Intel erklärt IBC. Heise Security. Архів оригіналу за 29 січня 2018. Процитовано 29 січня 2018.
  10. Arm Processor Security Update. ARM Developer. ARM Ltd. 3 січня 2018. Архів оригіналу за 4 квітня 2018. Процитовано 5 січня 2018.
  11. Eben Upton (5 січня 2018). Why Raspberry Pi isn’t vulnerable to Spectre or Meltdown. Raspberry Pi Blog. Архів оригіналу за 9 квітня 2021. Процитовано 12 січня 2018.
  12. Fox-Brewster, Thomas (3 січня 2018). Massive Intel Vulnerabilities Just Landed -- And Every PC User On The Planet May Need To Update. Forbes. Forbes Media LLC. Архів оригіналу за 3 січня 2018. Процитовано 3 січня 2018.
  13. а б в г д е ж PETER BRIGHT (11 січня 2018). Here’s how, and why, the Spectre and Meltdown patches will hurt performance. Ars Technica. Архів оригіналу за 12 січня 2018. Процитовано 12 січня 2018.
  14. Zhiye Liu (5 квітня 2021). AMD's Zen 3 CPUs Are Susceptible To Spectre-Like Vulnerability. Tom's Hardware.
  15. Matt Linton, Pat Parseghian (3 січня 2018). Today's CPU vulnerability: what you need to know. Google Security Blog. Архів оригіналу за 15 березня 2018. Процитовано 4 січня 2018.
  16. а б в г д е ж Paul Kocher, Daniel Genkin, Daniel Gruss, Werner Haas, Mike Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, Yuval Yarom. Spectre Attacks: Exploiting Speculative Execution (PDF). Архів оригіналу (PDF) за 3 січня 2018. Процитовано 4 січня 2018.
  17. а б Jann Horn (3 січня 2018). Reading privileged memory with a side-channel. Project Zero. Архів оригіналу за 1 жовтня 2019. Процитовано 15 січня 2018.
  18. а б в Обнаружены новые способы атак MeltdownPrime и SpectrePrime, но переживать за безопасность не стоит. ITC.ua. 19 лютого 2018. Архів оригіналу за 21 лютого 2018. Процитовано 20 лютого 2018.
  19. Caroline Trippel, Daniel Lustig, Margaret Martonosi (11 лютого 2018). MeltdownPrime and SpectrePrime: Automatically-Synthesized Attacks Exploiting Invalidation-Based Coherence Protocols. Cornell University Library. arXiv:1802.03802. Архів оригіналу за 14 лютого 2018. Процитовано 21 лютого 2018.
  20. Fabian A. Scherschel (2 лютого 2018). Meltdown & Spectre: Immer mehr Malware, echte Angriffe unklar. Heise online. Архів оригіналу за 5 лютого 2018. Процитовано 5 лютого 2018.
  21. Retpoline Support Backport Lands In GCC 7 Written by Michael Larabel in GNU. Phoronix. 16 січня 2018. Архів оригіналу за 8 лютого 2018. Процитовано 7 лютого 2018.
  22. Peter Bright (14 лютого 2018). Microsoft’s compiler-level Spectre fix shows how hard this problem will be to solve. Ars Technica. Архів оригіналу за 15 лютого 2018. Процитовано 15 лютого 2018.
  23. Andrew Pardoe (15 лютого 2018). Spectre mitigations in MSVC. Visual C++ Team Blog. Архів оригіналу за 16 лютого 2018. Процитовано 15 лютого 2018.
  24. Catalin Cimpanu (19 червня 2018). OpenBSD Disables Intel CPU Hyper-Threading Due to Security Concerns. Bleeping Computer. Архів оригіналу за 26 червня 2018. Процитовано 26 червня 2018.
  25. Mcilroy, Ross; Sevcik, Jaroslav; Tebbi, Tobias; Titzer, Ben L.; Verwaest, Toon (13 лютого 2019). Spectre is here to stay: An analysis of side-channels and speculative execution. arXiv:1902.05178 [cs]. Архів оригіналу за 6 березня 2019. Процитовано 5 березня 2019.
  26. Владимир Скрипин (23 січня 2018). Intel выяснила причину более частых перезагрузок ПК и теперь рекомендует повременить с установкой заплаток против Spectre и Meltdown. ITC.ua. Архів оригіналу за 26 січня 2018. Процитовано 26 січня 2018.
  27. Speculative Execution Side Channel Mitigations (PDF) (Звіт). 1.0. Intel. January 2018. Архів оригіналу (PDF) за 20 травня 2018. Процитовано 29 січня 2018.
  28. Christof Windeck (26 січня 2018). Spectre-Lücke: AMD-Prozessoren unter Windows bislang ungeschützt. Heise security. Архів оригіналу за 5 лютого 2018. Процитовано 5 лютого 2018.
  29. Software Techniques for managing Speculation on AMD Processors (PDF). AMD. Архів оригіналу (PDF) за 1 лютого 2018. Процитовано 5 лютого 2018.
  30. а б в Exclusive: Spectre-NG - Multiple new Intel CPU flaws revealed, several serious. c't (Heise online). Архів оригіналу за 5 травня 2018. Процитовано 4 травня 2018.(англ.)
  31. Spectre-NG: Intel-Prozessoren von neuen hochriskanten Sicherheitslücken betroffen (Update). Архів оригіналу за 5 травня 2018. Процитовано 4 травня 2018.(нім.)
  32. Патрик Белмер (04.05.2018 08:20). Spectre NG: в процессорах Intel обнаружены ещё восемь уязвимостей. Hardwareluxx[de] (російською) . Архів оригіналу за 4 травня 2018. Процитовано 7 березня 2018.
  33. CVE-2018-3640. Архів оригіналу за 25 червня 2018.
  34. Catalin Cimpanu (11 липня 2018). New Spectre 1.1 and Spectre 1.2 CPU Flaws Disclosed. Bleeping Computer. Архів оригіналу за 16 липня 2018. Процитовано 12 липня 2018.
  35. Islam, Saad; Moghimi, Ahmad; Bruhns, Ida; Krebbel, Moritz; Gulmezoglu, Berk; Eisenbarth, Thomas; Sunar, Berk (1 березня 2019). SPOILER: Speculative Load Hazards Boost Rowhammer and Cache Attacks. Архів оригіналу за 8 березня 2019. Процитовано 7 березня 2019.
  36. Claburn, Thomas (5 березня 2019). SPOILER alert, literally: Intel CPUs afflicted with simple data-spewing spec-exec vulnerability (англ.). The Register. Архів оригіналу за 7 березня 2019. Процитовано 7 березня 2019.
  37. New 'CacheOut' attack targets Intel processors, with a fix arriving soon. PC World. 27 січня 2020. Архів оригіналу за 27 січня 2020. Процитовано 28 січня 2020.
  38. L1D Eviction Sampling / CVE-2020-0549 / INTEL-SA-00329. Intel. 27 січня 2020. Архів оригіналу за 28 січня 2020. Процитовано 28 січня 2020.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]