Атака Terrapin ослабляет защиту SSH-соединений

Ученые из Рурского университета в Бохуме разработали атаку Terrapin, которая манипулирует данными в процессе хендшейка, в итоге нарушая целостность канала SSH при использовании ряда широко распространенных режимов шифрования. Также исследователи обнаружили ряд проблем в имплементации AsyncSSH.

Представленная специалистами атака позволяет удалять или изменять сообщения, передающиеся в рамках канала связи, что приводит к даунгрейду уровня алгоритмов публичных ключей, используемых для аутентификации пользователей, или к полному отключению защиты от timing-атак, основанных на анализе времени нажатия клавиш, в OpenSSH 9.5. В итоге Terrapin снижает безопасность соединения, манипулируя negotiation-сообщениями таким образом, что клиент или сервер этого не замечают.

«Атака Terrapin эксплуатирует слабости транспортного протокола SSH в сочетании с новыми криптографическими алгоритмами и режимами шифрования, представленными в OpenSSH более 10 лет назад», — пишут исследователи, добавляя, что те были приняты широким кругом имплементаций SSH и затрагивают большинство текущих реализаций.

Уязвимости, связанные с этой атакой, получили следующие идентификаторы:

  • CVE-2023-48795, общая уязвимостью SSH на уровне протокола;
  • CVE-2023-46445 и CVE-2023-46446, проблемы, характерные для SSH-клиента AsyncSSH, который ежедневно скачивают около 60 000 пользователей.

Следует отметить, что для перехвата и модификации хендшейка атакующий должен заранее занять в сети позицию типа man-in-the-middle (MiTM), а соединение должно быть защищено либо посредством ChaCha20-Poly1305, либо CBC с Encrypt-then-MAC.

Но, даже несмотря на эти специфические требования, широкое применение упомянутых режимов шифрования (анализ показал, что они используются в 77% случаев) делает атаку возможной и в реальном мире. Хотя на данный момент сложно определить реальные последствия этой проблемы, поскольку все зависит от индивидуальных конфигураций клиент-сервер, имплементации протокола и множества других факторов.

Общая схема атаки Terrapin

Так как, обнаружив уязвимость, ученые еще в октябре раскрыли подробности проблемы разработчикам SSH-клиентов и серверов, многие производители уже пытаются бороться с Terrapin. Так, одним из решений является строгий обмен ключами, который делает инъекции пакетов во время хендшейка невозможными.

В случае упомянутого выше AsyncSSH, было обнаружено, что в исходном коде имеются ошибки имплементации, характерные для этого клиента, которые могут использоваться при атаке. Например, для того, чтобы жертва неосознанно вошла в контролируемый злоумышленником shell-аккаунт

Для AsyncSSH уже выпущены исправления, устраняющие CVE-2023-46445 и CVE-2023-46446 в версии 2.14.1, и уязвимость CVE-2023-48795 в версии 2.14.2.

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

«Terrapin — не простая программная ошибка, которую можно исправить обновлением одной библиотеки или компонента. Вместо этого необходимо обновить клиенты и серверы, чтобы защитить соединение от атак типа prefix truncation», —подчеркивают эксперты.

Исследователи опубликовали на GitHub сканер для обнаружения уязвимостей Terrapin, с помощью которого администраторы смогут определить, уязвим ли их SSH-клиент или сервер к этой атаке.

Анализ
×
Meta (запрещена в РФ)
Сфера деятельности:Связь и ИТ
967
Рурский университет в Бохуме
Сфера деятельности:Образование и наука