Pagina 1 di 1

Sicurezza di PhpBB

Inviato: lunedì 16 luglio 2012, 9:00
da kimj
Salve, era da un po' che non tornavo sul forum, ed ho notato la migrazione da SMF 1 a PhpBB.

Vorrei far notare un problema: come funziona il login.

Codice: Seleziona tutto

POST /ucp.php?mode=login HTTP/1.1
[ommiss]
username=kimj&password=miaPasswordInChiaro&autologin=on&redirect=.%2Fucp.php%3Fmode%3Dlogin&sid=mioSessionID&redirect=index.php&login=Accedi
Non vi sembra un problema l'inviare la password dell'utente in chiaro? Mettiamo che io stia usando una wifi pubblica... mi andrebbe bene che un utente ostile possa vedere quanto faccio sul forum, ma mi piacerebbe decisamente di meno che esso possa scoprire la mia password, che potrei usare anche su altri servizi.

Il team di PhpBB afferma che, anche se si inviasse la password passandola prima da una funzione di hash, essa non sarebbe più sicura:
A hashed password is no more secure than a plaintext one when in-transit.
e suggeriscono di usare https.

Penso si riferiscano al fatto che, intercettato l'hash, sia possibile riutilizzarlo come se fosse una password. Ora, se c'è un campo in cui non vado bene esso è quello della matematica e della crittografia, ma penso stia scritto in qualsiasi libro sull'argomento che, per difendersi da un replay attack, basti inserire un timestamp o, visto che l'orario difficilmente sarà sincronizzato, un id di sessione.

esempio:

il server del forum mi assegna un id di sessione, mettiamo 12345678910 (cosa che già avviene), più il salt assegnatoci alla registrazione. Quando carico la pagina di login, lascia tali valori nella pagina.

A questo punto, del codice javascript, quando premo "login" (onSubmit), calcola hash(hash(password, salt), 1234567890), il che ha la doppia funzione di prevenire un replay attack e di fungere da salt.

La parte lato server calcola se l'hash salvato come password corrisponde a quanto ricevuto dal client, ovvero se hash(hashSalvatoNelDatabase, 1234567890) è uguale a hash(hash(password, salt), 1234567890), come calcolato dal client




Si potrebbe trovare una soluzione?

So che i certificati costano, e lasciano comunque nelle mani di terzi. Si potrebbe segnalare la cosa come problema di sicurezza agli sviluppatori, o modificare questo forum, ma immagino vi costerebbe fatica... il mio è solo un suggerimento volto a migliorare la sicurezza del forum, non voglio lamentarmi.

PS: non prendete necessariamente per buono quanto ho scritto, sono sveglio da ieri alle 6 di mattina...

Re: Sicurezza di PhpBB

Inviato: lunedì 16 luglio 2012, 12:41
da Janvitus
Dovrei informarmi se è disponibile l'ssl sul nostro server...

Re: Sicurezza di PhpBB

Inviato: sabato 5 gennaio 2013, 16:11
da kimj
Ripensandoci hashare un hash è una pessima idea visto che l'output è limitato a 256-512 bit, mentre una password/id potrebbero contenere più informazioni. hash(hash(password+salt)id_sessione) è un po' meglio per esempio; ho corretto

Comunque questa modificare dovrebbe farla il progetto phpbb, e capisco che si tratta di un'utopia sperare che il problema, se così si può considerare, venga risolto in tempi ragionevoli. (non ho controllato ora, non perché sono in cattiva fede ma perché le possibilità che le password ora siano inviate hashate è piuttosto bassina).

Il certificato ssl dovrebbe invece essere possibile, tralasciando quelli gratuiti di startcom ve ne sono a circa 10 euro l'anno, certo non wildcard, quindi resterebbero usabili per un solo virtualhost...

Re: Sicurezza di PhpBB

Inviato: sabato 5 gennaio 2013, 19:41
da pietroalbini
kimj ha scritto:Il certificato ssl dovrebbe invece essere possibile, tralasciando quelli gratuiti di startcom ve ne sono a circa 10 euro l'anno, certo non wildcard, quindi resterebbero usabili per un solo virtualhost...
I nostri server sono ospitati da Canonical Ldt., non possiamo farci tutto quello che vogliamo.

Re: Sicurezza di PhpBB

Inviato: domenica 6 gennaio 2013, 3:17
da kimj
ok, scusate. Ho notato ora che praticamente solo shop.canonical.com sta su https...

Re: Sicurezza di PhpBB

Inviato: domenica 6 gennaio 2013, 8:58
da peppe84
kimj ha scritto:ok, scusate. Ho notato ora che praticamente solo shop.canonical.com sta su https...
Ni. Nel senso che sia shop.canonical.com o qualsiasi altro servizio più strettamente legato alla comunità (wiki.ubuntu.com, help.ubuntu.com/community, iso.qa.ubuntu.com/) fanno uso di openid (vieni quindi rediretto su httpS://login.ubuntu.com, httpS://login.launchpad.net).

Sono rimasti veramente pochi servizi che usano sistemi di login decentralizzati...

Anche qui, la soluzione migliore non mi sembra quella di acquistare un certificato ssl ma di passare ad un autenticazione centralizzata.

Adesso anche ubuntuforums.org (vBulletin) è passato a questo sistema (vedi qui: http://ubuntuforums.org/showthread.php?t=2091969).

edit: così per curiosità ho trovato il codice con cui han fatto l'integrazione tra openid e vbulletin (https://code.launchpad.net/~ubuntuforums-devel)

Re: Sicurezza di PhpBB

Inviato: domenica 6 gennaio 2013, 15:53
da Janvitus
peppe84 » [url=http://forum.ubuntu-it.org/viewtopic.php?p=4286989#p4286989]oggi, 8:58[/url] ha scritto:
Adesso anche ubuntuforums.org (vBulletin) è passato a questo sistema (vedi qui: http://ubuntuforums.org/showthread.php?t=2091969).

edit: così per curiosità ho trovato il codice con cui han fatto l'integrazione tra openid e vbulletin (https://code.launchpad.net/~ubuntuforums-devel)
La conseguenza è che hanno dei problemi con il sistema di accesso normale... Comunque, l'openid era una delle idee già a gennaio scorso prima di cambiare forum, oltre che la 3.1 di phpBB dovrebbe essere abbastanza prossima, e se non ricordo male prevede già un sistema di openid integrato.