pentest

Penetration test, la guida definitiva

In un mondo che demanda gran parte dell’operatività al mondo dell’informatica, ci siamo ritrovati a convivere con il crescente problema delle vulnerabilità informatiche e le continue notizie di attacchi informatici e data breach a danno delle imprese.

Oggi, occuparsi costantemente della sicurezza del proprio sistema informatico rientra tra le mansioni a cui un’azienda deve necessariamente provvedere: se non il prima persona attraverso la conoscenza dei propri collaboratori, ricorrendo al lavoro di team di specialisti di questo settore.

Tra le attività con obiettivi secondari che un’azienda dovrebbe richiedere esiste senza alcuna ombra di dubbio il penetration test.

Accostiamo con fermezza il termine pentest ad un’attività secondaria con estrema coscienza: il pentest è indubbiamente un’attività importante da pianificare ma seconda solo all’attività di Vulnerability Assessment (concetto approfondito in questo articolo del nostro blog).

Definizione di pentest

Il penetration test è il processo di identificazione della vulnerabilità di sicurezza più impattante in un’applicazione web-based o di un intero sistema informatico tale da consentire la violazione della struttura. Questo processo è certamente assimilabile ad un attacco informatico simulato e autorizzato.

Lo scopo di questo test di sicurezza è certamente quello di identificare quante più informazioni in seguito alla simulazione dell’attacco tra cui:

  1. dati sull’effettiva resilienza di un’organizzazione
  2. quali e quanti punti di accesso noti e insospettabili.

L’effettiva presa di coscienza di quanto sia importante tenere presente l’importanza di questo strumento è relativamente recente.
Oggi, secondo le stime, oltre 6,4 miliardi di dollari vengono annualmente stanziati dalle imprese di tutto il mondo per questa attività di offensive security nello specifico, e di per sé si tratta di un servizio di security recente: venne introdotto come standard di sicurezza solo nel 2009.

In gergo tecnico il pentest viene indicato anche con i termini di:

Che cos’è un pentest

Un pentest è un tipo di test di sicurezza informatica impiegato dagli specialisti per testare l’insicurezza di un ambiente di rete.
L’attacco controllato è in grado di fornire informazioni circa le misure difensive già impiegate all’interno di un sistema, in particolare se queste ultime sono sufficienti al punto di prevenire eventuali violazioni o altre attività dannose. I report sui test suggeriscono anche eventuali contromisure che possono essere utilizzate per ridurre il rischio che il sistema venga violato.

Ma quali possono essere le cause che rendono violabile un sistema informatico o un’applicazione?

  • Errori di progettazione e di protocollo

    ci possono essere difetti nella progettazione dei sistemi di comunicazione.
    Normalmente, i protocolli di rete regolano la comunicazioni tra device, tecnologie e persone: alcuni protocolli contengono errori di natura tecnica che generano a loro volta punti deboli.

  • Configurazione del sistema errate

    questa è un’altra causa di vulnerabilità di un sistema. In questo caso ci riferiamo a errori umani di programmazione commessi dagli stessi amministratori di rete o l’attivazione/disattivazione di servizi, la modifica di una configurazione di sicurezza.

  • Errori umani

    fattori umani come lo smarrimento dei documenti, errori di codifica, condivisione di password su siti di phishing, ecc. Questo purtroppo accade per mancanza di attenzione o di sufficiente conoscenza tecnica, per negligenza.

  • Complessità dei sistemi

    la vulnerabilità della sicurezza aumenta in proporzione alla complessità e alla variabilità di un sistema informatico.
    Più è complessa e intricata è la logica cn la quale è stato sviluppato e implementato un sistema informatico, più sono le possibilità che il sistema venga attaccato sfruttando le falle di sicurezza presenti è ampio.

  • Password deboli

    le password vengono utilizzate per impedire l’accesso non autorizzato.
    Dovrebbero essere così complesse da non poter essere “sniffate”. Le password non devono essere condivise con nessuno ed hanno bisogno di essere modificate periodicamente. Nonostante queste istruzioni, a volte le persone rivelano le loro password agli altri.

  • Minacce esterne e interne

    le reti normalmente vengono protette dagli attacchi informatici provenienti dall’esterno

Perché fare un pentest, i vantaggi derivanti dall’analisi

Con gli attacchi informatici in continua crescita, sia come complessità che in quantità, è diventato inevitabile richiedere l’intervento dell’offensive security con il fine ultimo di predisporre un sistema di prevenzione delle minacce.

Il penetration test rientra tra le attività di sicurezza preventiva da adottarsi in quanto fornisce oggettivi vantaggi nei seguenti ambiti:

  • Livello di protezione dei dati finanziari o critici;

  • Stato di sicurezza di un software o di un sistema;

  • Scoprire gli effetti di una violazione;

  • Valutare l’impatto degli attacchi informatici nell’azienda;

  • Soddisfazione delle conformità di sicurezza;

  • Bisogno di implementare un’efficace strategia di sicurezza.

Tipologie di pentest da adottare in un’azienda

Vediamo adesso i tipi di pentest che possiamo effettuare:

  • Test di ingegneria sociale
  • Pentest dell’applicazione
  • Test di penetrazione della rete
  • Pentest dell’infrastruttura
  • Mobile App Pentest
  • API pentest
  • Test lato client
  • Wardialing
  • Test di sicurezza wireless

Metodologie di pentest

Possiamo anche organizzare i tipi di pen test in tre parti:

  • Black box

    in questo approccio, il tester valuta il sistema di destinazione, la rete o il processo senza la conoscenza dei suoi dettagli. Conosce ad esempio solo l’URL del sito web o il nome dell’azienda.

  • White box

    In questo approccio, il tester è dotato di dettagli completi sull’ambiente target: rete, sistema operativo, indirizzo IP, ecc. Esamina il codice e trova errori di progettazione e sviluppo. È una simulazione di un attacco di sicurezza interno.

  • Grey Box

    in questo approccio, il tester ha dettagli limitati sull’ambiente target. È una simulazione di attacchi di sicurezza esterni.

Tecniche di pentest

I tre tipi di tecniche che possiamo utilizzare nei penetration test:

  • Pentest manuale

    è difficile condurre un cyber attack utilizzando unicamente strumenti automatizzati.
    Esistono alcune vulnerabilità che possono essere identificate solo tramite scansione manuale.
    I pen tester possono eseguire migliori attacchi alle applicazioni in base alle loro capacità e alla conoscenza del sistema attaccato. Metodi come l’ingegneria sociale ad esempio possono essere utilizzati solo dall’uomo.

  • Utilizzo di strumenti di pentest automatizzati;

  • Combinazione dei due metodi precedenti.

    Il metodo impiegato anche dal team di Cyberment.

Vediamo adesso il processo effettivo seguito da agenzie o penetration tester.
L’identificazione delle vulnerabilità presenti nel sistema è il primo passo importante in questo processo. Viene intrapresa un’azione correttiva su questa vulnerabilità e gli stessi test vengono ripetuti fino a quando il sistema non è negativo ad ognuno di essi.

  • Raccolta di dati (o Information Gathered)

    Si può anche utilizzare la tecnica di analisi del codice sorgente della pagina web per ottenere maggiori informazioni su versioni di sistema, software e plug-in;

  • Valutazione della vulnerabilità

    in base ai dati raccolti nel primo passaggio, si possono trovare le falle nella sicurezza nel sistema di destinazione. Questo aiuta i pen tester a lanciare attacchi utilizzando punti di entrata identificati nel sistema;

  • Exploit

    questo è un passaggio cruciale. Richiede competenze e tecniche speciali per lanciare un attacco al sistema target. I pen tester esperti possono utilizzare le proprie capacità per lanciare un attacco al sistema.

  • Analisi e preparazione del report

    dopo il completamento dei test, vengono preparati rapporti dettagliati per correggere eventuali vulnerabilità. Tutte le falle identificate e i metodi correttivi consigliati sono elencati in questi report. Si può personalizzare il formato del vulnerability report (HTML, XML, Word o PDF) secondo le esigenze dell’azienda).

Alcune considerazioni finali sul concetto di penetration test

Il penetration test va effettuato da persone competenti e specializzate dietro la stipulazione di un contratto, in modo tale da tutelare entrambe le parti. Scrivere nero su bianco tutti i passaggi che verranno effettuati ed i sistemi che subiranno l’attacco è essenziale per evitare spiacevoli inconvenienti.

Cyberment Srl

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!