02.06.2013 Views

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPITOLO VI - Gli attacchi e il progetto OWASP<br />

default e script). Solamente i file che devono essere visualizzati dagli utenti via web<br />

devono essere marcati come leggibili usando il sistema <strong>di</strong> <strong>gestione</strong> dei permessi del<br />

sistema operativo (la maggior parte delle <strong>di</strong>rectory deve essere nascosta e pochissimi<br />

file, se non nessuno, deve essere marcato come eseguibile).<br />

• Forced browsing per superare <strong>una</strong> restrizione d’accesso: molte applicazioni, tra cui<br />

Talete, prevedono dei controlli prima <strong>di</strong> accedere ad un in<strong>di</strong>rizzo profondamente<br />

ni<strong>di</strong>ficato all’interno del sito. È necessario evitare che un utente possa saltare tali<br />

controlli forzando la navigazione (es: non fidarsi <strong>della</strong> variabile HTTP_REFERER).<br />

• Insecure ID: non bisogna affidarsi alla segretezza degli ID usati comunemente per<br />

<strong>di</strong>stinguere gli utenti, i gruppi <strong>di</strong> appartenenza e quin<strong>di</strong> i relativi privilegi. Se un<br />

aggressore riuscisse a leggere tali valori e capire la logica dell’assegnazione (es: il<br />

valore "0" per l’utente root) potrebbe generare delle richieste HTTP mo<strong>di</strong>ficate,<br />

scar<strong>di</strong>nando il meccanismo <strong>di</strong> controllo implementato. Fondamentale in Talete è il<br />

parametro ID presente nelle query; in pratica se fosse l’unico parametro presente,<br />

chiunque potrebbe provare ad indovinare quell’id scrivendone uno a caso. In questo<br />

modo, se l’id fosse presente, sarebbero visualizzati dei dati che non dovrebbero essere<br />

mostrati. Per questo, nelle query <strong>di</strong> Talete, è stato inserito un altro parametro, che è l’id<br />

dell’organizzazione, in modo tale che, se l’id tirato a caso dall’utente <strong>di</strong> quella stessa<br />

organizzazione è giusto, i dati vengono mostrati (ma comunque è un utente appartenente<br />

a quell’organizzazione), altrimenti la query non restituisce alcun risultato perché non<br />

viene specificato l’esatto parametro relativo all’id dell’organizzazione.<br />

• Client Side Caching: le pagine salvate in cache dai moderni browser sono un pericolo<br />

costante per la riservatezza dei dati <strong>di</strong> quelle persone che navigano attraverso postazioni<br />

pubbliche (scuole, internet point, etc.). Si dovrebbe adottare tutte le soluzioni tecniche<br />

per evitare il caching delle pagine contenenti informazioni sensibili oppure dati<br />

129

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!