Tasti SSH lato server compromessi

8

Sono interessato a sapere quale potrebbe essere la conseguenza se le chiavi SSH lato server di un host fossero state compromesse.

La situazione sarebbe:

  • Un utente malintenzionato riesce a leggere le chiavi private SSH del server.
  • L'attaccante può MITM qualsiasi connessione all'host (perché sta controllando il router, o w / e).

Significa che i dati che passano attraverso qualsiasi connessione SSH possono ora essere letti dall'attaccante? Direi di no a causa di alcuni algoritmi di scambio di chiavi come Diffie-Hellman. È corretto?

La mia ipotesi sarebbe che il peggiore che un utente malintenzionato potrebbe eseguire è impersonare il server, inducendo gli utenti ad accedere al suo sistema anziché a quello legittimo.

    
posta Xaqq 04.04.2014 - 11:23
fonte

3 risposte

5

A causa dell'uso dello scambio di chiavi Diffie-Hellman, conoscere la chiave privata del server non aiuta un aggressore passivo-solo . Se l'utente malintenzionato vuole imparare i dati, deve attivarsi.

Se l'utente malintenzionato conosce la chiave privata del server, può impersonare il server, cioè eseguire un server falso e consentire agli utenti di connettersi ad esso. Per un attacco completo Man-in-the-Middle , l'attaccante deve eseguire una doppia imitazione: come server falso quando si parla con il vero client e come client falso quando si parla con il vero server. Se il server utilizza l'autenticazione basata su password, allora questo è facile: il client invierà la sua password al server falso, a quel punto l'hacker lo sa e lo usa. Se il server si aspetta un'autenticazione basata su chiave dal client, questo non funzionerà.

Tuttavia, è probabile che un server falso (non MitM) possa ingannare un cliente e imparare i segreti senza andare a MitM completo.

    
risposta data 04.04.2014 - 16:05
fonte
2

Se il client avvia inizialmente una connessione con il server corretto, no, l'utente malintenzionato non può fare nulla contro quella connessione, ma se l'utente malintenzionato può invece chiedere all'utente di collegarsi a loro, allora può giocare l'intermediario e stabilire una connessione con il client e una connessione separata con il server finché non vengono utilizzati i certificati client.

Se il client utilizza comunque un certificato, tuttavia, l'utente malintenzionato ha un problema in quanto non sarà in grado di completare l'autenticazione con il server reale come client senza avere anche la chiave privata del client. Questo perché lo scambio delle chiavi di sessione richiede la conoscenza della parte della chiave creata dal client e dal server. Se il server reale crittografa la sua parte della chiave di sessione con la chiave privata del client, allora è impossibile che il MITM completi la chiave di sessione per parlare con il server reale e non può funzionare come un MITM, solo un sostituto per il vero server.

Se il MITM è in grado di catturare la prima volta che un client fa comunque una connessione, può convincere il server che la coppia di chiavi che genera è effettivamente il client e quindi può MITM con successo una chiave client, ma questo solo funziona se il vero server non ha una conoscenza preliminare del certificato pubblico del cliente.

    
risposta data 04.04.2014 - 15:54
fonte
0

My guess would be that the worst an attacker could perform is impersonating the server, leading users to log into his system instead of the legit one.

Questo significa in realtà che l'attaccante può leggere il traffico, agendo come proxy.

La domanda è: l'autenticazione basata su chiave avrà un effetto positivo per il client

Risposte a questa domanda che lo copre in alcuni dettagli

    
risposta data 04.04.2014 - 13:37
fonte

Leggi altre domande sui tag