A Terrapin támadás képes csökkenteni az OpenSSH kapcsolatok biztonságát. Akadémiai kutatók egy új támadást fejlesztettek ki, melyet Terrapin néven publikáltak. A kapcsolat felépítésekor, a kézfogás során manipulálja a kódszámokat, hogy bizonyos széles körben használt titkosítási módok használata esetén feltörje az SSH-csatorna integritását.
Ez a manipuláció lehetővé teszi az támadók számára, hogy eltávolítsák vagy módosítsák azokat az üzeneteket, amelyeket a kommunikációs csatornán keresztül cseréltek ki, ezáltal csökkentve a felhasználói hitelesítésre használt publikus kulcs algoritmusok biztonságát vagy kikapcsolva a védelmet a billentyűleütés időzítési támadások ellen az OpenSSH 9.5 verziójában.
„A Terrapin támadás kihasználja az SSH szállítási réteg protokollának tervezési gyengeségeit azokkal a kriptográfiai algoritmusokkal és titkosítási módokkal együtt, amelyeket az OpenSSH több mint 10 évvel ezelőtt vezetett be.” – Ruhr University Bochum
A Terrapin támadás csökkenti a létrehozott kapcsolat biztonságát, fontos protokolltárgyalási üzenetek elhagyásával, anélkül hogy a kliens vagy a szerver észrevenné.
A Ruhr University Bochum kutatói fejlesztették ki a Terrapin támadást, és kihasználható végrehajtási hibákat is felfedeztek az AsyncSSH esetében.
A támadáshoz kapcsolódó gyengeségeket és hibákat most a következő azonosítókkal látták el:
Egy fontos megjegyzés a Terrapinről, hogy a támadóknak egy közbeékelődéses (MiTM) pozícióban kell lenniük a hálózati rétegen annak érdekében, hogy elfogják és módosítsák a kézfogási üzeneteket, és a kapcsolatnak a ChaCha20-Poly1305 vagy a CBC with Encrypt-then-MAC módban kell lennie.
A kézfogás befejezése után kicserélt üzenetek tartalma határozza meg a támadás következményeinek súlyosságát.
Annak ellenére, hogy a Terrapin specifikus követelményekkel rendelkezik, a említett titkosítási módok széles körű elfogadása (a vizsgálatok szerint 77%) lehetővé teszi a támadást a való életbeli helyzetekben.
„A Terrapin támadás kihasználja az SSH szállítási réteg protokollának gyengeségeit azokkal a kriptográfiai algoritmusokkal és titkosítási módokkal szemben, amelyeket az OpenSSH több mint 10 évvel ezelőtt vezetett be” – mondják a kutatók, hozzátéve, hogy „ezeket széles körben alkalmazzák az SSH implementációk széles palettáján, így ezek a jelenlegi implementációk többségét érintik”.
Több gyártó fokozatosan csökkenti a biztonsági problémát. Egy megoldás az, hogy szigorú kulcskicserélést alkalmazzanak, amely lehetetlenné teszi a csomaginjekciókat a kézfogás során.
Azonban eltarthat egy ideig, amíg az ilyen problémát mindenhol megoldják, és a kutatók megjegyzik, hogy a szigorú kulcskicserélés elváró intézkedés csak akkor hatékony, ha mindkét oldalon, tehát mind a kliens-, mind a szerveroldalon alkalmazzák.
A csapat a GitHubon közzétette a Terrapin sebezhetőségi ellenőrzőt, amellyel a rendszergazdák megállapíthatják, hogy egy SSH-kliens vagy szerver sebezhető-e a támadással szemben.
A Terrapin nem egy egyszerű szoftverhiba, amely egyetlen könyvtár vagy komponens frissítésével javítható. Ehelyett a klienseket és szervereket kell frissíteni, hogy megvédjék a kapcsolatot a prefix csonkítási támadások ellen.
Jelenleg a támadás legnagyobb enyhítő tényezője a MiTM követelmény, ami a Terrapint kevésbé súlyos fenyegetéssé teszi. Emiatt a CVE-2023-48795 foltozása sok esetben nem feltétlenül lesz prioritás.
A Terrapin támadásról további részletek a német kutatók által kiadott technikai leírásban olvashatóak.