BEAST è davvero corretto in tutti i browser moderni?

12

BEAST si dice che sia corretto in tutti i browser moderni:

È anche fissato in OpenSSL dal 2002.

Queste correzioni significano che è sicuro utilizzare le crittografie in modalità CBC su TLS 1.0 se l'utente finale utilizza uno di questi browser moderni?

    
posta Andrei Botalov 11.08.2012 - 00:43
fonte

2 risposte

15

Non penso che nessuno conosca un modo per sfruttare BEST, su nessuno di quei browser moderni, quindi, per quanto ne sappia, quei browser sono probabilmente abbastanza sicuri contro gli attacchi di tipo BEAST. D'altra parte, la debolezza sottostante è ancora presente, il che lascia un po 'di spazio per la preoccupazione sulla possibilità che qualcuno possa trovare un nuovo modo per sfruttare questa debolezza.

BEAST sfrutta una debolezza della sicurezza in TLS 1.0. Il modo principale per chiudere l'intera vulnerabilità è aggiornare il browser e il server a TLS 1.1 o TLS 1.2. Al momento, Chrome supporta TLS 1.1; IE9, IE10, Opera supporta TLS 1.1 e TLS 1.2 se si imposta un'opzione speciale, ma il supporto non è abilitato per impostazione predefinita; Il client iOS 5 supporta fino a TLS 1.2; Firefox e Safari no. Sfortunatamente, entrambi gli endpoint devono supportare TLS 1.1 prima di poter stabilire una connessione TLS 1.1 e oggi pochi server supportano TLS 1.1 o TLS 1.2. Alcuni server supportano TLS 1.2 (ad es. Apache con mod_gnutls, IIS 7 se si abilitano alcune chiavi di registro speciali, server di app Java su Java 7), ma solo pochissimi. Ciò significa che sarà estremamente raro che chiunque possa utilizzare TLS 1.1 o TLS 1.2 oggi. Pertanto, la correzione di principio all'attacco BEAST non è ampiamente implementata oggi, indipendentemente dal browser utilizzato.

Per maggiori dettagli, vedi, ad esempio, TLS 1.0 vulnerabilità di JavaScript injection (BEAST): cosa fare lato client? ; Impatto sulla sicurezza dell'attacco "BEAST" di Rizzo / Duong CBC ; e Che cosa posso fare sulla vulnerabilità di JavaScript javascript TLS 1.0 sul mio server? ; Come utilizzare OpenSSL per verificare l'attacco BEAST? ; Perché l'attacco BEAST è stato precedentemente ritenuto non plausibile? .

Detto questo, diversi server hanno implementato alcune soluzioni alternative che aiutano a mitigare i modi noti di sfruttare questa debolezza in TLS 1.0. Queste soluzioni alternative sono un "ostacolo" che non fa sparire la debolezza, ma impediscono tutti i modi conosciuti di sfruttare la debolezza. La mitigazione primaria è garantire che entrambe le parti utilizzino RC4, invece di qualsiasi modalità operativa basata su un codice a blocchi. I server possono organizzare questo cambiando l'ordine delle loro cipheruites. Puoi verificare se il tuo server è configurato in modo da impedire a BEAST di utilizzare questo tester SSL .

Posso capire perché potresti avere avuto l'impressione che hai fatto. Il primo attacco ha sfruttato questa debolezza usando WebSockets. Un attacco successivo ha mostrato come sfruttarlo anche con Java. La maggior parte dei browser moderni è stata aggiornata con patch per modificare il funzionamento di WebSockets, in modo che WebSockets non possa più essere utilizzato per sfruttare questa debolezza. Tuttavia, la debolezza di fondo è ancora presente, e non penso che nessuno sarebbe terribilmente sorpreso se domani qualcuno scoprisse un nuovo modo di sfruttare la debolezza senza usare WebSockets o Java.

Firefox, Chrome, Opera, IE hanno anche implementato la seguente mitigazione per la vulnerabilità BEAST: invia solo un byte di dati delle applicazioni nel primo record (ovvero 1 / n-1 suddivisione dei record per CBC). Questo non è perfetto, ma dovrebbe aiutare molto. A lungo termine, la soluzione corretta è spostare tutti in TLS 1.2, ma ci vorrà del tempo.

Un'altra nota a piè di pagina: mentre molti browser stanno iniziando a implementare il supporto per TLS 1.1, vi è un avvertimento significativo. L'attivazione di TLS 1.1 o 1.2 causa problemi di compatibilità con server bacati. Questi server non funzionano se un client indica che supporta le versioni TLS più recenti. Pertanto, i browser provano TLS 1.1, ma se fallisce, riprovano usando TLS 1.0. Se TLS 1.0 fallisce, eseguiranno ulteriori fallback su SSL 3.0. Questo introduce una vulnerabilità: un man-in-the-middle può forzare entrambe le parti a ricorrere a TLS 1.0 .

    
risposta data 12.08.2012 - 05:11
fonte
-3

È stato corretto di recente, quindi la maggior parte dei browser che sono ora in aggiornamento automatico sono OK, e il server dovrebbe essere configurato per negoziare da AES e non con RC_4, e inoltre puoi disabilitare completamente SSLv2.

    
risposta data 11.08.2012 - 22:12
fonte

Leggi altre domande sui tag