Linee guida per i test di altri strumenti

Utilizzo di strumenti di scansione diversi da CASA preconfigurato:

Gli sviluppatori che vogliono utilizzare gli strumenti di scansione SAST e DAST (strumenti sviluppati internamente o commerciali) devono fornire:

  • L'output della scansione rispetto al benchmark OWASP. Ci si aspetta che gli strumenti di scansione rilevino tutte le vulnerabilità veri positivi che mappano a CASA (vedi istruzioni di seguito)
  • Il criterio di scansione. Potrebbe trattarsi di un'esportazione della configurazione della scansione dello strumento o di uno screenshot che mostra i CWE rispetto ai quali è stata eseguita la scansione. 

Benchmark per la corsa 

Per eseguire Benchmark, devi installare quanto segue:

  1. GIT: https://git-scm.com/ oppure https://github.com/
  2. Maven: https://maven.apache.org/; (funziona con la versione 3.2.3 o successive).
  3. Java: https://www.oracle.com/java/technologies/javase-downloads.html (Java 7 o 8) (64 bit)

Ai fini di CASA, assicurati di generare e inviare una scheda di valutazione del benchmark per lo strumento di scansione DAST o SAST. Tieni presente che il benchmark contiene un numero elevato di test e la scansione potrebbe richiedere del tempo. 

Esegui questi comandi per scaricare ed eseguire l'applicazione Benchmark:

$ git clone https://github.com/OWASP-Benchmark/BenchmarkJava
    $ cd benchmark
    $ mvn compile
    $ runBenchmark.sh

Il benchmark verrà eseguito all'indirizzo https://localhost:8443/benchmark/. Può essere utilizzato come target per qualsiasi analisi DAST. Ora puoi eseguire lo strumento di tua scelta sul codice sorgente e sull'applicazione di runtime di Benchmark. Assicurati di salvare i risultati nella directory /results del repository di benchmark. 

Includi quanto segue nel nome del file di output per il generatore di prospetti: 

  1. Il numero di versione del benchmark, per evitare che vengano mappati gli output previsti sbagliati
  2. Il nome dello strumento di scansione 
  3. La versione dello strumento di scansione 

Il seguente nome file di output di esempio corrisponde a una scansione eseguita utilizzando la versione 3.0 di "nomestrumento" e confrontata con la versione del benchmark 1.2. 

Benchmark_1.2-toolname-v3.0.xml

Generazione di un punteggio di benchmark

Il benchmark classifica le applicazioni in base a quattro metriche: 

  1. Veri positivi: lo strumento identifica correttamente una vulnerabilità reale
  2. Falsi negativi: gli strumenti non riescono a identificare una vulnerabilità reale
  3. Vero negativo: lo strumento ignora correttamente un falso allarme 
  4. Falso negativo: lo strumento non ignora un falso allarme.

La Scorecard del benchmark illustra il rendimento dello strumento di scansione in base a queste dimensioni. Quando scarichi lo strumento Benchmark da GitHub, viene incluso anche lo strumento BenchmarkScore. L'esecuzione di questo strumento sull'output della scansione genererà un grafico PNG che illustra il punteggio finale. Puoi trovare risultati di esempio qui. Per generare i tuoi prospetti di benchmark, esegui questo comando:

sh createScorecards.sh

Verrà creato un prospetto per ogni output all'interno della directory /results. Il prospetto generato verrà salvato nella directory /scorecard. Invia il prospetto come parte della tua valutazione CASA.