Ciao a tutti, scusate se forse sono stato un pò confuso e non ho spiegato approfonditamente il mio punto di vista. Cercherò di approfondirlo e spiegarmi meglio. Il discorso nasce tutto da una serie di esperienze che mi hanno portato a sviluppare applicazioni "critiche" in vari linguaggi per il web su protocollo HTTP senza alcun utilizzo di SSL.
Dato che sono stato abituato ad essere paranoico da quando ho iniziato ad immergermi nella sicurezza, il mio contorto ragionamento mentale e relativo approcio si basa sul postulato "Se rendi sicura, per quanto sicura sia una parola abbastanza priva di significato, un'applicazione su protocollo HTTP allora l'SSL aggiunge un grado di sicurezza UNO alla tua già raggiunta sicurezza". Penso che siamo tutti d'accordo che: GET https://www.sito.it/pagina.do?user=user&password=password POST https://www.sito.it/pagina.do?user=user&password=password siano registrate sul log del webserver in questa maniera: GET https://www.sito.it/pagina.do?user=user&password=password POST https://www.sito.it/pagina.do (su Apache, perlomeno, una richiesta GET è accompagnata dalle querystring mentre una POST visualizza solo la pagina che è stata richiesta dalla POST senza dar seguito alle querystring). Usare una GET piuttosto che una POST, quindi, non è solo un mero aspetto estetico per cui chi sta dietro le mie spalle non vedrà passare sulla barra degli URL le mie querystring belle visibili, ma anche una questione di livello di logging delle due richieste (a meno di configurare il catching delle querystring passate in POST). Mettendo che il webserver sia configurato per loggare *TUTTO*, un hash della password con un random seed associato usando SHA-256 (usando Javascript alla fonte) mi renderebbe relativamente più tranquillo dal punto di vista del logging a livello webserver. Immagino anche a degli scenari in cui, io utente medio, non ho la più pallida idea di cosa voglia dire "Il certificato a qualche problema", premo lo stesso su OK e trasferisco la mia richiesta ad un qualcosa in grado di intercettare e reiniziare una richiesta SSL (sullo stampo dei local proxy come Paros o di estensioni di Firefox come Tamper Data o come spiegato nel whitepaper http://www.sans.org/reading_room/whitepapers/threats/ssl-man-in-the-middle-attacks_480); anche qui un hash generato come spiegato sopra mi renderebbe relativamente più tranquillo. Ad esempio, mi è capitato di lavorare in realtà in cui server Windows serventi applicazioni web non fossero hardenizzati perchè tanto Netbios era negato dal firewall fin quando non arrivò un virus sulla LAN dove erano attestati tutti i webserver Windows con le conseguenze che immagino intuiate. Per questo che mi chiedo sempre: perchè applicare solamente un'unica strada quando posso percorrerne due? Prendendo un altro esempio indescrivibilmente più grave e calzante, quando andavo alle superiori, il bus si fermava dalla parte opposta all'ingresso della mia scuola e quindi dovevi attraversare la strada; c'erano le strisce pedonali, ma, quando tre ragazzi sono finiti sotto delle auto, hanno pensato bene di aggiungere anche un semaforo. Ma magari sono castelli di carte che mi sto costruendo. Scusate se vi ho annoiato. -- Alessandro Romani ICT Security Analyst ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. ________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List
