Perché aggiornare subito ad iOS 7.0.6, Apple's SSL/TLS Bug spiegato ai non addetti

Da My-Lab.


Recentemente è emersa una grave falla nella gestione dei certificati SSL (riferimento: CVE-2014-1266). Puoi leggere l'informativa di Apple all'indirizzo: http://support.apple.com/kb/HT6147

All'indirizzo https://gotofail.com

puoi verificare se il tuo telefono/pad/computer è affetto da questa nuova vulnerabilità.

In cosa consiste?

Nel codice sorgente (pubblico) dell'implementazione di SSL leggiamo:

static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
                                 uint8_t *signature, UInt16 signatureLen)
{
	OSStatus        err;
	...

	if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
		goto fail;
	if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
		goto fail;
		goto fail;
	if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
		goto fail;
	...

fail:
	SSLFreeBuffer(&signedHashes);
	SSLFreeBuffer(&hashCtx);
	return err;
}

Notare il doppio goto fail; alla riga 10. Cosa comporta? ll problema è che a causa di questo doppio goto (il secondo esce dall'if) tutto il codice successivo viene ignorato. Non viene quindi affatto verificata l'autenticità del certificato SSL fornito.

Conseguenze

Se viaggi, può capitare di collegarti ad hostpot pubblici, come quelli presenti nei caffè di mezzo mondo che offrono connessione wifi ai loro clienti. Oppure qualcuno potrebbe maliziosamente aprire un hotspot wifi libero proprio per catturare eventuali vittime.

E ora veniamo al lato tecnico: se ti colleghi ad una rete violata come per esempio un hotspost pubbilco dove le chiamate di rete vengono reindirizzate ad un server civetta, questo server civetta può fingere di avere i corretti certificati per il sito internet della tua banca o per il software update di Apple.

A quel punto i danni sono tali da poter permettere a chi attacca di prendere il controllo della tua macchina. Il tuo computer potrebbe per esempio installare aggiornamenti che contengono malware (io per esempio ho disabilitato gli aggiornamenti automatici per non avere questo problema) e tramite il malware installato fingendo di essere un server Apple, prendere controllo della macchina (e con privilegi di super-utente oltrettutto).

Oppure, quando ti colleghi al sito di una banca, potrebbe reindirizzarti verso un login crackato dove inserisci i dati della tua carta di credito a beneficio dell'attaccante.

Nel mio caso, utilizzo solo reti fidate: a casa ho un contratto 3, al lavoro abbiamo un hotspot per i dipendenti, quindi non c'è il pericolo di attacco man in the middle, se non quando, andando in giro, non mi collego agli hostpost pubblici.

Cosa fare

Aggiornare immediatamente a iOS 7.0.6. iOS 7.0.6 corregge la falla evidenziata. Oppure: evitate le connessioni a rete insicure. Purtroppo anche OS X è affetto dalla vulnerabilità sopra citata e per il momento non è disponibile una patch ufficiale (benchè una patch non ufficiale è disponibile all'indirizzo http://www.sektioneins.de/en/blog/14-02-22-Apple-SSL-BUG.html ).

Su OS X è possibile disabilitare temporaneamente gli aggiornamenti automatici, evitare l'uso di apple store e iTunes per acquisti e usare firefox per la navigazione, fino a che Apple non rilascierà una patch ufficiale.

Edit 22/3/14: Apple ha rilasciato un aggiornamento per OS X, aggiornamento a OS X verione 10.9.2 che potete liberamente scaricare tramite software update, che risolve questo problema anche per Machintosh. ;) È altamente consigliabile installare l'aggiornament di iOS 7.0.6 su iPhone e iPad, invece. Avete fatto Jailbreak? No problem: Jailbreak è disponibile anche per iOS 7.0.6 ( http://evasi0n.com ).