На менее безопасных компьютерах или устройствах эти спекулятивные недостатки конструкции выполнения могут быть использованы вредоносными программами или путем нештатного входа в систему, медленно извлекая личную информацию, такую как пароли, из памяти ядра или приложения.
Варианты 1 и 2 обнаруженных в современных процессорах уязвимостей называются Spectre (CVE-2017-5753, CVE-2017-5715), а вариант 3 — Meltdown (CVE-2017-5754). паника в отрасли некоторое время назад. Одна волна за другой, сегодня исследователи Microsoft и Google раскрыли новый вариант уязвимости 4 (CVE-2018-3639).
Для более качественного контента, пожалуйста, обратите внимание на паблик WeChat "AI Frontline", (ID: ai-front)
Вариант 4 затрагивает неупорядоченные процессорные ядра Intel, AMD и Arm, а также процессоры IBM Power 8, Power 9 и System z. Вы знаете, ядра ARM широко используются в смартфонах, планшетах и встроенной электронике по всему миру.
Четвертый вариант может быть использован файлами сценариев, запускаемыми программой (такими как JavaScript веб-страницы на вкладке браузера), для извлечения конфиденциальной информации из других частей приложения, например личных данных с другой вкладки.
Согласно Intel, она выпустила общедоступные средства устранения для варианта 1, который является самой сложной проблемой для устранения, поэтому использовать вариант 4 намного сложнее. Другими словами, исправление уязвимости Варианта 1 затруднит для Варианта 4 атаку на веб-браузеры, а также выполнение скриптов и подобных программ на других языках на лету.
До сих пор неизвестно о распространении кода для варианта 4.
Кроме того, исследователи также обнаружили уязвимость CVE-2018-3640: это мошенническое чтение системных регистров, позволяющее обычным программам просматривать флаги состояния оборудования в регистрах и т. д., доступ к которым должен быть только у ядра операционной системы, драйверов и гипервизоров. .
Вариант 4 называется спекулятивным обходом магазина. Это еще один вариант «подождите, почему я не подумал об этом?» в мире инженерных разработок с неупорядоченным исполнением. Уязвимость обнаружил Янн Хорн из Google Project Zero, который первым обнаружил ранние уязвимости Spectre и Meltdown.
Уязвимость работает на основе того факта, что при наличии большого количества программных инструкций для сохранения данных в памяти ЦП ожидает любого другого выполнения не по порядку после завершения сохранения. Запись в память обычно выполняется медленно по сравнению с другими инструкциями. Современный ЦП не будет заблокирован памятью, поэтому параллельно будет искать другие задачи, которые можно выполнять одновременно.
Если ядро процессора находит команду загрузить данные из памяти во время выполнения программой спекуляции, оно предсказывает, повлияло ли на загрузку предыдущее сохранение. Например, если хранилище записывается в память, а затем извлекается из памяти, сохранение должно завершиться первым. Если прогнозируется, что загрузка безопасна, процессор выполняет операцию спекулятивно, в то время как остальная часть чипа занята операциями сохранения и другим кодом.
Это спекулятивное поведение включает извлечение данных из памяти в кэш данных L1. Если выяснится, что программа не должна запускать загрузку перед сохранением, слишком поздно отказываться от инструкции и перезапускаться: на основе извлеченных данных затрагиваются кэшированные данные, оставляя вредоносной программе достаточно возможностей коснуться извлеченных данных. данные. Повторяя этот процесс снова и снова, вы можете копировать эти данные из других частей приложения. Например, JavaScript, работающий на одной вкладке браузера, может отслеживать веб-страницы на других вкладках.
Название Spectre было выбрано с глубоким смыслом: это как привидение, постоянно наблюдающее за машиной. Частные данные можно идентифицировать, наблюдая за кэшами, обновляемыми механизмом спекулятивного исполнения процессора. Это предположение имеет решающее значение для максимально быстрой работы чипа за счет как можно меньшего количества простаивающих процессоров, но недостатком является то, что ЦП можно обмануть, заставив утечку содержимого памяти приложениям и сценариям, которые должны быть запрещены.
Следующее видео, созданное гигантом дистрибуции Linux Red Hat, показывает, как работает этот недостаток:
«Спекулятивное выполнение, используемое Variant 4, которое является общей чертой большинства современных процессорных архитектур, может раскрывать определенные типы данных по сторонним каналам», — сказал Лесли Калбертсон, руководитель службы безопасности продуктов Intel.
«В данном случае исследователи продемонстрировали вариант 4 в языковой среде выполнения,Пока мы не обнаружили случаев кражи информации через браузеры, браузер является наиболее часто используемой средой выполнения, такой как JavaScript, работающий в веб-браузере. "
«Начиная с января, большинство ведущих поставщиков браузеров развернули средства защиты для варианта 1 в своих управляемых средах выполнения. Эти средства устранения значительно усложняют использование побочных каналов в веб-браузерах, и то же самое относится к варианту 4, который теперь доступен для потребителей. "
По словам Калбертсона, Intel и другие компании выпустят новые настройки микрокода и программного обеспечения, чтобы более комплексно бороться с вредоносными программами, использующими четвертый вариант. Сообщается, что производители компьютеров и устройств тестируют исправления. Интересно, что эти исправления отключены по умолчанию, предположительно потому, что риск успешного эксплойта слишком низок. Эту ошибку сложно исправить, но также трудно использовать. Другой причиной отключения по умолчанию может быть то, что Intel в прошлом изо всех сил пыталась развернуть стабильные обновления Spectre.
«Чтобы гарантировать, что предлагаемые нами средства защиты являются комплексными и эффективными против других средств атаки, мы и наши отраслевые партнеры предоставляем дополнительные средства защиты для варианта 4, который представляет собой комбинацию обновлений микрокода и программного обеспечения», — сказал руководитель Intel.
«Мы сделали обновление микрокода бета-версии 4 доступным для сборщиков систем OEM и поставщиков системного программного обеспечения, а выпуск обновлений BIOS и программного обеспечения для производства ожидается в ближайшие недели».
"Это смягчение будет установлено по умолчанию, что даст клиентам возможность включить его или нет. Мы ожидаем, что большинство отраслевых партнеров по программному обеспечению также будут использовать параметр отключения по умолчанию. Мы не наблюдали падения производительности в этой конфигурации. С включенными смягчениями мы наблюдаемые общие оценки для клиентских и серверных тестовых систем на основе таких тестов, как SYSmark 2014 SE и SPECповлияет на 2-8%. "
Об этом говорится в заявлении представителя Arm.
Последний вариант Spectre влияет на небольшое подмножество ядер Arm Cortex-A, которые пользователи могут исправить с помощью разработанного Arm обновления прошивки, доступного на www.arm.com/security-update. Как и предыдущий вариант Spectre, этот вариант может атаковать только тогда, когда на устройстве пользователя запущено определенное вредоносное ПО.Arm настоятельно рекомендует отдельным пользователям соблюдать меры безопасности, чтобы предотвратить атаки вредоносных программ и обеспечить обновление программного обеспечения до последней версии.
Кроме того, в июле Arm предоставит разработчикам SoC обновленные версии ядер Cortex-A72, Cortex-A73 и Cortex-A75 для Spectre версии 2, которые будут устойчивы к расплавлению, или вариант 3.
Представитель AMD сказал:
Рекомендуемый AMD SSB Speculative Store Bypass] требует обновления ОС для процессоров семейства 15 (продукты «Bulldozer»). Технические подробности см. в официальном документе AMD (https://developer.amd.com/wp-content/resources/124441_AMD64_SpeculativeStoreBypassDisable_Whitepaper_final.pdf). Microsoft близится к завершению окончательного тестирования и проверки обновлений AMD для клиентских и серверных операционных систем Windows, которые, как ожидается, будут выпущены в рамках стандартного процесса обновления. Точно так же дистрибьюторы Linux разрабатывают обновления ОС для SSB. AMD рекомендует вам обратиться к поставщику операционной системы за конкретными инструкциями.
Исходя из сложности эксплуатации уязвимостей,AMD и наши партнеры по экосистеме в настоящее время рекомендуют настройки по умолчанию для поддержки устранения неоднозначности памяти..
Сегодня Red Hat выпустила подробное руководство по устранению четвертого варианта, объясняющее влияние уязвимости и то, как она работает, см.:
https://www.redhat.com/en/blog/speculative-store-bypass-explained-what-it-how-it-works
VMware также предоставляет советы и обновления:
https://blogs.vmware.com/security/2018/05/vmsa-2018-0012.html#
И проект Xen объясняет и предлагает исправление:
https://xenbits.xen.org/xsa/advisory-263.html
Представитель IBM пока не дает комментариев.
Мы отмечаем, что до сих пор не было обнаружено ни одного вредоносного ПО, использующего какие-либо уязвимости Spectre и Meltdown в чипах, не говоря уже об этом последнем варианте, возможно, потому, что широко распространенные средства защиты сделали это невозможным для злоумышленников, или просто делать это Не стоит, так как есть также множество уязвимостей повышения привилегий, которые можно использовать в ядре и других приложениях.
В дополнение к этому, были различные попытки использовать недостатки дизайна серии Spectre, например, ранее в этом месяце (https://www.theregister.co.uk/2018/05/03/just_your_monthly_reminder_that_the_spectre_bug_is_still_out_there/), а также три недостатка дизайна. раскрывается дважды в месяц (https://www.theregister.co.uk/2018/03/01/us_researchers_apply_spectrestyle_tricks_to_break_intels_sgx/).
Кроме того, чтобы использовать эти недостатки, на устройстве должно быть запущено вредоносное ПО, что является непростой задачей, поскольку вам нужно обманом заставить пользователя установить какой-то плохой код. Intel рекомендует пользователям сканировать память с помощью графического процессора на досуге, чтобы проверить наличие программных ошибок, таких как вредоносное ПО, использующее Spectre.
Для нас эти дыры в безопасности на уровне чипа — возможность получить представление о дизайне полупроводников, в данном случае одержимость скоростью оставила механизмы защиты памяти в углу. А в мире разработки операционных систем и компиляторов программистам предстоит пройти долгий путь по защите кода ядра и пользовательского режима.
Оригинальная ссылка:
https://www.theregister.co.uk/2018/05/21/spectre_meltdown_v4_microsoft_google/