DROWN Attack – Cosa è e come difendersi

By Emanuele Lovera

logo DROWN

Buongiorno a tutti. Spesso accade che mentre navighiamo su Internet, di dover inserire i nostri dati all’interno di un form. Vuoi per fare un acquisto online, vuoi per fare l’accesso a un’area riservata, è una cosa che succede continuamente.


COME AVVIENE LA COMUNICAZIONE SICURA
Come alcuni sanno, tutto questo è possibile tramite il protocollo HTTPS – HyperText Transfert Protocol Secure Soket Layer.
Questo protocollo è la naturale evoluzione del più classico HTTP. Permette infatti lo scambio di pagine web – i cosiddetti ipertesti – come il precedente, ma aggiunge una crittografia a chiave asimmetrica per garantire la privacy dei dati scambiati tra server e client.


OK, QUALE E’ IL PROBLEMA ALLORA?
Questa vulnerabilità avviene grazie a un attacco misto:

  • Brute Force – attacco a forza bruta (Si provano tutte le combinazioni).
  • CCA2 – Adaptive Chosen-Ciphertext Attack -Attacco complesso in cui l’attaccante invia molti (parecchie migliaia) testi cifrati e cerca di decriptarli per rivelare gradualmente informazioni rigurado alla chiave. È un tipo di attacco teorico, che permette di ridurre il numero di chiavi da tentare a un livello accettabile (e qui che entra in gioco il Brute Force).

La vulnerabilità in se e per se non è “devastante”, il problema è che circa l’11% di tutti i siti che utilizzano https certificati sono passibili di DROWN Attack. Ma non solo. Un altro problema è che i certificati SSL non vengono utilizzati solamente per siti, bensì anche per applicazioni (come ad esempio SSMTP – S sta per ssl…).


COME FACCIO A SAPERE SE SONO VULNERABILE?
Innanzi tutto, se si utilizza Apache nella versione 2.4 non si hanno problemi, in quanto la versione di SSL incriminata è la 2, mentre Apache2.4 non permette di utilizzare nulla inferiore a SSL v.3. Viceversa se utilizziamo Apache 2.2, abbiamo due possibilità:

  • Se il nostro server ha un dominio puro andiamo a questa pagina e inseriamo l’url del nostro sito.
  • Se non possiamo, vuoi per colpa del firewall, o molto più semplicemente perchè abbiamo un DNS gratuito – che è visto come un sottodominio, e quindi non analizzato – possiamo utilizzare la procedura qui di seguito.


SCRIPT PYTHON
Lo script che andiamo a vedere funziona per ogni distribuzione Linux. Noi l’abbiamo provato per Debian 8 Jessie. Non avremo bisogno dell’accesso fisico o da remoto al nostro server, dato che il programma permette di inserire l’indirizzo ip. Dato che lo script è scritto in python ci servirà almeno la versione 2.7 e Git. Se non ne siamo provvisti diamo:

sudo apt-get install python2.7 git

Al termine dell’installazione siamo pronti per scaricare dal repository ufficiale lo script con:

git clone https://github.com/tomato42/tlsfuzzer.git

Ci spostiamo ora all’interno della cartella tlsfuzzer con:

cd tlsfuzzer

e all’interno della cartella diamo:

git checkout ssl2

Successivamente installiamo la libreria tlslite-ng dipendentee il suo link simbolico, con:

git clone https://github.com/tomato42/tlslite-ng .tlslite-ng

ln -s .tlslite-ng/tlslite tlslite

Ci spostiamo all’interno della cartella e facciamo ancora una volta il check out:

cd .tlslite-ng/

git checkout sslv2

cd ..

Arrivati a questo punto dobbiamo scaricare la libreria per ECDSA e creare il solito link simbolico:

git clone https://github.com/warner/python-ecdsa .python-ecdsa

ln -s .python-ecdsa/ecdsa ecdsa

A questo punto eseguiamo finalmente lo script con:

PYTHONPATH=. python scripts/test-sslv2-force-export-cipher.py -h -p 443

Dove al posto di inseriamo l’ip della macchina che vogliamo testare o localhost se siamo sulla macchina da testare.


ALLA FINE
L’output di questo script ci indicherà se il nostro server è passibile di drown attack.
Se il risultato è quello di fallimento, allora dobbiamo imporre a Apache di non utilizzare SSL2 e SSL3.

apriamo quindi la configurazione di apache con:

sudo nano /etc/apache2/apache.conf

e inseriamo:

SSLProtocol All -SSLv2 -SSLv3


ATTENZIONE
Come abbiamo detto in precedenza, non solo Apache è influenzato da questa volnerabilità bensì anche tutte le applicazioni che utilizzano SSL. Andrà modificata la configurazione di ognuuno di essi per essere veramente protetti.

Al prossimo post 😉


FONTI

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.