Все компьютеры с процессорами Intel заработают на 30% медленнее

Вчера стало известно о серьезной уязвимости во всех процессорах 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

©  iphones.ru