Security+ Academy · Lezione

Scansione delle vulnerabilità e penetration testing

Comprenda le differenze principali tra la scansione automatizzata (non intrusiva e pianificata) e il penetration test manuale (orientato a un obiettivo e spesso più distruttivo).

Lezione 1 di 413 passaggi

Scansione delle vulnerabilità e penetration testing è una lezione Security+ Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Security+ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Security+ Academy include 4 lezioni in totale.

Sicurezza proattiva: trovare prima le vulnerabilità

La sicurezza reattiva risponde agli attacchi dopo che si sono verificati; la sicurezza proattiva individua e corregge le vulnerabilità prima che gli attaccanti possano sfruttarle. Due pratiche proattive complementari sono il vulnerability scanning e il penetration testing. Entrambe identificano le vulnerabilità di sicurezza, ma differiscono significativamente per ambito, metodologia, requisiti di autorizzazione, livello di rischio e risultati forniti all'organizzazione. Comprendere queste differenze è essenziale per chi sostiene l'esame Security+ e per comunicare agli stakeholder ciò che ciascuna attività può — e non può — dire sul livello di sicurezza dell'organizzazione.

Definizione del vulnerability scanning

Il vulnerability scanning è un processo automatizzato che verifica i sistemi rispetto a un database di vulnerabilità note. Gli scanner confrontano i numeri di versione, le impostazioni di configurazione e le firme del software con i database CVE e gli avvisi dei fornitori per individuare potenziali vulnerabilità. La scansione è in genere non intrusiva: identifica la probabile esistenza di una vulnerabilità in base alla versione o alla configurazione, ma generalmente non tenta di sfruttarla. Le scansioni possono essere eseguite regolarmente (ogni giorno, ogni settimana o continuamente) e su larga scala, su migliaia di sistemi. Sono un requisito di conformità previsto dal PCI-DSS (scansioni esterne trimestrali eseguite da un ASV) e da molti altri framework.

# Vulnerability scan types:
# Credentialed (authenticated): logs into system, checks installed
#   packages, registry, configurations -- more accurate
# Uncredentialed (unauthenticated): probes from outside,
#   checks network-visible services -- more false positives

# Scanning frequency recommendations:
# Internal: weekly (or continuous)
# External: monthly + after significant changes
# PCI-DSS: quarterly external by ASV + internal after changes
# HIPAA: periodic (frequency by risk assessment)

Definizione del test di penetrazione

Il test di penetrazione (pen test) è un tentativo strutturato e mirato a compromettere i sistemi utilizzando le stesse tecniche che userebbero gli attaccanti. A differenza della scansione, il test di penetrazione sfrutta attivamente le vulnerabilità per confermare che siano reali e sfruttabili, non soltanto presenti in teoria. Chi esegue il test dimostra l'impatto effettivo: è possibile ottenere l'accesso con privilegi? È possibile esfiltrare dati? È possibile spostarsi lateralmente da un sistema a un altro? Il test di penetrazione fornisce una prova della sfruttabilità che determina l'urgenza della correzione e spesso individua percorsi di attacco complessi e articolati in più fasi che gli scanner automatizzati non riescono a identificare.

Regole d'ingaggio e autorizzazione

Eseguire un test di penetrazione senza autorizzazione è illegale: negli Stati Uniti costituisce accesso non autorizzato ai sensi di leggi come il CFAA (Computer Fraud and Abuse Act). Prima dell'inizio di qualsiasi test di penetrazione, è necessario firmare un documento sulle Regole d'ingaggio (Rules of Engagement, RoE) che definisca: l'ambito (sistemi, intervalli di indirizzi IP e domini interessati), la finestra temporale (orario lavorativo o non lavorativo), le azioni vietate (nessun attacco fisico e nessun DoS sui sistemi di produzione), i contatti di emergenza e le firme di autorizzazione. Le lettere di autorizzazione portate con sé dal team che esegue il test dimostrano l'autorizzazione qualora il team venga scoperto dal personale di sicurezza. Non inizi mai i test senza un'autorizzazione scritta completa.

# Rules of Engagement - key elements:
# 1. Authorized systems (IP ranges, domains, applications)
# 2. Exclusions (do NOT test: 10.0.1.100 - CEO's laptop)
# 3. Time window: Mon-Fri 9pm-5am only
# 4. Allowed techniques: no DoS, no physical
# 5. Emergency stop: call John at +1-555-0100
# 6. Reporting requirements and classification
# 7. Signatures: CISO + legal counsel + pen test lead
# 8. Duration: June 1 - June 15

Tipi di test di penetrazione in base al livello di conoscenza

I test di penetrazione vengono classificati in base alla quantità di informazioni che chi esegue il test possiede sull'obiettivo. Un test black box non fornisce informazioni preliminari: il tester inizia come farebbe un attaccante esterno, utilizzando OSINT e scansioni per individuare gli obiettivi. È l'approccio più realistico, ma può non rilevare le vulnerabilità interne. Un test white box fornisce informazioni complete: diagrammi di rete, codice sorgente e credenziali, consentendo un test approfondito ma meno realistico. Un test gray box fornisce informazioni parziali, ad esempio un account utente standard, e rappresenta lo scenario di un insider compromesso o di credenziali sottratte. La maggior parte degli incarichi reali è di tipo gray box o black box.

# Test knowledge types:
# Black box:
#   Tester knows: target organization name and scope
#   Simulates: external attacker with no prior knowledge

# Gray box:
#   Tester knows: some network info, may have user credentials
#   Simulates: insider threat or compromised employee account

# White box:
#   Tester knows: full network maps, source code, all credentials
#   Simulates: insider admin or code review
#   Best for: thorough coverage of all attack surfaces

Test interni e test esterni

I test di penetrazione prendono in considerazione diversi punti di osservazione. Un test esterno simula un attaccante su Internet senza accesso interno e verifica le difese perimetrali, le applicazioni esposte su Internet e la sicurezza della posta elettronica. Un test interno simula una minaccia già presente nella rete, ad esempio un dipendente compromesso o un malware che effettua un pivot, e verifica i controlli contro il movimento laterale, la sicurezza delle applicazioni interne e il rafforzamento di Active Directory. La maggior parte delle organizzazioni trae vantaggio da entrambe le prospettive. Molte violazioni reali prevedono che un attaccante esterno ottenga l'accesso iniziale e si sposti poi all'interno, rendendo insieme i due tipi di test più efficaci di ciascuno preso singolarmente.

Falsi positivi e falsi negativi nella scansione

Gli scanner delle vulnerabilità non sono infallibili. Si parla di falso positivo quando lo scanner segnala una vulnerabilità che in realtà non esiste, ad esempio perché un numero di versione sembra vulnerabile, ma la correzione è stata sottoposta a backport. I falsi positivi sprecano risorse per la correzione e riducono la fiducia nei risultati dello scanner. Si parla di falso negativo quando esiste una vulnerabilità reale, ma lo scanner non la rileva, ad esempio perché la vulnerabilità richiede l'autenticazione e la scansione non l'ha utilizzata, oppure perché la vulnerabilità è nuova e non è ancora presente nel database. Rispetto alle scansioni senza autenticazione, le scansioni con credenziali riducono drasticamente i falsi positivi e i falsi negativi.

# False positive/negative scenarios:

# False Positive:
# Scanner reports OpenSSL 1.0.2g as vulnerable to Heartbleed
# But: this OS distribution backported the fix to 1.0.2g
# Fix: validate with credentialed scan or manual verification

# False Negative:
# Scanner misses SQL injection in custom web application
# Because: scanner tests generic payloads, not app-specific logic
# Fix: supplement with DAST web app scanning or manual pen test

# Credentialed scan reduces both error types significantly

Gestione continua delle vulnerabilità

I moderni programmi di sicurezza considerano la gestione delle vulnerabilità un processo continuo, anziché un'attività periodica. La scansione continua individua le nuove vulnerabilità man mano che emergono e vengono pubblicati nuovi CVE, invece di attendere la successiva finestra di scansione pianificata. Il ciclo di gestione delle vulnerabilità comprende: individuazione, definizione delle priorità (in base al punteggio CVSS e al contesto aziendale), correzione (applicazione di patch, configurazione o accettazione del rischio), verifica (nuova scansione per confermare la correzione) e reportistica. L'integrazione con la gestione delle patch garantisce che le vulnerabilità individuate attivino flussi di lavoro automatizzati per la distribuzione delle patch. Gli SLA definiscono entro quanto tempo debbano essere corrette le vulnerabilità di diversa gravità (ad esempio, Critica: 24 ore; Alta: 7 giorni).

# Vulnerability remediation SLA examples:
# Critical (CVSS 9.0-10.0): patch within 24-48 hours
# High     (CVSS 7.0-8.9):  patch within 7 days
# Medium   (CVSS 4.0-6.9):  patch within 30 days
# Low      (CVSS 0.1-3.9):  patch within 90 days

# Exceptions process:
# If patch cannot be applied within SLA:
# -> document compensating control
# -> manager + CISO approval
# -> risk acceptance with expiration date

Risultati e report dei test di penetrazione

Un test di penetrazione si conclude con un report completo, che costituisce il principale risultato dell'attività. Il report include in genere: un riepilogo per i dirigenti destinato al management non tecnico (valutazione complessiva del rischio, impatto aziendale e risultati principali); una sezione sui risultati tecnici (descrizioni dettagliate delle vulnerabilità, schermate come prove e passaggi per riprodurle); e una roadmap per la correzione con raccomandazioni ordinate per priorità. In genere, i risultati vengono classificati per livello di rischio (Critico/Alto/Medio/Basso) utilizzando i punteggi CVSS insieme al contesto aziendale. Un buon report di un test di penetrazione consente al cliente di riprodurre e verificare ogni risultato e di comprendere esattamente quali interventi di correzione siano necessari.

# Pen test report structure:
# 1. Executive Summary
#    - Overall risk rating
#    - Key business risks identified
#    - High-level recommendations
# 2. Scope and Methodology
# 3. Technical Findings (per vulnerability):
#    - Title and severity rating
#    - Description
#    - Evidence (screenshots, output)
#    - Steps to reproduce
#    - Business impact
#    - Remediation recommendation
# 4. Appendices: tool output, timestamps

Programmi di bug bounty

I programmi di bug bounty ricompensano i ricercatori di sicurezza esterni che individuano e segnalano responsabilmente le vulnerabilità nei sistemi di un'organizzazione. Piattaforme come HackerOne, Bugcrowd e Intigriti mettono in contatto le organizzazioni con migliaia di ricercatori di sicurezza in tutto il mondo. I bug bounty forniscono test esterni continui su vasta scala, con pagamenti effettuati soltanto per i risultati convalidati. Integrano i test di penetrazione interni offrendo prospettive diverse da parte dei ricercatori e test continui tra una valutazione formale e l'altra. I risultati critici vengono in genere ricompensati con 500-50.000 dollari o più, a seconda della gravità e del programma. Le organizzazioni definiscono l'ambito e le regole in modo simile alle Regole d'ingaggio di un test di penetrazione.

Confronto tra scansione e test di penetrazione

Per l'esame Security+, è importante comprendere chiaramente le differenze principali. Scansione delle vulnerabilità: automatizzata, non distruttiva, con ampia copertura; individua potenziali vulnerabilità, non ne conferma la sfruttabilità; viene eseguita frequentemente o continuamente, in genere dal personale interno. Test di penetrazione: manuale o semiautomatizzato, potenzialmente in grado di causare interruzioni, con copertura approfondita e mirata; conferma la sfruttabilità effettiva e l'impatto nel mondo reale; viene eseguito periodicamente (con cadenza trimestrale o annuale) e richiede in genere competenze esterne specializzate e un'autorizzazione formale. I due approcci sono complementari: la scansione offre ampiezza, mentre il test di penetrazione offre profondità. Un programma di sicurezza maturo utilizza regolarmente entrambi.

Verifica rapida

Verifichi la Sua comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha appreso che la scansione delle vulnerabilità è automatizzata, frequente e non invasiva: individua potenziali vulnerabilità senza sfruttarle; il test di penetrazione è manuale, mirato e sfrutta attivamente le vulnerabilità per dimostrare l'impatto reale e i percorsi di attacco; entrambi richiedono un'autorizzazione adeguata tramite documenti sulle Regole d'ingaggio; inoltre, la scansione con credenziali riduce significativamente i falsi positivi e i falsi negativi rispetto alle scansioni senza autenticazione. Ora esamineremo alcuni strumenti di scansione comuni, tra cui Nessus, OpenVAS e Nmap.

Gratis per iniziare

Impara Security+ Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Scansione delle vulnerabilità e penetration testing» è gratuita?

Sì — il testo completo di «Scansione delle vulnerabilità e penetration testing» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Security+ Academy, passa a CoddyKit PRO. Il corso Security+ Academy include 4 lezioni in totale.

Cosa imparerò in «Scansione delle vulnerabilità e penetration testing»?

Comprenda le differenze principali tra la scansione automatizzata (non intrusiva e pianificata) e il penetration test manuale (orientato a un obiettivo e spesso più distruttivo). Eserciti Security+ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Security+ Academy?

Non è richiesta alcuna esperienza precedente. Security+ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Scansione delle vulnerabilità e penetration testing»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Security+ Academy?

Sì. Ogni lezione Security+ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Scansione delle vulnerabilità e penetration testing
  2. Strumenti di scansione comuni: Nessus, OpenVAS, Nmap
  3. Fasi del penetration test: dalla ricognizione al report
  4. Punteggio CVSS e prioritizzazione delle vulnerabilità
← Torna a Security+ Academy