di: Luca Carettoni 20 Settembre 2006
Dopo aver affrontato in un precedente articolo i principali problemi di sicurezza presenti nelle moderne applicazioni web, analizziamo ora brevemente i software che un esperto di sicurezza ha a disposizione per individuare, in modo semi-automatico, le vulnerabilità presenti in un'applicazione web.
La parola auditing identifica il processo attraverso il quale si verifica che certi requisiti e standard all'interno del software siano stati raggiunti, identificando eventualmente le aree che necessitano di modifiche e miglioramenti.
Il tema dell'individuazione di falle di sicurezza è attuale oltre che estremamente interessante per i risvolti economici di tale attività: determinare e correggere gli errori software prima che l'applicazione sia effettivamente in produzione, permette di evitare ulteriori costi, ritardi sullo sviluppo e disagi per gli utenti.
Il problema della ricerca di vulnerabilità nelle applicazioni web trova prevalentemente soluzione in ambito commerciale, anche se esistono tool open source e progetti di ricerca in ambito universitario.
È importare sottolineare come questi strumenti software sono solamente un tentativo di soluzione di un problema complesso e con forte mutabilità: molte di queste applicazioni lavorano in maniera automatica cercando casi noti di vulnerabilità, mettendo quindi in campo una vasta base di conoscenza piuttosto che un vero e proprio riconoscimento automatico.
Il limite intrinseco di questi strumenti deriva anche dall'approccio utilizzato che, nella maggioranza dei casi, è di tipo online sfruttando la connessione al server, inviando particolari richieste crafted e interpretando le risposte.
Oltre a distinguere gli strumenti tra online-offline, gli esperti utilizzano spesso una categorizzazione basata sull'interazione umana necessaria allo svolgimento dell'attività: parliamo quindi di strumenti automatici, semi-automatici o manuali. Come in tutte le attività che richiedono una forte componente d'intuito, intelligenza ed astuzia, l'uomo supera brillantemente la macchina: l'auditing svolto da personale competente è un'attività insostituibile se si vuole garantire la sicurezza dei propri applicativi.
L'importanza di analizzare manualmente le applicazioni è riassunta in un motto che incita a ricercare nella propria testa i migliori strumenti per svolgere un auditing: "I've always said, your best pentest tool is in your head" ("Come ho sempre ripetuto: il miglior strumento di penetration test è nella tua testa", Jeff Williams, esperto di sicurezza).
Strumenti come quelli presentati di seguito possono però affiancare l'esperto nello svolgimento dell'auditing, oltre ad assistere gli sviluppatori nelle fasi iniziali del progetto al fine di determinare gli errori più banali.
Per correttezza nei confronti del lettore è importante sottolineare come gli strumenti elencati non sono gli unici a disposizioni degli sviluppatori e degli esperti di security ma solamente un campione esemplificativo dei diversi approcci al problema; inoltre, come intravisto all'interno della OWASP Top Ten, i problemi delle applicazioni non sono legati solamente al codice applicativo ma possono derivare da problemi dell'installazione e configurazione dei sistemi che eseguono l'applicazione stessa: alcuni di questi software analizzano dettagliatamente anche questi aspetti.
Guida SQL Injection con SqlmapScopriamo se le nostre applicazioni web sono vulnerabili alle SQL... |
Guida sicurezza applicazioni WebLe tecniche di attacco più comuni, i metodi per verificare la... |
Guida Sicurezza wirelessQuali sono i pericoli di sicurezza di una rete senza filo e quali... |
Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |