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 />

coinvolge le risorse del S.O. In tal modo è possibile evitare un gran numero <strong>di</strong> problemi<br />

legati ai coman<strong>di</strong> shell.<br />

• Per tutte le chiamate che devono essere eseguite, come ad esempio quelle verso il DB<br />

nel backend, è necessario validare accuratamente i dati trasmessi per evitare che ci siano<br />

dati “malevoli”. E’ possibile strutturare la maggior parte delle request in modo da<br />

assicurarsi che tutti i parametri forniti all’<strong>applicazione</strong> siano trattati come dati, piuttosto<br />

che come contenuti potenzialmente eseguibili. L’utilizzo <strong>di</strong> procedure prememorizzate o<br />

<strong>di</strong> sintassi già preparate, può fornire <strong>una</strong> protezione in più assicurando che i dati forniti<br />

in ingresso siano trattati come tali. Queste soluzioni possono portare ad <strong>una</strong> riduzione,<br />

ma non riescono ad eliminare completamente il rischio.<br />

• Controllare i co<strong>di</strong>ci <strong>di</strong> ritorno <strong>di</strong> eventuali chiamate a programmi esterni, come minimo<br />

per sapere se l’esecuzione è andata a buon fine, ma anche per non essere ignari <strong>di</strong> un<br />

eventuale attacco in atto.<br />

6.8 Improper Error Handling<br />

Questa classe <strong>di</strong> vulnerabilità è un esempio concreto <strong>di</strong> come bastano piccoli accorgimenti per<br />

ridurre notevolmente il rischio <strong>di</strong> un’aggressione informatica.<br />

Arrivare a rubare dati dal server o eseguire co<strong>di</strong>ce su <strong>di</strong> esso implica <strong>una</strong> piena conoscenza del<br />

sistema che bisogna aggre<strong>di</strong>re e dei meccanismi <strong>di</strong> <strong>sicurezza</strong> da aggirare; all’aggressore<br />

servono informazioni sui servizi presenti, sulle loro versioni e configurazioni oltre che sulla<br />

struttura delle <strong>di</strong>rectory. Una <strong>gestione</strong> non corretta degli errori può rivelare in maniera <strong>di</strong>retta<br />

tali informazioni, trasformando un errore apparentemente innocuo in un messaggio utilissimo<br />

143

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

Saved successfully!

Ooh no, something went wrong!