
Поддержка сайта
Продвижение сайтов
Создание сайтов
Еще две серьезные аппаратные уязвимости в процессорах Intel
Intel опубликовала информацию о двух новых аппаратных уязвимостях в своих процессорах. Первый получил название L1DES — L1D Eviction Sampling и был классифицирован как CVE-2020-0549. Произошла утечка данных из кэша ЦП. Вторая аппаратная уязвимость затрагивает векторные регистры процессора и получила название VRS — Vector Register Sampling (CVE-2020-0548). Обе уязвимости относятся к классу MDS (Microarchitectural Data Sampling) и основаны на использовании методов анализа информации из побочных каналов. Специалисты особо подчеркивают, что с процессорами AMD и ARM таких проблем нет.
Наиболее опасной является аппаратная уязвимость L1DES, которая допускает утечку блоков кэшированных данных (строки кэша), выталкиваемых из кеша первого уровня (L1D) в неиспользуемый буфер хранилища (L1D Fill Buffer). Методы анализа по побочным каналам, предложенные в реализации атак MDS (Microarchitectural Data Samping) и TAA (Transactional Asynchronous Abortion), могут быть успешно использованы для чтения остальных данных в этом буфере.
В конце концов, хакер может прочитать данные, перемещенные из кеша первого уровня, которые были изменены приложением во время его выполнения, которые ранее находились в ядре ЦП. Что еще более неприятно, эти данные могут быть прочитаны параллельными приложениями в двух разных гиперпотоков, работающих на одном ядре процессора.
Как и другие уязвимости оборудования в процессорах Intel, отключение HyperThreading значительно снижает эффективность этой атаки. В отличие от атаки L1TF, новый L1DES не позволяет выбирать конкретные физические адреса для проверки, но вместо этого позволяет осуществлять пассивный мониторинг активности в других потоках, которая связана с загрузкой или записью данных в ОЗУ.
Интересно, что на основе L1DES различные группы специалистов уже разработали и представили несколько вариантов атак, позволяющих извлекать конфиденциальную информацию из других процессов, будь то в операционной системе, в виртуальных машинах или защищенных анклавах SGX.
Вот некоторые примеры:
- Команда VUSec адаптировала атаку RIDL для L1DES и представила прототип эксплойта, который обходит предложенный Intel метод защиты MDS, основанный на использовании инструкции процессора VERW для очистки буферов в микроархитектуре Intel во время возврата ядра на адрес пользователя. пространство или при передаче управления гостевой операционной системе. Эти эксперты с самого начала утверждали, что использование VERW для защиты недостаточно и требуется полный сброс кеша L1. Они оказались правы.
- Команда ZombieLoad обновила собственный метод атаки через аппаратные уязвимости, который теперь может использовать L1DES.
- Эксперты из Мичиганского университета разработали собственный метод CacheOut, который позволяет извлекать конфиденциальную информацию из ядра операционной системы, виртуальных машин и защищенных анклавов SGX. В этом методе используется механизм асинхронного прерывания TSX (TAA) для определения содержимого буфера хранения.
Вторая уязвимость VRS (Vector Register Sampling) связана с утечкой данных из буфера хранения (Store Buffer), в котором записываются результаты операций, в которых происходит чтение из векторных регистров, измененных при выполнении векторных инструкций из того же процессор. По аналогии с уязвимостью L1DES, информация в этом буфере может быть прочитана с помощью атак MDS и TAA.
Специалисты группы VUSec представили прототип эксплойта, который позволяет определить значение векторных регистров, полученных в результате вычислений, выполняемых в другом логическом потоке того же ядра процессора. Intel заявила, что аппаратная уязвимость VRS слишком сложна для проведения реальных атак, и присвоила ей минимальный уровень угрозы (2,8 CVSS).
Информация об этих двух новых аппаратных уязвимостях была представлена Intel в мае прошлого года группой Zombieload, Технологическим университетом в Граце (Австрия) и группой VUSec в Свободном университете Амстердама. Позднее эти уязвимости были исследованы и подтверждены другими группами экспертов.
Особенностью здесь является то, что первый отчет MDS с информацией об аппаратных уязвимостях L1DES и VRS не был опубликован сразу, потому что Intel никогда не предлагала никаких решений или исправлений. Но теперь согласованные сроки нераспространения этих данных истекли. В качестве обходного пути для устранения этих уязвимостей рекомендуется отключить HyperThreading. А чтобы заблокировать их на уровне ядра, рекомендуется очищать кэш L1 каждый раз при изменении контекста (биты MSR MSR_IA32_FLUSH_CMD) и отключать расширение TSX (биты MSR MSR_IA32_TSX_CTRL и MSR_TSX_FORCE_ABORT).
Intel пообещала вскоре представить обновление микрокода, чтобы заблокировать эти уязвимости. Но при этом не сказано, насколько снизится производительность процессора. Новые аппаратные уязвимости и атаки на их основе действительны для процессоров Intel Core, начиная с 6-го поколения (Sky, Kaby, Coffee, Whiskey, Amber Lake и др.), А также некоторых моделей Intel Xeon и Xeon Scalable. .
Кроме того, можно значительно улучшить эксплойт, позволяя использовать методы атаки RIDL, которые определяют содержимое хэша пароля root из папки / etc / shadow после нескольких попыток входа в систему. Изначально предлагаемый эксплойт определял этот хеш за 24 часа. Следующая версия с использованием асинхронного прерывания (TAA, TSX Asynchronous Abort) делает то же самое за 36 секунд. Но последняя версия использования двух новых аппаратных уязвимостей делает то же самое всего за 4 секунды.