Cos'è il penetration test?
I penetration test simulano degli attacchi per individuare eventuali vulnerabilità nei sistemi informatici.
Disegno isometrico che mostra diversi impiegati di un ufficio che utilizzano tutti IBM Security
Cos'è il penetration test?

Un penetration test, o "pen test", è un test di sicurezza che lancia un falso attacco informatico per identificare eventuali vulnerabilità in un sistema informatico.

Coloro che eseguono i penetration test sono esperti di sicurezza con competenze nell'arte dell'ethical hacking, che consiste nell'utilizzo di strumenti e tecniche di hacking per risolvere le vulnerabilità presenti nell'impianto della sicurezza piuttosto che causare danni. Le aziende assumono pen tester per lanciare attacchi simulati alle proprie applicazioni, reti e altre risorse. Mettendo in scena falsi attacchi, i pen tester aiutano i team di sicurezza a individuare eventuali vulnerabilità critiche nella sicurezza e a migliorare il profilo di sicurezza generale.

I termini "ethical hacking" e "penetration test" sono talvolta usati in modo intercambiabile, ma c'è una differenza. L'ethical hacking è un campo della sicurezza informatica più ampio che include qualsiasi utilizzo di competenza di hacking per migliorare la sicurezza di rete. I penetration test sono solo uno dei metodi utilizzati dagli ethical hacker. Gli ethical hacker possono anche fornire analisi del malware, valutazione del rischio e altri servizi.

Perché le aziende eseguono pen test

Ci sono tre motivi principali per cui le aziende conducono i pen test.

I pen test sono più completi delle semplici valutazioni della vulnerabilità. I penetration test e le valutazioni delle vulnerabilità consentono entrambi ai team della sicurezza di identificare i punti deboli nelle applicazioni, nei dispositivi e nelle reti. Tuttavia, questi metodi hanno scopi leggermente diversi, quindi molte organizzazioni li utilizzano entrambi invece di fare affidamento sull'uno o sull'altro. 

Le valutazioni delle vulnerabilità sono in genere scansioni automatizzate ricorrenti che ricercano vulnerabilità note in un sistema e le contrassegnano per riesaminarle. I team di sicurezza utilizzano le valutazioni delle vulnerabilità per verificare rapidamente l'eventuale presenza di difetti comuni.

I penetration test vanno oltre. Quando i pen tester trovano vulnerabilità, le sfruttano in attacchi simulati che imitano i comportamenti di hacker malintenzionati. Ciò consente al team di sicurezza di comprendere in modo approfondito come i veri hacker potrebbero sfruttare le vulnerabilità per accedere a dati sensibili o interrompere le operazioni. Invece di cercare di indovinare cosa potrebbero fare gli hacker, il team di sicurezza può utilizzare quanto emerso dai test per progettare controlli di sicurezza della rete per le minacce informatiche del mondo reale.

Poiché i pen tester utilizzano sia processi automatizzati che manuali, scoprono vulnerabilità note e sconosciute. Poiché i pen tester approfittano attivamente dei punti deboli che identificano, è meno probabile che si rivelino dei falsi positivi; se loro possono sfruttare un difetto, possono farlo anche i criminali informatici. E poiché i servizi di penetration test sono generalmente prestati da esperti di sicurezza di terze parti, che si avvicinano ai sistemi dal punto di vista di un hacker, spesso scoprono difetti che i team di sicurezza interni potrebbero non notare. 

Gli esperti di sicurezza informatica raccomandano i pen test. Molti esperti e autorità di sicurezza informatica raccomandano l'uso dei pen test come misura di sicurezza proattiva. Ad esempio, nel 2021, il Governo federale degli Stati Uniti (link esterno a ibm.com) ha esortato le aziende a utilizzare i pen test per difendersi dai crescenti attacchi ransomware

I pen test supportano la conformità normativa. Le normative sulla sicurezza dei dati come l'Health Insurance Portability and Accountability Act (HIPAA) e il Regolamento generale sulla protezione dei dati (GDPR) impongono determinati controlli di sicurezza. I penetration test possono aiutare le aziende a dimostrare la conformità a queste normative garantendo che i loro controlli funzionino come previsto.

Altre normative richiedono esplicitamente i pen test. Il Payment Card Industry Data Security Standard (PCI-DSS), che si applica alle organizzazioni che elaborano carte di credito, richiede specificamente di effettuare con regolarità "penetration test esterni e interni" (link esterno a ibm.com).

I pen test possono anche supportare la conformità agli standard di sicurezza per le informazioni fornite volontariamente, come ISO/IEC 27001 (link esterno a ibm.com).

Tipi di pen test

Tutti i penetration test prevedono un attacco simulato contro i sistemi informatici di un'azienda. Tuttavia, i diversi tipi di pen test hanno come bersaglio tipi differenti di asset aziendali.

Pen test per le applicazioni


I pen test delle applicazioni cercano vulnerabilità nelle applicazioni e nei sistemi correlati, tra cui applicazioni web e siti web, applicazioni IoT e per dispositivi mobili, applicazioni cloud e API (application programming interface).

I pen tester spesso iniziano cercando le  vulnerabilità elencate nella Open Web Application Security Project (OWASP) Top 10 (link esterno a ibm.com). La OWASP Top 10 è un elenco delle vulnerabilità più critiche nelle applicazioni web. L'elenco viene periodicamente aggiornato per riflettere il mutevole panorama della sicurezza informatica, ma le vulnerabilità comuni includono inserimento di codice dannoso, configurazioni errate ed errori di autenticazione. Oltre alla OWASP Top 10, i pen test delle applicazioni cercano anche difetti di sicurezza e vulnerabilità meno comuni che potrebbero essere unici per l'applicazione in questione.

Pen test della rete


I pen test della rete attaccano l'intera rete informatica dell'azienda. Esistono due principali tipologie di pen test della rete: test esterni e test interni.

Nei test esterni, i pen tester imitano il comportamento di hacker esterni per trovare problemi di sicurezza negli asset con connessione internet come i server, i router, i siti web e i computer dei dipendenti. Questi sono chiamati "test esterni" perché i pen tester cercano di entrare nella rete dall'esterno.

Nei test interni, i pen tester imitano il comportamento di utenti interni malintenzionati o di hacker con credenziali rubate. L'obiettivo è scoprire le vulnerabilità sfruttabili dall'interno della rete - ad esempio attraverso l'abuso dei privilegi di accesso - per rubare dati sensibili

Pen test dell'hardware


Questi test di sicurezza cercano vulnerabilità nei dispositivi connessi alla rete, come laptop, dispositivi mobili e IoT e tecnologia operativa (OT).

I pen tester possono cercare difetti del software, come un exploit del sistema operativo che consente agli hacker di ottenere l'accesso remoto a un endpoint. Potrebbero cercare vulnerabilità fisiche, come un data center protetto in modo improprio in cui potrebbero intrufolarsi utenti malintenzionati. Il team di test possono anche valutare in che modo gli hacker potrebbero spostarsi da un dispositivo compromesso ad altre parti della rete.

Pen test del personale


I pen test del personale cercano punti deboli nel rispetto della sicurezza informatica dei dipendenti. In altre parole, questi test di sicurezza valutano quanto sia vulnerabile un'azienda agli attacchi di ingegneria sociale.

I per tester del personale utilizzano phishing, vishing (phishing vocale) e smishing (phishing su SMS) per indurre i dipendenti a divulgare informazioni sensibili. I pen test del personale possono anche valutare la sicurezza fisica dell'ufficio. Ad esempio, i pen tester potrebbero tentare di intrufolarsi in un edificio travestendosi da addetti alle consegne. Questo metodo, chiamato "tailgating" (accodarsi), è comunemente usato dai criminali del mondo reale.

Il processo dei penetration test

Prima dell'inizio di un pen test, il team di test e l'azienda stabiliscono un ambito per il test. L'ambito delinea quali sistemi verranno testati, quando avverrà il test e i metodi che i pen tester possono utilizzare. L'ambito determina anche la quantità di informazioni che i pen tester avranno in anticipo:

  • In un test black-box, i pen tester non hanno informazioni sul sistema bersaglio. Devono fare affidamento sulle proprie ricerche per sviluppare un piano di attacco, come farebbe un vero hacker.
     

  • In un test white-box, i pen tester godono della completa trasparenza sul sistema bersaglio. L'azienda condivide dettagli come diagrammi di rete, codici sorgente, credenziali e altro.
     

  • In un test gray-box, i pen tester ricevono solo alcune informazioni, ma non tante. Ad esempio, l'azienda potrebbe condividere gli intervalli IP per i dispositivi di rete, ma i pen tester dovranno sondare la vulnerabilità di tali intervalli IP da soli.

Una volta definito l'ambito, il test può iniziare. I pen tester possono seguire una serie di metodologie di pen test. Quelli comuni includono le linee guida per i test di sicurezza delle applicazioni di OWASP (link esterno a ibm.com), il Penetration Testing Execution Standard (PTES) (link esterno a ibm.com) e il National Institute of Standards and Technology (NIST) SP 800-115 (link esterno a ibm.com).

Indipendentemente dalla metodologia utilizzata da un team di test, il processo di solito segue gli stessi passaggi complessivi.

1. Ricognizione


Il team di test raccoglie informazioni sul sistema bersaglio. I pen tester utilizzano diversi metodi di ricognizione a seconda del bersaglio. Ad esempio, se il bersaglio è un'applicazione, i pen tester potrebbero studiarne il codice sorgente. Se il bersaglio è un'intera rete, i pen tester potrebbero utilizzare un analizzatore di pacchetti per ispezionare i flussi del traffico di rete.

I pen tester spesso attingono anche alla open-source intelligence (OSINT). Leggendo la documentazione pubblica, gli articoli di notizie e persino i social media e gli account GitHub dei dipendenti, i pen tester possono raccogliere informazioni preziose sui loro bersagli.

2. Rilevamento e sviluppo del bersaglio


I pen tester utilizzano le conoscenze acquisite nella fase di ricognizione per identificare le vulnerabilità sfruttabili nel sistema. Ad esempio, i pen tester potrebbero utilizzare uno scanner di porte come Nmap per cercare porte aperte dove possono inviare malware. Per un pen test di ingegneria sociale, il team di test potrebbe sviluppare una storia falsa, o un "pretesto", da utilizzare in un'e-mail di phishing per rubare le credenziali dei dipendenti.

In questa fase, i pen tester potranno verificare come le funzionalità di sicurezza reagiscono alle intrusioni. Ad esempio, potrebbero inviare traffico ambiguo al firewall dell'azienda per vedere cosa succede. I pen tester useranno ciò che apprendono per evitare di essere rilevati durante il resto del test.

3. Sfruttamento


Il team di test inizia l'attacco vero e proprio. I pen tester possono provare una varietà di attacchi a seconda del sistema bersaglio, delle vulnerabilità che hanno trovato e dell'ambito del test. Alcuni degli attacchi più comunemente testati includono:

  • SQL injection: i pen tester cercano di ottenere da una pagina web o un'applicazione la divulgazione di dati sensibili inserendo codice dannoso nei campi di input.
     

  • Cross-site scripting (XSS): i pen tester provano a inserire codice dannoso nel sito web di un'azienda.
     

  • Attacchi DoS (Denial of Service): i pen tester cercano di portare offline server, applicazioni e altre risorse di rete inondandoli di traffico.
     

  • Ingegneria sociale: i pen tester utilizzano phishing, baiting, pretexting o altre tattiche per indurre i dipendenti a compromettere la sicurezza della rete.
     

  • Attacchi di forza bruta: i pen tester cercano di entrare in un sistema eseguendo script che generano e testano potenziali password finché una non funziona.
     

  • Attacchi MITM (Man In The Middle): i pen tester intercettano il traffico tra due dispositivi o utenti per rubare informazioni sensibili o installare malware.

4. Escalation


Dopo aver sfruttato una vulnerabilità per introdursi nel sistema, i pen tester provano a spostarsi e ad accedere ad altre sue parti. Questa fase è talvolta chiamata "concatenamento delle vulnerabilità" perché i pen tester passano da una vulnerabilità all'altra per entrare in profondità nella rete. Ad esempio, potrebbero iniziare installando un keylogger sul computer di un dipendente. Utilizzando il keylogger, potranno acquisire le credenziali del dipendente. Utilizzando tali credenziali, potranno accedere a un database sensibile.

In questa fase, l'obiettivo del pen tester è mantenere l'accesso e aumentare i propri privilegi eludendo le misure di sicurezza. I pen tester fanno tutto questo per imitare le advanced persistent threat, o APT, ossia le minacce avanzate e persistenti, che possono nascondersi in un sistema per settimane, mesi o anni prima di essere rilevate.

5. Pulizia e reportistica


Alla fine dell'attacco simulato, i pen tester ripuliscono ogni traccia che hanno lasciato, come i trojan backdoor che hanno installato o le configurazioni che hanno cambiato. In questo modo, gli hacker del mondo reale non potranno utilizzare gli exploit lasciati dai pen tester per violare la rete.

Quindi, i pen tester preparano un report sull'attacco. Il report in genere delinea le vulnerabilità trovate, gli exploit utilizzati, i dettagli su come sono state evitate le funzionalità di sicurezza e le descrizioni di ciò che è stato fatto all'interno del sistema. Il report può anche includere suggerimenti per risolvere le vulnerabilità. Il team di sicurezza interno può utilizzare queste informazioni per rafforzare le difese contro gli attacchi del mondo reale.

Strumenti di penetration test

I pen tester utilizzano una serie di strumenti per condurre ricognizioni, rilevare vulnerabilità e automatizzare parti chiave del processo di pen test. Alcuni degli strumenti più comuni includono:

Sistemi operativi specializzati: la maggior parte dei pen tester utilizza sistemi operativi progettati per i penetration test e l'ethical hacking. Il più popolare è Kali Linux, una distribuzione Linux open source che viene precaricata con strumenti per il pen test quali Nmap, Wireshark e Metasploit.

Strumenti per individuare le credenziali: questi programmi possono scoprire le password decifrando le crittografie o lanciando attacchi di forza bruta, che utilizzano bot o script per generare e testare automaticamente potenziali password finché una non funziona. Gli esempi includono Medusa, Hyrda, Hashcat e John the Ripper.

Scanner delle porte: gli scanner delle porte consentono ai pen tester di testare in remoto i dispositivi per rilevare le porte aperte e disponibili, che possono utilizzare per violare una rete. Nmap è lo scanner di porte più ampiamente utilizzato, ma anche masscan e ZMap sono comuni.

Scanner di vulnerabilità: gli strumenti di scansione delle vulnerabilità cercano nei sistemi vulnerabilità note, consentendo ai pen tester di trovare rapidamente potenziali ingressi in un bersaglio. Alcuni esempi includono Nessus, Core Impact e Netsparker.

Gli scanner di vulnerabilità web sono un sottoinsieme degli scanner di vulnerabilità che valutano applicazioni web e siti web. Alcuni esempi includono Burp Suite e Zed Attack Proxy (ZAP) di OWASP.

Analizzatori di pacchetti: gli analizzatori di pacchetti, chiamati anche sniffer di pacchetti, consentono ai pen tester di analizzare il traffico di rete catturando e ispezionando pacchetti. I pen tester possono capire da dove proviene il traffico, dove sta andando e, in alcuni casi, quali dati contiene. Wireshark e tcpdump sono tra gli analizzatori di pacchetti più comunemente usati.

Metasploit: Metasploit è un framework di penetration test con una gamma di funzioni. Cosa più importante, Metasploit consente ai pen tester di automatizzare gli attacchi informatici. Metasploit ha una libreria integrata di payload e codici exploit già scritti. I pen tester possono selezionare un exploit, assegnargli un payload da consegnare al sistema bersaglio e lasciare che Metasploit gestisca il resto.

Soluzioni correlate
Servizi di penetration test di X-Force Red

Penetration test per applicazioni, reti, hardware e personale per rilevare e correggere le vulnerabilità che espongono i tuoi asset più importanti a un attacco.

Esplora i servizi di penetration test di X-Force Red
Servizi di sicurezza offensivi di X-Force Red

X-Force Red è un team globale di hacker incaricato di introdursi nelle organizzazioni e individuare vulnerabilità rischiose che gli aggressori potrebbero utilizzare per un proprio tornaconto personale.

Esplora i servizi di sicurezza offensivi di X-Force Red
IBM Security QRadar XDR

Rileva ed elimina le minacce più velocemente con la suite XDR leader del settore.

Esplora IBM Security QRadar XDR
Risorse Cos'è la ricerca delle minacce?

La ricerca delle minacce è un approccio proattivo all'identificazione di minacce non corrette sconosciute o in corso all'interno della rete di un'organizzazione.

Cos'è un attacco informatico?

Gli attacchi informatici sono tentativi indesiderati di sottrarre, esporre, modificare, disabilitare o distruggere informazioni tramite un accesso non autorizzato a sistemi informatici.

Cosa sono le minacce interne?

Le minacce interne provengono da utenti che dispongono di un accesso autorizzato e legittimo agli asset di un'azienda e ne abusano in modo deliberato o accidentale.

Passa alla fase successiva

X-Force Red utilizza gli stessi strumenti, tecniche e pratiche dei criminali per progettare potenziali scenari di attacco.Il portale X-Force Red consente, a tutti coloro che sono coinvolti in una correzione, di visualizzare i risultati del test appena vengono rilevate delle vulnerabilità e quindi di pianificare dei test di sicurezza a loro discrezione.

Ulteriori informazioni sui servizi di penetration test di X-Force Red