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à.
Altri articoli sul Pen Test:
Penetration test: meglio tool automatizzati o umani?
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.
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:
permette di scoprire le vulnerabilità del sistema e ottenere un report che descrive le vulnerabilità e gli errori
svela strategie degli hacker di come sfruttano falle del sistema. Può anche evidenziare quali parti dell'applicazione necessitano miglioramenti
sfrutta piccoli team dedicati per scoprire più velocemente le vulnerabilità
permette ai tester di testare sistemi sia interni che esterni
I vantaggi dei programmi di Bug Bounty sono:
nei programmi di bug bounty ci sono molteplici possibilità per il tuo test perché possono prendere parte molti ricercatori e tester con competenze diversificate
può essere meno costoso del Pen Test
puoi mettere dei paletti e stabilire regole sul test. Decidi tu cosa testare e quanto approfonditamente vuoi svolgere i test
non paghi un extra: se il ricercatore non trova nulla nell'assessment, non devi pagarlo.
Gli svantaggi dei Pen test sono:
se i test non vengono condotti propriamente, possono causare addirittura danno al sistema. Possono danneggiarlo o crashare il server
il costo dipende molto dai tempi e dallo scopo del progetto
il Penetration test non è continuativo
Gli svantaggi del Bug Bounty sono:
durante il programma di Bug Bounty, nessuno prende l'ownership del programma. Sono i singoli tester/ hacker che sanno che verranno pagati solo se scoprono vulnerabilità
possono esserci diversi trust issues quando si affida il progetto a degli "sconosciuti"
consente di testare siti e web app solo una volta che sono aperti al pubblico
L'obiettivo del Pen Test dipende dal bisogno dell'azienda. Ci sono diversi tipi di pen testing assessments: internal testing, external testing, web application testing, embedded system testing e molti altri.
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.
STEP PER PERFORMARE UN PENETRATION TEST
Planning phase
Discovery phase
Attack phase
Reporting vulnerability phase
STEP PER LANCIARE UN PROGRAMMA DI BUG BOUNTY
Set up del programma di vulnerability assessment
Decidere attentamente l'obiettivo e il premio
Decidere il tipo di programma di bug bounty: pubblico o privato
Set up di un testing environment connesso alla natura dell'applicazione
Decidere le blackout date e i quite period
Ottenere il supporto degli altri dipartimenti connessi
Iniziare con un test di estensione limitata
Reclutare il giusto personale
Lanciare il programma di bug bounty al pubblico
Prepararsi a risolvere le vulnerabilità
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 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.
WhiteJar è la soluzione che ti permette di lanciare pen test costanti. Aziende e centinaia di ethical hackers esperti si incontrano sulla piattaforma di collaborazione di WhiteJar (powered by AppQuality) 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.
Guru99, Freecodecamp, Vaadata, Hacktrophy, Bugcrowd, The Security Bureau, Cyrextech, Toreon, Stardust, Cram