I Penetration Test e i programmi di Bug Bounty vengono entrambi utilizzati per scovare le vulnerabilità e i bug nelle piattaforme di sviluppo software simulando potenziali attacchi al fine di prevenirli. Ma qual è la differenza tra i due? Quando usare il Penetration Test e quando il Bug Bounty?
Il Penetration Test o Pen Test è un tipo di test di sicurezza utilizzato per trovare errori, bug, falle, minacce e vulnerabilità in sistemi software o web app che un hacker (black hat) potrebbe sfruttare. È un attacco simulato che i penetration tester - o ethical hacker - compiono per trovare possibili vulnerabilità.
Il Penetration Test consiste in un attacco mirato per valutare i livelli di sicurezza di un'applicazione o di una rete. L'obiettivo è identificare e correggere le vulnerabilità, ovvero tutte quelle falle di sicurezza che espongono il software ad alti rischi, prima che qualcuno possa trarne vantaggio. Il Pen Test è considerato un “hacking etico” in cui la procedura di test si svolge nel seguente modo:
Esistono diverse tipologie di Penetration Test, ciascuna con caratteristiche specifiche che permettono di valutare la sicurezza da differenti prospettive. Di seguito, vediamo le principali tipologie:
In un “test white box” si conosce la composizione interna e si ha pieno accesso al software o al sistema di cui si vogliono rilevare le vulnerabilità. In altre parole, si ha pieno accesso al codice sorgente, alla documentazione dell'architettura e alle credenziali degli utenti. Questo è il motivo per cui si parla di white box, perché la struttura su cui si vuole lavorare è totalmente chiara. Da questo test, è possibile ottenere una valutazione completa delle vulnerabilità interne ed esterne dell'infrastruttura IT.
Il “grey box penetration test” presenta alcune analogie con il precedente, con la differenza che si ha accesso solo alle credenziali e non al codice sorgente o alla documentazione dell'architettura. In questo caso si simulano attacchi che potrebbero avvenire per mano stessa degli utenti che hanno un accesso parziale al sistema, al fine di determinare l'impatto che un malintenzionato potrebbe avere.
Nel “black box pentesting” non si dispone di ulteriori informazioni rispetto a quelle già pubbliche e note a chiunque altro. Ci si mette in sostanza nella prospettiva di un hacker esterno. Senza credenziali o accesso a informazioni private. Qui l'obiettivo principale è scoprire se un attaccante esterno, senza informazioni preliminari, possa accedere al sistema, all'applicazione o ai dati dell'organizzazione.
Leggi altri articoli sul Pen Test:
Il programma di Bug Bounty è un accordo che propongono numerosi siti web, aziende e sviluppatori di software che garantisce agli ethical hacker di ricevere una ricompensa qualora scovassero una vulnerabilità o un bug di sicurezza. Sono programmi che rimangono attivi per un lungo periodo, di solito continuano durante il ciclo di vita del prodotto e permettono agli hacker di trovare vulnerabilità via via che il software si evolve.
Il Pentesting e il Bug Bounty sono due approcci complementari che, se usati insieme, contribuiscono a blindare la sicurezza di un'organizzazione.
Indicativamente, un'azienda dovrebbe utilizzare un Penetration Test quando ha bisogno di un'analisi strutturata e approfondita della sicurezza, soprattutto in momenti critici come il lancio di un nuovo prodotto o per conformarsi a normative di settore. Il Pen Test è condotto da esperti che seguono un approccio metodico e forniscono un'analisi completa delle vulnerabilità rilevate, delle tecniche utilizzate per scoprirle e delle raccomandazioni per risolverle o mitigarle.
Il Bug Bounty è adatto quando un’azienda cerca una copertura di sicurezza continua per individuare vulnerabilità su una superficie d'attacco ampia, coinvolgendo una comunità di “cacciatori di bug” attraverso un sistema di ricompense, in modo scalabile e costante nel tempo. è un’attività più flessibile e orientata a lungo termine.
I costi del Penetration Test generalmente vanno fai 4.000 ai 100.000 dollari, in base alla natura del sistema software, la grandezza del network e lo scopo dell'assessment. Applicazioni complesse ed estese possono costare anche di più. Secondo RSI e u-tor, in media i Penetration Test di alta qualità svolti da professionisti possono costare tra i 10.000 e i 30.000 dollari.
I programmi di Bug Bounty sono relativamente più economici del pen test, visto che gli hacker vengono retribuiti per bug trovato. Aziende come Facebook e Apple offrono ingenti investimenti in programma di Bug Bounty:
“Facebook offre un payout minimo di 500$ per bug accettato e senza un massimale, ovvero non c'è un limite massimo stabilito di quanto può valere un bug. Ad oggi, il più grande payout di Facebook è stato di 50.000$, mentre Apple pagherà fino a un milione di dollari per il bug più di valore su iOS.”
Fonte: Wired
Alcuni programmi di Bug Bounty sono gratuiti e vengono offerti altri incentivi ai ricercatori, come fargli scalare le classifiche.
Tra i vantaggi del Penetration Test ci sono i seguenti:
I vantaggi dei programmi di Bug Bounty sono:
Gli svantaggi dei Pen Test sono:
Gli svantaggi del Bug Bounty sono:
L'obiettivo del Pen Test dipende dal bisogno dell'azienda e dall’oggetto di analisi del test. Ci sono infatti diversi tipi di Pen Testing in base alla sezione del sistema IT su cui ci si focalizza. Ad esempio:
I programmi di Bug Bounty vengono condotti per testare siti o web app disponibili al pubblico. È per questo che non vengono utilizzati in pre-rilascio.
Il Penetration Test viene solitamente condotto in un periodo breve di tempo, ad esempio 2-3 giorni, due volte all'anno.
I programmi di Bug Bounty invece hanno limiti di tempo più elastici. Questo è il motivo per cui spesso vengono usati in ottica di continuous testing. Sono perfetti per le aziende che rilasciano nuovi aggiornamenti e prodotti a intervalli regolari.
I Pen tests sono svolti da ethical hacker esperti assunti da aziende specializzate in cyber security. Per diventare ethical hacker professionista, si devono ottenere qualificazioni in cyber security, che assicurano una profonda conoscenza degli aspetti legali, tecnici ed etici del testing. Prima di intraprendere un lavoro di questo tipo, è comune che l'ethical hacker si identifichi e firmi un contratto nel quale conferma lo scopo del suo lavoro.
Anche i programmi di Bug Bounty attraggono ethical hacker professionisti, ma in questo caso chiunque può partecipare al programma. I test vengono svolti autonomamente sia da professionisti che da principianti, che portano con sé una vastità di esperienze, conoscenze ed etica.
Nel Penetration Test, non solo ricevi una lista di vulnerabilità, ma un bravo pen tester ti dà anche feedback sulla tua applicazione. In più, fornisce tutto il supporto necessario per correggere e risolvere le vulnerabilità.
Dall'altra parte, il Bug Bounty ti fornisce solo un report che descrive le vulnerabilità senza dare alcun feedback. Può succedere comunque che le aziende chiedano all'ethical hacker di approfondire.
UNGUESS Security è la soluzione che ti permette di lanciare pen test costanti. Aziende e centinaia di ethical hackers esperti si incontrano sulla piattaforma di collaborazione di UNGUESS Security per iniziare progetti a breve o lungo termine. Affidandosi a una community, le aziende possono finalmente superare il gap esistente tra le skill richieste e la disponibilità del mercato.