Всі MacBook стануть гірше, і ваш теж. Що потрібно знати про уразливості Intel

Вчора стало відомо про серйозну уразливість у всіх процесорах Intel, випущених за останні десять років. Виявлений баг пов’язаний з безпекою, тому його виправлення — обов’язкове мепроприятие.

Ось тільки спроба виправити вразливість призведе до уповільнення абсолютно будь-якого комп’ютера, це неважливо Windows, Linux або macOS – сумісна машина.

Спробуємо пояснити, в чому причина такого серйозного фейла Intel, який можна сміливо віднести до найбільшого в історії чіпмейкера.

Це пояснення наводить один з користувачів форуму Reddit. Воно максимально адаптоване під рядового споживача і може викликати посмішку у технічно підкованого спеціаліста. Але головне в тексті — максимально наочно пояснити суть уразливості.

Як працює процесор і програми

Операційна система — це посередник між обладнанням і програмним забезпеченням (ПЗ). Завдання операційної системи — планувати і розподіляти ресурси (потужність процесора і пам’ять) при відповідному запиті від.

З міркувань безпеки процесора має два режими: режим користувача і режим ядра. У першому працюють всі додатки і програми, у другому виконуються операції, які неможливо виконати в режимі користувача.

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

У цьому випадку Chrome надсилає запит операційній системі, операційна система повідомляє про необхідність запису на жорсткий диск, процесор, процесор дозволяє цю операцію та підтверджує її ОС, після чого ОС звертається до процесу Chrome.

Встановлена в комп’ютері пам’ять розділена на клітинки. При роботі з додатками всі процеси посилаються на певні комірки пам’яті, але не на фізичні, а на віртуальні. Такі віртуальні осередки сортуються на так звані сторінки, що мають певний розмір. Наприклад, 1 кілобайт.

В процесорі зберігається таблиця сторінок для кожного процесу, яка точно демонструє яка сторінка віртуальної пам’яті відповідає конкретному розділу фізичної пам’яті.

Виглядає це приблизно так:


Для будь-якого процесу виділяється певний розмір фізичної пам’яті, в якому зберігаються дані на весь період роботи. У свою чергу, частина пам’яті використовує і операційна система.

У чому помилка Intel

В цілях безпеки процесори Intel зберігали частину пам’яті ядра окремо від самого процесу. Тобто відбувалася ситуація, при якій процес конкретного програми «впевнений», що його таблиця посилань на пам’ять) має 2 000 сторінок.

Насправді ж сторінок 2 400, 400 з яких не в курсі того, що ОС зберігає посилання на фізичну пам’ять.

Коли процес посилає запит на обробку операційній системі, а та, в свою чергу, передає запит процесор, він спочатку перемикається в режим ядра для звірки таблиці сторінок, а потім назад в режим користувача.

Так повинен працювати процесор. Але з’ясувалося, що звичайний процес може цілком отримати доступ до таблиць, що зберігаються в режимі ядра. Як саме це відбувається, Intel поки не повідомляє і обіцяє розкрити всі подробиці до кінця січня.

Чому все дуже сумно

Якщо це дійсно так, то ми стикаємося з такою ситуацією. Зараз всі процесори працюють за такою «спрощеною схемою, при якій будь-який додаток має доступ до закритого режиму ядра процесора. Ми вже сприймаємо це як даність і звикли до такого темпу роботи нашого ноутбука або комп’ютера.

Виправлення бага означає лише одне. Процес буде відсилати запит операційної системи —> ОС сповіщати про це процесор —> процесор перемикатися в режим ядра для звірки таблиці сторінок —> звіривши таблиці сторінок процесу з таблицями сторінок ядра процесор назад переключиться в режим користувача.

Так спочатку повинні були працювати всі процесори Intel. Але вони так не працювали, а з точки зору безпеки це дуже погано.

Як результат, випуск нового патча для усунення вразливості (а займатися цим будуть розробники операційних систем Windows, Linux і macOS) може сповільнити наші комп’ютери і ноутбуки аж до 30%.

Такі сумні реалії, з якими доведеться змиритися.

Мені потрібно більше інфи: Facebook,
ВКонтакте і

Telegram