Комп’ютерні процесори мають значну ваду в дизайні, і всі намагаються її виправити. Виправити можна лише один із двох отворів у безпеці, і вони стануть повільнішими для ПК (і Mac) з чіпами Intel.
Оновлення : У попередній версії цієї статті було зазначено, що ця вада стосується чіпів Intel, але це ще не вся історія. Є насправді два тут є основні вразливості, які зараз називають "Розплавлення" та "Привид". Meltdown в основному характерний для процесорів Intel і впливає на всі моделі процесорів за останні кілька десятиліть. До статті нижче ми додали більше інформації про ці дві помилки та різницю між ними.
Що таке розплав і привид?
Spectre - це "фундаментальний недолік дизайну", який існує у всіх процесорах на ринку, включаючи AMD та ARM, а також Intel. В даний час програмного виправлення не існує, і це, швидше за все, потребуватиме повного реконструкції апаратного забезпечення для процесорів, хоча це, на щастя, досить складно використати, на думку дослідників безпеки. Можна захистити від конкретних атак Spectre, і розробники працюють над цим, але найкращим рішенням буде модернізація апаратного забезпечення процесора для всіх майбутніх чіпів.
Розплав в основному погіршує Spectre, роблячи основний недолік набагато простішим у використанні. По суті, це додатковий недолік, який впливає на всі процесори Intel, створені за останні кілька десятиліть. Це також впливає на деякі високоякісні процесори ARM Cortex-A, але не впливає на чіпи AMD. Сьогодні розплав виправляється в операційних системах.
Але як ці недоліки працюють?
ПОВ'ЯЗАНІ: Що таке ядро Linux і що воно робить?
Програми, що запускаються на вашому комп'ютері, працюють із різними рівнями дозволів безпеки. ядро операційної системи - наприклад, ядро Windows або ядро Linux - має найвищий рівень дозволів, оскільки воно запускає шоу. Настільні програми мають менше дозволів, і ядро обмежує їх можливості. Ядро використовує апаратні функції процесора, щоб допомогти застосувати деякі з цих обмежень, оскільки це швидше робити за допомогою апаратного, ніж програмного забезпечення.
Проблема тут у "спекулятивному розстрілі". З міркувань продуктивності сучасні центральні процесори автоматично запускають інструкції, які, на їх думку, їм можуть знадобитися, а якщо цього не зробити, вони можуть просто перемотати назад і повернути систему в попередній стан. Однак недолік в процесорах Intel та деяких процесорах ARM дозволяє процесам запускати операції, які вони, як правило, не змогли б запустити, оскільки операція виконується до того, як процесор завадить перевірити, чи повинен він мати дозвіл на його чи ні. Це помилка Meltdown.
Основна проблема як Meltdown, так і Spectre полягає в кеші процесора. Програма може спробувати прочитати пам'ять, і якщо вона прочитає щось у кеші, операція завершиться швидше. Якщо він спробує прочитати щось, що не знаходиться в кеш-пам'яті, він буде виконуватися повільніше. Програма може бачити, завершується чи ні щось швидко чи повільно, і, хоча все інше під час спекулятивного виконання очищається та стирається, час, необхідний для виконання операції, не можна приховати. Потім він може використовувати цю інформацію, щоб побудувати карту всього, що є в пам’яті комп’ютера, по одному біту. Кешування пришвидшує процес, але ці атаки використовують цю оптимізацію та перетворюють її на недолік безпеки.
ПОВ'ЯЗАНІ: Що взагалі таке Microsoft Azure?
Отже, у найгіршому випадку код JavaScript, що працює у вашому веб-браузері, може ефективно читати пам’ять, до якої він не повинен мати доступу, наприклад приватну інформацію, що зберігається в інших програмах. Хмарні провайдери, такі як Microsoft Azure або Amazon Web Services , які розміщують кілька різних програмних продуктів компанії в різних віртуальних машинах на одному і тому ж обладнанні, особливо ризикують. Теоретично програмне забезпечення однієї людини могло б шпигувати за речами у віртуальній машині іншої компанії. Це збій у розподілі між програмами. Патчі для Meltdown означають, що цю атаку буде не так легко виконати. На жаль, розміщення цих додаткових перевірок означає, що деякі операції будуть повільнішими з ураженим обладнанням.
Розробники працюють над програмними виправленнями, які ускладнюють виконання атак Spectre. Наприклад, новий Chrome від Google Функція ізоляції сайту допомагає захиститися від цього, і Mozilla вже зробила деякі швидкі зміни до Firefox . Корпорація Майкрософт також внесла деякі зміни, щоб захистити Edge та Internet Explorer у Windows Update, яке зараз доступне.
Якщо вас цікавлять глибокі подробиці про плавлення та привид, прочитайте технічне пояснення Проект Google Zero команда, яка виявила помилки минулого року. Додаткова інформація також доступна на MeltdownAttack.com веб-сайт.
Наскільки повільнішим буде мій ПК?
Оновлення : 9 січня Microsoft випустила деякі інформація про роботу патча . За словами Microsoft, Windows 10 на ПК епохи 2016 року з процесорами Skylake, Kabylake або новішими процесорами Intel демонструє "однозначні уповільнення", які більшість користувачів не повинні помічати. Windows 10 на ПК епохи 2015 року з Haswell або старішим центральним процесором може спостерігати більші уповільнення, і Microsoft "очікує, що деякі користувачі помітять зниження продуктивності системи".
Користувачам Windows 7 і 8 не пощастило. Microsoft заявляє, що "очікує, що більшість користувачів помітять зниження продуктивності системи" при використанні Windows 7 або 8 на ПК 2015 року з Haswell або старим процесором. Не тільки Windows 7 і 8 використовують старі центральні процесори, які не можуть запустити виправлення настільки ефективно, але „Windows 7 і Windows 8 мають більше переходів між ядром користувача через застарілі рішення щодо дизайну, такі як усі візуалізації шрифтів, що відбуваються в ядрі” , і це також уповільнює ситуацію.
Microsoft планує виконати власні тести та опублікувати більше деталей у майбутньому, але ми не знаємо точно, наскільки патч Meltdown вплине на щоденне використання ПК. Дейв Хансен, розробник ядра Linux, який працює в Intel, спочатку писав, що зміни, внесені в ядро Linux, вплинуть на все. За його словами, на більшості навантажень спостерігається одноцифрове уповільнення, приблизно 5% уповільнення бути типовим. Найгіршим сценарієм було уповільнення тесту на мережу на 30%, однак воно залежить від завдання до завдання. Однак це номери для Linux, тому вони не обов’язково стосуються Windows. Виправлення уповільнює системні дзвінки, тому завдання з великою кількістю системних дзвінків, такі як компіляція програмного забезпечення та запуск віртуальних машин, швидше за все, сповільниться найбільше. Але кожна програма використовує деякі системні дзвінки.
Оновлення : Станом на 5 січня, TechSpot і Гуру3D виконали деякі тести для Windows. Обидва сайти дійшли висновку, що користувачам настільних ПК не надто турбуватися. У деяких іграх для ПК спостерігається невелике уповільнення з виправленням на 2%, яке знаходиться в межах похибки, тоді як інші, здається, працюють однаково. 3D-візуалізація, програмне забезпечення для підвищення продуктивності, засоби стиснення файлів та утиліти для шифрування, здається, не зазнають змін. Однак тести читання та запису файлів показують помітні відмінності. Швидкість швидкого читання великої кількості невеликих файлів знизилася приблизно на 23% у тестах Techspot, і Guru3D знайшов щось подібне. З іншого боку, Tom’s Hardware виявив лише 3,21% середнього падіння продуктивності за допомогою тесту зберігання споживчих програм і аргументував, що "синтетичні контрольні показники", що демонструють більш значні зниження швидкості, не відображають реального використання.
Комп’ютери з процесором Intel Haswell або новішими мають функцію PCID (Ідентифікатори контексту процесів), яка допоможе патчу добре працювати. На комп’ютерах зі старими процесорами Intel швидкість може значно зменшитися. Вищезазначені показники були виконані на сучасних процесорах Intel з PCID, тому незрозуміло, наскільки ефективнішими будуть процесори Intel.
Intel заявляє, що уповільнення "не повинно бути значним" для пересічного користувача комп'ютера, і поки це виглядає правдою, але деякі операції справді бачать уповільнення. Для хмари, Google , Амазонка , і Microsoft всі в основному говорили одне і те ж: для більшості робочих навантажень вони не побачили суттєвого впливу на продуктивність після випуску патчів. Корпорація Майкрософт заявила, що "невеликий набір з [Microsoft Azure] клієнтів може відчути певний вплив на продуктивність мережі". Ці заяви дійсно залишають місце для деяких навантажень, щоб спостерігати значні уповільнення. Епічні ігри звинуватив патч Meltdown у тому, що він спричинив проблеми із сервером у своїй грі Fortnite і розмістив графік, що показує величезне збільшення використання процесора на своїх хмарних серверах після встановлення виправлення.
Але одне є ясно: Ваш комп’ютер точно не стає швидшим за допомогою цього виправлення. Якщо у вас є процесор Intel, він може працювати повільніше, навіть якщо він невеликий.
Що мені потрібно робити?
ПОВ'ЯЗАНІ: Як перевірити, чи захищений ваш ПК чи телефон від розплавлення та примари
Деякі оновлення для вирішення проблеми розплавлення вже доступні. Microsoft видала екстрене оновлення до підтримуваних версій Windows через Центр оновлення Windows 3 січня 2018 року, але це ще не на всіх ПК. Оновлення Windows, яке вирішує танення та додає деякі засоби захисту від Spectre, називається CP 4056892 .
Apple вже залатаний випуск з macOS 10.13.2, випущений 6 грудня 2017 р. Chromebook з Chrome OS 63, який вийшов у середині грудня, уже захищений. Виправлення також доступні для ядра Linux.
В додаток, перевірте, чи є на вашому ПК доступні оновлення BIOS / UEFI . Хоча оновлення Windows вирішило проблему Meltdown, оновлення мікрокоду процесора від Intel, що надходять через оновлення UEFI або BIOS, необхідні для повного забезпечення захисту від однієї з атак Spectre. Вам також слід оновити веб-браузер, як зазвичай, оскільки браузери також додають певний захист від Spectre.
Оновлення : 22 січня, Intel оголосила що користувачі повинні припинити розгортання початкових оновлень мікропрограми UEFI через «перезавантаження, більшу, ніж очікувалося, та іншу непередбачувану поведінку системи». Intel заявила, що слід почекати остаточного виправлення прошивки UEFI, яке було перевірено належним чином і не спричинить системних проблем. Станом на 20 лютого Intel звільнений стабільні оновлення мікрокодів для Skylake, Kaby Lake та Coffee Lake - це платформи Intel Core 6-го, 7-го та 8-го поколінь. Виробники ПК повинні незабаром розпочати випуск нових оновлень мікропрограми UEFI.
Хоча показ продуктивності звучить погано, ми настійно рекомендуємо встановити ці виправлення в будь-якому випадку. Розробники операційних систем не вносили б таких масштабних змін, якби це не була дуже погана помилка з серйозними наслідками.
Розглянуте програмне виправлення виправить недолік Meltdown, а деякі програмні виправлення можуть допомогти пом'якшити недолік Spectre. Але Spectre, ймовірно, і надалі впливатиме на всі сучасні центральні процесори - принаймні в якійсь формі - до випуску нового обладнання для його виправлення. Незрозуміло, як виробники з цим справляться, але тим часом все, що ви можете зробити, це продовжувати користуватися комп’ютером - і втішатися тим фактом, що Spectre важче використовувати і дещо більше турбує хмарні обчислення, ніж кінцеві користувачі. настільні ПК.