Warning, world wide web development

Descrizione di un baco.


Il baco di italianblogosphere Qualche giorno fa un utente di oknotizie.com ha postato l'indirizzo ad un articolo di un blog in cui era recensito un nuovo sito sul filone di digg.com, dal nome italianblogosphere ([italianblogosphere.crispynews.com]). Da bravi smanettoni ci siamo subito interessati al sito e al suo funzionamento. Al contrario di quello che accade su digg.com, anche italianblogosphere permette il voto degli utenti non registrati. Anche noi di oknotizie abbiamo questa funzionalita', e memori delle tecniche che sono state necessarie per evitare un abuso di questa funzione abbiamo subito visto che su italanblogosphere non tutti gli accorgimenti necessari erano stati presi per prevenire un importante problema di sicurezza. Chiunque abbia un sito con un numero decente di visite puo' infatti decidere di portare in prima posizione qualunque news postata su italianblogosphere (che da ora in poi chiameremo IB per brevita'). Dettagli tecnici A prescindere dal fatto che Ajax venga utilizzato o meno, quando qualcuno vota una news su IB, il risultato e' che il client dell'utente effettua una richiesta alla seguente URL: http: //italianblogosphere.crispynews.com/article/vote/ id-del-voto e' un numero, il numero della news nel database. Ovviamente il programma di IB controlla che non ci siano piu' voti da parte di un singolo indirizzo IP, ma questo controllo e' insufficiente. Tutto quello che serve per far schizzare la nostra news preferita alle stelle e avere accesso ad un sito moderatamente trafficato. Ammettiamo che l'attaccante, che chiamiamo Alice, abbia un sito abbastanza visitato dal nome aliceblog.it. Tutto quello che deve fare Alice e' aggiungere qualcosa del genere nel codice HTML di aliceblog.it: Ogni volta che un utente visitera' aliceblog.it fara' involontariamente una richiesta al programma di IB, che contabilizzera' il voto (poiche' l'IP dei visitatori di aliceblog.it variano). Come e' chiaro la notizia scelta da Alice volera' velocemente verso la prima posizione. Tanto piu' aliceblog.it e' trafficato, quanto piu' velocemente la notizia raggiungera' la prima posizione. Con un sito da 500 visitatori unici al giorno bastano alcuni minuti. Soluzione Non e' complesso risolvere questo problema, tutto quello che serve e' utilizzare un po' di crittografia, ad esempio lo schema della URL potrebbe essere modificato in: /article/vote/HMAC(IP,NEWSID)/NEWSID Ogni visitatore che accede ad IB avra' dunque delle URL di voto leggermente diverse da tutti gli altri, in relazione all'indirizzo IP che possiede. All'atto del voto ovviamente il server verifica che l'HMAC sia valido. L'HMAC puo' essere implementato con una qualunque funzione ad una via, come MD5 o SHA1, e si noti che in questo caso le vulnerabilita' dovute ai recenti risultati di crittoanalisi contro MD5 non ne alterano la validita'. Riferimenti La descrizione di questa classe di vulnerabilita' e' apparsa inzialmente alcuni mesi fa su reddit.com grazie ad un utente che ha inventato l'attacco. La soluzione proposta in questo commento e' stata inventata dallo staff di oknotizie, ma e' possibile che i siti che attualmente si proteggono da questo problema adottino soluzioni simili. Via OkNotizie

Articoli correlati

  • Wireless device driver hacks.
  • Rilasciato Firefox 1.5.0.3
  • BUG AVAST
  • Phishing Fai da Te.
  • Nuovo framework grafico AIGLX
  • Seguici Tramite Feed Rss Se ti è piaciuto questo articolo, seguici


    Scrivi un commento

    Close
    E-mail It