it-swarm.dev

Posso rilevare un attacco MITM?

Sulla base di questa domanda qui: Gli attacchi "man in the middle" sono estremamente rari?

È possibile rilevare attacchi man-in-the-middle e, in tal caso, come si potrebbe procedere?

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

41
TigerCoding

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

Cert Patrol e Perspective sono plugin del browser che lo fanno essenzialmente. Mantengono una nota di quali nomi di dominio sono problemi in base ai quali le CA (ad esempio Google => Thwate, ecc.) E molti altri parametri relativi ai certificati e avviseranno l'utente se la CA cambia OR = se la chiave pubblica nel certificato cambia.

Ovviamente non si tratta del rilevamento del MITM, sono più simili a schemi di prevenzione rilevando che qualcosa di strano nel certificato presentato dal sito Web.

Inoltre, 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 precedentemente connesso a un server. La chiave 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 nuovamente l'impronta digitale è perché il server SSH è stato riavviato/aggiornato OR MITMed.

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

27
CodeExpress

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

Supponiamo che un aggressore sofisticato abbia ottenuto il controllo di un router a monte tra te e Internet in generale e reindirizzi il tuo traffico verso server falsi sotto il loro controllo per un MitM (ad esempio, acquisisce richieste DNS e fornisce risposte fasulle ai loro server o utilizza Network Address Translation (NAT)).

Ora supponiamo che tu vada a http://www.facebook.com E vieni indirizzato a una pagina di accesso http sotto il controllo degli attaccanti. Prevedibilmente, l'attaccante potrebbe lanciare una pagina che imita la pagina di accesso di Facebook, acquisire le informazioni di autenticazione e utilizzare tali informazioni per connettersi al vero Facebook, quindi indirizzare il contenuto dal vero Facebook al browser. Questo potrebbe essere fatto quasi apparentemente con l'eccezione dell'azione nascosta post post che non è https nella pagina di accesso iniziale. Supponiamo invece che le tue impostazioni utilizzino sempre https per Facebook e sei passato a https://www.facebook.com. L'attacco MitM invierebbe bandiere rosse al browser, poiché l'attaccante non avrà un certificato attendibile per facebook.com. Concesso, molti utenti ignorerebbero questi avvisi del browser (poiché a volte si verificano per motivi benigni come una chiave scaduta o un sito Intranet che non utilizza una chiave autofirmata). Tutto ciò presupponeva che l'attaccante non fosse riuscito a hackerare ulteriormente Facebook e che i suoi certificati privati ​​OR compromettessero un'autorità di certificazione per essere in grado di generare certificati falsi ritenuti attendibili dalla maggior parte dei browser Web OR precedentemente modificati il tuo browser in modo che si fidi/non avverta di certificati non validi.

In generale con http è quasi impossibile rilevare gli attacchi MitM, ma con https il tuo browser dovrebbe rilevare automaticamente e avvisarti, a meno che l'attaccante non abbia già compromesso il tuo sistema o il sistema all'altro end (inclusa la CA come sistema all'altro capo).

Esempio successivo: ssh. Ancora una volta, utilizza le chiavi di server private-public per autenticare i computer. Quindi, se accedo frequentemente alla mia macchina di lavoro dal mio computer di casa, il mio computer di casa ha registrato e considerato attendibile la chiave pubblica della mia macchina di lavoro (che è conservata in un file ~/.ssh/known_hosts). Se un tentativo MitM è stato tentato durante la connessione dal mio computer di casa, ssh noterebbe immediatamente che il computer MitM non aveva la chiave privata del mio computer di lavoro e non mi avrebbe permesso di accedere (a meno che non avessi rimosso il chiave pubblica dal mio elenco known_hosts, cosa che farei solo se dicessi che sono passato a una nuova macchina o ho cambiato la chiave del server). Ancora una volta, gli attacchi MitM su ssh sono molto facili da rilevare a meno che l'attaccante non abbia già fatto irruzione nella mia macchina di lavoro come root e copiato la chiave privata in un suo host OR sia già entrato nella mia macchina di casa e cambiato la chiave pubblica per la mia macchina di lavoro registrata in ~/.ssh/known_hosts OR è la prima volta che mi collego al server (e non ho il server nel mio known_hosts o riconosco la sua impronta digitale dell'host) .

11
dr jimbob

Il rilevamento dello schema MitM è l'obiettivo di base di qualsiasi protocollo di autenticazione. Perché funzioni, è necessario:

  • Un modo sicuro per ottenere le informazioni di autenticazione (certificato del server, chiave condivisa, ...)
  • Verificare 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 ed essere in grado di autenticarlo correttamente
  • Comunicare con il server utilizzando la sua chiave pubblica incorporata in quel certificato, in modo che nessuno possa decrittografare il messaggio
  • Il server e l'utente concorderanno un segreto univoco condiviso per utilizzare una crittografia simmetrica per connessioni future.
4
M'vy

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

Molte risposte qui ti spiegheranno come controlla specifici attacchi MITM, che credo non è questo il punto.

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

Esistono molti modi per entrare in una situazione MITM, ognuno può essere prevenuto dalla corretta amministrazione di rete, tutti i nodi tra te e il tuo Host di destinazione dovrebbero essere protetti. Ogni rete dovrebbe essere progettata per resistere a ogni possibile MITM, inclusi abusi dei protocolli di routing, spoofing ARP, spoofing DNS, semplice installazione di un bridge fisico, ecc.

Per raggiungere la sicurezza, essere coinvolti in un attacco MITM non dovrebbe avere importanza, non puoi fare affidamento su fiducia e fortuna e non puoi controllare Internet, devi presumere che ti trovi in ​​un ambiente ostile a meno che non sia dimostrato sicuro da un controllo adeguato. L'uso 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 ad un certo punto e il più delle volte proviene da un'errata configurazione o da un difetto nel protocollo/implementazione stesso.

In breve, non rilevare MITM, ma invece:

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

Rilevare MITM è possibile ma è correlato a ciò che si utilizza, alla sicurezza delle porte per Cisco IOS o semplicemente usando SNORT su qualsiasi box Unix. Non è possibile ottenere un elenco esaustivo, corrisponde solo a un dato situazione e inoltre, gli attaccanti sono sempre abbastanza creativi da trovare qualcosa a cui non hai pensato, quindi fai riferimento ai miei 2 consigli sopra.

3
Aki

Puoi controllare la tua tabella ARP. Oppure puoi guardare il buon sito web MITM TUTORIALs [ https://toschprod.wordpress.com/2012/03/04/mitm-8-countermeasures/] che spiega in profondità cosa è un uomo nel mezzo e come evitarli. Immagino che leggere il suo tutorial ti darà un'idea eccellente di ciò che sta accadendo e come prevenirlo, oltre a come rilevarli.

0
noktec