Logo


Security Auditing

Test tradizionali e test di penetrazione

I test tradizionali sono volti a verificare specifiche funzionalità; consentono di valutare il risultato finale di un progetto, basando detta valutazione su una analisi incrociata di quanto riportato negli innumerevoli documenti di progetto e quanto è effettivamente stato implementato.

Completamente diverso è il discorso nel caso del servizio di security auditing offerto dal nostro studio, finalizzato alla ricerca metodica delle vulnerabilità del sistema ed incentrato sulla raccolta dei dati, sulla realizzazione di diversi test di sicurezza (test di stress, test di penetrazione) ed infine su una fase di reporting.
Come si comporta l'applicazione al verificarsi di particolari carichi di lavoro (attacchi di tipo DoS)? Il software realizzato presenta vulnerabilità alle innumerevoli ed in continua evoluzione tipologie di attacchi esterni?

In particolare questo ultimo aspetto viene troppo spesso trascurato; la causa è da ricercarsi in parte nella mancanza delle competenze richieste, con particolare riguardo alle tecniche di hacking e di reverse engineering del codice.

Altro motivo per cui queste verifiche non sempre vengono adeguatamente effettuate è da ricercarsi nella scarsa obbiettività di chi le effettua; ricercare ed indagare su eventuali falle nella sicurezza del sistema introdotte dai propri colleghi può essere motivo di imbarazzo se non di controproducenti tensioni all'interno del team. E' quindi auspicabile che questa tipologia di verifiche venga affidata ad un soggetto 'super partes', esterno, privo di alcun conflitto di interessi.

Gli sviluppatori nel realizzare i propri test operano nel presupposto di un utente ragionevole; un hacker ricercherà invece in qualsiasi modo le vulnerabilità nel vostro codice, ideando ed effettuando test che potrebbero apparire pazzeschi ai vostri occhi.



Alcuni esempi delle diverse modalità di Auditing:

Auditing basato sulla sola disponibilità dell'applicativo o sistema da testare (Blind Auditing);

Auditing basato sulla disponibilità dell'applicativo o sistema da testare e di parte della documentazione (dichiarazioni delle interfacce, dei file dati, dei pacchetti trasmessi etc.) (Gray Box Auditing);

Auditing basato sulla disponibilità completa delle informazioni e documentazione esistente dell'applicativo o sistema da testare (Crystal Box Auditing).