La Cybersecurity è un aspetto cruciale della progettazione e dell’implementazione dei Sistemi IT. Esiste infatti un’ampia gamma di rischi che potrebbero rendere vulnerabile l’intera infrastruttura. I cracker sono alla ricerca proprio di questi punti deboli per ottenere il controllo dell’applicazione e accedere, alterare o rubare i dati.
Considerando quanto le aziende dipendono dalla tecnologia, le conseguenze di un attacco informatico potrebbero essere letali per l’organizzazione. Testare la sicurezza delle applicazioni è essenziale, perché permette di identificare rischi, minacce e vulnerabilità che i cyber criminali potrebbero sfruttare per addentrarsi nel sistema.
Gli hacker etici sono quindi esperti di tecnologia dell’informazione (IT) che utilizzano metodi di hacking per aiutare le aziende ad identificare possibili punti di ingresso nella loro infrastruttura. Utilizzando diverse metodologie, strumenti e approcci, le aziende possono eseguire questi attacchi informatici simulati per testare i punti di forza e di debolezza dei loro sistemi di sicurezza.
Ciò aiuta i leader IT ad implementare aggiornamenti, pratiche e soluzioni alternative, di sicurezza informatica per ridurre al minimo la possibilità di successo degli attacchi. Ricorrendo ad abili hacker etici, le organizzazioni possono identificare, aggiornare/modificare e sostituire in modo rapido ed efficace le parti esposte e vulnerabili del loro sistema. Il Penetration Test quindi sfrutta la prospettiva degli hacker per identificare i rischi e mitigarli prima che vengano sfruttati.
Un penetration test (pen test) è un attacco simulato autorizzato eseguito su un sistema informatico per valutare la sicurezza. I penetration tester utilizzano gli stessi strumenti, tecniche e processi degli aggressori per individuare e dimostrare l'impatto dei punti deboli di un sistema. I penetration test di solito simulano una serie di attacchi che potrebbero minacciare un'azienda. Possono esaminare se un sistema è sufficientemente robusto da resistere agli attacchi da posizioni autenticate e non autenticate, nonché una serie di ruoli di sistema. Con la giusta portata, un pen test può approfondire qualsiasi aspetto di un sistema. Il Penetration Test quindi sfrutta la prospettiva degli hacker per identificare i rischi e mitigarli prima che vengano sfruttati.
I PenTest differiscono dai Vulnerability Assessment soprattutto per un elemento importante: forniscono un elenco prioritario dei punti deboli della sicurezza e suggerimenti su come modificarli. Spesso questi PT e VA vengono eseguiti insieme. Il Penetration Test viene spesso condotto con un obiettivo particolare, solitamente:
- Identificare i sistemi hackerabili
- Tentare di hackerare un sistema specifico
- Effettuare una violazione dei dati
Ciascun obiettivo si concentra su micro-obiettivi specifici che i leader IT vogliono raggiungere. I risultati di un PenTest daranno un riscontro rispetto alla validità degli attuali protocolli di sicurezza informatica di un’organizzazione, ma presenteranno anche i metodi di hacking utilizzabili per penetrare nei sistemi.
I pen tester simulano gli attacchi di avversari motivati ad attaccare un sistema. Per fare ciò, in genere seguono un piano che include i seguenti passaggi:
Ricognizione. Raccogli quante più informazioni possibili sull'obiettivo da fonti pubbliche e private per preparare la strategia di attacco. Le fonti includono ricerche su Internet, recupero delle informazioni sulla registrazione del dominio, ingegneria sociale e scansione della rete protetta. Queste informazioni aiutano i pen tester a mappare la superficie di attacco del bersaglio e le possibili vulnerabilità. La ricognizione può variare con la portata e gli obiettivi del PenTest; può essere anche essere semplice come fare una telefonata per esplorare le funzionalità di un sistema o viceversa molto complessa.
Scansione. I pen tester utilizzano strumenti per esaminare i punti deboli del sito Web o del sistema di destinazione, inclusi servizi aperti, problemi di sicurezza delle applicazioni e vulnerabilità open source. I tester di penna utilizzano una varietà di strumenti in base a ciò che trovano durante la ricognizione e durante il test.
Ottenere accesso. Le motivazioni dell'attaccante possono includere il furto, la modifica o l'eliminazione di dati; spostamento di fondi; o semplicemente danneggiare la reputazione di un'azienda. Per eseguire ogni test case, i pen tester determinano gli strumenti e le tecniche migliori per accedere al sistema, sia attraverso un punto debole come l' iniezione SQL o tramite malware, ingegneria sociale, bug software o qualcos'altro.
Mantenimento dell'accesso. Una volta che i pen tester ottengono l'accesso al bersaglio, il loro attacco simulato deve rimanere connesso abbastanza a lungo da raggiungere i loro obiettivi di esfiltrazione dei dati, modificarli o abusare della funzionalità. Quindi si tratta di dimostrare il potenziale impatto.
Il Pen Test è unico rispetto ad altri metodi di valutazione della sicurezza informatica, in quanto può essere adattato a qualsiasi settore o organizzazione, selezionando tecniche e strumenti di hacking efficaci per lo specifico caso. I PenTest raramente sono attività solitarie. Alcuni progetti software più ampi potrebbero richiedere l’intervento sinergico di diversi team, concorrenti in una fase di test. Ad esempio, un team di hacker per eseguire l’attacco e i penetration test (Red Team), ed un team di sicurezza IT che identifica e risponde ai loro attacchi (Blue Team).
L’organizzazione del Pen Test in genere segue un processo in quattro fasi che include:
- Pianificazione
- Scoperta
- Attacco
- Segnalazione
Il ciclo di vita penetration test potrebbe ripetersi per ogni target, o semplicemente quando è richiesta una prospettiva diversa.
Pianificazione. La pianificazione del Pen Test definisce l’ambito, l’approccio, gli obiettivi e i limiti del progetto. Immagina come un team di sviluppo eseguirà il test su una versione del software pre-rilascio, per garantire che aderisca alle politiche di sicurezza esistenti e soddisfi anche le esigenze di conformità. A seconda delle esigenze dell’organizzazione, questo passaggio può essere una procedura semplice o elaborata. Se l’organizzazione non ha deciso quali vulnerabilità valutare, una quantità significativa di tempo e risorse dovrebbero essere dedicati a setacciare il sistema per individuare possibili punti di ingresso.
Scoperta. In questa fase, i Penetration Tester raccolgono e valutano quante più informazioni possibili sul software e sui relativi sistemi. Scansionano le porte aperte, controllano le vulnerabilità e utilizzano tecniche di social engineering per raccogliere nomi utente e password.
La fase di scoperta è particolarmente importante per i Black Box PT, dove i tester non hanno molte informazioni per iniziare la valutazione.
Attacco. Questa fase, di durata limitata, si verifica nel momento in cui un team utilizza le informazioni ricavate per convalidare e sfruttare i difetti del software. L’obiettivo è imitare le azioni di un potenziale cracker per addentrarsi nel sistema sfruttando le vulnerabilità rilevate. I Pen tester tentano così di accedere a risorse, funzionalità e dati. Sebbene i test di penetrazione non siano intenzionalmente dannosi, l’attacco potrebbe provocare conseguenze indesiderate, come l’interruzione del software e la perdita di dati.
Segnalazione. I PT forniscono feedback sull’infrastruttura, utili per i team di sviluppo software e per altre parti interessate. La segnalazione delle vulnerabilità rilevate è una conclusione fondamentale per il ciclo di Penetration Test. I report restituiscono risultati dettagliati e informazioni importanti relativamente a:
- L’entità della scoperta;
- Vulnerabilità e difetti individuati;
- Exploit convalidati/scritti/modificati;
- Raccomandazioni dettagliate per le mitigazioni.
Una volta selezionato il tipo di target o test di penetrazione specifico (tra quelli sopra elencati), anche se non definitivi, esistono tre categorie generali in cui il tipo di test di penetrazione può essere utilizzato. Queste categorie generali sono: White Box Penetration Test, Gray Box Penetration Test e Black Box Penetration Test.
Il White Box Penetration Test, noto anche come test della scatola di cristallo, è un tipo di test in cui tutta la conoscenza dell'ambiente da testare viene fornita al tester. In genere richiede meno tempo ed è meno costoso da condurre rispetto ai due seguenti menzionati di seguito (poiché tutti i sistemi iniziali, le informazioni di rete e le credenziali vengono forniti al tester).
Il Gray Box Penetration Test è un tipo di test in cui viene fornita al tester una certa conoscenza dell'ambiente in fase di test. Poiché le informazioni vengono fornite in anticipo, questo è un buon test per vedere i danni che una minaccia interna con conoscenza dell'ambiente e/o con accesso privilegiato (amministratore) può essere in grado di causare, in caso di intenzioni dannose.
Il Black Box Penetration Test è un tipo di test in cui non è nota o fornita al tester alcuna conoscenza anticipata dell'ambiente in cui viene eseguito il test. Questo tipo di test è considerato il metodo migliore per dimostrare un "esempio del mondo reale" di come un utente malintenzionato esterno sarebbe in grado di compromettere la rete o il sistema senza conoscere l' ambiente interno di un'azienda. Questo tipo di test richiede più tempo rispetto ai test gray-box e white-box a causa del tempo necessario al tester per eseguire la ricognizione sull'ambiente; che non rientrerebbero nell'ambito delle altre due tipologie sopra citate.
Esistono vari tipi di Penetration Test e strumenti utilizzati dai penetration tester per comprendere le vulnerabilità che esistono all'interno di un sistema, una rete, un individuo, ecc. Nel prossimo articolo vedremo eventuali strumenti per l'esecuzione dei Penetration Test e come ti aiutano a rendere più robusto il tuo sistema tecnologico aziendale.