Proteggersi da doppie registrazioni, utenti spengono router e cancellano file

  • 3 Risposte
  • 2869 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline VYCanisMajoris

  • Nuovo Iscritto
  • *
  • 21
Salve ragazzi vi pongo un quesito e spero mi sappiate rispondere. Sto progettando un sito in cui gli utenti dovranno registrarsi e fare determinate cose. Il problema è che la salute del mio sito verrebbe compromessa in maniera estremamente grave da doppie triple quadruple registrazioni di stessi utenti.
Mi suggerirete che soluzione semplice ed immediata sia il ban. Bene...
Ma questo vale per gli utenti meno furbi.
Mi chiedeo quindi se esiste un sistema di protezione che potrebbe proteggermi da utenti che dopo aver effettuato la prima registrazione, spengano il router e lo riaccendano(cambiando cosi IP) e poi cancellino cookie e cronologia e poi effettuando una seconda registrazione, e cosi via...
Esiste un sistema che rileverebbe queste furbate?

Offline u0000

  • Nuovo Iscritto
  • *
  • 6
Ciao, sistemi sicuri al 100% non esisteranno mai in nessun sistema informatico. Diciamo che la tua è una lotta tra te e l'intelligenza di un altra persona.

Detto questo vediamo qualche idea.

Un sistema potrebbe essere quello di generare al momento della registrazione un token di autenticazione che non dipende dall'indirizzo IP dell'utilizzatore ma dall'identificazione del disco rigido del pc dell'utente.
In questo caso sarebbe facile determinare che una seconda registrazione avviene dallo stesso pc. Il problema è che se l'utente dispone di piu computer magari uno a casa, uno allo studio ed uno in ufficio e fa tre registrazioni separate con tre indirizzi email diversi e opera in modo coordinato difficilmente riesci a capire che si tratta della stessa persona.
Devi quindi capire se vuoi proteggerti da piu registrazioni dallo stesso pc o da pc diversi.

Se il pc è uno solo potresti anche all'atto della registazione far girare una routine che mette un entry nascosto e magari crittografato nel registry del computer ospite e quindi alla nuova registrazione potresti verificare che esiste gia quell'entry nel registry un po come fanno i programmi shareware che durano solo 30 giorni. Anche in questo caso se l'utente a casa ha piu pc diversi potresti accorgertene dall'indirizzo IP. Tieni presente pero' che esistono siti fatti apposta che ti consentono di aprire sessioni con ip di provenienza diversi. Inizialmente creati per la navigazione anonima vengono utilizzati per tanti altri scopi.

Un terzo sistema potrebbe essere quello seguito dalle banche e cioè distribuire ad una persona fisica identificata quindi da documenti un generatore di one-time-password e quindi al login la persona dovrebbe inserire user password e token generato al momento dal dispositivo. In questo caso la certezza di duplicazioni di registrazioni sta nel meccanismo di distribuzione fisica del dispositivo che genera la one-time-password.

Il metodo piu sicuro ad oggi è la registrazione mediante parametri biometrici tipo impronte digitali o altro .. ma questo se il sito opera in modo remoto e non c'e controllo fisico degli accessi non impedirebbe all'utente di fare tre registrazioni usando amici di comodo .. (presta impronte in pratica) ma poi operare lui direttamente.

Un quarto sistema potrebbe essere un meccanismo di controllo euristico basato sulle finalità di doppie e triple registrazioni.
Facciamo un esempio .. immaginiamo che io mi faccia tre account su ebay allo scopo di vendere un prodotto e poi farmi delle offerte per far lievitare il prezzo dell'asta (caso tipico e ben noto ad ebay) E' chiaro che se il sistema si rende conto che su un offerta generata da A c'e sempre un B o un C che offrono al rialzo ma poi non comprano .. dopo un certo numero di volte questo comportamento diventa sospetto.
Quindi il controllo potresti farlo proprio sapendo le motivazioni per le quali non vuoi che avvengano doppie e triple registrazioni.
Se prendi ad esempio giochi tipo travian o similari .. li ci possono essere utilzzatori che si fanno piu account per mandarsi aiuti o formare alleanze giocando in modo scorretto. E' evidente che se io mi creo un account per mandarmi aiuti .. bonus .. punti .. regali ecc e quindi favorirmi .. prima o poi lo farò e questo sul lungo periodo è un trigger di comportamento anomalo.

Spero di essere stato di aiuto. Magari sei ci dici cosa stai facendo possiamo essere piu efficaci.
:-)

Offline VYCanisMajoris

  • Nuovo Iscritto
  • *
  • 21
Devi quindi capire se vuoi proteggerti da piu registrazioni dallo stesso pc o da pc diversi.
Se l'utente A si registra nella casa 1 poi si riregistra alla casa 2 e alla casa 3 a me va benissimo. Mi devo proteggere da un utente A che si registra nella casa A1, un utente B(che puo o non puo essere la stessa persona dell'utente A) che si registra alla casa A1.

Per risponderti al resto, sto progettando un sito di guadagno online dove vengono mostrate delle pubblicità e ovviamente il fatto di doppie registrazioni fa scappare a gambe levate gli inserzionisti.
Comunque ammettiamo che con le soluzioni proposte da te prima dovessimo risolvere questo vale solo per quelli utenti che hanno instalato windows... e per chi fa doppie triple registrazioni e come da manuale spegne router cancella cronologia e cookie MA usa linux?

Offline u0000

  • Nuovo Iscritto
  • *
  • 6
Ciao, in linea di principio il meccanismo è lo stesso per chi non utilizza windows ma linux. Ogni disco rigido è identificato da una sigla o un numero di matricola quindi puoi sempre prevedere una routine in java o javascript che lo vada a leggere.

Il modo migliore per evitare che un utente cancelli queste informazioni è non memorizzare niente sul suo PC ma tenere i dati identificativi dell'hard disk memorizzati sul tuo server. In pratica il meccanismo con cui ti proteggi è questo.

1) Il meccanismo di sicurezza si basa su un sistema doppia chiave pubblica/privata.
    In pratica un messaggio codificato con una chiave puo essere letto con l'altra chiave
    La chiave privata te la tieni tu e non la diffondi
    La chiave pubblica viene cablata nella routine che fai girare sul pc utente

2) Fai scaricare sul pc dell'utente una routine che legge il codice del disco rigido e genera un messaggio detto
    challenge con un algoritmo che utilizza il codice del disco e la tua chiave pubblica.

3) Questo messaggio viene uploadato sul tuo sito e li tu con la tua chiave privata decrittografi il codice del disco.
    usi questo codice come chiave per codificare in base ad un tuo algoritmo il codice di autorizzazione.  

4) Cifri questo codice di autorizzazione con la tua chiave privata e mandi questo messaggio all'utente.

5) la routine di autorizzazione sul pc utente decodifica il messaggio ricevuto con la chiave pubblica cablata. Se questa
    verifica è positiva l'utente è autorizzato a procedere oltre.

L'utilizzatore non puo farti credere di avere un disco diverso perchè per poter generare un messaggio di challenge con un numero di codice differente dovrebbe conoscere la chiave pubblica che è cablata nella routine di lettura del disco.

Non può inoltre fare tampering del messaggio che ti invia in quanto se modifica anche un solo bit del messaggio questo non passerà piu il check che tu farai sul server con la tua chiave privata e che lui non conosce.

Non puo fare tampering del messaggio ricevuto in quanto se modifica anche un solo bit del codice di autorizzazione cifrato che tu gli mandi indietro la routine di verifica fallirà il check con la chiave pubblica.

Se dovesse mettere temporaneamente un altro disco rigido per generare il mesasggio di challenge e autorizzazione poi quando cerca di utilzzare l'altro disco non gli funzionerà.

Non funzioneranno nemmeno dei key generator in quanto anche se un hacker bravissimo disassemblasse il codice del programma che genera il messaggio di challenge e identificasse la chiave pubblica e con questa codificasse un messaggio di challenge modificato non potrebbe mai conoscere la tua  chiave privata in quanto l'algoritmo a chiave doppia pubblica non consente matematicamente di ricavare una chiave nota l'altra in quanto usa funzioni non lineari. Non potrebbe quindi generare il codice di autorizzazione.

Ovviamente nessun sistema è perfetto e quindi utenti molto esperti in crittografia, assembler, programmazione sicuramente potrebbero trovare un punto di vulnerabilità magari per come poi scrivi in pratica queste funzioni.
l'uso di questo sistema pero' ti elimina la maggior parte degli utenti smanettoni di primo pelo e anche di secondo pelo ma non i veri esperti informatici.
Comunque ... se dovessi trovare un vero esperto informarico che bypassa i tuoi sistemi ... fallo lavorare per te è il miglior investimento che puoi fare.

Ciaoooooooo.
« Ultima modifica: 15 Maggio 2011, 20:02 da u0000 »