Исследователи нашли дыру в безопасности, которая содержится в большинстве современных процессоров компьютеров, ноутбуков и даже смартфонов. Рассказываем всё, что известно об уязвимостях Meltdown и Spectre и о том, как с ними жить.

Откуда взялись эти уязвимости?
Главный источник проблемы — так называемое спекулятивное исполнение. Два десятка лет назад инженеры, разрабатывающие процессоры, придумали хитрый приём: процессор может заранее выполнять какие-то операции (кусочки программы), результат которых может потребоваться позже. То есть он предугадывает, по какому пути программа пойдёт дальше, и выполняет инструкции наперёд. Угадает — отлично, есть прирост скорости, промахнётся — просто откатываемся до «верного» состояния, однако если по ходу пьесы он обращался к памяти, данные из неё останутся в кэше процессора.
Грамотная разработка сайтов itlama.com. Недорогое ведение проектов и качество работ гарантируем.
Допустим, где-то в хвосте приложения есть обращение к области памяти, куда ему доступ не положен. Процессор поторопится заранее сделать эту работу и переложит данные «поближе» — в процессорный кэш. Потом, когда основное выполнение программы упрётся в ограничение доступа, все операции «откатятся», приложению выдадут сигнал ошибки, но данные останутся в кэше, откуда их можно будет забрать (опять-таки не напрямую, а с помощью хитрого, но легитимного приёма).
Что такое Meltdown?
Так назвали уязвимость, позволяющую «расплавить» (melt) стену между приложением, которое должно работать в своей маленькой песочнице», и памятью системы, куда ему, по-хорошему, доступ запрещен. Таким образом, программа может получить доступ ко всей памяти компьютера.
Что такое Spectre?
«Призрак» (так переводится Spectre) — вторая из двух уязвимостей. Он проникает через «границу» между приложениями, может красть данные из них. Программа-жертва может быть написана идеально, с соблюдением всех-всех правил безопасности, но это не помешает взлому.
Атаку через Spectre сложнее произвести, но от неё и намного сложнее надёжно защититься — в этом второе значение названия: уязвимость, как призрак, будет преследовать нас ещё долгое время.
Какую информацию хакеры могут получить через Meltdown и Spectre?
Meltdown даёт доступ ко всему компьютеру, к данным всех приложений. На видео ниже показано, как в одной программе пользователь вводит пароль, закрываемый «звёздочками», и одновременно он всплывает в соседнем окошке, в другом приложении.
Ещё опаснее то, что Meltdown способен прорваться через границы виртуальных машин. Дело в том, что очень часто мощный сервер обслуживает сразу несколько сайтов, для каждого из них на физической машине создаётся виртуальный компьютер. Теперь ваш сосед по хостингу сможет подглядеть пароли ваших пользователей, и наоборот.
Spectre не может копнуть на уровень операционной системы, но дотянется до других приложений. Проблема в том, что даже если последний раз вы устанавливали новое приложение многие месяцы назад, ваш компьютер всё равно каждый день исполняет код,