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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically<br />

IUSR_MACHINENAME) or the authenticated request user.<br />

To grant ASP.NET write access to a file, right-click the file in Explorer, choose "Properties"<br />

and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the<br />

ASP.NET account, and check the boxes for the desired access.<br />

Per <strong>di</strong>fendersi, il principio base è quello <strong>di</strong> non fornire mai messaggi dettagliati ma, al<br />

contrario, errori generici <strong>una</strong> volta che la nostra <strong>applicazione</strong> è online. L’utente non deve<br />

leggere niente <strong>di</strong> più <strong>di</strong> quello che gli serve per comprendere lo stato <strong>della</strong> sua richiesta.<br />

Considerando Talete, se il login è errato, il messaggio <strong>di</strong> errore è il seguente: “Login non<br />

riuscito. Controlla i dati inseriti e riprova”, che è ben <strong>di</strong>verso da un messaggio del tipo: “Errore<br />

nella password per l’username xxx”. Quest’ultimo fornisce un’informazione importante e che<br />

bisognerebbe evitare <strong>di</strong> mostrare, cioè che quell’ username esiste. In questo caso ness<strong>una</strong><br />

informazione tecnica ma, un dato chiaro, che l’utente xxx esiste. All’interno <strong>di</strong> applicazioni<br />

come questa è possibile enumerare tutti gli utenti, provando poi a forzare eventuali password<br />

deboli.<br />

Una buona prassi è quella <strong>di</strong> loggare alcune classi <strong>di</strong> errore – solitamente le più critiche – per<br />

semplificare l’in<strong>di</strong>viduazione <strong>di</strong> errori <strong>di</strong> implementazione e smascherare eventuali tentativi <strong>di</strong><br />

attacco.<br />

145

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

Saved successfully!

Ooh no, something went wrong!