SSH encryption modes differ in vulnerability to channel state attacks

Formally Modeling the Terrapin Attack on SSH

Cryptography and Security

Summary

This paper studies a specific kind of attack called the Terrapin attack that targets how SSH encrypts data using the channel’s state information. The authors created a detailed model to understand how different encryption methods handle this attack. They found that some common SSH encryption modes are vulnerable under certain conditions, while AES-GCM remains secure. Additionally, they discovered a related attack on another encryption style, showing varied security levels depending on the attack type.

What this means in practice

  • For ssh client developers: Choose and implement AEAD encryption modes based on formal security guarantees against channel state attacks.
  • For network security teams: Assess the security of SSH deployments by testing which AEAD modes protect against channel integrity attacks like Terrapin.

Authors

Jörg Schwenk, Fabian Bäumer, Marcus Brinkmann

Abstract

The Terrapin attack against SSH channel integrity (USENIX Security 2024) used a novel attack vector: attacks on the channel state. Surprisingly, not all AEAD modes of SSH were equally affected by this attack, and it remained an open question if "unaffected" meant "secure". Existing formal models for secure channels are based on stateful encryption. However, these models do not define what the channel state is and how it is used as input to the different AEAD modes. In this paper, we propose a formal model for channel integrity under partially chosen state. Applied to the Terrapin attack, the chosen state is the SSH sequence number. It uses an abstract stateful encryption interface, for which we provide pseudocode descriptions for the eight most prominent AEAD modes used in SSH. By varying the SND oracle, we can model ciphertext-only (CO; the Terrapin attack), known-plaintext (KPA), and chosen-plaintext (CPA) attacks. This allows us to establish concrete bounds on the security of the AEAD modes. We find that all three Encrypt-then-MAC (EtM) modes and ChaCha20-Poly1305 in SSH are insecure in the CO model. AES-GCM is the only cipher secure in all three model variants. Going beyond Terrapin, we show that Encrypt-and-MAC (EaM) with a CBC cipher is secure, even in the KPA model. In particular, we describe a novel BEAST-like chosen-plaintext attack on the channel integrity of EaM-CBC, which separates the KPA and CPA models for this scheme.