Come può qualcuno accedere ai dati che sto richiedendo quando utilizzo HTTP?

3

Ho sentito che l'HTTP usa la comunicazione in chiaro. Se è così, come può un hacker o qualcuno toccarlo. Dalla mia piccola conoscenza so che se abbiamo inviato una richiesta a un server web ci risponde di nuovo usando il nostro indirizzo IP. Quindi se un attaccante vuole sapere cosa sto facendo, come lo fa? È necessario conoscere il mio indirizzo IP o intercettarlo in mezzo? O è così: un attaccante decide di attaccare qualcuno e sceglie alcuni dati e scopre che questo appartiene a dire X, il che significa che attacca in modo casuale?

    
posta Nithin Jose 07.07.2013 - 17:29
fonte

3 risposte

9

Quando accedi a un sito web, ad esempio Google, la tua richiesta passa attraverso più passaggi (nodi) fino a raggiungere la sua destinazione finale. Il primo nodo è il router di casa, quindi i router dell'ISP, quindi altri grandi router e quindi i router di Google. In uno di questi nodi, la richiesta viene momentaneamente archiviata nella memoria del dispositivo, il che significa che è possibile accedervi da un utente malintenzionato. Certo, non è una situazione molto probabile.

La cattiva notizia è che un utente malintenzionato potrebbe in qualche modo ingannare il tuo computer pensando che il suo computer sia un vero nodo nel percorso tra te e un nodo legittimo. Questo attacco è chiamato attacco man-in-the-middle (MiTM) . I MiTM sono disponibili in molte forme e forme, i più famosi sono:

Non passerò attraverso ogni tipo perché renderà questa risposta troppo grande, ma per favore dai un'occhiata alle pagine e scopri di più su questi attacchi.

Come soluzione a questo problema, abbiamo HTTPS . Funziona sovrapponendo HTTP su SSL / TLS per assicurarti che la tua richiesta stia andando dal tuo browser al server previsto e assicurandoti che chiunque curiosando in giro non sia in grado di vedere cosa contengono la richiesta o la risposta che ricevi dal server.

    
risposta data 07.07.2013 - 17:57
fonte
3

Non completamente necessario. Se l'autore dell'attacco utilizza lo ARP spoofing 1 , può stare seduto in qualsiasi punto della catena di comunicazione 2 . Ad esempio, se si connette allo stesso nodo ISP come sei (fisicamente vicino a te), allora può annusare tutti i dati in chiaro di tutti quelli che si connettono all'ISP in quella sottorete. Non ha bisogno di conoscere il tuo IP per questo, tuttavia scoprirà chi ha inviato la richiesta HTTP. Quindi non bisogno per scoprire il tuo IP esatto o fare colpi casuali al buio finché non lo trova; può facilmente recuperare tutti i pacchetti dalla sottorete e setacciarli attraverso quelli.

Nota che un utente malintenzionato può scegliere ARP spoof solo tu , se conosce il tuo IP. Questo è molto più conveniente a causa del rumore meno indesiderato sulla linea, ma può anche rovinare tutti sulla sottorete e procedere.

Il modo in cui funziona è che il protocollo TCP / IP (beh, il protocollo ARP) è intrinsecamente insicuro. Quando i dati devono essere inviati a un determinato IP, viene chiesto al computer con quell'IP di identificarsi. È facile pretendere di essere quel computer e accettare i pacchetti, quindi inoltrarli al destinatario reale.

Per questo, l'attaccante deve essere sulla stessa sottorete di un nodo che sta trasmettendo i dati. Questo nodo potrebbe essere te, un nodo ISP intermedio o il server web.

1. Questo non è l'unico modo per MITM, vedere la risposta di Adnan per ulteriori informazioni. Tutti e tre questi metodi possono funzionare senza conoscere l'IP esatto.

2. È molto improbabile che un attaccante sia seduto tra due nodi intermedi. È molto facile per un utente malintenzionato stare seduto sulla connessione You- (your) dell'ISP e non troppo improbabile per la connessione ISP (il loro) ISP. Qualsiasi altra cosa è molto improbabile.

    
risposta data 07.07.2013 - 17:56
fonte
0

Volevo solo rispondere alla tua domanda sulla presenza o meno di una chiave condivisa (non posso commentare perché non c'è abbastanza rep).

Quando utilizzi HTTPS, utilizzerai SSL per la crittografia. I server che supportano HTTPS avranno certificati che conservano la loro chiave pubblica e possono anche essere utilizzati per la verifica. I client utilizzeranno la chiave pubblica per crittografare un pre-master secret da inviare al server. Successivamente, entrambi useranno quel pre-segreto segreto per generare la chiave segreta principale per uno schema di crittografia simmetrica (uno in cui usano la stessa chiave per crittografare e decrittografare i dati).

Spero che ti aiuti!

Modifica:

Per rispondere alla tua ultima domanda se un utente malintenzionato potrebbe fingere di essere un utente: ovviamente! È piuttosto semplice per un utente malintenzionato stabilire una connessione https con un server. Tuttavia, questo non dovrebbe consentire all'utente malintenzionato di leggere messaggi da altri utenti utilizzando https, poiché le loro chiavi segrete saranno diverse.

    
risposta data 08.07.2013 - 21:14
fonte

Leggi altre domande sui tag