Pagina 1 di 1

Come fa firefox a notificare un attacco MITM?

Inviato: lun 30 mag 2011, 11:28
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

Re: Come fa firefox a notificare un attacco MITM?

Inviato: lun 30 mag 2011, 14:17
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

Re: Come fa firefox a notificare un attacco MITM?

Inviato: lun 30 mag 2011, 15:35
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: .

Re: Come fa firefox a notificare un attacco MITM?

Inviato: lun 30 mag 2011, 17:45
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... :?

Re: Come fa firefox a notificare un attacco MITM?

Inviato: lun 30 mag 2011, 18:50
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

Re: Come fa firefox a notificare un attacco MITM?

Inviato: lun 30 mag 2011, 18:51
da Toni
Il sunto è che anche se vengono copiati pacchetti questi sono indecifrabili

Re: Come fa firefox a notificare un attacco MITM?

Inviato: gio 2 giu 2011, 18:12
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 :(

Re: Come fa firefox a notificare un attacco MITM?

Inviato: gio 2 giu 2011, 19:19
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

Re: Come fa firefox a notificare un attacco MITM?

Inviato: gio 2 giu 2011, 19:38
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