Terrapin, útok MITM na SSH, ktorý manipuluje s poradovými číslami počas procesu vyjednávania o pripojení

zraniteľnosť

Ak sú tieto chyby zneužité, môžu útočníkom umožniť získať neoprávnený prístup k citlivým informáciám alebo vo všeobecnosti spôsobiť problémy

V poslednej dobe, skupina vedcov z Ruhrskej univerzity v Bochume, Nemecko, predstavil podrobnosti o novej technike útoku MITM cez SSH, ktoré majú pokrstený ako «Žerná korytnačka» a ktoré spomínajú, by mohli umožniť útočníkovi znížiť bezpečnosť pripojenia SSH pri použití vyjednávania rozšírenia SSH. Vplyv v praxi by do značnej miery závisel od podporovaných rozšírení, ale „takmer všetky“ sú zraniteľné.

Terrapin využíva zraniteľnosť (už katalogizované pod CVE-2023-48795), ktoré útočník môže využiť na organizáciu útoku MITM pri použití OpenSSHTáto zraniteľnosť vám umožňuje obnoviť pripojenie a používať menej bezpečné autentifikačné algoritmy alebo deaktivovať ochranu pred útokmi postranných kanálov, ktoré znovu vytvárajú vstup analyzovaním oneskorení medzi stlačeniami klávesov na klávesnici.

"Útočník môže starostlivým nastavením sekvenčných čísel počas handshake vymazať ľubovoľný počet správ odoslaných klientom alebo serverom na začiatku zabezpečeného kanála bez toho, aby si to klient alebo server všimol," uvádzajú vedci.

Pokiaľ ide o zraniteľnosť, spomína sa, že toto ovplyvňuje všetky implementácie SSH, ktoré podporujú šifry v režime ChaCha20-Poly1305 alebo CBC v kombinácii s režimom ETM (Encrypt-then-MAC). Napríklad podobné funkcie sú dostupné v OpenSSH už viac ako 10 rokov.

„Najčastejšie to ovplyvňuje bezpečnosť autentifikácie klienta pri použití verejného kľúča RSA. Pri používaní OpenSSH 9.5 sa dá použiť aj na deaktiváciu určitých protiopatrení proti útokom na časovanie stlačenia klávesov,“ píšu vedci.

Zraniteľnosť je spôsobená tým, že útočník, ktorý riadi prevádzku pripojenia (napr. vlastník škodlivého bezdrôtového bodu) môže upraviť poradové čísla paketov počas procesu vyjednávania o pripojení a dosiahnuť tiché vymazanie ľubovoľného počtu servisných správ SSH odoslaných klientom alebo serverom.

Okrem iného útočník by mohol odstrániť správy SSH_MSG_EXT_INFO použité na konfiguráciu rozšírení protokolov, ktoré sa používajú. Aby sa druhej strane zabránilo v detekcii straty paketu v dôsledku medzery v sekvenčných číslach, útočník iniciuje odoslanie fiktívneho paketu s rovnakým poradovým číslom ako vzdialený paket, aby zmenil poradové číslo. Falošný paket obsahuje správu s príznakom SSH_MSG_IGNORE, ktorý sa počas spracovania ignoruje.

Na vykonanie útoku Terrapin v praxi útočníci vyžadujú schopnosti man-in-the-middle na sieťovej vrstve na zachytenie a úpravu prevádzky. Okrem toho sa musia dohodnúť špecifické metódy šifrovania, aby sa zabezpečil bezpečný prenos údajov počas pripojenia.

Útok nie je možné vykonať pomocou prúdových šifier a CTR, pretože narušenie integrity bude zistené na aplikačnej úrovni. V praxi, používa sa iba šifrovanie ChaCha20-Poly1305 v ktorom je stav sledovaný výlučne podľa poradových čísel správ a kombináciou režimu Encrypt-Then-MAC (*-etm@openssh.com). ) a CBC šifry podliehajú útokom.

Je to spomenuté bol tiež zistený v knižnici Python AsyncSSH, V kombinácii so zraniteľnosťou (CVE-2023-46446) v implementácii interného stavového automatu nám útok Terrapin umožňuje preniknúť do relácie SSH.

Zraniteľnosť Opravené vo verzii OpenSSH 9.6 a v tejto verzii OpenSSH a iných implementáciách, na blokovanie útoku je implementované rozšírenie protokolu „strict KEX“., ktorá je automaticky povolená, ak existuje podpora na strane servera a klienta. Rozšírenie ukončí pripojenie po prijatí akýchkoľvek abnormálnych alebo nepotrebných správ (napríklad s príznakom SSH_MSG_IGNORE alebo SSH2_MSG_DEBUG) prijatých počas procesu vyjednávania o pripojení a tiež vynuluje počítadlo MAC (kód na overenie správ) po dokončení každej výmeny kľúčov.

Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete si podrobnosti prečítať v nasledujúci odkaz.