Posso rilevare un attacco MITM?

35

Basato su questa domanda qui: Gli attacchi "man in the middle" sono estremamente rari?

È possibile rilevare attacchi man-in-the-middle e, in caso affermativo, come procedere?

Inoltre, cosa succede se l'attacco avviene tramite la connessione alla rete locale, come le linee telefoniche? C'è un modo per rilevarlo?

    
posta TigerCoding 23.02.2012 - 13:07
fonte

6 risposte

21

Durante la navigazione, è possibile verificare ogni volta se il certificato che viene presentato dal sito Web viene rilasciato da una CA legittima o è un certificato falso emesso da una CA che il browser considera affidabile. Ovviamente non è possibile farlo manualmente. Quindi, ci sono strumenti che lo fanno per te.

Cert Patrol e Perspective sono plug-in del browser che fanno essenzialmente questo. Tengono una nota su quali nomi di dominio sono problemi con quali CA (ad esempio Google = > Thwate, ecc.) E molti altri parametri relativi ai certificati e allarmerà l'utente se la CA cambia O se la chiave pubblica nel certificato i cambiamenti.

Ovviamente questi non sono il rilevamento del MITM, sono più simili agli schemi di prevenzione rilevando che c'è qualcosa di strano nel certificato presentato dal sito web.

Anche durante la connessione a un server SSH, richiede l'impronta digitale del server. Sarei allarmato se il mio client ssh mi presenta una nuova impronta digitale dopo che mi sono collegato in precedenza a un server. La chiave dell'host del server viene salvata nel file known_hosts dopo la prima connessione, l'unica ragione per cui il client mi sta chiedendo di convalidare di nuovo l'impronta digitale è perché il server SSH è stato riavviato / aggiornato OPPURE sto diventando MITMed.

La paranoia assoluta richiede di chiamare l'amministratore del sistema sul telefono e confermare l'impronta digitale facendolo pronunciare la chiave.

    
risposta data 23.02.2012 - 16:54
fonte
10

Riesci a rilevare un attacco MitM? Dipende dal tipo di sistema che viene attaccato e dal tipo di attacco.

Supponiamo che un hacker sofisticato abbia ottenuto il controllo di un router a monte tra te e Internet in generale e reindirizzi il tuo traffico verso falsi server sotto il loro controllo per un MitM (ad esempio, cattura richieste DNS e dà risposte false ai propri server o usi Network Address Translation (NAT)).

Ora diciamo che vai a http://www.facebook.com e tieni indirizzato a una pagina di accesso http sotto il controllo degli attaccanti. Prevedibilmente l'attaccante potrebbe lanciare una pagina che imita la pagina di login di Facebook, acquisisce le informazioni di autenticazione e utilizza tali informazioni per connettersi al vero facebook, e quindi indirizza il contenuto dal vero facebook al browser. Questo potrebbe essere fatto in modo pressoché apparente ad eccezione dell'azione post in forma nascosta che non è https nella pagina di accesso iniziale. Diciamo che invece le tue impostazioni sono sempre per https per facebook, e sei andato su https://www.facebook.com . L'attacco MitM invierebbe bandiere rosse al browser, in quanto l'utente malintenzionato non avrà un certificato attendibile per facebook.com. Certo, molti utenti ignorerebbero questi avvisi del browser (come talvolta si verificano per motivi benigni come una chiave scaduta o un sito intranet che non utilizza una chiave autofirmata). Tutto questo presupponeva che l'attaccante non fosse riuscito a hackerare su Facebook e ottenere i propri certificati privati OPPURE compromettere una CA (autorità di certificazione) per poter generare certificati fasulli fidati dalla maggior parte dei browser Web O in precedenza alterare il proprio browser in modo che si fidi / non avvisare sui certificati non validi.

In generale con http è quasi impossibile rilevare gli attacchi MitM, ma con https il tuo browser dovrebbe rilevare e avvisarti automaticamente, a meno che l'autore dell'attacco non abbia già compromesso il tuo sistema o il sistema dall'altra parte (inclusi la CA come sistema all'altra estremità).

Esempio successivo: ssh . Ancora una volta, utilizza i keypair del server pubblico-privato per autenticare i computer. Quindi, se di frequente inserisco il mio computer di lavoro dal mio computer di casa, il mio computer di casa ha registrato e considerato attendibile la chiave pubblica della mia macchina da lavoro (che è contenuta in un file ~/.ssh/known_hosts ). Se è stato tentato un attacco MitM quando mi stavo connettendo dal mio computer di casa, ssh avrebbe immediatamente notato che il computer MitM non aveva la chiave privata del mio computer di lavoro e non mi permetteva l'accesso (a meno che non rimuovessi specificamente la chiave pubblica da la mia lista known_hosts , che farei solo se dico che ho aggiornato ad una nuova macchina o cambiato la chiave del server). Ancora una volta, MitM attacca su ssh è molto facile da rilevare a meno che l'autore dell'attacco non sia già entrato nella mia macchina da lavoro come root e copiato la chiave privata in un suo host OPPURE già ha fatto irruzione nella mia macchina domestica e ha cambiato la chiave pubblica per la mia macchina da lavoro registrato in ~/.ssh/known_hosts O è la mia prima volta che si collega al server (e non ho il server nel mio known_hosts o riconosco l'impronta digitale dell'host).

    
risposta data 23.02.2012 - 16:35
fonte
4

Il rilevamento dello schema MitM è l'obiettivo di base di qualsiasi protocollo di autenticazione. Per far funzionare ciò di cui hai bisogno:

  • Un modo sicuro per ottenere le informazioni di autenticazione (certificato server, chiave condivisa, ...)
  • Verifica l'autenticità del messaggio scambiato con il server.

Il server dovrebbe fare lo stesso con il client. Con uno schema simmetrico, dovrebbe essere fatto facilmente. Quando si utilizzano protocolli asimmetrici come SSL, è necessario:

  • Ottieni il certificato del server e sarai in grado di autenticarlo correttamente
  • Comunicare con il server utilizzando la sua chiave pubblica incorporata nel certificato, in modo che nessuno possa decodificare il messaggio
  • Il server e tu sarai d'accordo su un segreto univoco condiviso per utilizzare una crittografia simmetrica per le connessioni future.
risposta data 23.02.2012 - 15:46
fonte
3

No , non puoi, ci sono molti modi per farlo.

Molte risposte qui ti diranno come verificare la presenza di attacchi MITM specifici , che a mio avviso non è il punto .

Un MITM non significa che l'attaccante proverà a decifrare il tuo flusso di dati e ti presenterà una chiave / impronta digitale diversa. È solo un nodo tra te e il tuo host di destinazione.

Ci sono molti modi per entrare in una situazione MITM, ognuno dei quali può essere prevenuto con un'adeguata amministrazione di rete, tutti i nodi tra te e l'host di destinazione dovrebbero essere protetti . Ogni rete dovrebbe essere progettata per resistere a tutti i MITM possibili, inclusi i protocolli di routing abusivi, lo spoofing ARP, lo spoofing del DNS, semplicemente installando un bridge fisico, ecc.

Per ottenere sicurezza, l'essere coinvolti in un attacco MITM non dovrebbe avere importanza, non puoi fidarti della fiducia e della fortuna e non puoi controllare Internet, devi presumere che ti trovi in un ambiente ostile a meno che non sia provato da una corretta verifica . L'utilizzo di protocolli sicuri come TLS, SSH e potenzialmente IPSec può rendere la tua rete più sicura, autenticare e crittografare i tuoi dati. Tuttavia è sempre vulnerabile a un certo punto e il più delle volte deriva da una errata configurazione o da un difetto nel protocollo / implementazione stessa.

In breve, non rilevare MITM, ma invece:

  • Proteggi la tua LAN o chiedi a qualcuno di farlo
  • Configura protocolli di tunneling sicuri per accedere a reti e sistemi lontani sicuri

Rilevare MITM è possibile ma è correlato a ciò che si usa, sicurezza della porta per CISCO IOS o semplicemente usando SNORT su qualsiasi box Unix. Non è possibile ottenere una lista esaustiva, basta che combaci con una determinata situazione e inoltre, gli aggressori sono sempre abbastanza creativi da trovare qualcosa a cui non hai pensato, quindi fai riferimento ai miei 2 consigli precedenti.

    
risposta data 24.02.2012 - 08:10
fonte
0

Puoi controllare la tua tabella ARP. Oppure puoi guardare il buon sito web TUTORIAL MITM [ link che spiega in modo approfondito cos'è un uomo nel mezzo e come evitarli. Credo che leggere il suo tutorial ti darà un'idea eccellente su cosa sta succedendo e su come prevenirlo, oltre a come scoprirli.

    
risposta data 23.02.2012 - 15:01
fonte
-2

Vai al CMD e scrivi arp -a. Se l'indirizzo MAC del router è uguale a quello di qualsiasi altro nodo (dispositivo), allora l'idea è "MAN in the middle". Semplice.

    
risposta data 28.01.2017 - 16:00
fonte

Leggi altre domande sui tag