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 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
7.1.1 Analisi del co<strong>di</strong>ce sorgente<br />
CAPITOLO VII - Test per valutare la <strong>sicurezza</strong> <strong>di</strong> Talete<br />
Si parla <strong>di</strong> analizzatori <strong>di</strong> co<strong>di</strong>ce sorgente quando lo strumento utilizza, all’interno del processo<br />
<strong>di</strong> <strong>analisi</strong>, il co<strong>di</strong>ce sorgente dell’<strong>applicazione</strong>. Gli strumenti appartenenti a questa categoria<br />
(revisione statica) si basano principalmente sulla ricerca <strong>di</strong> pattern all’interno del co<strong>di</strong>ce<br />
sorgente al fine <strong>di</strong> identificare modelli <strong>di</strong> programmazione errati, che possono quin<strong>di</strong> introdurre<br />
problemi <strong>di</strong> <strong>sicurezza</strong>. Nei casi più semplici questi software ricercano sistematicamente ogni<br />
occorrenza <strong>di</strong> funzioni potenzialmente pericolose al fine <strong>di</strong> segnalare al tester tutti quei casi <strong>di</strong><br />
potenziale pericolo; è intuibile come questi software sono spesso inutilizzabili durante il testing<br />
<strong>di</strong> grosse applicazioni poiché la generazione <strong>di</strong> falsi positivi è troppo elevata. Molti degli<br />
strumenti avanzati cercano <strong>di</strong> ridurre significativamente il numero dei falsi positivi attraverso<br />
l’<strong>analisi</strong> del flusso <strong>di</strong> dati all’interno del co<strong>di</strong>ce (dataflow analysis).<br />
A <strong>di</strong>fferenza dei precedenti, gli analizzatori che effettuano revisione <strong>di</strong>namica attuano<br />
un’<strong>analisi</strong> in profon<strong>di</strong>tà nel co<strong>di</strong>ce sorgente cercando <strong>di</strong> ricostruire lo stack delle chiamate a<br />
runtime, determinando se la specifica invocazione viene effettivamente raggiunta dai dati<br />
ricevuti in ingresso; il principale problema <strong>di</strong> questa classe <strong>di</strong> strumenti è legato alla lentezza<br />
<strong>della</strong> scansione e alla necessità <strong>di</strong> fornire un set significativo <strong>di</strong> dati in ingresso.<br />
In generale gli analizzatori <strong>di</strong> co<strong>di</strong>ce sorgente, sia statici che <strong>di</strong>namici, risultano degli strumenti<br />
estremamente interessanti in quanto possono essere utilizzati sin dai primi momenti dello<br />
sviluppo del software, riducendo notevolmente i costi del processo produttivo<br />
7.1.2 Black-box scanner<br />
Con questo termine si identificano invece quegli scanner per applicazioni web che simulano la<br />
normale interazione tra web browser e server remoto cercando componenti con vulnerabilità<br />
153