Libero
SICUREZZA INFORMATICA

#4. Quali sono le principali tecniche di attacco?

Piccolo glossario dei concetti e dei termini della cybersecurity

#4. Quali sono le principali tecniche di attacco?

Di Marcello Fausti

Dopo una pausa abbastanza lunga, torno a scrivere del “Piccolo Glossario dei concetti e dei termini della Cybersecurity”. Sempre con lo spirito di semplicità che impronta quest’iniziativa, è ora il momento di parlare delle tecniche di attacco.

Già nel terzo articolo avevamo richiamato l’attenzione sulla distinzione tra il concetto di vettore di attacco ed il concetto di tecnica di attacco attuata tramite un vettore. Ad esempio, un malware è una tecnica d’attacco che può essere attuata mediante un vettore che nella maggior parte dei casi è una e-mail di phishing e così via.

Anche rischiando di trascurare qualcosa, direi che le tecniche di attacco sono raggruppabili in due grandi categorie:

  1. Malware;
  2. Sfruttamento di vulnerabilità esposte su Internet;

I malware sono una miriade, si replicano e mutano velocemente ed è impossibile stare al passo della loro dinamica. È per questo che da qualche anno si sta tentando di prevenire i malware cercando di identificare le prime mosse di avvicinamento ai target, ovvero, alle prede. Questa strategia si basa sul fatto che i malware sono tanti e ciascuno con molte varianti, ma le tattiche che utilizzano per infettare i nostri device sono, per fortuna, molte di meno. Riuscire ad intercettare i movimenti sospetti all’interno (ad es.) dei nostri PC ed essere in grado di ricondurli ad uno specifico malware e – di conseguenza – adottare le contromisure opportune, è ormai in tanti casi una realtà che inizia a consolidarsi.

Tutto sommato non è una strategia nuova. Quando gli esseri umani si ammalano ci sono due possibilità: a) riconoscere la malattia dai sintomi; b) esaminare campioni biologici allo scopo di scovare le tracce lasciate dalla malattia. Una volta riconosciuta l’origine della malattia si può procedere con l’opportuna terapia. Il problema nasce quando la malattia è del tutto nuova e sconosciuta. In questo caso non è possibile formulare una diagnosi che ricolleghi i sintomi ad una causa certa e ad una correlata terapia.

Nel mondo digitale, quando questa situazione si manifesta si dice, convenzionalmente, che si è di fronte ad una vulnerabilità Zero Day, ovvero, ad un malware che sfrutta una o più vulnerabilità non note e per il quale non esistono informazioni sulle tecniche che mette in atto per sfruttarle. È ovvio che in questa situazione il malware ha un vantaggio rispetto a chi lo deve contrastare ed è elevata la probabilità che questo agente infettivo si diffonda creando danni che possono essere anche rilevanti.

Non è poi così importante distinguere tra il caso in cui un malware tutto sommato convenzionale sfrutti una vulnerabilità zero-day, oppure, un malware evoluto metta in atto un modo completamente nuovo di sfruttare una vulnerabilità esistente. L’effetto è sempre lo stesso i sintomi non sono – in prima battuta – riconducibili ad un agente patogeno e non sono noti rimedi per arrestare il diffondersi dell’infezione.

Che cosa vi ricorda una situazione di questo tipo? Non vi sembra simile alla nostra situazione ad inizio 2020 quando del Covid non sapevamo quasi nulla e non avevamo quasi nessuna terapia per contrastarlo?

Negli ultimi anni situazioni di questo tipo si sono manifestata diverse volte anche se – almeno fino a qualche tempo fa – si era portati a pensare che le vulnerabilità zero-day fossero “strumenti” confinati ad ambiti particolari e non destinati ad essere sfruttati nei confronti della generalità degli utenti di Internet. Si pensava, cioè, che le vulnerabilità zero-day non fossero pane per i comuni cybercriminali ma fossero confinate all’interno delle agenzie di stato o in gruppi operativi “sponsorizzati” dai vari stati ad uso esclusivo di operazioni mirate che richiamano alla mente scenari di cyberwar o cose simili. Purtroppo, non è così, o almeno, nel mese di aprile del 2017 il gruppo “Shadow Broker” ha pubblicamente diffuso una serie di vulnerabilità sottratte alla statunitense NSA (National Security Agency) provocando la prima ondata di diffusione del ransomware Wannacry che ha colpito 105 paesi, oltre 200.000 computer e messo in ginocchio molte realtà tra cui: Sanità Pubblica, Trasporti, Telco, Banche, PA, etc.

Insomma, una vera e propria pandemia digitale generata dal fatto che due mondi, quello del cybercrimine e quello vicino alle agenzie di stato, sono venuti a contatto con un travaso di informazioni e strumenti dalle seconde alle prime.

La seconda grande categoria delle tecniche di attacco fa capo allo sfruttamento delle vulnerabilità (di sistema e applicative) esposte su Internet.

La casistica è vastissima e non è possibile tentare di elencarla nemmeno sinteticamente. Quello che si può dire è che per gli attaccanti, la caccia alle vulnerabilità esposte è il primo passo di un’attività di attacco che può essere molto lunga e molto complessa. Una volta individuata una vulnerabilità, l’attaccante la studia e cerca di sfruttarla nel modo migliore in funziona dei suoi obiettivi. Per fare ciò, dopo aver guadagnato una posizione su di un sistema o su di un’applicazione web (ad esempio tramite una vulnerabilità Cross Site Scripting o SQL injection), l’attaccante può rimanere in ascolto anche per dei mesi, fino a quando non vede transitare qualcosa che stimola il suo interesse. A quel punto l’obiettivo dell’attaccante, di solito, diventa quello di sottrarre dei dati prendendo il controllo dell’applicazione, del data base che questa utilizza o del sistema in cui è ospitata. Per fare ciò l’attaccante deve mettere in atto tecniche di furto di credenziali ed escalation di privilegi fino a diventare amministratore del data base o del sistema e – a questo punto – il gioco è fatto.

Tutto qui? In effetti no. Per mettere in atto le sue strategie di attacco, il cybercriminale ha nella sua faretra un’altra freccia molto potente: il social engineering.

Esempi.

Storia di due coniugi la signora YYY e il signor XXX. Alla signora YYY arriva una e-mail di questo tenore: “cara signora YYY, la casa che lei ha prenotato in Thailandia sul sito www.affittacasavacanza.it pagando con carta di credito è pronta e la sta attendendo”. La signora YYY si stupisce e preoccupa perché lei non ha mai prenotato nulla sul servizio in oggetto e men che meno la casa in Thailandia. Ciò detto, chiama il servizio clienti del sito e chiede conto della situazione con questo risultato: “Cara signora XXX … ci risulta lei abbia prenotato in data … e regolarmente pagato con carta di credito …”. A questo punto la signora si preoccupa ancora di più, come mai l’operatore del servizio clienti si è rivolto a lei chiamandola con il cognome di suo marito? Come poteva conoscere questa informazione non avendo lei mai avuto a che fare con il sito web in questione? A scanso di equivoci, la situazione appare un po’ goffa (ed in effetti lo è) ma è assolutamente reale. La storia si è chiusa presentando denuncia contro ignoti per truffa telematica e stornando il movimento effettivamente registrato dal gestore della carta di credito. Il punto cruciale, però, è nella risposta dell’operatore del servizio clienti che lascia chiaramente intendere che qualche cybercriminale ha ricostruito un profilo della signora YYY probabilmente attingendo a dati (anche relativi alla carta di credito) provenienti da siti oggetto di data breach (ad esempio siti di prenotazioni di alberghi o di biglietti aerei) e arricchendoli con informazioni presenti sui social network. Questo è il social engineering, ovvero, una tecnica che aumenta considerevolmente la probabilità di successo di un attacco effettuato tramite un’e-mail di phishing e può consentire di concludere truffe anche all’insaputa del soggetto truffato.

Facciamo un altro esempio. Scena 1: il figlio adolescente del CEO di un’importante azienda accetta una richiesta di amicizia da una ragazza bellissima con la quale scambia molti messaggi fino a che questa invia un link ad un sito in cui promette di mostrarsi in alcune foto. Ovviamente il link ha l’effetto di scaricare sul PC del ragazzo un malware che inizia a fare il suo lavoro intercettando tra l’altro le credenziali della posta elettronica utilizzata dal ragazzo. Scena 2: ad un certo punto il ragazzo posta sul social network un messaggio relativo ad una vacanza che farà in un posto di mare bellissimo con tutta la sua famiglia. A questo punto l’attaccante prende la palla al balzo ed invia una e-mail dall’account del ragazzo a suo padre (il CEO) contenete il link ad un sito che avrebbe dovuto contenere le foto della spiaggia bellissima dove di lì a poco dovranno andare in vacanza. Il CEO clicca ed il gioco è fatto. A questo punto l’attaccante controlla il PC del CEO ed inizia l’attività di osservazione delle sue e-mail. Scena 3: il giorno della partenza per le vacanze, l’attaccante fa partire dall’account del CEO una e-mail verso il CFO chiedendogli di pagare urgentemente una fattura di un fornitore rimasta sospesa per troppo tempo. Nella mail era contenuta una comunicazione del fornitore che comunicava contestualmente il cambio dei riferimenti bancari. Scena 4: il gioco è fatto. Il CFO esegue il bonifico e i soldi transitano sul conto dell’attaccante che provvede immediatamente a farli sparire trasferendoli istantaneamente più volte in paesi dove i movimenti bancari non sono tracciabili.

Sembra una storia romanzata ma, invece, è assolutamente vera e plausibile. Per mettere in atto il suo intento l’attaccante ha utilizzato moltissime tecniche coordinate all’interno di una strategia basata su un’intensa attività di conoscenza delle sue vittime che si chiama – appunto – social engineering.

Zero-Day. Il termine indica una minaccia informatica che sfrutta vulnerabilità di applicazioni software non ancora divulgate o per le quali non è ancora stata distribuita una patch. Gli attacchi zero-day sono considerati una minaccia molto grave, in quanto sfruttano falle di sicurezza per le quali non è al momento disponibile nessuna soluzione.

Sql Injection. Tecnica mirata a colpire applicazioni web che si appoggiano su database programmati con linguaggio SQL, tramite lo sfruttamento di vulnerabilità quali l’inefficienza dei controlli sui dati ricevuti in input e l’inserimento di codice malevolo all’interno delle query. Tali attacchi consentono di accedere alle funzioni di amministrazione del sistema oltre che di sottrarre o alterare i dati.

Cross Site Scripting. è una vulnerabilità che affligge siti web dinamici che impiegano un insufficiente controllo dell’input nei form. Un XSS permette a un hacker di inserire o eseguire codice lato client al fine di attuare un insieme variegato di attacchi quali, ad esempio, raccolta, manipolazione e reindirizzamento di informazioni riservate, visualizzazione e modifica di dati presenti sui server, alterazione del comportamento dinamico delle pagine web, etc.

Social Engineering. Arte di manipolare psicologicamente le persone affinché compiano determinate azioni o rivelino informazioni confidenziali, come le credenziali di accesso a sistemi informatici.

Privilege Escalation. Si intende lo sfruttamento di una falla, di un errore di progetto o di configurazione di un software applicativo o di un sistema operativo al fine di acquisire il controllo di risorse di macchina normalmente precluse a un utente o a un’applicazione. Un’applicazione con maggiori autorizzazioni di quelle previste dallo sviluppo originale o fissate dall’amministratore di sistema può, ovviamente, mettere in opera azioni impreviste e non autorizzate.

Leggi gli altri articoli del Piccolo glossario dei concetti e dei termini della cybersecurity

#1. Che cos’è il rischio cyber e come si gestisce

#2. Quali sono le principali minacce? E come è possibile proteggersi?

#3. Quali sono i vettori di attacco più pericolosi?