black-box-penetration-testing

Nell’industria del web esistono numerose procedure di Quality Assurance, consolidate negli anni e in continuo aggiornamento. Testare un codice al fine di individuarne criticità è una di queste tecniche.

Esistono tre principali tipi di Penetration test, differenziate in base

  • alla quantità di informazioni
  • e ai privilegi forniti al Pen-tester

In base a questi criteri possiamo distinguere tra

  • White Box Penetration Test (Test della Scatola Bianca)
  • Grey Box Penetration Test  (Test della scatola Grigia)
  • e Black Box Penetration Test (Test della Scatola Nera)

Per ottenere un livello di sicurezza elevato, occorre testare il codice assumendo vari punti di vista, compreso quello dell’attaccante.

In questo articolo verranno trattate le tecniche di tipo Black Box, così denominato in quanto cerca di simulare il comportamento di un attaccante che

  • non conosca il codice sorgente
  • e non possieda i privilegi di un end-user.

Black box: uno speciale punto di vista

Come le altre tipologie di test (White Box, Grey Box), anche i Black Box Penetration test hanno lo scopo di evidenziare le eventuali debolezze strutturali di un software. Pertanto, la loro peculiarità consiste nell’essere utilizzati per esaminare un sistema da un punto di vista ‘esterno’, cioè quello di un possibile attaccante outsider.

Non avendo idea della struttura del codice, il Pen-tester non può adottare una strategia lineare come nei test White Box, dove per un input ci si aspetta un determinato output.

Nei test Black Box il professionista fa il percorso a ritroso:

  • interagisce con l’applicativo attraverso l’interfaccia utente o comunque con la parte pubblica del servizio.
  • una volta immesso l’input, ne analizza l’output per cercare di capire come è stata implementata una funzionalità
  • sulla base di ciò, deduce se nel software in analisi siano presenti vulnerabilità sfruttabili da un hacker

In effetti un attaccante, prima di lanciare un vero e proprio attacco, deve cercare di capire come è stata implementata una certa funzionalità. L’unico modo che ha è sollecitarla e osservare in che modo risponde.

Da lì, attraverso tecniche di reverse engineering ed eventualmente si intercettano delle debolezze.

Quali vantaggi apporta

Per garantire maggiori standard di sicurezza è opportuno non limitarsi a una sola tipologia di test.

Questo perché ognuno di essi ha bias o limitazioni pratiche che ne specializzano il campo di azione.

Ad esempio, i soli test Black Box non possono scandagliare la totalità del sistema, come invece può avvenire con i White Box test.

Potrebbero verificarsi casi in cui il codice sorgente non presenta anomalie di sorta, mentre testando il funzionamento dell’applicazione si  potrebbero riscontrare criticità. Oppure potrebbe verificarsi esattamente il contrario: ovvero una simulazione dinamica che non causa problemi, a fronte, però, di vistose lacune logiche o di sicurezza all’interno del codice.

Insomma: i punti che un test non è riuscito a cogliere verranno analizzati dall’altro, rendendoli di fatto complementari.

Doppia valenza

Da un lato, il fatto che i test vengano eseguiti da dei Pen-tester che ignorano la struttura del sistema in esame elimina il bias che invece è presente nei test White Box, dove è difficile immedesimarsi nel punto di vista di un outsider, avendo già a disposizione cospicue informazioni.

Dall’altro, operando anche dal punto di vista dell’utente, aiutano ad identificare possibili carenze ed inefficienze nella UI/UX (user interface/user experience).

Fare pulizia

Grazie a questi test è possibile venire a conoscenza di comportamenti inaspettati dell’applicativo, non solo in un’interazione criminale ma anche in una semplice esperienza utente.

Correggere o eliminare il codice responsabile di questi comportamenti anomali rende più sicuro ma anche più fruibile il servizio.

Correggere l’input validation

I test Black Box intercettano le tecniche di hacking web più diffuse, come le SQL Injection e le XSS che di solito sono imputabili a imperizie

  • nella validazione degli input
  • e dei parametri URL.

Inoltre, dato che gli applicativi più complessi utilizzano pacchetti software di terzi, è possibile individuare quelli ormai vetusti o non aggiornati e quindi agire implementando patch di aggiornamento al fine di migliorarne

  • prestazioni
  • e sicurezza..

Gli strumenti del Pen-tester

Dato che i Black Box test simulano un attacco esterno, c’è bisogno di coprire tutte quelle tecniche che potrebbero essere adottate da un hacker.

Si deve operare per prevenire Injections e XSS, ma si sollecitano anche ambiti quali

  • la gestione delle sessioni e dei cookie
  • o autorizzazioni e accessi.

Per mettere ordine e aiutare i pen-tester ad essere efficaci, esistono numerosi strumenti (in gergo tools) dotati di diverse funzionalità e direttamente  pronti all’uso.

Ne esistono di proprietari, come

  • IBM Rational Functional Tester
  • o HP QTP

oppure si può decidere di optare per soluzioni open source.

La scelta degli strumenti è varia, ognuna con le sue peculiarità e offerte. Tuttavia, è possibile individuare delle procedure standard nella progettazione dei test che ogni tool aiuta a portare a compimento, consentendo ai professionisti di efficientare il flusso di lavoro.

Valutazione dei campi di input

I vantaggi nell’utilizzo di questi strumenti sono molteplici.

Tra tutti, il più rilevante consiste nell’automatizzare l’analisi

  • degli edge cases
  • e dei corner cases.

I primi sono relativi ai singoli campi di input (Esempio: nome, e-mail…) e valutano la reazione all’immissione di input minimi e massimi in lunghezza.

I secondi, corner cases, valutano la reazione ai casi limite dell’intera combinazione degli input (ad esempio quando si invia un form con i dati).

Una tecnica di penetrazione, chiamata fuzzing, prevede proprio un uso forzoso di input limite per indurre un comportamento non gestito e dunque potenzialmente sfruttabile dall’hacker.

Simulazione del comportamento utente

Le applicazioni sono costruite per garantire la massima fruibilità all’utente. Per portare a termine un’azione, l’utente, forte di determinate autorizzazioni, segue dei passaggi fino ad ottenere il risultato voluto.

I pen-tester hanno interesse a investigare questi processi e alcuni tool possono farlo automaticamente.

Questa rappresenta una fase preliminare imprescindibile per ogni tipologia di pen-test.

Qualora, infatti, dovessero essere riscontrate anomalie lato utente, quello sarebbe un chiaro segnale della presenza di vistose vulnerabilità lato codice.

Tabelle causa/effetto

I dati raccolti vanno analizzati attraverso appositi diagrammi che, a determinata sollecitazione, associano l’effetto ottenuto.

Per ogni coppia causa/effetto viene stilato, quindi, un test per riscontrare se effettivamente sussiste la criticità.

Fasi del test, a grandi linee

Vediamo ora quali sono le fasi principali da affrontare nell’esecuzione di un Black Box Penetration test.

Riconoscimento

Fase passiva che prevede la raccolta di informazioni utili riguardo il sistema in esame. Tali informazioni possono essere di ogni tipo: indirizzi IP, fornitori terzi di servizi, nominativi e contatti di dipendenti per poter poi effettuare azioni di social engineering.

Scansione

È una fase attiva di riconoscimento, dove la raccolta di informazioni avviene attraverso l’interazione diretta con il sistema. Si cercano informazioni circa

  • i tipi di software utilizzati
  • le versioni
  • scala dei privilegi, ecc.

Scoperta delle vulnerabilità

Una volta ottenute informazioni sufficienti, si passa ai test per le vulnerabilità note.

I moderni tool si servono di database aggiornati con le più recenti vulnerabilità.

In alternativa, I professionisti possono avviare test modellati sul sistema sotto esame in base alle informazioni finora raccolte.

La prima alternativa è più rapida, la seconda più precisa.

In entrambi I casi si arriva all’individuazione di falle più o meno critiche.

Exploitation

In questa fase si passa all’azione con richieste ‘malevole‘, specificatamente prodotte dai pen-testers in base ai dati raccolti.

In parallelo alle richieste, ci potrebbe essere la possibilità di portare avanti operazioni di ingegneria sociale sui dipendenti nell’ottica di accelerare

Privilege Escalation e Resoconto

Una volta nel sistema, l’obiettivo è cercare di risalire la gerarchia dei privilegi al fine di

Altro parametro importante è il grado di facilità con il quale si riescono a mantenere illecitamente l’accesso e i privilegi acquisiti.

Qualunque sia l’entità della penetrazione, al termine delle operazioni viene stilato un resoconto dettagliato.

Il report presentato al cliente contiene una descrizione delle vulnerabilità riscontrate.

Per ognuna,  viene evidenziato un coefficiente di severità e alcune POC (proof of concept), essenzialmente delle documentazioni visive che dimostrano quanto riportato nel resoconto.

Ed infine, vengono presentate le possibili soluzioni da apportare.

Perché è importante testare

Gli attacchi informatici sono in forte aumento negli ultimi anni. Secondo il report Clusit sulla sicurezza del marzo 2022, il numero degli attacchi cresce sia in numeri assoluti che per severità.

A subire più attacchi c’è il settore militare/strategico, seguito a ruota dalle aziende informatiche (+3.3% rispetto all’anno precedente), obiettivi multipli e sanità (+24.8%). Dal tipo di obiettivi si deducono anche le finalità principali, che sono il cybercrime e lo spionaggio.

Un dato allarmante, oltre all’aumento numerico, è rappresentato dall’innalzamento della severità degli attacchi. Questo non fa altro che evidenziare l’impellente necessità di investire sulla sicurezza informatica di tutte le aziende, non solo quelle cosiddette ‘del settore’ o sensibili/strategiche.

Sempre secondo il report Clusit, la percentuale di attacchi di severità ‘elevata’ portati a termine nel 2021 è pari al 79%, a fronte del 50% dell’anno precedente. Per ‘elevata’ severità si intende la combinazione di ‘critica’ (32% del totale) e ‘alta’ (47%). In sostanziale diminuzione gli attacchi a impatto medio e basso.

Prevenire è meglio che curare, dunque investire in ottica preventiva con i Penetration Tests riduce drasticamente il rischio di subire attacchi ad impatto critico o di alta severità.

I Black Box test, in quest’ottica, possono svelare errori nelle funzionalità poiché si svolgono dal punto di vista di un possibile attaccante. É, comunque, consigliabile attuare dei White Box test in parallelo per avere una sicurezza totale, anche dal punto di vista strutturale.

Conclusioni

Le minacce informatiche presentano un trend di crescita, sia per numero che per gravità. Le aziende italiane sono sempre più colpite dalle azioni dei cybercriminali.

Attualmente, però, è possibile prevenire attacchi gravi e con conseguenze onerose effettuando test preventivi sul proprio sistema.

I test di tipo Black Box vanno a simulare l’operato di un hacker, ma sono portati avanti da affidabili professionisti del settore: i Pen-tester. Lo speciale punto di vista di questi test consente di individuare le vulnerabilità intercettabili dagli hacker, analizzarle e risolverle, andando a ridurre drasticamente le possibilità di gravi attacchi informatici.

Testare un sistema con questa tecnica è relativamente rapido nonché meno oneroso di altre tipologie di test: dunque, è una alternativa percorribile da aziende di tutte le dimensioni.

Per ottenere una sicurezza profonda in ogni ambito è comunque consigliabile operare in parallelo anche dei test di tipo White Box.

Cyberment

Cyberment è un’azienda specializzata in consulenza di sicurezza informatica da oltre 20 anni.

Il nostro red team è composto da hacker etici e esperti specialisti in cybersecurity.

Ci occupiamo di identificare le vulnerabilità informatiche nei sistemi e nelle applicazioni web tramite servizi di Vulnerability Assessment e Penetration Test.

Siamo un’azienda di sicurezza informatica certificata ISO 9001, ISO 27001, nonché azienda etica.
Abbiamo sede legale a Milano e sede operativa a Porto Mantovano, mentre Londra è il cuore del nostro reparto ricerca e sviluppo.

Se desideri conoscere in modo approfondito i nostri servizi di prevenzione dalle minacce informatiche, contattaci!