Sicurezza informatica

L’interesse per la sicurezza dei sistemi informatici è cresciuto negli ultimi anni proporzionalmente alla loro diffusione ed al loro ruolo occupato nella collettività. Molti ex-hacker/cracker sono oggi dirigenti di società di sicurezza informatica o responsabili di questa in grandi multinazionali[senza fonte]. Ciò sembra mostrare che per capire le strategie migliori di sicurezza informatica è necessario entrare nella mentalità dell’attaccante per poterne prevedere ed ostacolare le mosse.

Principali cause di perdita di dati

Le cause di probabile perdita di dati nei sistemi informatici possono essere molteplici, ma in genere vengono raggruppate in due eventi:

  • Eventi indesiderati;
  • Eventi accidentali.

Eventi indesiderati

Tra i due eventi sopra citati, quelli indesiderati sono quelli per lo più inaspettati, anche se è prudente aspettarsi di tutto, e sono i cosiddetti attacchi da parte di utenti non autorizzati al trattamento di dati o all’utilizzo di servizi. Alcuni degli eventi indesiderati che si possono subire possono essere:

  • Attacchi hacking;
  • Uso delle proprie autorizzazioni per l’accesso a sistemi da parte di utenti non autorizzati.

Attacchi Hacking

Gli attacchi hacking, spesso conosciuti sotto il nome di attacchi hacker, vengono fatti tramite la rete internet, da parte di utenti chiamati appunto dalla società “hacker”, che tramite l’uso di software particolari, a volte creati da loro stessi, si intrufolano abusivamente all’interno del sistema, riuscendo ad ottenere piena disponibilità della macchina, per gestire risorse e dati senza avere i giusti requisiti richiesti.

Accesso a sistemi da parte di utenti non autorizzati

Questo tipo di attacco sostanzialmente è simile al precedente, ma ha una forma diversa. Questo attacco consiste nell’uso non autorizzato di sistemi e di dati altrui, ma a differenza di un attacco hacker stavolta viene usata la macchina e non la rete.

Effetti

La pericolosità degli attacchi in quanto tale, consiste non solo nella presa di possesso di requisiti, dati e servizi altrui, ma anche causa all’utente cosiddetto “derubato” una sorta di insicurezza a far fede sui sistemi informatici che spesso fanno parte della nostra vita quotidiana.

Eventi accidentali

Gli eventi accidentali non fanno riferimento ad un attacco da parte di terzi, ma fanno riferimento a eventi causati accidentalmente dall’utente stesso, tipo: uso difforme dal consigliato di un qualche sistema, incompatibilità di parti hardware, guasti imprevisti, ecc… Tutti eventi che comunque compromettono la sicurezza del sistema.

La protezione dei dati

I principali aspetti di protezione del dato sono la confidenzialità, l’integrità dei dati e la disponibilità.

La protezione dagli attacchi informatici viene ottenuta agendo su più livelli: innanzitutto a livello fisico e materiale, ponendo i server in luoghi il più possibile sicuri, dotati di sorveglianza e/o di controllo degli accessi; anche se questo accorgimento fa parte della sicurezza normale e non della “sicurezza informatica” è sempre il caso di far notare come spesso il fatto di adottare le tecniche più sofisticate generi un falso senso di sicurezza che può portare a trascurare quelle semplici. Il secondo livello è normalmente quello logico che prevede l’autenticazione e l’autorizzazione di un’entità che rappresenta l’utente nel sistema. Successivamente al processo di autenticazione, le operazioni effettuate dall’utente sono tracciate in file di log. Questo processo di monitoraggio delle attività è detto audit o accountability.

Per evitare invece gli eventi accidentali, non esistono soluzioni generali, ma di solito è buon senso dell’utente fare una copia di backup del sistema, fare backup periodico di dati e applicazioni in modo da poter fronteggiare qualsiasi danno imprevisto.

Tipi di sicurezza e di attacchi

Proprio sulla base di queste osservazioni, quando si parla di “sicurezza informatica” spesso si distinguono i concetti di sicurezza passiva e di sicurezza attiva.

Sicurezza passiva

Per sicurezza passiva normalmente si intendono le tecniche e gli strumenti di tipo difensivo, ossia quel complesso di soluzioni tecnico-pratiche il cui obiettivo è quello di impedire che utenti non autorizzati possano accedere a risorse, sistemi, impianti, informazioni e dati di natura riservata. Il concetto di sicurezza passiva pertanto è molto generale: ad esempio, per l’accesso a locali protetti, l’utilizzo di porte di accesso blindate, congiuntamente all’impiego di sistemi di identificazione personale, sono da considerarsi componenti di sicurezza passiva.

Sicurezza attiva

Per sicurezza attiva si intendono, invece, tutte quelle tecniche e gli strumenti mediante i quali le informazioni ed i dati di natura riservata sono resi intrinsecamente sicuri, proteggendo gli stessi sia dalla possibilità che un utente non autorizzato possa accedervi (confidenzialità), sia dalla possibilità che un utente non autorizzato possa modificarli (integrità).

È evidente che la sicurezza passiva e quella attiva siano tra loro complementari ed entrambe indispensabili per raggiungere il desiderato livello di sicurezza di un sistema.

Le possibili tecniche di attacco sono molteplici, perciò è necessario usare contemporaneamente diverse tecniche difensive per proteggere un sistema informatico, realizzando più barriere fra l’attaccante e l’obiettivo.

Spesso l’obiettivo dell’attaccante non è rappresentato dai sistemi informatici in sé, quanto piuttosto dai dati in essi contenuti, quindi la sicurezza informatica deve preoccuparsi di impedire l’accesso ad utenti non autorizzati, ma anche a soggetti con autorizzazione limitata a certe operazioni, per evitare che i dati appartenenti al sistema informatico vengano copiati, modificati o cancellati.

Le violazioni possono essere molteplici: vi possono essere tentativi non autorizzati di accesso a zone riservate, furto di identità digitale o di file riservati, utilizzo di risorse che l’utente non dovrebbe potere utilizzare ecc. La sicurezza informatica si occupa anche di prevenire eventuali situazioni di Denial of service (DoS). I DoS sono attacchi sferrati al sistema con l’obiettivo di renderne inutilizzabili alcune risorse in modo da danneggiare gli utenti del sistema. Per prevenire le violazioni si utilizzano strumenti hardware e software.

Sicurezza nelle aziende

Dal momento che l’informazione è un bene che aggiunge valore all’impresa, e che ormai la maggior parte delle informazioni sono custodite su supporti informatici, ogni organizzazione deve essere in grado di garantire la sicurezza dei propri dati, in un contesto dove i rischi informatici causati dalle violazioni dei sistemi di sicurezza sono in continuo aumento. Per questo esistono, a carico delle imprese, precisi obblighi in materia di privacy, tra cui quello di redigere annualmente uno specifico documento programmatico sulla sicurezza. È stato anche approvato a livello internazionale il nuovo Standard ISO 27001:2005 finalizzato alla standardizzazione delle modalità adatte a proteggere i dati e le informazioni da minacce di ogni tipo, al fine di assicurarne l’integrità, la riservatezza e la disponibilità. Lo standard indica i requisiti di un adeguato sistema di gestione della sicurezza delle informazioni (ISMS) finalizzato ad una corretta gestione dei dati dell’azienda. Una fase indispensabile di ogni pianificazione della sicurezza è la valutazione del rischio e la gestione del rischio. Il CLUSIT è l’associazione nazionale che promuove la conoscenza nelle aziende.

Sicurezza dei programmi

Il problema della sicurezza dei programmi e soprattutto dell’invio e ricezione di dati confidenziali protetti, si è posto all’attenzione degli sviluppatori di software come conseguenza della sensibile crescita dell’uso degli strumenti informatici e di internet. Per quanto riguarda la produzione di software “protetti” possiamo partire col definire il concetto di sicurezza come l’assenza da condizioni conflittuali capaci di produrre danni mortali o irreparabili ad un sistema. Nella progettazione di software è quindi fondamentale raggiungere il compromesso più funzionale tra l’efficienza d’uso del programma in questione e la sua capacità di “sopravvivenza” ad attacchi esterni e ad errori più o meno critici.

Caratteristiche di sicurezza

Due caratteristiche fondamentali esplicano il concetto di sicurezza:

  • Safety (sicurezza): una serie di accorgimenti atti ad eliminare la produzione di danni irreparabili all’interno del sistema;
  • Reliability (affidabilità): prevenzione da eventi che possono produrre danni di qualsiasi gravità al sistema.

Un software (o programma) è tanto più sicuro quanto minori sono le probabilità che si verifichi un guasto e la gravità del danno conseguente al guasto stesso. Possiamo ora vedere, in ordine crescente, i possibili effetti dei guasti in cui può incorrere un software:

  • Nessun effetto
  • Rischio trascurabile
  • Rischio significativo
  • Rischio elevato
  • Rischio catastrofico.

Controllo della sicurezza di un programma

Una volta prodotto il software si procede alla verifica del suo comportamento, in modo tale da effettuare una ricerca estesa dei difetti presenti, per passare poi alla loro eventuale eliminazione. Esistono diversi modelli di sicurezza per il controllo dei programmi basati su due metodi differenti:

  • Semantic-based security model (modelli di sicurezza basati sulla semantica): la sicurezza del programma controllato viene esaminata in termini di comportamento del programma
  • Security-typed language (modelli di sicurezza basati sul linguaggio): i tipi delle variabili sono seguiti dall’esplicazione delle politiche adottate per l’uso dei dati battuti.

Per essere efficace un programma deve essere controllato nelle sue specifiche e deve essere privo di difetti nel codice, a questo fine viene effettuato un controllo delle specifiche del programma e delle prestazioni correlate all’affidabilità, in secondo luogo viene analizzata ogni parte di codice e funzione del sistema.

Errori di programma

L’IEEE (Institute of Electrical and Electronics Engineers) ha catalogato gli errori nel software in tre diverse voci a seconda della natura degli errori stessi. Esse sono:

  • Error: è un errore umano verificatosi durante il processo di interpretazione delle specifiche oppure durante l’uso di un metodo o nel tentativo di risoluzione di un problema
  • Failure: è un comportamento del software imprevisto ed incongruo rispetto alle specifiche del programma stesso
  • Fault: è un difetto del codice sorgente.

Gli errori di programma non nocivi, come ad esempio gli spyware ed il buffer overflow hanno la caratteristica di non modificare i file di sistema e non recare danno alle caratteristiche del sistema stesso. Troviamo qui sotto elencati una serie di errori e di attacchi al software di differente entità.

Principali tecniche di attacco

Buffer overflow

  • Shellcode

  • Cracking
  • Backdoor
  • Port scanning
  • Sniffing
  • Keylogging
  • Spoofing
  • Trojan
  • Virus informatici
  • DoS
  • Ingegneria sociale
  • CMD Tramite Browser

Principali tecniche di difesa

Antivirus: consente di proteggere il proprio personal computer da software dannosi conosciuti come virus. Un buon antivirus deve essere costantemente aggiornato ad avere in continua esecuzione le funzioni di scansione in tempo reale. Per un miglior utilizzo l’utente deve avviare con regolarità la scansione dei dispositivi del PC (dischi fissi, CD, DVD e dischetti floppy), per verificare la presenza di virus, worm. Per evitare la diffusione di virus è inoltre utile controllare tutti i file che si ricevono o che vengono spediti tramite posta elettronica facendoli verificare dall’antivirus correttamente configurato a tale scopo.

  • Antispyware: software facilmente reperibile sul web in versione freeware, shareware o a pagamento. È diventato un utilissimo tool per la rimozione di “file spia”, gli spyware appunto, in grado di carpire informazioni riguardanti le attività on line dell’utente ed inviarle ad un’organizzazione che le utilizzerà per trarne profitto.
  • Firewall: installato e ben configurato un firewall garantisce un sistema di controllo degli accessi verificando tutto il traffico che lo attraversa. Protegge contro aggressioni provenienti dall’esterno e blocca eventuali programmi presenti sul computer che tentano di accedere ad internet senza il controllo dell’utente.
  • Firma digitale, Crittografia: è possibile proteggere documenti e dati sensibili da accessi non autorizzati utilizzando meccanismi di sicurezza specifici quali: la crittografia, la firma digitale, e l’utilizzo di certificati digitali e algoritmi crittografici per identificare l’autorità di certificazione, un sito, un soggetto o un software.
  • Backup: più che un sistema di difesa si tratta di un utile sistema per recuperare dati eventualmente persi o danneggiati. Il backup consiste nell’esecuzione di una copia di sicurezza dei dati di un personal computer o comunque di dati considerati importanti onde evitare che vadano perduti o diventino illeggibili.
  • Honeypot: un honeypot (letteralmente: “barattolo del miele”) è un sistema o componente hardware o software usato come “trappola” o “esca” a fini di protezione contro gli attacchi di pirati informatici. Solitamente consiste in un computer o un sito che sembra essere parte della rete e contenere informazioni preziose, ma che in realtà è ben isolato e non ha contenuti sensibili o critici; potrebbe anche essere un file, un record, o un indirizzo IP non utilizzato.
  • Intrusion Detection System (IDS): è un dispositivo software e hardware (a volte la combinazione di tutti e due) utilizzato per identificare accessi non autorizzati ai computer. Le intrusioni rilevate possono essere quelle prodotte da cracker esperti, da tool automatici o da utenti inesperti che utilizzano programmi semiautomatici. Gli IDS vengono utilizzati per rilevare tutti gli attacchi alle reti informatiche e ai computer. Un IDS è composto da quattro componenti. Uno o più sensori utilizzati per ricevere le informazioni dalla rete o dai computer. Una console utilizzata per monitorare lo stato della rete e dei computer e un motore che analizza i dati prelevati dai sensori e provvede a individuare eventuali falle nella sicurezza informatica. Il motore di analisi si appoggia ad un database ove sono memorizzate una serie di regole utilizzate per identificare violazioni della sicurezza.
  • Network Intrusion Detection System (NIDS): sono degli strumenti informatici, software o hardware, dediti ad analizzare il traffico di uno o più segmenti di una LAN al fine di individuare anomalie nei flussi o probabili intrusioni informatiche. I più comuni NIDS sono composti da una o più sonde dislocate sulla rete, che comunicano con un server centralizzato, che in genere si appoggia ad un Database. Fra le attività anomale che possono presentarsi e venire rilevate da un NIDS vi sono: accessi non autorizzati, propagazione di software malevolo, acquisizione abusiva di privilegi appartenenti a soggetti autorizzati, intercettazione del traffico (sniffing), negazioni di servizio (DoS).
  • Steganografia: La steganografia si pone come obiettivo di mantenere nascosta l’esistenza di dati a chi non conosce la chiave atta ad estrarli, mentre per la crittografia è non rendere accessibili i dati nascosti a chi non conosce la chiave. La crittanalisi è l’attacco alla crittografia, che mira ad estrarre i dati cifrati senza chiave. L’obiettivo della steganalisi non è quindi quello di estrarre i dati nascosti, ma semplicemente di dimostrarne l’esistenza.
  • Sistema di autenticazione: potrebbe rivelarsi utile, in particolare nelle aziende, l’utilizzo di software per l’autenticazione sicura con un secondo elemento di autenticazione basato su un insieme di caratteri disposti in uno schema suddiviso in file e colonne conosciute dall’utente che dovrà poi inserirle in una combinazione di valori per dimostrare di essere in possesso dei dati corretti. Altro sistema, più sofisticato, è quello del riconoscimento dell’utente tramite l’utilizzo dell’impronta digitale come forma di autenticazione.

Sicurezza della rete Internet

Con la crescita a dismisura di internet e del “www”, le problematiche di sicurezza si estendono anche ad essa e servono quindi idee e principi su cui basarsi. Per far fronte ai rischi che si corrono utilizzandola, l’Unione Europea mette il suo contributo tramite il programma di protezione “Safer Internet”.

Safer Internet

L’idea del programma di protezione della rete “Safer Internet”, è nata a seguito della crescita di internet e per la crescente presenza di bambini a contatto con questo mondo. “Safer Internet” introdotto l’11 maggio 2005, dal Parlamento Europeo, vuole promuovere l’uso sicuro di internet soprattutto per i bambini: una rete europea di 21 linee nazionali attraverso le quali gli utenti finali possono denunciare anonimamente la presenza di contenuti illegali su internet, e la creazione di 23 nodi nazionali di sensibilizzazione per promuovere un uso sicuro di internet, rivolto ai bambini, ai genitori e agli insegnanti. Oltre ai provvedimenti di autoregolamentazione e allo sviluppo di tecnologie adeguate, proprio l’istruzione giocherà un ruolo chiave nel futuro. È indispensabile, infatti, la partecipazione e l’istruzione di genitori e insegnanti, troppo spesso digiuni in materia di internet, che seguano con costanza i ragazzi nella navigazione, fornendo loro gli strumenti critici necessari ad un corretto approccio alla rete.