Salta al contenuto principale


Presentato tls-preloader: la libreria che disabilita la verifica dei certificati TLS


Un ricercatore di Limes Security, con lo pseudonimo f0rw4rd, ha presentato un nuovo strumento per sviluppatori e tester: tls-preloader. Si tratta di una libreria universale che consente di disabilitare completamente la verifica dei certificati TLS, semplificando il debug e l’analisi delle applicazioni con connessioni crittografate.

La soluzione è distribuita come libreria LD_PRELOAD che integra funzioni delle librerie TLS più diffuse. Funziona con OpenSSL (incluse le versioni 1.0.x, 1.1.x e 3.x), BoringSSL, LibreSSL, GnuTLS, NSS, mbedTLS, wolfSSL e può bypassare i controlli integrati in libcurl.

Gli autori sottolineano che la libreria è multipiattaforma e supporta Linux, FreeBSD, OpenBSD, NetBSD, Solaris, AIX e macOS. Durante la compilazione, le funzionalità della piattaforma di destinazione vengono automaticamente prese in considerazione e vengono applicate ottimizzazioni per la sicurezza dei thread, dai mutex pthread alle operazioni atomiche.

Usare tls-preloader è semplicissimo: basta compilare la libreria e caricarla tramite LD_PRELOAD. Dopodiché, è possibile eseguire qualsiasi programma, da curl e wget a script Python o Firefox, con il controllo dei certificati disabilitato. Per comodità, sono disponibili una modalità di debug e la possibilità di generare stack trace quando si chiamano funzioni intercettate.

In OpenSSL e nei suoi derivati, la libreria intercetta le funzioni SSL_CTX_set_verify(), e X509_verify_cert()i relativi controlli di scadenza di host e certificati. In GnuTLS, questi meccanismi vengono aggirati gnutls_certificate_verify_peers, mentre in NSS vengono utilizzati gli hook SSL_BadCertHook()e CERT_VerifyCert(). Tecniche simili vengono applicate ad altre implementazioni TLS.

Lo strumento è rivolto a sviluppatori e tester che lavorano con certificati autofirmati o scaduti e necessitano di un debug rapido. Gli autori sottolineano che l’utilizzo della libreria nei sistemi di produzione è severamente sconsigliato, poiché rimuove completamente uno degli elementi chiave della protezione HTTPS.

Tra i limiti del progetto rientrano l’impossibilità di lavorare con file binari compilati staticamente e la mancanza di supporto per i browser Chrome e Chromium, in cui BoringSSL è integrato direttamente. Inoltre, le applicazioni con un controllo rigoroso dei certificati (certificate pinning) potrebbero continuare a bloccare le connessioni.

Il progetto è open source e disponibile su GitHub .

L'articolo Presentato tls-preloader: la libreria che disabilita la verifica dei certificati TLS proviene da il blog della sicurezza informatica.