HP Fortifica l'automazione della scansione

4

Mi viene chiesto di integrare lo strumento di verifica del codice HP Fortify nel nostro processo di sviluppo, ma il principale ostacolo è che l'intero codice non dovrebbe essere scansionato ogni volta: devono essere analizzate solo le classi interessate dall'ultimo elemento del backlog.

Usiamo Jenkins e SonarQube, quindi ho dato un'occhiata ai plugin disponibili ma non ho trovato nulla che corrisponda ai requisiti: non eseguire la scansione dell'intero codice ogni volta.

Conoscerai qualche strumento o configurazione di HP Fortify che possa soddisfare le mie esigenze?

    
posta MedAl 18.04.2017 - 15:54
fonte

2 risposte

1

Non può essere fatto con quegli strumenti. Ho lo stesso "problema" mentre usi esattamente gli stessi strumenti.

Comunque, da un punto di vista della sicurezza non è un problema. Secondo me la scansione di una determinata parte di codice potrebbe portare a non rilevare determinati errori. Proverò a spiegarlo più tardi. Un'altra storia è quella di mostrare in modo incrementale nuovi problemi rilevati su SonarQube. Questo può essere fatto e penso sia ciò di cui hai veramente bisogno.

Supponiamo che sia già in esecuzione una scansione di vulnerabilità incrementale. Forse hai una vulnerabilità in una classe che non viene rilevata perché la classe non è ancora stata utilizzata. Poi un altro commit usa quella classe e la vulnerabilità della sicurezza potrebbe aver luogo, ma se si esegue una scansione incrementale solo commit per commit non si scoprirà mai tale vulnerabilità perché lo scanner sta per scansionare solo quella parte di codice senza entrare in "codice vecchio già scansionato" .

Penso sia meglio scansionare sempre tutto il codice ma solo mostrare nuovi problemi rilevati su SonarQube.

    
risposta data 21.04.2017 - 10:25
fonte
1

Come altri hanno già menzionato, Fortify e la maggior parte degli strumenti di scansione non eseguono solo la scansione del delta dei file modificati. Esaminano l'intero codice base.

Con Fortify, è uno strumento che utilizza molte risorse per natura. E se la base del codice è considerevole, avrai bisogno di una macchina potente per superarla rapidamente. Suggerisco quanto segue ...

Supponendo di avere accesso a AWS o Azure, ruotare due immagini. Uno è un'immagine di forza medio-leggera, che manterrà il portale Fortify e la segnalazione. Questo può rimanere su 24 ore. In secondo luogo, quindi ruota un'altra immagine molto strong, che sarà attiva solo durante le scansioni.

Per fare questo, usa Jenkins per effettuare chiamate API per far ruotare l'immagine della macchina da scansione appena prima di iniziare la scansione.

Se ha una buona potenza di calcolo, anche con grandi basi di codice, non dovrebbe richiedere più di un paio d'ore per la scansione.

Una volta completata la scansione, invierà i risultati al portale principale / server di report e potrai nuovamente utilizzare le chiamate API per chiudere quell'istanza. Questo per mantenere bassi i costi.

Infine, dobbiamo parlare di Fortify vs. Sonarqube. La mia opinione personale è che dovresti usare entrambi. Dopo aver analizzato i risultati di entrambi, Fortify raccoglie più elementi correlati alla vulnerabilità. Sonarqube rileva più problemi di sintassi / logica, con alcuni elementi di vulnerabilità mescolati in.

Nella mia esperienza, si complimentano a vicenda.

Spero di aiutarti, se hai altre domande, mandami un PM o chiedilo qui.

Buona fortuna!

    
risposta data 21.04.2017 - 12:08
fonte

Leggi altre domande sui tag