Атака на процессоры Intel позволяет извлекать ключи шифрования
Техника получила название TLBleed, поскольку предполагает атаку на буфер быстрого преобразования адреса TLB.
Исследователи Амстердамского свободного университета (Нидерланды) представили новую атаку по сторонним каналам на процессоры Intel, позволяющую извлекать ключи шифрования и другую конфиденциальную информацию из приложений. Как сообщает The Register, специалисты опубликуют свое исследование на следующей неделе. По словам ученых, им удалось успешно осуществить атаки на десктопный процессор Intel Skylake Core i7-6700K, серверный процессор Intel Broadwell Xeon E5-2620 v4 и процессоры на базе микроархитектуры Coffee Lake и извлечь ключи шифрования в 99,8%, 98,2% и 99,8% случаев соответственно.
Исследователи разработали код, способный получать от другой программы 256-битный ключ шифрования, используемый для криптографической подписи данных, во время выполнения этой программой операции подписи с использованием реализации libgcrypt Curve 25519 EdDSA. На определение каждого ключа с помощью ПО с использованием машинного обучения и брутфорс-атак у исследователей ушло примерно 17 секунд.
Техника получила название TLBleed, поскольку предполагает атаку на буфер быстрого преобразования адреса TLB. Техника основывается на использовании реализованной в современных процессорах Intel технологии Hyper-Threading. Процессоры имеют несколько ядер, каждое из которых отдельно вызывает и выполняет код из памяти. С Hyper-Threading ядро может выполнять несколько (обычно два) потоков одновременно. То есть, два потока запускаются ядром одновременно и имеют с ним общую инфраструктуру.
Если ОС «говорит» ядру запустить поток в одной программе и еще один в другой, один поток может следить за другим по тому, как он получает доступ к ресурсам процессора. Таким образом, одна программа может получить доступ к конфиденциальным данным другой. То есть, вредоносное ПО вполне может извлекать ключи шифрования, скажем, почтового клиента, и использовать их для расшифровки сообщений.