livello novizio: intercettazione richiesta / risposta HTTP

0

Esperti del buon pomeriggio,

Avrei una domanda di base sulla sicurezza ma non ho la consapevolezza che è un puzzle per me.
Diciamo che c'è un'applicazione (non credo sia rilevante ma è un'app Java) che invia richieste al server (anche Java) e il server rinvia il comando nella risposta che deve essere eseguita. Diciamo anche che non siamo su Internet ma sulla intranet di un'azienda che è più sicura.
Qualcuno / qualcosa può dirottare la richiesta del cliente e rimandare un malintenzionato? Come può essere prevenuto? HTTPS risolverà il problema?

Che cosa suggeriresti di fare per impedire a terzi di ascoltare la comunicazione?

Grazie, V.

    
posta Viktor 04.11.2016 - 13:44
fonte

2 risposte

1

Encryption (https) è il modo migliore per prevenire un attacco "man in the middle" che stai descrivendo. È possibile la crittografia MITM ma è piuttosto difficile da eseguire, anche per i veterani esperti.

Supponendo che la comunicazione così com'è ora sia in testo semplice (non crittografato) allora sì, le persone possono usare un attacco MITM per convincere il cliente a pensare di essere il server, e il server a pensare di essere il cliente. Ciò consentirebbe loro di vedere il traffico da entrambi i lati, quindi l'uomo nel mezzo. Il metodo ancora più semplice sarebbe semplicemente "annusare" il traffico, il che significa che il traffico non è diretto verso l'attaccante da un computer, ma piuttosto semplicemente prendere una copia del traffico mentre passa attraverso la rete. Lo sniffing non è facilmente rilevabile come MITM ma se l'utente malintenzionato tenta di falsificare un IP del client che stava annusando per inviare traffico dannoso, che normalmente è molto più facile da rilevare.

La semplice risposta alla prevenzione è la crittografia che blocca il 99,9% di questi problemi. La lunga risposta è contorta e suona molto simile a una teoria della cospirazione, basta sapere che nessun metodo di prevenzione è perfetto. Eliminare la frutta bassa sospesa respinge la maggior parte degli attaccanti là fuori, c'è troppa roba facilmente hackerabile là fuori per trascorrere del tempo su un bersaglio ... a meno che non ci sia una motivazione sufficiente.

    
risposta data 04.11.2016 - 14:13
fonte
1

Nel tuo esempio, un intercettatore (E) dovrà avere accesso alle comunicazioni tra l'applicazione (A) e il server (B). Questo può essere fatto compromettendo i router nella tua rete, o mascherando come router WiFi legittimo. Non è facile, ma non impossibile nella maggior parte delle reti.

Si noti che se E riuscisse a compromettere l'attrezzatura, potrebbero anche compromettere il server e manipolare l'applicazione. In breve, a questo punto hai maggiori problemi di sicurezza rispetto alla protezione della comunicazione tra A e B e dovresti concentrare le tue risorse nell'assicurare l'integrità della tua rete.

Ma diciamo che E riesce ad entrare nella rete e vuole rimanere invisibile non toccando A o B. E vuole solo ascoltare le comunicazioni tra A e B. A e B potrebbero comunicare in sicurezza con entrambi: avere il certificato l'uno dell'altro (A ha il certificato di B e si fida che sia legittimo), o che abbia il certificato dell'autorità di certificazione della vostra azienda per verificare i certificati A e B. (A ottiene il certificato di B su un canale non attendibile ma A verifica che sia legittimo usando la fiducia di A nell'autorità di certificazione). Questi certificati possono quindi essere utilizzati per proteggere le comunicazioni tramite TLS (HTTPS).

In questo modello di minaccia, senza proteggere le comunicazioni tra A e B, E poteva osservare le comunicazioni. Se E vuole fare un passo ulteriore, potrebbe anche temperare i dati che transitano tra A e B, a seconda dell'accesso di E alla rete.

TL; DR: la difesa in profondità è una cosa buona (TM). Tuttavia, dovresti fare attenzione a valutare le tue minacce al fine di focalizzare le tue risorse nel proteggere le vulnerabilità con il maggior ROI per l'aggressore. Poiché ciascuna impresa è diversa da un'altra, è necessario richiedere un audit della propria azienda per sapere se è una buona idea spendere risorse per assicurare la comunicazione tra A e B.

    
risposta data 04.11.2016 - 14:20
fonte

Leggi altre domande sui tag