Sistemi: Informare i lettori sulla sicurezza informatica

Nella relativa sezione di sistemi e reti, si parla di sicurezza informatica e dei consigli che vengono forniti ai lettori del blog.

Ciò di cui i lettori di un blog come questo hanno bisogno sono le nozioni legate alla sicurezza. C’è molta disinformazione, non solo in Italia, su temi come la protezione dei dati personali e sulle tante semplici regole da seguire per non subire attacchi da malintenzionati. La privacy è un dono che va sempre tutelato e protetto e, con l’aumentare degli iscritti ai social network, sembra essere messa sempre più a rischio. Chi deve occuparsi maggiormente della protezione dei dati è soprattutto chi offre i servizi o gestisce il cosiddetto sistema informatico. Ma è chiaro che, la protezione individuale spetta anche a sé stessi.

Sicurezza: proteggersi dalle minacce

Per sicurezza si intende l’insieme dei servizi e delle regole per proteggere un qualsiasi sistema informatico. Essa va garantita per impedire accesso a dati o risorse da non autorizzati. Il soggetto attaccante compie un’operazione illegale che prende il nome di attacco informatico. Le conseguenze possono essere numerose e si va da semplici disservizi (rallentamento della rete, non disponibilità di un host, etc.) al furto di dati riservati e di denaro. Persino le risorse umane possono essere a rischio. Le minacce, però, non sono soltanto quelle legate all’uomo. Abbiamo una divisione più vasta delle potenziali cause di danno ad un sistema.

Tipi di minacce

Si parte da due categorie principali di esposizioni: umane e naturali. Per le prime, c’è una classificazione in attacchi interni ed esterni, e cioè tra persone che utilizzano il sistema informatico (ad esempio dipendenti) e persone che non hanno nulla a che fare (ad esempio cracker).
Le minacce naturali non possono essere controllate o lo sono solo in parte. Si va da un semplice black-out ad un terremoto. È necessario, dunque, studiare quali sono questi fenomeni e i relativi danni. Questo si fa con la valutazione dei rischi. Essa consiste nell’individuare le situazioni di vulnerabilità dei diversi asset, cioè le possibile vittime di una minaccia: come ad esempio un dato, una risorsa umana, una risorsa tecnologica o il luogo in cui sono presenti i macchinari. Una volta individuati i rischi bisogna gestire la problematica derivata da ognuno di questi e cioè:

  1. determinare le probabilità dell’evento e il grado di dannosità;
  2. individuare e studiare le possibili contromisure in base al miglior rapporto prezzo/prestazioni.

Requisiti per un sistema sicuro

Per garantire un sistema ci sono dei parametri da rispettare. Ciò porterà alla possibilità di poter proteggere e custodire i beni che ne fanno parte, cioè le informazioni trasmesse e i dati memorizzati negli archivi. Ogni requisito dovrà essere soddisfatto in base a diverse tecniche o protocolli.

Requisiti C.I.A.

I requisiti fondamentali per un sistema sicuro sono quelli descritti nella C.I.A, che consiste in:

  • Data Confidentiality: mantenere la segretezza dei dati;
  • Data Integrity: evitare l’alterazione dei dati.
  • System Availability: garantire che il sistema continui ad operare senza problemi.

Questi obiettivi sono strettamente connessi tra loro e generano il seguente insieme di aspetti che sono alla base dell’analisi dei rischi di sicurezza.

  • Autenticazione: il riconoscimento delle credenziali dell’utente per assicurarsi della sua identità;
  • Autorizzazione: l’utente autenticato deve essere associato all’insieme delle autorizzazioni, cioè la specifica delle azioni consentite o negate;
  • Riservatezza: le informazioni sono leggibili e comprensibili solo a chi ne ha i diritti. Questa può essere ottenuta a livello fisico, impedendo le intercettazioni o a livello di data-link, introducendo codifiche e cifrature nei dati trasmessi per renderli incomprensibili;
  • Disponibilità: un documento deve essere sempre disponibile a chi è autorizzato;
  • Integrità: deve essere certo che i documenti non siano letti o alterati da persone non autorizzate;
  • Paternità: i documenti associati agli utenti non possono essere ripudiati o negati da chi li ha spediti e/o firmati;

Strategie di attacco

Gli aggressori hanno generalmente delle ragioni o degli obiettivi alla base di un attacco: dal semplice ostruzionismo alla volontà di sottrarre informazioni. Per raggiungere questi scopi, utilizzano metodi e strumenti per sfruttare vulnerabilità presenti nel sistema, nei controlli o nei criteri di sicurezza.

Gli attacchi si dividono in due grandi categorie: attacchi passivi e attacchi attivi, divisi a loro volta in diverse tecniche.

Attacchi passivi

  • Lettura del contenuto, ad esempio mediante lo sniffing di pacchetti sulla LAN;
    Lo sniffer di pacchetti WireShark. Analizza tutto il contenuto trasmesso nella rete locale in cui è presente il PC con il software installato.
  • Analisi del sistema e del traffico di rete, senza analisi dei contenuti.

Attacchi attivi

  • Intercettazione: captare password per avere l’accesso al sistema e modificare dati. È possibile che sia necessario un attacco preventivo per installare dispositivi pirata o software specifici, come ad esempio un keylogger;
  • Sostituzione di un host: modificare le tabelle di indirizzamento del router con una pratica che prende il nome di IP spoofing,  falsificando l’indirizzo di rete. L’attacco può avvenire a livello 3 (modifica dell’indirizzo IP) o a livello 2 (modifica dell’indirizzo MAC);
  • Produzione: i malintenzionati possono anche produrre del materiale. In altre parole, una volta introdotti nella rete possono compiere atti di sabotaggio, per ridurre l’integrità e la disponibilità delle risorse. Vi sono molte tecniche di disturbo con diffusione di programmi virali. Un esempio sono gli attacchi virus, gli attacchi worm e i Denial of Service (DoS).
    • Il DoS mira a tenere occupato un host con operazioni inutili. Questo lo renderà più lento fino al mandarlo fuori uso. Si utilizzano diverse tecniche, come ad esempio la saturazione della posta o dei log, il ping flooding (invio di richieste di risposta ICMP ping continue e ripetute molto velocemente con pacchetti spesso consistenti) o il DDoS. Quest’ultima tecnica consiste nell’installazione di programmi DoS distribuiti su diversi host in rete allo scopo di creare una BotNet. Questi programmi prendono il nome di daemon, zombie o malbot;
      HPING3 consente, su sistemi GNU/Linux, di sferrare attacchi Flood Ping.
  • Phishing: attraverso lo spamming di email si attrae un utente su un server pirata chiamato shadow server in modo da catturare informazioni di autenticazione (ad es. falsa schermata di login nel sito di una banca su falsa notifica del conto) o invitarlo ad installare plugin che in realtà sono virus o trojan. Ultimamente si sta diffondendo lo Spear Phising, email studiate nei minimi dettagli per sembrare autentiche. Di questo ho discusso ampiamente sul blog, cercando di aiutare le tante vittime di e-mail fasulle che hanno portato ad infezioni molto gravi come ad esempio i Ransomware, i quali cifrano tutti i dati sul PC con richiesta di riscatto per la decifratura.
    Falsa email dell’agenzia delle entrate che richiede il download di un modulo di rimborso. Da notare la psicologia adottata nella truffa, sfruttando l’avidità dell’individuo che vorrà sicuramente accettare il rimborso.
  • Intrusione: l’accesso non autorizzato ad uno o più host, illegalmente.

Protezione dei sistemi distribuiti

I sistemi distribuiti, in quanto composti da più nodi di calcolo connessi in rete, sono abbastanza più vulnerabili rispetto ad un sistema chiuso. Questo per la presenza del canale di comunicazione che, se non protetto adeguatamente, può divenire una fonte di rischio per dati e infrastrutture. In un sistema distribuito abbiamo una sicurezza sulla rete ed una sicurezza sugli host. Quest’ultima può essere effettuata, a livello software, sull’intero sistema operativo o sulla singola applicazione.

Il principio massimo di sicurezza

Una corretta strategia di protezione è quella che protegge le informazioni e allo stesso tempo le rende disponibili agli utenti autorizzati senza difficoltà. Inoltre, è necessario garantire il principio massimo di sicurezza. Questo requisito richiede che ci sia una protezione dagli attacchi passivi ed un riconoscimento di quelli attivi. Per fare ciò si può partire analizzando tutte le componenti del sistema sia fisiche (computer, router, cavi) che logiche (file, processi ecc.) e individuare tutte le tecniche di attacco ad esse applicabili. Inoltre, è necessario monitorare continuamente la rete in quanto i malintenzionati sono sempre al lavoro nella ricerca di nuove tecniche di attacco.

Per poter progettare un sistema distribuito sicuro e mantenerlo tale, dobbiamo lavorare su:

  • Prevenzione (avoidance): mediante protezione dei sistemi e delle comunicazioni (crittografia, firewall, VPN, etc.);
  • Rilevazione (detection): mediante il monitoraggio e il controllo degli accessi tramite autenticazione con password e certificati;
  • Investigazione (investigation): con l’analisi dei dati, il controllo interno con il confronto, la collaborazione degli utenti, etc.

Tecniche di prevenzione

Per soddisfare questi tre punti, possiamo utilizzare diverse tecniche di prevenzione:

  • Uso della crittografia: la crittografia garantisce la riservatezza delle informazioni e l’integrità dei dati trasmessi ed è un’efficace prevenzione contro gli attacchi degli sniffer;
  • Autenticazione degli utenti: l’autenticazione garantisce il riconoscimento dell’interlocutore remoto in modo da avere la sicurezza sulla autenticità e la paternità delle informazioni. Oltre alla autenticazione con password criptate è possibile implementare meccanismi biologici (impronte digitali, lettura della retina, etc.) per l’autenticazione all’accesso al singolo host in locale e meccanismi di autenticazione che si basano sull’indirizzo IP o MAC dell’host sorgente alla connessione dell’host alla rete.
    Nel dettaglio di autenticazione dell’utente sono associate tre problematiche:

    • identificazione: il riconoscimento mediante l’associazione tra user ID e password o mediante l’uso di smart card e dati biometrici;
    • autenticazione: lo scopo è quello di verificare l’identità di chi intende utilizzare il sistema e che questa corrisponda a un utente autorizzato;
    • autorizzazione: lo scopo è definire le autorizzazioni (cosa può e cosa non può fare) dell’utente autenticato;
  • Firma elettronica: con la firma digitale vi è la garanzia che un documento è autentico e non falsificabile. Di conseguenza non sarà ripudiabile in quanto l’autenticazione ne garantisce la paternità;
  • Connessioni TCP sicure mediante SSL: connessioni sicure a livello di sessione con protocolli come il Secure Socket Layer (SSL) che offre i servizi di sicurezza per l’autenticazione delle parti in comunicazione. Questo tipo di connessione rispetta l’integrità e la riservatezza;
  • Firewall: un sistema hardware-software dedicato alla difesa perimetrale di una rete che agisce filtrando il traffico di pacchetti entranti e/o uscenti secondo delle regole precedentemente definite. Un firewall di rete è costituito da più macchine differenti che lavorano assieme per prevenire accessi non voluti: il router esterno, quello connesso a Internet, invia tutto il traffico entrante all’application gateway che seleziona i pacchetti utilizzando apposite liste di accesso (ACL – Access Control List) e li inoltra alla rete interna: quindi il gateway filtra il traffico entrante e uscente, eliminando i pacchetti che non soddisfano i requisiti di sicurezza individuati (filtering router). Le regole vengono definite in base a due tipi di approccio:
    • Default Deny: i servizi non esplicitamente permessi sono negati;
    • Default Allow: i servizi non esplicitamente negati sono permessi.
  • Reti private e reti private virtuali (VPN): per creare un canale di comunicazione tra due reti è possibile farlo con una rete privata e cioè una linea ad uso esclusivo dell’azienda, ma con costi elevati oppure con una VPN. Le VPN sono tunnel protetti su infrastrutture internet con connessioni punto a punto di pacchetti autenticati incapsulati in pacchetti tradizionali.

Protezione della posta elettronica

Uno dei pericoli più rilevanti è quello della posta elettronica. Il protocollo di invio SMTP non ha garanzia di riservatezza. Una mail viene inviata in chiaro dal mittente al destinatario e viene esposta ad attacchi quando “sosta” su buffer temporanei (router, switch, host, etc.). Questo permette di contraffare il mittente per poter trasmettere virus e messaggi truffa a nome di altri.

Approcci di sicurezza

Per risolvere questo problema ci sono due possibili approcci:

  1. Utilizzare una variante sicura del protocollo che garantisca autenticazione e riservatezza (SSL+ TLS);
  2. Gestire la sicurezza a livello di applicazione con trasmissione di dati crittografati su canali insicuri.

Requisiti di sicurezza

Per avere un canale di posta elettronico sicuro, è necessario rispettare questi vincoli:

  • Integrità: il messaggio non può essere alterato da terzi;
  • Autenticazione: identifica il mittente;
  • Non ripudio: il mittente non può negare di avere spedito la mail;
  • Riservatezza: i messaggi non sono leggibili sia in transito sia nella casella postale.

Per ciascuno di questi obiettivi possiamo individuare i possibili attacchi:

  • Attacco all’integrità:
    • Modifica del contenuto del messaggio;
    • Falsificazione del contenuto del messaggio da parte di osservatori esterni;
    • Falsificazione del contenuto del messaggio da parte del destinatario;
  • Attacco all’autenticazione:
    • Modifica dell’origine del messaggio;
    • Falsificazione dell’origine del messaggio da parte di osservatori esterni;
    • Falsificazione dell’origine del messaggio da parte del destinatario;
  • Attacco al non ripudio:
    • Negazione della trasmissione di un messaggio;
  • Attacco alla riservatezza:
    • Intercettazione e lettura del messaggio;
    • Intercettazione e blocco del messaggio;
    • Intercettazione del messaggio e successiva ripetizione.

Il protocollo S/MIME

Il protocollo SMTP, a causa del suo limite, ha un’alternativa che prende il nome di S/MIME. S/MIME fornisce due servizi di protezione:

  • Firme digitali;
  • Crittografia dei messaggi.

Questi due servizi sono alla base della protezione dei messaggi S/MIME in quanto un messaggio può essere firmato, cifrato o entrambi.

Firma digitale

La procedura per apporre la firma digitale da S/MIME è molto semplice e si esegue secondo il seguente schema:

Con questo metodo vengono garantiti:

  • L’autenticazione: cioè la convalida dell’identità, che nella posta elettronica basata su SMTP non è prevista;
  • Il non ripudio: l’unicità di una firma digitale impedisce al relativo proprietario di disconoscerla;
  • L’integrità dei dati: con la firma digitale si ha la sicurezza che il messaggio ricevuto non sia stato modificato durante il trasferimento.

Crittografia dei messaggi

I messaggi di posta elettronica Internet basati su SMTP non sono protetti e possono essere intercettati e letti da qualsiasi utente durante la fase di trasferimento o nell’area stessa in cui sono archiviati: il problema è stato risolto con lo standard S/MIME mediante la crittografia.

La crittografia ha lo scopo di rendere illeggibile il testo dei messaggi prima che questi vengano inviati attraverso la rete e tramite essa otteniamo due servizi di protezione specifici:

  • Riservatezza: la crittografia dei messaggi garantisce la riservatezza dei dati ma non esegue l’autenticazione del mittente;
  • Integrità dei dati: come per la firma digitale, anche la crittografia dei messaggi garantisce l’integrità dei dati.

Divulgare queste nozioni

Il blog è pieno di articoli sulle nuove infezioni virali (virus, trojan, worm) del momento e di consigli su come proteggere i propri dati. Nel 2016 ho iniziato la campagna per la divulgazione del Ransomware WannaCry, che consisteva in un furto di dati con riscatto dal proprio computer. Questa infezione si trasmetteva tramite falsi allegati per posta elettronica con mittente falso.

Nel 2017 ho pubblicato delle infografiche, un neologismo che sta ad indicare dei manifesti – spesso digitali – per dare delle informazioni con un buon impatto visivo. Di seguito, ecco due di esse.

Francesco Grecucci

Sono nato a Taranto e mi sono diplomato in Informatica e Telecomunicazioni. Ho questo blog dal 2016 e cerco sempre di migliorarlo, ogni giorno. Mi piacciono molto anche la musica, il vintage, le fotografie. Amo molto scrivere, non solo di informatica, ma anche di narrativa. 😉

Francesco Grecucci

Francesco Grecucci

Sono nato a Taranto e mi sono diplomato in Informatica e Telecomunicazioni. Ho questo blog dal 2016 e cerco sempre di migliorarlo, ogni giorno. Mi piacciono molto anche la musica, il vintage, le fotografie. Amo molto scrivere, non solo di informatica, ma anche di narrativa. ;)