Поступают новые подробности относительно выявленной архитектурной проблемы современных процессоров. Специализированные ресурсы рассказывают о том, что есть три основных варианта атак, связанных с безопасностью памяти (1 — bounds check bypass CVE-2017-5753, 2 — branch target injection CVE-2017-5715 и 3 — rogue data cache load CVE-2017-5754). Им даны условные названия Meltdown («Катастрофа» — вариант 3 и 3а) и Spectre («Призрак» — варианты 1 и 2). О Meltdown мы писали — она даёт возможность преодолеть барьер между приложениями и внутренней памятью ядра операционной системы, что позволяет получить доступ к защищённым данным из памяти ОС.
Spectre, в свою очередь, даёт возможность обойти аналогичный барьер, но между отдельными приложениями: проще говоря, одна служба может считать сведения из памяти другой. Spectre заметно сложнее в реализации, но борьба с уязвимостью обещает быть более трудной. «Призрачная атака» вполне возможно станет более долгосрочной проблемой, с которой будут иметь дело пользователи и разработчики. Оттого и выбрано название.
Обе атаки подробно описаны на отдельном сайте специалистами по безопасности из Google Project Zero, Грацского технического университета и некоторых других организаций. В основе проблем лежит метод спекулятивного исполнения команд — технология предсказания команд, используемая в современных процессорах и позволяющая ускорять работу чипов. Процессор, имея свободные ресурсы, может просчитывать заранее некоторые операции и хранить результаты в нескольких уровнях кеш-памяти, а в случае необходимости передавать их приложению. Если необходимость не возникает, данные просто пропадают. Вот с помощью различных уловок со спекулятивным исполнением злоумышленники и могут получить доступ к некоторым важным данным, хранящимся в общей памяти, а через них — к нужным приложениям.
Как сообщают специалисты, уязвимости Meltdown подвержены все процессоры Intel с поддержкой исполнения команд с изменением последовательности (out-of-order execution). Это почти все чипы, выпущенные с 1995 года за исключением серии Itanium целиком и чипов Atom до 2013 года. В настоящее время нет подтверждений о том, что процессоры ARM и AMD подвержены Meltdown.
А вот в случае со Spectre ситуация хуже: ей потенциально подвержены большинство современных процессоров, способных управлять множеством инструкций на лету. Специалисты утверждают, что проверили работу Spectre на процессорах Intel, AMD и ARM. Другими словами, к ПК и серверам прибавляются сотни миллионов смартфонов и планшетов.
После некоторого молчания Intel официально отметила, что проблема с безопасностью памяти касается не только её процессоров, добавив, что сотрудничает с AMD и ARM (не говоря уже о производителях различных ОС) над разработкой эффективного решения. Компания также подчеркнула, что влияние на производительность будет очень сильно зависеть от типа нагрузки и не должно оказаться заметным для «рядового пользователя ПК». Это отчасти подтверждается ранними тестами.
Intel также добавила, что речь идёт скорее не о дыре в безопасности, а о программных методах анализа, которые потенциально могут приводить к извлечению важных данных с устройств. Возможности повредить, удалить или модифицировать данные нет. Впрочем, если злоумышленник через атаки Meltdown или Spectre получит пароли, то затем сможет нанести и более чувствительный урон. По словам главы Intel Браяна Кржанича (Brian Krzanich), пока неизвестны случаи использования уязвимости злоумышленниками. Intel и другие компании, как и сообщалось в слухах, собираются опубликовать полные данные о проблеме на следующей неделе, вместе с выпуском исправляющих прошивок и программных заплаток. Производитель чипов возвысил голос, желая лишь прокомментировать распространившиеся сообщения. Это неудивительно — ведь если бы проблема в самом деле касалась исключительно чипов Intel, это был бы серьёзный удар по авторитету компании.
Впрочем, AMD отвергает слова Intel относительно уязвимости всех современных процессоров, независимо от производителя, и утверждает, что риск в отношении её чипов близок к нулю: «Привет. Сейчас распространились предположения относительно потенциальной проблемы безопасности, связанной с современными микропроцессорами и спекулятивным исполнением команд. Как и всегда, в случае выявления потенциальной проблемы безопасности AMD стремится обеспечить максимальную защиту пользователей и работает со всей нашей экосистемой, чтобы оценить и ответить в случае необходимости на связанные со спекулятивным исполнением команд атаки, выявленные группой специалистов в области безопасности.
Для ясности: группа исследования вопросов безопасности выявила три варианта атак, нацеленных на спекулятивное исполнение. Уровень угрозы и решения всех трёх вариантов отличаются в зависимости от производителя микропроцессоров, и AMD не подвержена всем трём вариантам атак. Из-за отличий архитектуры AMD, мы полагаем, что для наших процессоров в настоящее время риски почти нулевые. Чуть позже мы предоставим дополнительную информацию».
ARM, чипы которой широко используются в смартфонах и других устройствах, подтвердила, что некоторые из её микропроцессорных архитектур подвержены атакам, в том числе высокопроизводительные ядра Cortex-A (в случае с разными чипами отличается и набор уязвимостей). Серия Cortex-M для носимых устройств и Интернета вещей, например, вообще избавлена от проблемы. А вот Cortex-A15, A57, A72 и A75 могут подвергаться всем трём вариантам атак, включая Meltdown. В случае модифицированных производителями ядер вроде Apple A или Qualcomm Krait нужно проводить отдельные исследования.
О своих действиях в отношении проблемы рассказали также Google и Microsoft. Поисковый гигант, например, сообщил, что давно принимает меры. В частности, Android-устройства с последними обновлениями безопасности проблеме не подвержены, а успешные атаки Google пока не регистрировала. Приложения Google Apps, App Engine, устройства вроде актуальных Pixel и Nexus, Google Home, Chromecast и Google Wi-Fi тоже защищены. Пользователи Chrome 63 и Chrome OS 63 могут активировать тестовую функцию «Site Isolation», которая станет стандартной с выходом новых версий 23 января (не все хромбуки, впрочем, получат заплатки — только актуальные модели).
Microsoft, тем временем, выпустила в среду внеочередное обновление безопасности Windows 10 и тоже сделала официальное заявление: «Мы знаем об этой проблеме, которая затронула всю индустрию, и тесно сотрудничаем с производителями чипов для разработки и тестирования эффективных мер для защиты наших клиентов. Мы находимся в процессе развёртывания обновлений для облачных служб, а также выпустили обновления для защиты клиентов Windows от уязвимостей, влияющих на поддерживаемые аппаратные чипы от Intel, ARM и AMD. Мы не получали информации, которая бы указывала на использование уязвимостей для атаки наших клиентов».
Обновление: RedHat сообщает о наличии эксплойтов для аналогичных уязвимостей в CPU других архитектур, включая IBM System Z, POWER8 (Big Endian и Little Endian) и POWER9 (Little Endian). AMD поделилась подробностями об уязвимости своих чипов.