Trusted platform module (TPM) используются в бессчетном количестве устройств и гаджетов для генерации RSA-ключей для VPN, шифрования дисков, доступа к обычным аккаунтам, работы с сертификатами и так далее и тому подобное.
Сводная группа специалистов, в которую вошли представители чешского университета Масариков, итальянского университета Ка' Фоскари и компании Enigma Bridge, сообщает, что все TPM компании Infineon Technologies, выпущенные после 2012 года, содержат уязвимость, ослабляющую криптографию, из-за чего надежность RSA-ключей оказывается под большим вопросом. Баг распространяется на TPM на базе спецификаций TCG 1.2 и 2.0.
Проблема получила широкую огласку еще 10 октября 2017 года, когда Microsoft представила свой ежемесячный набор обновлений. В бюллетене ADV170012 компания предупредила о проблемах с криптографией в TPM Infineon Technologies и сообщила, что разрешает использование софтверных алгоритмов для генерации более надежных RSA-ключей. Также после установки обновления рекомендовалось ознакомиться с бюллетенем безопасности самой Infineon Technologies, установить эти исправления тоже, а после не забыть заново сгенерировать нужные ключи, избавившись от ненадежных.
Проблема затронула множество устройств, включая девайсы HP, Acer, Fujitsu, Lenovo, LG, «Хромбуки» и так далее. Причем устройства могут быть уязвимы, вне зависимости от используемой операционной системы, в опасности любая ОС, работающая с проблемными TPM. К тому же уязвимость представляет угрозу для некоторых токенов Yubikey 4, которые генерируют ненадежные аутентификационные ключи, из-за чего теперь их владельцам как можно скорее нужна замена. Также из-за этого бага уязвимыми оказались выпущенные в Эстонии идентификационные карты.
Обнаружившие уязвимость специалисты дали ей название ROCA (Return of Coppersmith's Attack), и проблема получила идентификатор CVE-2017-15361. В начале ноября исследователи выступят с докладом на конференции ACM CCS, где расскажут о проделанной работе подробно. Тем не менее, сам доклад уже был опубликован в открытом доступе. Также были выпущены инструменты для оффлайновой и онлайновой проверок, которые помогут протестировать RSA-ключи и убедиться в их надежности.
Специалисты отмечают, что хотя ROCA работает и ее можно применять на практике, массовые атаки вряд ли будут выгодны злоумышленникам с экономической точки зрения. Дело в том, что на воссоздание 1024-битного ключа, опираясь на открытый ключ, потребуется прядка 97 дней работы CPU, и это будет стоить 40-80 долларов, но для 2048-битного ключа понадобится уже 51400 дней и 20000-40000 долларов. Впрочем, взлом 512-битного ключа займет всего 2 часа и будет стоить лишь шесть центов.