Per Cyber Security si intende quell’ambito della sicurezza informatica che dipende solo dalla tecnologia: con esso si enfatizzano spesso qualità di resilienza, robustezza e reattività che una tecnologia deve possedere per fronteggiare attacchi mirati a comprometterne il suo corretto funzionamento e le sue performance.
Nella sicurezza informatica sono coinvolti elementi tecnici, organizzativi, giuridici e umani. Per valutare la sicurezza solitamente è necessario individuare le minacce, le vulnerabilità e i rischi associati ai beni informatici, al fine di proteggerli da possibili attacchi (interni o esterni) che potrebbero provocare danni diretti o indiretti di impatto superiore a una determinata soglia di tollerabilità (es. economico, politico-sociale, di reputazione, ecc…) a un’organizzazione. Oltre alle tre fondamentali proprietà (disponibilità, riservatezza, integrità) possono essere considerate anche: autenticità, non ripudiabilità, responsabilità, affidabilità.
La sicurezza informatica è un problema molto sentito in ambito tecnico-informatico per via della crescente informatizzazione della società e dei servizi (pubblici e privati) in termini di apparati e sistemi informatici e della parallela diffusione e specializzazione degli attaccanti.
L’interesse per la sicurezza dei sistemi informatici è dunque cresciuto negli ultimi anni, proporzionalmente alla loro diffusione e al ruolo da essi svolto nella collettività.
Due caratteristiche fondamentali esplicano il concetto di sicurezza:
In ordine crescente, i possibili effetti dei guasti in cui può incorrere un software sono:
In informatica, il penetration test, colloquialmente noto come pentest (“test di penetrazione”); è un attacco informatico simulato autorizzato su un sistema informatico o una rete, eseguito per valutare la protezione del sistema.
Condotto su più fasi dal punto di vista di un potenziale attaccante simulando l’attacco informatico di un utente malintenzionato, esso consiste nello sfruttamento delle vulnerabilità rilevate, allo scopo di aiutare a determinare se le difese del sistema sono sufficienti, o se invece sono presenti vulnerabilità, elencando in questo caso quali difese il test ha sconfitto. Il test ha dunque come obiettivo quello di evidenziare le debolezze della piattaforma fornendo il maggior numero di informazioni sulle vulnerabilità che hanno permesso l’accesso non autorizzato, fornendo una stima chiara sulle capacità di difesa e del livello di penetrazione raggiunto nei confronti:
Tutti i problemi di sicurezza rilevati vengono quindi presentati al cliente, assieme a una valutazione del loro impatto sul sistema nello scenario del business aziendale, fornendo inoltre una soluzione tecnica o proposta di mitigazione o migrazione del sistema.
L’analisi viene svolta a fronte di un accordo commerciale/tecnico. Chi svolge questa attività è chiamato penetration tester o auditor e oggi anche con il più moderno nome ethical hacker, visto che si tenta di aggredire il sistema con le stesse logiche utilizzate da un hacker. Un gruppo di penetration tester è chiamato anche tiger team.
I processi di penetration test possono essere effettuati in diverse modalità. La differenza consiste sulla quantità e qualità delle informazioni disponibili agli analisti riguardo ai sistemi analizzati. I test Black Box non presuppongono precedente conoscenza dell’infrastruttura oggetto di analisi e gli esaminatori necessitano di determinare architettura e servizi dei sistemi prima di iniziare l’analisi.
Nei test White Box sono invece fornite conoscenze dettagliate dell’infrastruttura da esaminare, spesso comprensive di schemi di rete, codice sorgente delle applicazioni e liste di indirizzi IP presenti nella rete. Esistono anche varianti a queste metodologie definibili Grey Box. I risultati dei penetration test possono valutare gli impatti di un attacco e suggerire contromisure per ridurre i rischi.
I processi di analisi che vengono condotti in un penetration test hanno diversi tempi di azione in cui sono alternate fasi manuali e fasi automatiche. Vengono acquisite inizialmente le informazioni principali sull’architettura della piattaforma e sui servizi offerti. Dall’analisi di questi dati deriva la scelta di come condurre il passo successivo, consistente in un’enumerazione dei principali errori e problemi. Software automatizzati uniti all’esperienza manuale dell’analista permettono quindi di evidenziare tutte le possibili vulnerabilità, incluse quelle più recenti e alcune ancora non di pubblico dominio. I problemi riscontrati sono quindi manualmente verificati e sono prese le evidenze, o prove, che certificano l’esistenza delle problematiche stesse.
L’attività si conclude nello sviluppo della reportistica composta dal report di analisi sommaria dedicato al management o executive summary, contenente l’analisi dell’impatto di rischio di quanto riscontrato e tempistiche per l’azione di rientro o mitigazione delle problematiche riscontrate, e dal report tecnico, contenente l’analisi dettagliata dei problemi e la soluzione tecnica. Il penetration test va effettuato su sistemi esposti su Internet e comunque sulle piattaforme sensibili collegate a grosse reti, prima di entrare in esercizio, per avere una prova pratica della sicurezza di ciò che si espone.
È importante capire che la probabilità che un pen-tester riesca a trovare tutti i problemi di sicurezza è molto bassa. Ad esempio: ieri è stato fatto un penetration test che ha messo in evidenza l’assenza di vulnerabilità nel sistema; oggi Microsoft rilascia una patch atta a correggere alcuni errori di sistema contenente una nuova vulnerabilità di alcuni server di posta che in precedenza erano considerati sicuri; questo significa che il pen-test di ieri non è più valido visto che naturalmente non può mettere in luce la nuova vulnerabilità. Lo stesso esempio può essere applicato a ogni modifica attuata sul sistema. Mantenere una rete sicura richiede quindi una vigilanza costante.
Noto anche come Network Penetration Test è un tipo di attività che si sofferma principalmente sulle componenti di rete. Il test mira ad analizzare Porte (TCP/UDP) e servizi potenzialmente vulnerabili per effettuare attacchi.
Il Penetration Test di applicazioni web (spesso abbreviato in WAPT) tende a valutare specificatamente vulnerabilità della logica applicativa di applicazioni web, limitando il perimetro di test alle stesse. Il test di applicazioni web spesse utilizza come riferimento la OWASP Top 10 rilasciata dalla stessa OWASP. Per effettuare i test vengono spesso utilizzati strumenti quali: Burpsuite, Acunetix, Zap etc.
La soluzione hadware prevede l’utilizzo di dispositivi chiamati UTM in grado di fornire un servizio centralizzato di sicurezza. Questi dispositivi, di solito, implementano funzionalità aggiuntive per consentire, ad esempio, l’accesso remoto tramite reti crittografate VPN, prevenzione intrusioni, proxy server, Quality Of Service.
Consigliata da 10 a 50 dispositivi
Connessioni simultanee 450.000
Consigliata da 100 a 200 dispositivi
Connessioni simultanee 1.000.000
Consigliata da 250 a 1000 dispositivi
Connessioni simultanee 5.000.000
La soluzione Software su pc client è sempre da intendere come complemento a quella hardware perchè da sola, molto spesso e in situazioni di architetture informatiche complesse, non è sufficiente. Per soluzioni di tipo software su pc client si intendono tutti quei programmi che hanno la funzione di controllo per Virus di ogni tipo. Spesso questi software hanno funzionalità anche molto avanzate, ma hanno lo svantaggio che sono utilizzabili solo sulla singola macchina su cui sono installate e non consentono una protezione centralizzata perchè ogni dispositivo avrà la necessità di una installazione dedicata.