Come fa firefox a notificare un attacco MITM?

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
mordecai
Linux 3.x
Linux 3.x
Messaggi: 752
Iscritto il: mer 10 gen 2007, 21:59

Come fa firefox a notificare un attacco MITM?

Messaggio da mordecai »

Salve a tutti!
Ci sta una cosa che non mi è chiara concettualmente parlando di questo tipo di attacco.
Se si prova ad eseguire un attacco mitm laddove è richiesta una autenticazione basata su https, firefox o comunque il browser notifica che è in corso un tentativo di falsificazione del certificato.
Ecco io non capisco come fa firefox a capire il tutto, se l'host attaccante replica alla perfezione il pacchetto?

Questo accade anche in ssh ovviamente che ci sta il warning del certificato falso, ma ho scelto firefox come esempio più comune.
Qualcuno sa sciogliere questo mio dubbio?

Grazie

sbabaro
Packager
Packager
Messaggi: 388
Iscritto il: ven 9 set 2005, 0:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da sbabaro »

quando inizia la sessione il server scambia una chiave per la criptazione della comunicazione criptata con la sua chiave privata (segreta), il client scarica accede alla chiave pubblica presente nel certificato e decritta la chiave, instaurando una sessione sicura. Prima di scaricare i dati verifica diverse cose del certificato, tipo validità, se è stato revocato, se è stato emesso da una CA da lui riconosciuta, etc.
Un attaccante non è in grado di cifrare la chiave in modo che possa essere decrittata dalla chiave pubblica del certificato, e quindi non è in grado di stabilire la sessione crittata

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da slux »

Esistono dei software per intercettare il certificato e sostituirlo con uno autofirmato in modo da poter "sniffare" anche il traffico https.Ovviamente il browser segnala che il certificato è autofirmato,ma molti utonti cliccano su "Prosegui comunque (scelta non consigliata)" :badgrin: .

mordecai
Linux 3.x
Linux 3.x
Messaggi: 752
Iscritto il: mer 10 gen 2007, 21:59

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da mordecai »

Si infatti ma col MITM il pacchetto non viene copiato alla perfezione?
Cosa è che fa "insospettire" il browser del cambiamento di certificato?
Se il pacchetto può essere replicato al 100% il problema non dovrebbe esserci... :?

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da Toni »

mordecai ha scritto:Si infatti ma col MITM il pacchetto non viene copiato alla perfezione?
Cosa è che fa "insospettire" il browser del cambiamento di certificato?
Se il pacchetto può essere replicato al 100% il problema non dovrebbe esserci... :?
L'autorita che ha emesso il certificato certifica che la chiave pubblica appartiene alla entità indicata nel certificato . ( ciò serve nella fase di setup della connessione)
Ipotizziamo che tu voglia instaurare una connessione sicura con https://www.slacky.eu

- il tuo browser contatta suddetto server
- il suddetto server esibisce un certificato
- la validità di tale certificato è verificata mediante controllo della firma digitale da parte del tuo browser ( per far ciò il tuo browser usa certificati builtin delle Certification Authority root)
- verificata la validità della chiave pubblica , (tramite metodi di crittografia a chiave asimmetrica) viene generato un keymaterial comune a server e browser che non viene trasmesso su internet (magie della crittografia asimmetrica :D )
- a questo punto tutte le unità informativa scambiate tra browser e server vengono ( a seconda delle modalità scelte) criptate con meccanismi di crittografia simmetrica ( aes , rc4 etc etc) e autenticate con codici di autenticazione

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da Toni »

Il sunto è che anche se vengono copiati pacchetti questi sono indecifrabili

mordecai
Linux 3.x
Linux 3.x
Messaggi: 752
Iscritto il: mer 10 gen 2007, 21:59

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da mordecai »

Bene ti ringrazio. Ho capito che il browser fa dei controlli interni sui certificati ma a livello di trasmiossione non capisco come faccia ad "insospettersi".
Faccio un esempio cosi magari è più facile spiegare il meccanismo.
Ci si trova in una LAN con 3 host: A=attaccante V=vittima R=router che inoltra il traffico in Internet ad un Server S

Lo schema del MITM è il seguente:

V--->A--->R----->>S Richiesta di connessione da parte della vittima
S----->>R--->A--->V Risposta alla connessione

Bene. Se nella richiesta, A replica alla perfezione il pacchetto di V che viene mandato ad R e poi ad S....ed al ritorno viene fatto lo stesso, perchè al ritorno il browser di V si insospettisce?
Forse A ha involontariamente cambiato qualcosa nel certificato?
Non dovrebbe essere lo stesso certificato dato da S?

Scusate ma è proprio una cosa che vorrei capire bene...vi ringrazio :(

sbabaro
Packager
Packager
Messaggi: 388
Iscritto il: ven 9 set 2005, 0:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da sbabaro »

allora, il problema qui non è se a può re il traffico, ma se ci può capire qualcosa.
La situazione è questa:
v propone a s una chiave per criptare le informazioni. Questa proposta è criptata con la chiave pubblica del certificato di s
per a passa la richiesta, ma non è in grado di sapere quale è la chiave privata per decrittare la proposta, quondi per lui l'informazione è semplicemente incomprensibile
s riceve la richiesta, decritta con la sua chiav4e privata e inizia a mandare dati con la password proposta da v
di nuovo le info passano per a, ma, di nuovo, questo non conosce la password proposta (ricordi il passaggio precedente, chiave incomprensibile), quindi si limita a passarla
v riceve la comunicazione e la decritta con la chiave da lui proposta

in breve, usando una coppia di chiavi asimmetrica, non importa per chi passa la comunicazione perchè soltanto colui per il quale è stata preparata la comunicazione è in grado di comprenderla

Avatar utente
Toni
Linux 3.x
Linux 3.x
Messaggi: 999
Iscritto il: lun 30 gen 2006, 22:08
Slackware: slackware-14
Kernel: 3.10.5
Desktop: i3
Località: milano

Re: Come fa firefox a notificare un attacco MITM?

Messaggio da Toni »

mordecai ha scritto:Bene ti ringrazio. Ho capito che il browser fa dei controlli interni sui certificati ma a livello di trasmiossione non capisco come faccia ad "insospettersi".
Faccio un esempio cosi magari è più facile spiegare il meccanismo.
Ci si trova in una LAN con 3 host: A=attaccante V=vittima R=router che inoltra il traffico in Internet ad un Server S

Lo schema del MITM è il seguente:

V--->A--->R----->>S Richiesta di connessione da parte della vittima
S----->>R--->A--->V Risposta alla connessione

Bene. Se nella richiesta, A replica alla perfezione il pacchetto di V che viene mandato ad R e poi ad S....ed al ritorno viene fatto lo stesso, perchè al ritorno il browser di V si insospettisce?
Forse A ha involontariamente cambiato qualcosa nel certificato?
Non dovrebbe essere lo stesso certificato dato da S?

Scusate ma è proprio una cosa che vorrei capire bene...vi ringrazio :(
Ciao

I certificati non vengono cambiati , in genere un certificato è una stringa di dati che è autenticata da una Certification Autorithy. Durante la sua "vita" un certificato non viene mai modificato.
Un certificato contiene una chiave ( ed altro) è la CA garantisce che appartiene a "Pippo".

Quando V effettua una richiesta di connessione ad S, adotta delle misure antireplay
per esempio
uso di timestamp o nonce, ossia dei valori numerici (random nel caso di nonce) utilizzati una sola volta .
Se V cripta con la chiave pubblica di S un nonce , soltanto S potrà leggerlo
S a questo punto potrà mandare una qualche sfida basata sul nonce di cui solo V conosce il valore .

L'argomento è molto vasto, se sei interessato posso suggerirti un ottimo libro
http://williamstallings.com/Crypto/Crypto4e.html

L'unica cosa che può notificare firefox è che un certificato non è valido ( scaduto , revocato , CA fallita :) etc etc )

tuttavia bisogna anche dire che ssl (tls) possiedono meccanismi di allarme per interrompere una connessione

UPDATE:

http://it.wikipedia.org/wiki/Protocollo ... -Schroeder

Rispondi