История уязвимостей Meltdown и Spectre: им 20 лет, и их долго скрывали
В декабре 2017 года исследователь из Грацского технического университета Майкл Шварц обратился в компанию Intel с сенсационной, как он полагал, информацией. Ему и его коллегам Дэниэлу Груссу, Моритцу Липпу и Стефану Мангарду удалось создать эксплойт, с помощью которого можно добыть информацию из внутренней памяти процессоров.
Через девять дней Шварцу позвонили. Кто-то из Intel сообщил ему, что компании уже известно о проблемах с процессорами и сейчас она работает над их устранением. Более того, Intel старательно скрывает эту информацию и делает всё для того, чтобы она не стала известна посторонним. Шварца поблагодарили и сказали, что он раскрыл секрет, который будет обнародован в назначенный день.
Проблема, которую обнаружил Шварц и несколько других людей независимо друг от друга, затрагивала почти все процессоры, выпущенные за последние два десятилетия. Она настолько фундаментальна, что не может быть полностью решена в короткий срок. Устранять её совместными усилиями должны производители процессоров, разработчики программного обеспечения, а также крупнейшие владельцы серверов и облачных сервисов.
Обычно, когда исследователь безопасности обращается к вендору с информацией о проблемах в оборудовании или ПО, он даёт несколько месяцев на её устранение. Затем он имеет право обнародовать информацию, и тогда она становится известна хакерам, которые создают эксплойты и подвергают опасности пользователей. В данном случае проблема затрагивала интересы очень многих компаний, и удержать её в секрете было бы очень трудно. Слишком многим людям было необходимо рассказать об уязвимостиях, а они должны были тайно и синхронно подготовить «заплатки» для своих продуктов. В какой-то момент кое-кто нарушил молчание, из-за чего об уязвимостях стало известно до того, как эти они были закрыты.
В сети начала появляться противоречивая информация (например, о том, подвержены ли уязвимостям процессоры AMD), а некоторые антивирусы по ошибке блокировали установку важных патчей безопасности, принимая их за вредоносный код. Часть патчей оказалась сырой, и их распространение пришлось приостановить спустя несколько дней после выпуска. Компания Google создала инструмент Retpoline, с помощью которого можно проверять устройства на наличие уязвимостей, однако из-за эмбарго он был выпущен лишь после публикации официальных сведений о Meltdown и Spectre.
Компьютерная группа реагирования на чрезвычайные ситуации (CERT) при Университете Карнеги узнала об уязвимостях из СМИ вместе со всеми, что привело к дополнительной неразберихе. Поначалу группа выпустила доклад, в котором советовала компаниям заменить процессоры в своих устройствах на более новые. Как только IT-менеджеры представили, насколько затратным будет это решение, они загрустили, однако чуть позже специалисты CERT скорректировали доклад, указав, что менять процессоры бессмысленно, достаточно установить софтверные патчи.
Первое упоминание уязвимостей, которые затем получили название Meltdown и Spectre, датируется июнем 2017 года — именно тогда сотрудник Google Project Zero Янн Хорн взломал собственный компьютер и убедился в реальности самой, пожалуй, серьёзной проблемы процессоров. Результатами эксперимента он поделился с Intel, AMD и ARM. Каждая компания получила подробное описание проблем, а также предупреждение о том, что продукция других вендоров тоже может содержать схожие уязвимости. Хорн также написал, чтобы они не распространяли переданную им информацию, не скоординировавшись со всеми, кого касается эта проблема.
Выяснить, кто должен быть в курсе ситуации, было не так просто. Изначально казалось, что исправлять нужно процессоры, затем стало понятно, что требуется пропатчить операционные системы, то есть информация должна быть передана ещё и их разработчикам. Браузеры и облачные платформы тоже было необходимо защищать, а это означает, что десятки или сотни сотрудников Google, Microsoft, Apple, Amazon и других компаний становились носителями секрета.
Официальная политика Google Project Zero предполагает, что на решение проблем выделяется 90 дней, после чего информация обнародуется независимо от того, закрыты уязвимости или нет. Однако из-за того, что проблема была слишком серьёзной, и все компании устраняли её секретно, слаженно общаясь друг с другом, специалисты Google назначили конкретную дату, к которой всё должно быть готово.
14 декабря клиенты Amazon Web Server получили оповещение о том, что 5 января будет запущена серия перезагрузки серверов, которая скажется на производительности сервиса. Перед новым годом компания Microsoft подготовила патч безопасности для Windows и серверов, который должен был выйти примерно в то же время. 18 декабря Линус Торвальдс сообщил, что в Linux будет внесено глобальное изменение, связанное с работой процессоров на архитектуре x86. Все обновления Linux публикуются в репозиториях, где коммьюнити может обсуждать внесённые изменения, но на этот раз апдейт был засекречен, подробной информации о нём не было.
Компания AMD была не в восторге от того, что патчи от уязвимостей Meltdown и Spectre замедляют процессоры, поэтому попросила разработчиков Linux не менять операционную систему для её чипов. Инженер AMD Том Ледански объяснил это тем, что архитектура процессоров AMD фактически не позволяет перехватывать данные из внутренней памяти микросхем. Даже если такая возможность существует в теории, невозможно устранить её софтверным патчем, не затрагивая стандарты работы процессоров, принятые за последние двадцать лет, требуется более глубинный подход.
Журналисты The Register проанализировали изменения, которые готовят производители процессоров и разработчики операционных систем, и пришли к выводу, что уязвимости, о которых говорилось запутанным техническим языком, есть только в процессорах Intel. Если говорить простыми словами, опасность Meltdown и Spectre заключается в том, что эти баги позволяют программам добывать данные из памяти процессора и сторонних процессов. Такая возможность появилась из-за особенности работы процессоров, а её устранение приводит к понижению их вычислительной способности.
После публикации The Register в Twitter и других соцсетях стали появляться доказательства существования рабочих эксплойтов, с помощью которых можно извлекать данные из памяти процессора. Журналисты раскрыли тайну, о которой на тот момент ещё нельзя было рассказывать: у Intel, AMD, ARM, Microsoft, Google, Apple и других компаний не было готовых и протестированных решений. Им пришлось спешно дорабатывать «заплатки» и выпускать их без тщательного тестирования, что привело к дополнительным проблемам.
Meltdown и Spectre показали, как изменился мир высоких технологий за последние годы. Раньше уязвимости в каком-либо продукте затрагивали лишь ту компанию, которая его производила, а теперь баг в популярном оборудовании или софте приводит к цепной реакции: требуется устранять не только его, но и перерабатывать кучу другой, связанной продукции. Так происходит из-за того, что компании создают не изолированные продукты, а экосистемы, тесно переплетающиеся друг с другом.
Тысячи Android-устройств заражены ботом-майнером (ФОТО)
В Монако представили два летающих автомобиля AeroMobil за 1,5 млн евро
Новый Porsche Cayenne рассекречен во время тестов (ФОТО)
Apple обучает сотрудников техподдержки через Интернет
Один из самых дорогих автомобилей планеты попал под отзыв из-за дефекта