Chiudi annunziu

Uni pochi ghjorni fà, Apple hà liberatu u centu Actualizazione di iOS 7.0.6, circa a liberazione di quale avemu infurmatu. Parechji sò stati sorpresi chì l'aghjurnamentu hè stata liberata ancu per iOS 6 (versione 6.1.6) è Apple TV (versione 6.0.2). Questu hè un patch di sicurità, cusì Apple ùn si pudia permette di aghjurnà solu una parte di i so dispositi. In più, stu prublema afecta ancu OS X. Sicondu u portavoce d'Apple Trudy Muller, un aghjurnamentu OS X serà liberatu u più prestu pussibule.

Perchè ci hè tantu hype intornu à questa aghjurnazione? Un difettu in u codice di u sistema permette a verificazione di u servitore per esse ignoratu nantu à a trasmissione sicura à a strata relazionale di u mudellu di riferimentu ISO / OSI. In particulare, a culpa hè una cattiva implementazione SSL in a parte induve a verificazione di u certificatu di u servitore. Prima di andà in più spiegazione, preferimu descriverà i cuncetti basi.

SSL (Secure Socket Layer) hè un protokollu utilizatu per a cumunicazione sicura. Ottene a sicurità per mezu di criptografia è autentificazione di i partiti cumunicanti. L'autentificazione hè a verificazione di l'identità presentata. In a vita reale, per esempiu, dite u vostru nome (identità) è mostra u vostru ID per chì l'altra persona pò verificà (autentificà). L'autentificazione hè tandu divisu in a verificazione, chì hè solu un esempiu cù una carta d'identità naziunale, o identità, quandu a persona in questione pò determinà a vostra identità senza chì vi prisintà à ellu in anticipu.

Avà aghju avutu brevemente à u certificatu di u servitore. In a vita reale, u vostru certificatu puderia esse, per esempiu, una carta d'identità. Tuttu hè basatu annantu à a criptografia asimmetrica, induve ogni sughjettu pussede duie chjave - privatu è publicu. A bellezza sana si trova in u fattu chì u messagiu pò esse criptatu cù a chjave publica è decriptatu cù a chjave privata. Questu significa chì solu u pruprietariu di a chjave privata pò decrypt u messagiu. À u listessu tempu, ùn ci hè micca bisognu di preoccupari di trasfirià a chjave secreta à i dui partiti cumunicari. U certificatu hè allora a chjave publica di u sughjettu supplementata cù e so informazioni è firmata da l'autorità di certificazione. In a Repubblica Ceca, una di l'autorità di certificazione hè, per esempiu, Česká Pošta. Grazie à u certificatu, l'iPhone pò verificà chì hè veramente cumunicà cù u servitore datu.

SSL usa a criptografia asimmetrica quandu stabilisce una cunnessione, u cusì chjamatu Handshake SSL. À questu stadiu, u vostru iPhone verifica chì hè cumunicatu cù u servitore datu, è à u stessu tempu, cù l'aiutu di a criptografia asimmetrica, hè stabilitu una chjave simmetrica, chì serà utilizata per tutte e cumunicazioni sussegwente. A criptografia simmetrica hè più veloce. Cum'è digià scrittu, l'errore si trova digià durante a verificazione di u servitore. Fighjemu un ochju à u codice chì provoca questa vulnerabilità di u sistema.

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;
}

In a seconda cundizione if pudete vede dui cumandamenti sottu fallu fallu;. È questu hè u bloccu di stumbling. Stu codice poi pruvucarà u sicondu cumandamentu per esse eseguitu in u stadiu quandu u certificatu deve esse verificatu fallu fallu;. Questu provoca a terza cundizione per esse saltata if è ùn ci sarà micca verificazione di u servitore in tuttu.

L'implicazioni sò chì qualchissia cun cunniscenza di sta vulnerabilità pò offre à u vostru iPhone un certificatu falsu. Tu o u vostru iPhone, vi Mulateri Di L'credere chì vo sò cumunicà criptu, mentri ci hè un attaccu trà voi è u servore. Un tali attaccu hè chjamatu attaccu di l'omu in u mezu, chì approssimativamente traduce in cecu cum'è attaccu di l'omu in u mezu o omu trà. Un attaccu cù stu difettu particulari in OS X è iOS pò esse eseguitu solu se l'attaccante è a vittima sò in a listessa reta. Per quessa, hè megliu per evitari rete Wi-Fi publicu s'ellu ùn avete micca aghjurnatu u vostru iOS. L'utilizatori di Mac anu sempre attentu à quali rete si cunnettanu è quali siti visitanu in queste rete.

Hè fora di crede cumu un tali errore fatale puderia avè fattu in e versioni finali di OS X è iOS. Puderia esse una prova inconsistente di codice mal scrittu. Questu significaria chì u programatore è i testatori facenu sbagli. Questu pò pare micca improbabile per Apple, è cusì speculazioni superficia chì stu bug hè in realtà una backdoor, u cusì chjamatu. porta di daretu. Ùn hè micca per nunda chì dicenu chì i migliori backdoors parenu sbagliati sottili. In ogni casu, questi sò solu teorii micca cunfirmati, cusì assumeremu chì qualchissia hà fattu solu un sbagliu.

Se ùn site micca sicuru se u vostru sistema o navigatore hè immune à stu bug, visitate a pagina gotofail.com. Comu pudete vede in l'imaghjini sottu, Safari 7.0.1 in OS X Mavericks 10.9.1 cuntene un bug, mentri in Safari in iOS 7.0.6 tuttu hè bè.

Risorse: iMore, Reuters
.