Esistono scanner di sicurezza per applicazioni Web decenti che possono essere integrati con un server di build?

16

Recentemente ho trascorso molto tempo in TeamCity e le metriche di qualità del codice notturno provenienti dal duplicatore, FxCop e NDepend sono state fantastiche.

Quello che mi piacerebbe davvero fare è trovare uno scanner di sicurezza per applicazioni web decente che possa essere eseguito contro i siti distribuiti automaticamente (sto eseguendo una build notturna e distribuisco in un ambiente di test). Prenderò in considerazione anche l'analisi statica se esiste uno strumento decente. L'unico prerequisito reale è che deve essere in grado di eseguire l'incustodito e generare un report in formato HTML in modo che possa essere visualizzato tramite TeamCity.

Qualcuno ha qualche esperienza nell'integrare uno scanner con un server di build o suggerimenti per strumenti che soddisfano i criteri?

    
posta Troy Hunt 18.12.2010 - 08:33
fonte

3 risposte

8

Forse dovresti provare a Netsparker: link . Ha scansioni automatizzate, generazione di report, registrazione. Fornisce CLI.

    
risposta data 18.12.2010 - 12:20
fonte
3

Troy,

Ho visto il tuo lavoro, inclusa l'integrazione di Netsparker con TeamCity. Ho commentato e menzionato che Burp Suite Professional in modalità headless potrebbe essere più appropriato, ma i test completamente automatizzati in questo modo trovano solo alcuni dei bug. È un classico problema di automazione del test.

Tuttavia, se si hanno richieste HTTP note che producono una risposta HTTP non desiderata (cioè vulnerabile), è possibile utilizzare la funzione di richiesta di esportazione di W3AF, disponibile in basso a destra nel browser Risultati- > KB- > [ Menu specifico della Knowledge Base in discesa] - > Richiedi- > [Pulsanti in basso]. Verrà aperta una nuova finestra in cui le richieste HTTP possono essere convertite in casi di test. I test case sono disponibili in HTML, Ajax, Python e Ruby.

A seconda dell'ambiente del server di compilazione, può variare il modo in cui integrare questi script. HtmlFixture, disponibile in FitNesse, sarebbe un buon candidato per gli script di richiesta HTML o Ajax. Sotto Python, forse il Naso sarebbe adatto; Ruby ha Cetriolo.

Il libro "Security on Rails" contiene interi capitoli dedicati a questo argomento e separa logicamente i test su unità, funzionalità, integrazione e browser.

Il Progetto O2 di OWASP ha opzioni di menu sotto "Sviluppo API / Script" per eseguire e scrivere test unitari. Questi test unitari sono scritti in WatiN, ma gran parte del lavoro è già stato fatto per lo sviluppatore del test.

Se vuoi sviluppare qualcosa di molto potente da solo, ti suggerisco di guardare Geb , che combina il browser alla guida caratteristiche di WebDriver (e quindi può funzionare con Internet Explorer, FireFox, Chrome e HTMLUnit) con una API di navigazione / ispezione dei contenuti ispirata a jQuery e l'espressività di Groovy .

    
risposta data 12.04.2011 - 01:43
fonte
0

CAT.NET è uno strumento di analisi statica che è possibile integrare nel build server. L'ultima versione è ancora in versione beta, ma puoi trovare maggiori informazioni a riguardo al link

    
risposta data 18.12.2010 - 18:51
fonte