È possibile modificare l'IP dopo ogni richiesta

4

Sto sviluppando un'applicazione web. Sto pianificando di saltare CAPTCHA per la registrazione iniziale da un IP in modo da migliorare l'esperienza dell'utente. Mi stavo chiedendo se sto invitando qualsiasi rischio per la sicurezza in questo modo. È possibile che un utente malintenzionato effettui molte registrazioni utilizzando un nuovo IP per ciascuna richiesta? Inoltre, quanto è difficile per un attaccante raggiungere questo obiettivo?

    
posta VarunAgw 27.02.2014 - 16:44
fonte

3 risposte

8

Sì, può essere fatto. È banale.

Ci sono molti modi per un utente o un utente malintenzionato di avere più indirizzi IP - o di condividere gli indirizzi IP. Ecco una lista, in cima alla mia testa.

Tutti presuppongono che l'indirizzo IP del sistema di destinazione sia esposto al tuo server. O stai eseguendo del codice (come JavaScript) per rilevare l'indirizzo IP, oppure il client consente le connessioni direttamente dai sistemi senza alcuna interruzione.

Indirizzi condivisi

Questo elenco indica come un indirizzo IP può essere utilizzato da più sistemi.

  • Host multiutente . Molti host sono utilizzati da più persone. per definizione, utilizzeranno tutte le stesse interfacce per connettersi al tuo server e quindi condividere gli indirizzi IP.
  • DHCP . DHCP funziona creando un pool di indirizzi IP, da cui il client (il sistema che alla fine si connetterà a te) viene assegnato uno degli indirizzi. L'indirizzo IP utilizzato da questo sistema viene infine restituito al pool. A questo punto, qualcun altro può prendere l'indirizzo IP. Se entrambi i sistemi si connettono al tuo sistema, potrebbero collegarsi ciascuno in un momento in cui possiedono l'indirizzo IP.
  • Configurazione IP manuale . Chiunque può configurare la propria interfaccia di rete per utilizzare qualsiasi indirizzo IP che desiderano. Un sistema potrebbe essere intenzionalmente configurato per utilizzare un indirizzo IP in uso da un altro sistema.
  • Informazioni false . Se si sta rilevando l'indirizzo IP eseguendo il codice sul client, il client può fornire informazioni false sul codice. Ad esempio, uno script Greasemonkey può modificare il tuo javascript e farlo restituire qualsiasi indirizzo IP richiesto dall'hacker.
  • NAT . Esistono reti che utilizzano la Traduzione degli indirizzi di rete per mostrare un numero molto piccolo di indirizzi IP riutilizzati su Internet, mentre utilizzano indirizzi completamente diversi all'interno della rete. Questo è estremamente comune. Quando i client si connettono al tuo server tramite server NAT, appariranno tutti dallo stesso indirizzo IP.
  • Indirizzi IP riservati . È molto comune abbinare NAT con indirizzi IP riservati. Indirizzi IP riservati, come 192.168. *. *, Vengono riutilizzati da molte organizzazioni. Questi indirizzi sono solo instradabili all'interno della rete locale, pertanto i server NAT presentano altre reti con indirizzi instradabili in remoto. Se si utilizza qualcosa come il codice JavaScript per rilevare l'indirizzo IP del client, ci saranno molti client che riutilizzeranno questi indirizzi.

Indirizzi multipli

Questo elenco mostra come un singolo host può avere più indirizzi IP.

  • DHCP . Come descritto nel primo elenco, l'indirizzo IP viene infine rilasciato dal sistema che lo utilizza e restituito al pool. Quando il sistema si ricollega alla rete, gli verrà assegnato un nuovo indirizzo, che non è garantito come il vecchio indirizzo.
  • Configurazione IP manuale . Chiunque può configurare la propria interfaccia di rete per utilizzare qualsiasi indirizzo IP che desiderano. Un sistema potrebbe essere intenzionalmente configurato per utilizzare un indirizzo IP, quindi cinque minuti dopo utilizzerà un altro indirizzo.
  • Informazioni false . Se si sta rilevando l'indirizzo IP eseguendo il codice sul client, il client può fornire informazioni false sul codice. Ad esempio, uno script Greasemonkey può modificare il tuo javascript e farlo restituire qualsiasi indirizzo IP richiesto dall'hacker.
  • NAT . NAT non è tenuto a utilizzare lo stesso indirizzo ogni volta per lo stesso client. Un singolo client potrebbe connettersi al tuo server tramite NAT e ricevere ogni volta un indirizzo IP diverso.
  • Roaming del laptop su reti . Quando un sistema si disconnette da una rete e si connette a un'altra rete, ottiene un nuovo indirizzo IP dalla nuova rete. Mentre c'è una bassa probabilità di ottenere un indirizzo localmente indirizzabile riservato dalla nuova rete che corrisponde esattamente all'indirizzo indirizzabile localmente riservato dalla vecchia rete, questo è tutt'altro che garantito. Più probabile, l'indirizzo sarà diverso. L'indirizzo NATted è "garantito" per essere diverso.
  • Macchine multihomed . Una macchina multihomed è connessa alla rete tramite più schede di rete o a più reti con più interfacce. Questa macchina, per definizione, ha più indirizzi IP, uno per ogni interfaccia. Se il traffico arriva a te attraverso una rete una volta, poi l'altra rete un'altra volta, lo stesso host si connetterà utilizzando più indirizzi. Questo è improbabile, ma può verificarsi data la giusta struttura di rete.
  • Botnet . Gli aggressori possono noleggiare o costruire una botnet. La botnet sarà, per definizione, costruita con più sistemi, ognuno dei quali avrà un indirizzo IP diverso. L'autore dell'attacco avrà più IP a sua disposizione.
risposta data 27.02.2014 - 17:18
fonte
4

È meno importante se l'attaccante può cambiare il proprio IP e più di una questione di buone pratiche. Se non hai un captcha sulla tua pagina, neanche in un primo momento, consente l'invio automatico di moduli che non vuoi assolutamente. Ad esempio, un utente malintenzionato che controlla una botnet può bersagliare l'utente e quindi tutti gli IP sulla botnet sarebbero diversi. L'attaccante non deve modificare alcun IP se ne controlla così tanti. Se fossi in te, mi piacerebbe giocare sul sicuro e implementare un captcha a prescindere. Meglio prevenire che curare.

    
risposta data 27.02.2014 - 17:12
fonte
1

La prima cosa che mi viene in mente è: un semplice elenco di server proxy che un utente malintenzionato può utilizzare per effettuare molte registrazioni o qualsiasi altra azione, facendo finta di essere molti utenti diversi.

Tipicamente, questo potrebbe essere usato per aggirare la sicurezza per le votazioni online, i concorsi ecc. e dal punto di vista di un attaccante, questo è probabilmente il modo più semplice per andare (lo script per automatizzare l'iscrizione attraverso un elenco di server proxy dinamici sarebbe intorno alle 20 linee in perl / python).

    
risposta data 01.03.2014 - 01:19
fonte

Leggi altre domande sui tag