21 Dicembre 2023

SSH interessato dalla vulnerabilità di sicurezza Terrapin

Non c’è bisogno di farsi prendere dal panico, ma aggiornate comunque SSH per stare più sicuri.

Una vulnerabilità intrinseca nel protocollo Secure Shell (SSH) presenta la possibilità di essere sfruttata da un avversario strategicamente posizionato, potenzialmente minando l’integrità delle connessioni SSH se determinate condizioni sono soddisfatte. Questo tipo di vulnerabilità può permettere a un attaccante, attraverso un’azione di man-in-the-middle (MITM) ben eseguita, di costringere i client SSH ad adottare metodi di autenticazione più vulnerabili e disattivare specifiche misure di sicurezza. La portata esatta di questa vulnerabilità è complessa da determinare a causa della varietà delle configurazioni client-server, delle diverse implementazioni del protocollo e di altre variabili contestuali. È importante notare che SSH è comunemente utilizzato per stabilire connessioni remote sicure e amministrare sistemi tramite un’interfaccia a riga di comando.

Un attacco, soprannominato “Terrapin Attack,” è stato dettagliatamente descritto in un documento tecnico di recente pubblicazione da Fabian Bäumer, Marcus Brinkmann e Jörg Schwenk, rispettati scienziati informatici affiliati all’Università della Ruhr a Bochum, in Germania. Questo attacco è stato portato alla luce in ottobre quando i ricercatori hanno discretamente informato gli sviluppatori di client e server SSH della vulnerabilità, promuovendo un processo di mitigazione che ora è diventato di dominio pubblico con la distribuzione di patch e informazioni correlate.

Il gruppo di ricerca ha anche reso disponibili script di accompagnamento e materiali aggiuntivi su GitHub per coloro che sono interessati ai dettagli tecnici più granulari. Un ulteriore strumento open source è stato sviluppato per verificare la suscettibilità di client e server SSH all’attacco Terrapin. In seguito a questa scoperta, si prevede che aggiornamenti software per SSH saranno distribuiti agli utenti, e nel frattempo, sono state proposte diverse strategie di mitigazione. Nonostante ciò, non c’è motivo di allarmarsi eccessivamente poiché l’attacco richiede una posizione MITM attiva sulla connessione vulnerabile piuttosto che un attacco diretto al server. Si tratta più di un attacco di declassamento piuttosto che di un problema legato a decrittazione o iniezione di comandi. Esistono, infatti, metodologie per proteggersi immediatamente dagli attacchi Terrapin.

È fondamentale essere consapevoli di tre CVE specifici: CVE-2023-48795, che riguarda la vulnerabilità generica a livello di protocollo SSH; e CVE-2023-46445 e CVE-2023-46446, che sono specifici per il client SSH Python AsyncSSH. AsyncSSH è particolarmente significativo, considerando i suoi circa 60.000 download giornalieri. Si è scoperto che questo client open source presentava errori nell’implementazione che potevano essere sfruttati in un attacco Terrapin per ingannare, ad esempio, una vittima a collegarsi a un account shell sotto il controllo dell’attaccante anziché al proprio. AsyncSSH ha affrontato queste vulnerabilità nelle versioni 2.14.1 e 2.14.2, rispettivamente.

Come funziona il Terrapin Attack su SSH ?

L’attacco Terrapin, in particolare il CVE-2023-48795, è un attacco di troncamento del prefisso che consente a un attaccante MITM di degradare la sicurezza di una connessione SSHv2 durante la fase di negoziazione dell’estensione. Questo attacco è analogo a un problema identificato nel 2015 in TLS 1.3 e successivamente risolto. Un attacco Terrapin riuscito può risultare nell’uso di algoritmi di autenticazione client meno robusti e nella disattivazione di specifiche contromisure contro gli attacchi basati sulla sequenza di tasti in OpenSSH 9.5. In circostanze particolarmente specifiche, potrebbe essere utilizzato per decifrare alcuni segreti, come la password di un utente o parti di essa durante l’accesso, anche se questo è un evento non banale e improbabile da realizzare in pratica.

Il meccanismo di attacco MITM di Terrapin implica l’inserimento di un messaggio di “ignora” in testo chiaro nella connessione pre-sicura durante l’handshake, causando l’incremento del contatore di sequenza per i messaggi ricevuti dal client, mentre il messaggio in sé viene ignorato. Una volta stabilito il canale sicuro, l’attaccante MITM impedisce al server di inviare messaggi al client relativi a difese aggiuntive. Nonostante il messaggio sia crittografato, l’aggressore si limita a impedirne l’arrivo, e il client non lo rileva né agisce di conseguenza. Questa manovra è fondamentale perché i conteggi corretti dei messaggi inviati e ricevuti sono successivamente utilizzati per verificare l’integrità dell’intero processo di handshake. Se i conteggi appaiono corretti, la connessione prosegue come se nulla fosse.

Terrapin-Attack

È importante notare che l’algoritmo di crittografia adottato per il canale sicuro è determinante per stabilire se una connessione SSH è suscettibile a un attacco riuscito. Alcuni algoritmi, come ChaCha20-Poly1305, sono stati identificati come “vulnerabili e perfettamente sfruttabili” a causa della modalità in cui i numeri di sequenza sono impiegati nella derivazione delle chiavi. Mentre non esiste un punto debole crittografico intrinseco in questi algoritmi, il modo in cui sono implementati per SSH può presentare vulnerabilità. Si è anche scoperto che il CBC-Encrypt-then-MAC (CBC-EtM) è probabilisticamente vulnerabile e sfruttabile, anche se, a seconda dell’implementazione specifica, l’attacco potrebbe non avere successo. L’algoritmo CTR-Encrypt-then-MAC è vulnerabile ma non praticamente sfruttabile.

Gli esperti hanno rilevato che oltre tre quarti dei server SSH esposti al pubblico supportano “almeno una modalità che può essere sfruttata nella pratica”, e il 57% di questi imposta un algoritmo sfruttabile come scelta preferita. Nonostante la gravità di questa scoperta, gli esperti hanno sottolineato che non è necessario disattivare gli strumenti SSH o considerarli una priorità immediata. L’attacco richiede un aggressore MITM attivo che possa intercettare e modificare il traffico della connessione a livello TCP/IP. Inoltre, per essere efficace, l’attacco richiede la negoziazione di ChaCha20-Poly1305 o di un qualsiasi cifrario CBC in combinazione con la modalità Encrypt-then-MAC come modalità di crittografia della connessione.

In termini di mitigazione, è consigliato tenere d’occhio le patch o gli aggiornamenti e installarli non appena possibile. Ad esempio, per gli utenti Linux, questi aggiornamenti dovrebbero essere disponibili tramite il solito metodo di aggiornamento della distribuzione. Recentemente, è stata rilasciata la versione 9.6 di OpenSSH, che tra le altre cose ha affrontato Terrapin con un protocollo di scambio di chiavi più rigoroso che, se supportato sia dal server che dal client, dovrebbe contrastare efficacemente questi attacchi. È importante notare che collegare un client vulnerabile a un server con patch, e viceversa, risulta comunque in una connessione vulnerabile. Questa settimana è stato anche rilasciato Putty 0.8 per affrontare Terrapin, insieme a libssh 0.10.6 e libssh 0.9.8.

Oltre agli aggiornamenti, gli amministratori possono mitigare gli attacchi disabilitando le modalità di crittografia vulnerabili nella configurazione dei propri server SSH e optando invece per algoritmi non vulnerabili come AES-GCM. Tuttavia, esiste il rischio che se il server è configurato in modo errato o il proprio client non supporta la configurazione, l’accesso al server potrebbe andare perso. È anche da notare che versioni precedenti di OpenSSH (6.2 e 6.3) sono vulnerabili a un buffer overflow quando si utilizza AES-GCM.

In conclusione, Terrapin non rappresenta un semplice bug del software che può essere risolto con un aggiornamento di un singolo componente. Piuttosto, richiede aggiornamenti sia dei client che dei server per proteggere le connessioni dagli attacchi di troncamento del prefisso. Questo sottolinea la necessità di aumentare la consapevolezza del problema in tutte le implementazioni client e server SSH, rappresentando così uno sforzo considerevole per la comunità informatica.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto