il mio è un punto di vista puramente ludico ma cerco di dare un paio di 
opinioni:

Il giorno 01/giu/2010, alle ore 12.35, Perego Paolo Franco ha scritto:

> 
>> 1) Form inviato in POST (come, d'altronde, si insegna sulla guida base
>> di HTML).

> 
>> 2) Hash della password sempre e comunque, a prescindere dalla presenza
>> di un certificato SSL.

 è cmq poco SANO mandare in GET (nonostante SSL/TLS) la coppia id/pw
- shoulder surfing
- qualunque javascript residente sulla pagina chiamata ha accesso a tale info, 
nel caso specifico Vodafone.it include in fondo un bellissimo js firmato:

* SiteCatalyst code version: H.21.
Copyright 1996-2010 Adobe, Inc. All Rights Reserved
More info available at http://www.omniture.com 

Immagino che un sistema per statistiche delle visite sito tenga traccia delle 
url no?
per fortuna non è google analytics altrimenti vodafone regalava tutte le 
credenziali a google. Chissà dove è quel db... e chissà chi ci ha accesso, 
dopotutto è un semplice db di statistiche no? innocuo, no?

Non sono utente vodafone e non posso controllare, ma se sono presenti link a 
siti esterni allora tramite il campo "HTTP referrer" si divulga al mondo i dati.
Oppure tramite la history del browser che mi pare sia accedibile tramite 
javascript... ma potrei sbagliare.

Fare un POST quindi e' ESTREMENTE UTILE. I dati in POST vengono loggati molto 
meno dei get.

Secondo -> fare un hash della password è inutile: diventerebbe l'hash la 
credenziale e non la password, e sarebbe vulnerabile al replay attack nella 
stessa maniera della password.

E' utile se invece si implenta anche una nonce per evitare il replay attack:

1) Server genera nonce=rnd();
2) Server genera un hash con un hmac usando la nonce come chiave e (utente 
concat password) come argomento.
3) Server manda a client nonce
4) client genera l'hash usando nonce come chiave e utente concat password come 
argomento.
5) client spedisce risultato a server
6) server confronta

il punto 2 per i più puristi spostatelo pure dopo il 5)

In questo modo è implementato un sistema resistente ai replay attack 
(ovviamente lo spazio delle chiavi rnd() deve essere ragionevolmente grande, 
32bit basta? 48? 64?), resistente alla cattura dell'url, del POST o da quello 
che volete.

Dato che Ermini lavora in vodafone ed è il Network Security Manager saprà 
contattare chi di dovere.


NM

Attachment: smime.p7s
Description: S/MIME cryptographic signature

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a