Атака DUHK поможет восстановить ключи шифрования для VPN- и веб-сессий

На прошлой неделе ИБ-специалисты сообщили о двух крупных криптографических проблемах: KRACK и ROCA. И хотя индустрия еще не успела оправиться от этих новостей, исследователи Пенсильванского университета и Университета Джонса Хопкинса уже рассказали (PDF) о еще одной «именной» проблеме: DUHK (Don’t Use Hard-coded Keys).

Проблема DUHK, получившая идентификатор CVE-2016-8492, складывается из двух основных факторов. Во-первых, использование генератора случайных чисел ANSI X9.31, который широко применяется для создания ключей шифрования для VPN-соединений, браузерных сессий и так далее. Во-вторых, вина лежит на производителях, которые зачастую используют жестко закодированный seed key для ANSI X9.31. В нормальных обстоятельствах seed key должен генерироваться случайно, при каждом запуске устройства или самого ANSI X9.31.

В итоге исследователи обнаружили, что когда «железные» и софтверные продукты используют ANSI X9.31 и жестко закодированный seed key, атакующий имеет возможность расшифровать данные, проходящие через уязвимое устройство. В числе прочего, это касается VPN-соединений, и браузерных сессий, содержащих учетные данные, платежную информацию и многое другое.

В своем докладе специалисты рассказывают о том, что им удалось расшифровать трафик, проходящий через устройства Fortinet FortiGate. Данные продукты используются компаниями по всему миру в качестве файрволов и для создания приватных VPN-сетей.

Добиться такого результата аналитикам удалось отреверсив прошивку FortiGate, где и был обнаружен жестко закодированный seed key, при помощи которого специалисты сумели определить остальные параметры шифрования и получить основной ключ шифрования. Хуже того, по своей сути, атака пассивна, то никакого взаимодействия с пользователем она не требует, а заметить ее крайне трудно. Единственное условие, которое нужно соблюсти: атакующий должен находиться в позиции, которая позволит ему «видеть» трафик, поступающий на атакуемое устройство.

По данным исследователей, перед атаками DUHK уязвима FortiOS от версии 4.3.0 до 4.3.18, и в настоящее время таких устройств в сети насчитывается более 23 000. FortiOS 5.x уязвимости не подвержена. Также разработчики уже убрали seed key из кода FortiOS 4.3.19, после того как ИБ-специалисты сообщили им о проблеме.

Хотя, по мнению исследователей, атаку DUHK не так просто осуществить, применить ее на практике более чем возможно. Так, эксплуатируя DUHK, современный компьютер в среднем способен подобрать основной ключ шифрования для соединения всего за четыре минуты.

Ситуация осложняется тем, что Fortinet – не единственный уязвимый производитель. В своем отчете специалисты представили список продуктов, где используется ANSI X9.31 и жестко закодированные seed key. Как можно увидеть на иллюстрации ниже, в этот список, в числе прочего, вошли решения компаний Cisco и TechGuard.