Test di sicurezza
Penetration test vs scansione continua delle vulnerabilità: come funzionano insieme
Un penetration test (o pentest) è un’attività a tempo definito in cui tester esperti cercano di violare un sistema come farebbe un aggressore. La scansione continua delle vulnerabilità controlla il software in modo automatico e ripetuto alla ricerca di debolezze note. Rispondono a domande diverse, quindi la maggior parte dei programmi di sicurezza ha bisogno di entrambi.
Piano Free, nessuna carta richiesta.
Cos’è un penetration test?
Il NIST descrive il penetration test come un test di sicurezza in cui i valutatori imitano attacchi reali per trovare il modo di aggirare le funzioni di sicurezza di un’applicazione, di un sistema o di una rete. I tester concatenano piccole debolezze, mettono alla prova la logica applicativa e valutano che cosa potrebbe ottenere davvero un aggressore.
Un pentest ha un perimetro definito ed è autorizzato per iscritto, dura un periodo fisso e si conclude con un rapporto che riporta i risultati, il loro impatto e le correzioni consigliate. Il suo risultato è un’istantanea: descrive il sistema com’era durante il test.
Cos’è la scansione continua delle vulnerabilità?
Il NIST definisce la scansione delle vulnerabilità come una tecnica usata per individuare gli host, i loro attributi e le vulnerabilità associate. L’analisi della composizione del software (software composition analysis) applica la stessa idea al codice: elenca i componenti open source contenuti in un prodotto e li confronta con avvisi pubblici come i record CVE.
La scansione è continua quando viene eseguita a ogni modifica e l’inventario continua a essere ricontrollato man mano che vengono pubblicati nuovi avvisi. Un componente che era pulito al rilascio può diventare vulnerabile mesi dopo senza che cambi una sola riga del tuo codice.
Penetration test e scansione delle vulnerabilità a confronto
I due metodi differiscono per chi svolge il lavoro, per cosa trovano e per quanto tempo il risultato resta valido.
| Domanda | Penetration test | Scansione continua |
|---|---|---|
| Chi lo esegue | Persone esperte, spesso un’azienda esterna | Strumenti automatici |
| Cosa trova | Catene sfruttabili, difetti di logica ed errori di configurazione, con il loro impatto reale | Vulnerabilità note nei componenti, segreti esposti ed errori di configurazione comuni |
| Ogni quanto | Spesso una volta l’anno e dopo modifiche significative | A ogni modifica e ripetutamente tra un rilascio e l’altro |
| Profondità | Elevata, su un perimetro definito | Ampia, su ogni prodotto e ogni versione |
| Risultato | Un rapporto riferito a un momento preciso | Un elenco aggiornato dei risultati e del loro stato |
| Limiti | Non coglie ciò che cambia dopo il test; costoso da ripetere | Non dimostra la sfruttabilità né trova nuovi difetti di logica |
Perché servono entrambi
Uno copre i punti ciechi dell’altro. Un pentest trova ciò che nessuno scanner può trovare: un controllo di autorizzazione difettoso, un flusso di lavoro sfruttabile in modo improprio, una catena di problemi minori che sommati portano a una violazione. La scansione trova ciò a cui un pentest non può tenere il passo: l’avviso pubblicato la settimana dopo che i tester se ne sono andati, la dipendenza aggiunta nello sprint successivo, la versione del firmware consegnata a un nuovo cliente.
Le norme riflettono questa divisione. La NIST SP 800-53 elenca il penetration test (CA-8) e il monitoraggio e la scansione delle vulnerabilità (RA-5) come controlli distinti. L’OWASP Web Security Testing Guide sostiene un approccio equilibrato: gli scanner hanno un posto in un programma di test ma non possono sostituire i test manuali, e il penetration test non dovrebbe essere l’unica tecnica.
Scansionare in modo continuo rende anche più conveniente un pentest. Quando le vulnerabilità note sono già corrette, i tester dedicano il tempo ai problemi che solo le persone possono trovare.
Come combinarli
Un ritmo semplice funziona per la maggior parte dei team di prodotto:
- Scansiona in modo continuo fin dall’inizio: ogni repository, immagine container e versione del firmware, ricontrollati man mano che compaiono nuovi avvisi.
- Correggi o documenta le vulnerabilità note prima di un pentest, così il rapporto si concentra su ciò che gli scanner non vedono.
- Commissiona un pentest prima dei rilasci importanti, dopo cambiamenti architetturali significativi e con la frequenza che clienti, assicuratori o autorità di regolamentazione si aspettano.
- Fornisci ai tester la tua SBOM e l’elenco aggiornato dei risultati aperti, così possono concentrarsi sui componenti più a rischio.
- Inserisci i risultati del pentest nello stesso sistema di tracciamento dei risultati delle scansioni, e riesegui la scansione dopo ogni correzione.
Disponibile oggi in KROMSE
KROMSE non è un penetration test e non ne prende il posto. Copre il lato della scansione continua: la scansione dell’URL controlla ciò che chiunque può vedere da internet, e KROMSE controlla il codice, le dipendenze, le immagini container e il firmware che stanno dietro a un prodotto.
- Controlli delle dipendenze rispetto a OSV.dev per lockfile e manifest, inclusi npm, Yarn, pnpm, Poetry, uv, pip, Go, Cargo, Maven, Gradle, Composer, Bundler e .NET.
- Rilevamento dei segreti nel commit scansionato; i valori dei segreti vengono oscurati e mai memorizzati.
- Immagini firmware basate su Linux estratte ricorsivamente, con i pacchetti confrontati con OSV.dev e il file system root controllato per errori di configurazione e segreti incorporati.
- Sui piani a pagamento, l’ultima SBOM di ogni fonte viene ricontrollata rispetto a OSV.dev ogni 6 ore, e le nuove corrispondenze compaiono come avvisi nell’app.
- Contesto di CISA KEV, FIRST EPSS, NVD ed ENISA EUVD sui risultati, con le vulnerabilità note come sfruttate segnalate.
Domande frequenti
Una scansione delle vulnerabilità è la stessa cosa di un pentest?
No. Una scansione è automatica e cerca debolezze note. Un pentest è condotto da persone che cercano di sfruttare le debolezze, comprese quelle che nessuno scanner conosce, e ne valutano l’impatto. I tester usano spesso gli scanner lungo il percorso, ma il rapporto di una scansione non è il rapporto di un pentest.
Ogni quanto si dovrebbe eseguire un pentest?
Non esiste un intervallo unico. La NIST SP 800-53 lascia la frequenza all’organizzazione, e molte organizzazioni eseguono i test una volta l’anno e dopo modifiche significative. Clienti, assicuratori e norme di settore spesso fissano un minimo.
La scansione continua può sostituire un pentest?
No. La scansione non può mettere alla prova la logica applicativa, concatenare debolezze né mostrare che cosa potrebbe ottenere davvero un aggressore. Riduce il numero di problemi noti su cui un pentest deve spendere tempo, e continua a controllare dopo la fine del test.
Serve un’autorizzazione per eseguire il pentest di un sistema?
Sì. Testare un sistema senza l’autorizzazione scritta del suo proprietario può essere un reato; nell’UE, la direttiva 2013/40/UE impone agli Stati membri di punire l’accesso illecito ai sistemi di informazione. Un pentest parte sempre da un perimetro concordato e da regole d’ingaggio scritte.
KROMSE esegue penetration test?
No. KROMSE non esegue penetration test né test dinamici completi delle applicazioni (DAST). Controlla codice, dipendenze, immagini container e firmware basato su Linux alla ricerca di vulnerabilità note, segreti ed errori di configurazione, e questo è complementare a un pentest eseguito da tester qualificati.