Похоже, проблемы индустрии с уязвимостями, которые активно обсуждались в январе, не собираются заканчиваться. Напомним: тогда общественность узнала, что почти все современные процессоры в той или иной степени подвержены на уровне архитектуры уязвимостям Meltdown и Spectre, связанным с принципом спекулятивных вычислений, используемым для повышения производительности CPU.
Как и предполагалось ранее, Meltdown CVE-2017-5754 (rogue data cache load — загрузка в кеш мошеннических данных), Spectre CVE-2017-5753 (bounds check bypass — обход проверки границ) и Spectre CVE-2017-5715 (branch target injection — целевое внедрение в ветвь) — могут быть далеко не единственными способами использования блока предсказания ветвлений для доступа к защищённым данным.
Исследователи из NVIDIA и Принстонского университета Каролина Триппель (Caroline Trippel), Даниэль Лустиг (Daniel Lustig), Маргарет Мартонози (Margaret Martonosi) опубликовали доклад, в котором описали новые типы атак, названные ими MeltdownPrime и SpectrePrime и снова затрагивающие почти все современные центральные процессоры.
Принцип этих атак схож, но новшество заключается в том, что они нацелены на многоядерные чипы и используют механизм аннулирования линий кеша в современных протоколах когерентности кеш-памяти при передаче данных между ядрами. Как и в случае с Meltdown и Spectre, успешная атака позволяет получить доступ к важной закрытой для сторонних приложений информации вроде паролей. Код SpectrePrime, предлагаемый исследователями в качестве доказательства концепции, приводит к успеху атаки в 99,95 % случаев исполнения на процессоре Intel (уровень успешности обычной атаки Spectre достигает 97,9 %).
Впрочем, в отличие от специалистов Google, в данном случае исследователи благоразумно не опубликовали свой код (напомним, что большинство зарегистрированных зловредов Spectre и Meltdown пока основаны именно на коде Google). Более того, по словам исследователей, разрабатываемые или выпущенные уже заплатки против Meltdown и Spectre вероятнее всего закроют и соответствующие Prime-уязвимости или потребуют минимальных доработок, чтобы залатать новые дыры. Напомним: все основные операционные системы уже получили заплатки против Meltdown и постепенно, не без трудностей, поступают новые прошивки и заплатки против Spectre. Также вносятся изменения в браузеры, антивирусы, драйверы и компиляторы программного обеспечения, чтобы обеспечить дополнительную защиту против Spectre.
Впрочем, MeltdownPrime и SpectrePrime могут создать проблемы для ещё не вышедших на рынок процессоров Intel и AMD. Дело в том, что оба ключевых производителя в настоящее время активно трудятся над внесением в будущие чипы аппаратных изменений против уязвимостей, связанных со спекулятивными вычислениями, однако, по словам исследователей, Prime-атаки могут потребовать собственных аппаратных заплаток. Разработка чипов — это долгий процесс, так что компании могут не успеть с исправлениями, и будущие процессоры, возможно, по-прежнему потребуют программных заплаток — например, архитектура Zen 2, которая, согласно обещанию AMD, не будет подвержена на аппаратном уровне атакам Spectre, выявленным специалистами Google.
«Мы считаем, что микроархитектурные исправления наших Prime-вариантов потребует новых усилий. В то время как Meltdown и Spectre возникают путём загрязнения кеша во время спекулятивных вычислений, MeltdownPrime и SpectrePrime вызваны тем, что запросы на запись отправляются спекулятивно в системе, которая использует протокол когерентности кеша на основе аннулирования», — отмечают специалисты.
Любопытно, что вместе с открытием MeltdownPrime и SpectrePrime корпорация Intel многократно подняла премии за найденные в её продуктах уязвимости, связанные с атаками Spectre по сторонним (побочным) каналам на кеш L3 — максимальная сумма может достигать теперь $250 тысяч. В общем, индустрии придётся её долго и упорно преодолевать выявленную проблему. А пользователям, не желающим терять пароли или другие данные, — своевременно обновлять системы и средства защиты от атак.
Источник: 3DNews