Il dispositivo all'altra estremità di una presa può cambiare senza che io lo sappia?

0

Ho un'applicazione server scritta in C #. Attualmente sto autenticando il client ogni volta che viene aperto un socket, prima di inviare qualsiasi altro dato. Dopo che il client è stato autenticato, suppongo che sia sempre lo stesso client che usa questo socket. È sicuro o può un'altra persona "conquistare" il Socket dopo che è stato autenticato?

    
posta nulldozer 12.09.2017 - 11:38
fonte

1 risposta

4

Se questo è un semplice socket UDP o TCP, tutte le informazioni necessarie per rilevare la connessione sono visibili in chiaro su qualsiasi sistema nel mezzo. Questo significa che un uomo nel mezzo potrebbe prendere completamente il controllo della connessione dopo che è stato stabilito o anche solo inserirsi nella connessione e inoltrare i dati modificati al peer originale.

Ma se il protocollo dell'applicazione ha uno stato interno che non può essere derivato dall'attaccante da informazioni intercettabili, tale presa di posizione non è possibile. Questo è ad esempio vero se SSL / TLS è usato su TCP. In questo caso un uomo nel mezzo dell'attacco non è più pratico. Ma un utente malintenzionato sull'endpoint stesso potrebbe ad esempio iniettare il proprio codice in un'applicazione in esecuzione e quindi controllare quali dati vengono trasferiti sul socket.

Anche gli attacchi Man in the middle non sono possibili se l'attaccante non può annusare la semplice connessione UDP o TCP. Ciò può essere ottenuto proteggendo il percorso di comunicazione ai livelli inferiori, ad esempio con IPSec o altre tecnologie VPN. Ma gli attacchi allo stesso endpoint sono ancora possibili anche in questi casi.

    
risposta data 12.09.2017 - 12:52
fonte

Leggi altre domande sui tag