Terrapin - o vulnerabilitate în protocolul SSH care vă permite să reduceți securitatea conexiunii

Un grup de cercetători de la Universitatea Ruhr din Bochum (Germania) a prezentat o nouă tehnică de atac MITM pe SSH - Terrapin, care exploatează o vulnerabilitate (CVE-2023-48795) din protocol. Un atacator capabil să organizeze un atac MITM are capacitatea, în timpul procesului de negociere a conexiunii, de a bloca trimiterea unui mesaj prin configurarea extensiilor de protocol pentru a reduce nivelul de securitate a conexiunii. Un prototip al setului de instrumente de atac a fost publicat pe GitHub.

În contextul OpenSSH, vulnerabilitatea, de exemplu, vă permite să anulați conexiunea pentru a utiliza algoritmi de autentificare mai puțin siguri și să dezactivați protecția împotriva atacurilor pe canalele laterale care recreează intrarea prin analizarea întârzierilor dintre apăsările de la tastatură de pe tastatură. În biblioteca Python AsyncSSH, în combinație cu o vulnerabilitate (CVE-2023-46446) în implementarea mașinii de stare internă, atacul Terrapin ne permite să ne confundăm într-o sesiune SSH.

Vulnerabilitatea afectează toate implementările SSH care acceptă criptare ChaCha20-Poly1305 sau CBC în combinație cu modul ETM (Encrypt-then-MAC). De exemplu, capabilități similare sunt disponibile în OpenSSH de mai bine de 10 ani. Vulnerabilitatea este remediată în versiunea de astăzi a OpenSSH 9.6, precum și în actualizările la PuTTY 0.80, libssh 0.10.6/0.9.8 și AsyncSSH 2.14.2. În Dropbear SSH, remedierea a fost deja adăugată la cod, dar o nouă ediție nu a fost încă generată.

Vulnerabilitatea este cauzată de faptul că un atacator care controlează traficul de conexiune (de exemplu, proprietarul unui punct wireless rău intenționat) poate ajusta numerele de secvență a pachetelor în timpul procesului de negociere a conexiunii și poate realiza ștergerea silențioasă a unui număr arbitrar de mesaje de serviciu SSH. trimis de client sau server. Printre altele, un atacator poate șterge mesajele SSH_MSG_EXT_INFO folosite pentru a configura extensiile de protocol utilizate. Pentru a preveni cealaltă parte să detecteze o pierdere de pachet din cauza unui decalaj în numerele de secvență, atacatorul inițiază trimiterea unui pachet fals cu același număr de secvență ca și pachetul de la distanță pentru a schimba numărul de secvență. Pachetul fals conține un mesaj cu steag SSH_MSG_IGNORE, care este ignorat în timpul procesării.

Terrapin - o vulnerabilitate în protocolul SSH care vă permite să reduceți securitatea conexiunii

Atacul nu poate fi efectuat folosind coduri de flux și CTR, deoarece încălcarea integrității va fi detectată la nivelul aplicației. În practică, doar cifrul ChaCha20-Poly1305 este susceptibil la atac ([e-mail protejat]), în care starea este urmărită numai prin numerele de secvență a mesajelor și o combinație din modul Encrypt-Then-MAC (*[e-mail protejat]) și cifrurile CBC.

În OpenSSH 9.6 și în alte implementări, este implementată o extensie a protocolului „strict KEX” pentru a bloca atacul, care este activat automat dacă există suport pe partea serverului și a clientului. Extensia termină conexiunea la primirea oricăror mesaje anormale sau inutile (de exemplu, cu steag-ul SSH_MSG_IGNORE sau SSH2_MSG_DEBUG) primite în timpul procesului de negociere a conexiunii și, de asemenea, resetează contorul MAC (Codul de autentificare a mesajelor) după finalizarea fiecărei schimburi de chei.

Sursa: opennet.ru

Adauga un comentariu