Выявлена новая уязвимость процессоров Intel, которая позволяет злоумышленникам получать доступ к зашифрованным данных из внутренних процессов CPU. Новая уязвимость, получившая кодовое имя PortSmash (идентификатор — CVE-2018-5407), была открыта группой из пяти учёных из Технологического университета Тампере в Финляндии и Технического университета Гаваны на Кубе.
Исследователи классифицировали PortSmash как атаку по сторонним каналам. Этот класс атак направлен на уязвимости в практической реализации криптосистемы. В отличие от теоретического криптоанализа, атака по сторонним каналам использует информацию о физических процессах в устройстве, которые не рассматриваются в теоретическом описании криптографического алгоритма. Как правило, в нём используются методы анализа расхождений во времени работы, энергопотреблении, электромагнитных утечках или даже звуке для получения дополнительной информации, позволяющей взломать алгоритмы шифрования и получить доступ к обработанным процессором данным.
Исследователи отмечают, что теоретически атаке PortSmash подвержены любые процессоры, использующие технологию Simultaneous Multithreading (SMT), которая позволяет одновременно выполнять несколько вычислительных потоков на одном ядре процессора. Если говорить простыми терминами, атака работает путём запуска вредоносного процесса на одном ядре с обычным потоком, используя возможности SMT. Вредоносный процесс PortSmash затем позволяет производить утечки небольшого количества данных из параллельного процесса, помогая злоумышленникам получить зашифрованные данные. Исследователи уже подтвердили, что PortSmash работает на процессорах Intel с поддержкой Hyper-Threading (HT), собственной реализации SMT.
Его команда уже опубликовала на GitHub код, доказывающий возможность работы такого эксплойта, который демонстрирует атаку PortSmash на процессоры Intel семейств Skylake и Kaby Lake. Зловред настроен на кражу закрытого ключа OpenSSL (<= 1.1.0h) P-384 с сервера TLS, но может быть модифицирован для извлечения любого другого типа зашифрованных данных. Следует отметить, что код PortSmash должен обязательно работать на том же физическом ядре, что и код процесса-жертвы, но это не является слишком большим препятствием для злоумышленников, тем более что для PortSmash не требуются Root-привилегии, достаточно базовых пользовательских прав.
Исследователи заявили, что они сообщили о проблеме безопасности Intel ещё в прошлом месяце 1 октября, но на момент публикации выкладок компания не ещё не выпустила заплатку. Вдобавок специалисты не исключают, что PortSmash также можно использовать на других процессорах с SMT, прежде всего, AMD Ryzen. Это предмет дальнейших исследований.
Источник: