AiutoPcFirenze esegue test di penetrazione dei sistemi.
La nostra offerta propone i seguenti test:
- Black box: il cliente non fornirà nessuna conoscenza dell'infrastruttura da testare, diagrammi di rete, codice sorgente degli applicativi e servizi presenti.
- White box: il cliente fornirà completa conoscenza dell'infrastruttura da testare, diagrammi di rete, codice sorgente degli applicativi e servizi presenti.
- Gray box: il cliente fornirà parte della conoscenza dell'infrastruttura da testare, diagrammi di rete, codice sorgente degli applicativi e servizi presenti.
Secondo gli obiettivi e le esigenze aziendali, AiutoPcFirenze puo' eseguire tre tipologie di analisi:
- Network : l'attacco viene effettuato sia dall'interno, sia dall'esterno dell'azienda focalizzando l'attenzione su potenziali minacce, vulnerabilità ed errate configurazioni a livello di rete.
- Application: l'attacco viene effettuato a livello applicativo, focalizzando l'attenzione su potenziali minacce, vulnerabilità ed errate configurazioni dei servizi e delle applicazioni.
- Social Engineering: l'attacco prende di mira l'aspetto umano, focalizzando l'attenzione sulla compromissione delle procedure aziendali, tentando quindi di ottenere informazioni riservate ed accesso non autorizzato al sistema informativo aziendale.
Alla fine dei test, verrà consegnata copia del "penetration report".
Un penetration test consiste nel testare la sicurezza di un sistema informatico.
Il sistema sarà sottoposto ad una grande varietà di attacchi informatici e non.
L'obiettivo è quello di individuare eventuali vulnerabilità sfruttabili da terzi per ottenere accessi non autorizzati ai sistemi e servizi analizzati.
Oltre ai problemi di sicurezza, devono essere rilevati i possibili punti deboli relativi alla configurazione, che incidono sulla robustezza e le performance del sistema, e gli errori di progettazione della rete.
Una cattiva configurazione è più pericolosa di un bug.
Riassumendo, i test devono individuare:
- Bugs, vulnerabilità e security hole nel software presente.
- Punti deboli nel progetto di rete.
- Punti deboli di firewall e router.
- Punti deboli negli script dei web-server.
- Errori nella configurazione dei servizi in esecuzione.
- Problemi relativi alll'accesso fisico alle macchine.
Si distinguono vari livelli tecnici dei test.
In linea di massima, si possono delineare tre grandi categorie:
- Livello basso: questo è il test che in genere fanno i tool di auditing automatici.
Si controlla solo se ci sono servizi in esecuzione con vulnerabilità note, in genere vengono rilevate solo grosse falle e misconfigurazioni macroscopiche.
- Livello medio: oltre a controllare i servizi in esecuzione, vengono testati, come illustrato in precedenza, la rete, i firewall, i router, ecc.
Si fa spesso ricorso anche a tecniche di social engineering.
- Livello alto: qui siamo a livelli eccelsi, si può arrivare a controllare i sorgenti (se disponibili) dei programmi alla ricerca di nuove vulnerabilità, o ad esercitare la "nobile arte" del trashing.
Oltre a testare le macchine un penetration test può essere utile anche per valutare le persone addette a tali macchine.
Avremo di conseguenza un test di tipo "overt" o uno di tipo "covert":
- Test overt o evidente (Blue team): gli impiegati dell'organizzazione, e in particolare lo staff IT, sono a conoscenza del penetration test.
Ovviamente in queste circostanze non ha senso usare metodi riconducibili al social engineering.
- Test covert o nascosto (Red team): si esegue il penetration test con il permesso delle "alte cariche" e all'insaputa dello staff IT.
Questo tipo di test è utile per testare, oltre alla sicurezza della rete, anche le capacità e l'affidabilità degli addetti alla sicurezza durante una emergenza e la reale validità delle politiche di sicurezza dell'azienda.
Riassumendo, un sistema può dirsi vulnerabile se è possibile:
- Accedere a risorse interne.
- Leggere e modificare file riservati.
- Controllare il traffico in entrata e/o uscita.
- Eseguire programmi senza averne i permessi.
- Accedere alla macchina con i permessi di amministratore (root) da parte di utenti non privilegiati.
- Controllare la configurazione della rete e dei servizi.
Il report è il documento che il team che esegue il test consegna al committente alla fine della valutazione.
Il report deve indicare per ogni vulnerabilità riscontrata:
- Software/dispositivo affetto dalla vulnerabilità (nome e versione).
- Tipo di vulnerabilità riscontrata.
- Gravità del bug (bassa, media, alta).
- Esistenza, diffusione e applicabilità dell'exploit relativo alla vulnerabilità.
- Causa (bug, configurazione, ecc.).
- Macchine e/o dispositivi interessati.
- Conseguenze.
- Esistenza e complessità della soluzione del problema.
- Descrizione dettagliata del problema e dei metodi utilizzati per individuarlo.
- Suggerimenti e note.