Traduttore automatico - Read this site in another language

mercoledì 30 ottobre 2019

Hacking the hackers!

quando a cadere nella (cyber) tela è il ragno stesso.

Nei precedenti articoli il cyber-spazio è stato spesso rappresentato come il far west in cui sono ambientati i classici film western, ossia come una realtà totalmente priva di regole, in cui banditi spietati e senza scrupoli mietono vittime completamente incapaci di difendersi. In particolare, i gruppi di criminali informatici, più o meno sponsorizzati da stati sovrani, imperversano nella dimensione cyber ai danni di semplici cittadini, come di governi o di organizzazioni e industrie private, peraltro arricchendosi con bottini da capogiro. Questo panorama cibernetico del tipo "tutti contro tutti" non si sottrae alla legge molto “reale” del più forte, che vale anche per i citati gruppi di cyber criminali, come dimostra la vicenda che segue. Una vicenda probabilmente non inedita, tuttavia emblematica del momento in cui viviamo, in quanto mostra fin dove si possa spingere la lotta per il predominio dello spazio cibernetico e soprattutto la lotta per il posesso delle preziosissime informazioni che esso contiene. Una lotta, come vedremo, senza quartiere e senza regole.
Lo scorso 21 ottobre, il britannico National Cyber Security Centre (NCSC), in collaborazione con la National Security Agency (NSA) statunitense, ha emesso un bollettino di sicurezza in cui venivano citati due gruppi di hackers specializzati in Advanced Persistent Threat (APT - attacchi cyber molto sofisticati, protratti nel tempo e tesi a raccogliere informazioni) ritenuti essere legati a due nazioni. Nello specifico, tenendo bene a mente quanto evidenziato nei precedenti articoli in merito alla capacità di attribuire l'origine degli attacchi cyber, si tratta del gruppo noto come Turla (o WhiteBear/WaterBug/Venomous Bear), che sarebbe in qualche modo al servizio del governo russo e del gruppo APT 34 (conosciuto anche come OilRig o Crambus) che, invece, sarebbe al soldo della Repubblica Islamica Iraniana. Per entrambi i gruppi si hanno prove sufficienti tali da far ritenere che abbiano accesso a risorse materiali e intellettuali che tipicamente sono nella disponibilità esclusivamente di Stati sovrani e che operano a livello globale, anche se APT 34 è più orientato a compiere operazioni nel Medio Oriente. Proprio in questa regione, nei giorni scorsi, il NCSC ha rilevato un'ondata di attacchi cyber molto particolare. In sintesi, Turla avrebbe preso il controllo di un'infrastruttura informatica realizzata da APT 34 per condurre le proprie attività illecite, principalmente di intelligence, ai danni di organizzazioni militari e governative, industrie e banche, operanti nella citata regione e di particolare interesse per l'Iran. Secondo le prove raccolte, accedendo ai server utilizzati dal gruppo iraniano, Turla sarebbe stato in grado di controllare l'intera rete di computer, smartphone e chissà cos'altro, compromessi nei mesi precedenti da parte di APT 34. Ciò ha implicato almeno quattro conseguenze dirette.
Prima. Turla avrebbe ottenuto con una sola mossa l'accesso a tutti i dati di intelligence raccolti da APT 34, ovvero a un patrimonio di inestimabile valore, ottenuto dall'Iran grazie a un'operazione durata mesi, se non anni e che ha richiesto certamente investimenti non trascurabili. Bel colpo!
Seconda. Turla avrebbe utilizzato l'infrastruttura di comando e controllo realizzata da APT 34 allo scopo di lanciare ulteriori attacchi e compromettere altri dispositivi, impiegando proprie tecniche e propri software. A quanto pare, gli attacchi sarebbero andati a buon fine e avrebbero interessato qualcosa come trentacinque nazioni, per la maggior parte ubicate in Medio Oriente. Un altro ottimo risultato.
Terza. "Il re é nudo", ossia le tecniche e le vulnerabilità informatiche sfruttate da APT 34 non avrebbero più segreti per Turla e per il suo mandante e in seguito potrebbero essere impiegate adattandole per gli scopi del gruppo russo e questi sarebbe in grado di difendersi da eventuali ritorsioni di APT 34. Ancora complimenti.
Quarta. Il caos. É noto che, soprattutto nell'ultimo periodo, il Medio Oriente, interessato da questa vicenda, è anche un crocevia di crisi internazionali sia regionali che di potenziale portata mondiale. In tale delicato contesto, dopo la pubblicazione del bollettino del NCSC, la stampa occidentale si è affrettata a puntare il dito verso il governo russo che, a sua volta, smentendo categoricamente qualsiasi coinvolgimento, ha accusato l'occidente di aver ordito un astuto piano di inganno, al fine di incrinare gli ottimi rapporti di collaborazione instaurati tra Federazione Russa e Iran, per la risoluzione delle crisi attualmente in atto nella predetta regione. Insomma, un bel rompicapo, che dimostra ancora una volta come le capacità cyber, al pari delle altre capacità militari “tradizionali”, possano essere utilizzate dai governi per imporre le rispettive agende di politica estera.
Aldilà delle tecniche utilizzate da Turla e riportate nel bollettino del NCSC e nelle successive ricerche sull’argomento, certamente molto interessanti per gli addetti ai lavori (e di lavoro ce n'ė!), questa vicenda dovrebbe far riflettere, ancora una volta, sulla realtà che stiamo vivendo e su come affrontarla. Nella considerazione che il far west cibernetico resterà tale per molto tempo ancora, visto che nessuna organizzazione sovranazionale intende o è in grado di imporre una seria regolamentazione, dovremmo chiederci: dobbiamo continuare a limitarci a sfornare leggi su leggi "a costo zero" e a giocare sulla difensiva o, piuttosto, conviene dotarsi anche di concrete capacità nazionali cyber offensive, tali da fungere da deterrente? In un mondo in cui anche il ragno più abile può finire nella propria tela e soccombere, come può sopravvivere un inerme "moscerino"? Ne va della sopravvivenza della nostra nazione, almeno per come la conosciamo oggi, tuttavia l’impressione è che nel nostro amato Paese siano ancora in molti che non hanno capito il pericolo che stiamo correndo e, anzi, ritengono questi discorsi eccessivamente allarmanti. Speriamo che abbiano ragione loro. Speriamo.


Ciro Metaggiata

Principali fonti:




domenica 27 ottobre 2019

Italia: nuove tecnologie, formazione e governo del rischio inesistente

Oggi il computer è in molti casi "invisibile"  almeno nell'accezione di uno strumento necessariamente costituito da una unità centrale più o meno ingombrante che contiene il processore, dischi, memoria, ecc., una tastiera, un monitor, e altre periferiche.  
Come aveva previsto nel 1998 Don Norman (The Invisible Computer, The MIT Press, 1998 - https://www.nngroup.com/books/invisible-computer/), oggi il computer è presente in molte forme nella nostra vita quotidiana.  Smartphone, consolle giochi, smart TV, auto connesse sono solo alcuni  degli esempi. Il computer è anche elemento centrale in numero sempre crescente di attività produttive industriali, manifatturiere, dei servizi, nella sanità. Non esiste oggi attività umana che non dipenda in modo più o meno stretto dal computer o da una rete di computer.  
L'usabilità del computer "invisibile", nascosto in molti oggetti, ha reso popolari strumenti fino a poco tempo fa orientati a un pubblico specialistico. Pensiamo ad esempio ai gruppi di radioamatori che negli anni '70 e '80 creavano gruppi accessibili solo a chi avesse le competenze per installare una staziona radio. Oggi tale possibilità è immediatamente disponibile a chiunque abbia un telefono connesso e sia iscritto a una delle tante piattaforme per la creazione di reti sociali. Tuttavia la facilità con cui si utilizzano gli strumenti e ci si collega ad altre persone non è stata accompagnata da una approfondita riflessione sulle sicurezza delle informazioni. 
Qualunque computer oltre a memorizzare informazioni su di noi, memorizza anche informazioni sulle persone con cui siamo in contatto. Inoltre è una potente risorsa di calcolo che, quando connessa in rete, può essere violata in modo da essere controllata da un estraneo. L'invisibilità del computer (includendo tutti gli strumenti smart-) e delle informazioni che memorizza e elabora rende più difficile far percepire i pericoli e i rischi connessi. Fra i tanti esempi possibili, cito la rete "Mirai", costruita violando migliaia di dispositivi connessi in rete come videocamere di sorveglianza. L'obiettivo degli attaccanti non è stato quello di rubare informazioni, ma di utilizzare la potenza computazionale per lanciare un attacco di tipo DDoS (Distributed Denial of Service) che nel 2016 ha reso per diverse ore inaccessibili la maggior parte dei siti Internet da parte degli abitanti della costa orientale degli USA (per una descrizione approfondita https://elie.net/blog/security/inside-mirai-the-infamous-iot-botnet-a-retrospective-analysis/). Questo significa che è necessario non solo proteggere le informazioni che riguardano la nostra sfera personale e le informazioni delle persone con cui siamo in contatto e che memorizziamo nei nostri sistemi, ma proteggere i sistemi stessi per evitare che diventino delle vere e proprie "armi" in mano di attaccanti che in modo invisibile ne prendono il controllo per attaccare i veri obiettivi. 
Nel mondo fisico siamo molto attenti a possibili pericoli visibili per l'incolumità personale e per quella altrui, tanto che per utilizzare utensili professionali di lavoro, macchine operatrici o per condurre un automezzo, occorre frequentare dei corsi e superare esami teorici e pratici.  
Nel momento in cui i computer sono praticamente invisibili ma si trovano a gestire numerosi strumenti che hanno un effetto nel mondo fisico e che, conseguentemente, la loro interconnessione in rete comporta effetti a catena potenzialmente pericolosi, cosa si fa nel mondo reale per mitigare il rischio? 
L'effetto fisico infatti si può realizzare attraverso catene di connessioni, a partire da un computer non direttamente connesso a un dispositivo fisico, ma che può essere raggiunto attraverso una relazione di fiducia fra dispositivi connessi anche consentita dalle persone che ne gestiscono l'utilizzo.  
Focalizziamoci per un momento sullo smartphone, l'oggetto connesso oggi più diffuso. 
Oggi non ci stupiamo che qualunque smartphone localizzi immediatamente il volto di una persona quando inquadriamo per scattare una foto. Eppure fino a una decina di anni fa, questo era un compito che richiedeva una potenza di calcolo elevata e algoritmi non sempre privi di errori.  Oggi con il medesimo smartphone in modo naturale passiamo dal commentare le foto dell'amico, a disporre un bonifico bancario, a gestire contratti di varia natura, interagire con documenti di lavoro e controllare elettrodomestici di casa. Alla intuitività dell'interazione purtroppo non è accompagnata la necessaria consapevolezza (awareness) dei rischi dovuti a malintenzionati che abusano della nostra fiducia. 
Ora, fin da bambini ci insegnano i rudimenti della circolazione stradale per renderci da subito in grado di usare le strade, comprendere le regole e i segnali, in modo da usarle in sicurezza per se e per gli altri che utilizzano la strada. Quando ero bambino, uno strumento come l'ascensore era proibito prima del compimento dei 12 anni e nel palazzo in cui vivevo i pulsanti erano posti in alto, fuori dalla portata di un bambino piccolo.
 Image result for targa ascensore vietato uso minori anni 12  Ora, è evidente a tutti come la rapida evoluzione delle tecnologie informatiche e della comunicazione siano un fattore di sviluppo non solo economico ma anche sociale, per le maggiori possibilità di interagire, di conoscere il mondo al di fuori della propria cerca, di poter cogliere opportunità. 
Ma per poter godere di questa opportunità occorre governare da subito i rischi e i pericoli per evitare che l'introduzione e lo sviluppo di strumenti così importanti per il miglioramento del benessere individuale e sociale (pensiamo agli effetti positivi nel mondo sanitario, sia in termini di strumenti per la cura, sia per la possibilità di poter offrire cure in zone geograficamente disagiate) venga arrestato da una assenza di consapevolezza diffusa su potenzialità e rischi. 
Se guardiamo il panorama nazionale, la situazione è purtroppo desolante.
Da tanti anni in Italia l'investimento in istruzione, in termini di azioni positive di governo che assegnino risorse, compiti e obiettivi, è del tutto assente. L'insegnamento delle nuove tecnologie nelle scuole elementari, medie e superiori, che dovrebbe coinvolgere tutti gli studenti indipendentemente dal loro percorso formativo è lasciato alla iniziativa volontaria delle singole scuole e alla passione dei singoli docenti. 
A livello universitario sono presenti corsi specialistici per la formazione di professionisti, ma il loro numero è insufficiente per coprire le esigenze del mercato del lavoro (https://www.consorzio-cini.it/index.php/it/labcs-home/formazione-in-cyber-security-in-italiA). 
Quasi totalmente assente anche in ambito universitario una formazione orizzontale alle tecnologie informatiche e alla loro sicurezza. 
E se pensiamo che non c'è attività professionale che oggi non debba fare i conti con l'informatica…
Questo scenario, oltre a rappresentare un pericoloso campanello dall'allarme per la competitività della nostra nazione, che non forma adeguatamente le competenze necessarie a confrontarsi con la rapida trasformazione tecnologica in ambito internazionale, risulta particolarmente critico per la sicurezza dal momento che diventa difficile poter gestire un "perimetro" di sicurezza quando i singoli sono scarsamente consapevoli che è compito di ciascuno difendere quel perimetro. 
La passione di diversi docenti delle scuole di ogni ordine e grado, così come le competenze presenti in ambito accademico non devono essere solo uno spunto per iniziative estemporanee. 
Occorre uno studio approfondito degli obiettivi formativi per ciascuna fascia di età e la conseguente formazione degli insegnanti. 
Non ci si può basare su buona volontà e conoscenze acquisite per curiosità personale. Come per qualunque disciplina l'improvvisazione può creare danni. 
E' già molto tardi. Ma se continuiamo a far finta di niente, non solo saremo sempre più esposti a pericoli facilmente evitabili con una buona formazione di base. 
Nel mentre che si attende, tutto il paese perde in competitività per la sua dipendenza dalle nazioni che invece investono in cultura e formazione e da chi usa questa cultura e formazione per esercitare dominio sulle altre nazioni. 
In Italia abbiamo già numerose professionalità e competenze riconosciute a livello internazionale. 
Occorre mettere in campo risorse e strategie per non disperdere questo patrimonio e utilizzarlo come fattore moltiplicatore (https://www.consorzio-cini.it/index.php/it/labcs-home/libro-bianco).

Giorgio Giacinto

venerdì 25 ottobre 2019

29 ottobre 1969: nasce Arpanet, l'odierna Internet

Nel 1958 il presidente americano D.D. Eisenhower crea l'Advanced Research Project Agency, l'agenzia del DoD americano per lo sviluppo delle tecnologie emergenti in campo militare.
E' da un progetto dell'ARPA, nato con lo scopo di permettere agli scienziati di scambiare informazioni a distanza che nasce Arpanet.
Nel febbraio del 1967 Bob Taylor riuscì a convincere l'allora direttore dell'ARPA, Charles Herzfeld a finanziare un progetto di rete a pacchetti con un milione di dollari.
L'anno dopo Taylor assunse Larry Roberts e i lavori proseguirono velocemente anche con l'apporto di idee di altri scienziati e dell'industria americana delle telecomunicazioni. Nel 1967 nascono infatti i primi Router, allora chiamati IMP e poi i Modem.
La prima rete a scambio di pacchetti nasce nel 1968 e il primo messaggio venne spedito da uno studente dell'UCLA (University of California, Los Angeles), Charley Kline, alle 22.30 del 29 ottobre Pacific Standard Time, ovvero alle 06.30 del 30 ottobre secondo l'orario di Greenwich. Il testo del messaggio era "login".
Le prime due lettere partirono e arrivarono a destinazione, quindi il sistema andò in crash.
Circa un'ora dopo, risolto il problema, fu inviato il messaggio per intero: "login".
Qualche mese dopo, a dicembre, quattro computer erano in rete (UCLA, Stanford Research Institute, UC Santa Barbara e University of Utah).
Oggi Internet conta miliardi di periferiche di tutti i tipi e cresce senza sosta...

Alessandro Rugolo

Foto tratta da https://www.flickr.com/photos/pbarry/976719

Statistiche Internet: https://internetworldstats.com/stats.htm

venerdì 18 ottobre 2019

Attacco cyber contro l'Iran? Gli Stati Uniti dicono...

Il 16 ottobre, la Reuter esce con un articolo-sensazione "Exclusive: U.S. carried out secret cyber strike on Iran in wake of Saudi oil attack: officials…", cosi almeno dicono i ben informati giornalisti americani Idrees Ali e Phil Stewart , sulla base di dichiarazioni di non meglio identificati testimoni...

Interrogato in merito, il ministro iraniano per le Comunicazioni e l'Information Technology Mohammad Javad Azari-Jahromi ha risposto ironicamente che gli USA devono averlo sognato.

Eppure la cosa fa notizia...

Ma perché tanta enfasi? 
Cosa c'è di nuovo in una notizia simile? 
Ma è veramente una sorpresa? 
Per quale motivo la notizia è stata ripresa negli ultimi giorni dai principali giornali di lingua inglese ?
Possibile che nessuno si attendesse una cosa del genere?

Tutte domande lecite, ma apparentemente senza risposta. Proviamo a rispondere noi, almeno in parte.

In primo luogo, a ben guardare, non c'è motivo di tanta enfasi.

Qualche settimana fa (23 settembre) un articolo del New York Times parlava proprio della ricerca di un obiettivo da attaccare tramite l'arsenale cyber. 

Il Generale Nakasone, capo del Cyber Command, per l'occasione ricordava al Presidente Trump che l'arsenale cyber non è come un proiettile magico… 
ma evidentemente sbagliava, non solo l'arsenale cyber statunitense è magico ma addirittura preveggente… o forse molto più semplicemente l'attacco era già pianificato da tempo, cosa assai normale nel mondo militare

Il modus operandi non è certo una novità!
Si preparano dei piani che vengono tenuti nel cassetto o sviluppati solo in parte e poi impiegati quando necessario. 

Nel caso di un cyber attack contro un obiettivo di un Paese nemico non è raro impiegare una APT (Advanced Persistent Threat) ovvero una operazione persistente nel tempo, basata magari su una o più botnet già dispiegate. 

Si agisce poi quando occorre, colpendo, per cosi dire, in profondità e per far male. 

Ma allora, se tutto era stato pianificato, perché tutta questa enfasi? Si tratta forse di una operazione di influence? 

E' quanto viene da pensare se si guarda a quanto accaduto, ripercorriamo i passaggi principali:

- il 14 settembre USA, UAE e alcuni Paesi europei dichiarano che l'Iran ha attaccato una raffineria. L'Iran smentisce. Un gruppo yemenita se ne attribuisce i meriti (ma cio' non è comodo e la cosa non è ritenuta seria...);

- il 23 settembre l'annuncio USA (tramite i media) della ricerca di un obiettivo iraniano da colpire per mezzo di una cyber arma, con la giustificazione che un attacco cyber non costerà perdite umane (!!!);

- il 16 ottobre una "fuga di notizie" ci informa dell'attacco cyber. Informazione ripresa e amplificata velocemente… danni subiti dall'avversario? 

Non noti… o meglio, ufficialmente l'operazione dovrebbe avere come effetto quello di colpire la capacità iraniana di diffondere propaganda e si tratterebbe di qualcosa che dovrebbe colpire l'hardware, ma niente di più è trapelato.

Ma allora, a che scopo tutto ciò?

Uno dei principi dell'Arte Militare consiste nello sfruttamento della sorpresa. 

La sorpresa abbatte il morale dell'avversario, lo spinge a compiere errori, lo fa sentire inferiore…

Perché rinunciare alla sorpresa?


Occorre tener presente che in gioco vi sono non solo gli interessi nella regione, più instabile che mai, ma anche la credibilità dei paesi occidentali di poter guadagnare la partita, credibilità già messa in dubbio in Siria e sulla questione curda. 
In tutto ciò vi è l'avvicinarsi delle elezioni americane. Interessante l'accenno, nell'articolo della Reuters, alle azioni di un gruppo chiamato "Phosphorous", ritenuto dalla Microsoft vicino al governo iraniano, e che tra agosto e settembre ha colpito i membri della campagna presidenziale.

Tutto ciò fa pensare che gli interessi in gioco siano molto più ampi di quelli iraniani e dunque ci si muova in una scacchiera dove il Pedone nasconde la Torre che protegge la Regina...

D'altra parte, se si rinuncia a qualcosa di prezioso, di solito è per qualcosa che ne valga la pena, ovvero qualcosa di ancora più prezioso… 

Alessandro RUGOLO

Immagine di Faiez Nureldine/Getty Images (tratta dal sito arstechnica.com).

Per approfondire:

- https://www.reuters.com/article/us-usa-iran-military-cyber-exclusive/exclusive-u-s-carried-out-secret-cyber-strike-on-iran-in-wake-of-saudi-oil-attack-officials-say-idUSKBN1WV0EK;

- https://www.nytimes.com/2019/09/23/world/middleeast/iran-cyberattack-us.html;

- https://arstechnica.com/information-technology/2019/10/us-claims-cyber-strike-on-iran-after-attack-on-saudi-oil-facility/;

- https://www.independent.co.uk/news/world/middle-east/us-cyber-attack-saudi-trump-oil-field-iran-white-house-military-a9158946.html; 

- https://www.nytimes.com/2019/09/23/world/middleeast/iran-cyberattack-us.html;

- https://www.weau.com/content/news/UK-says-Iran-responsible-for-attack-on-Saudi-oil-facilities-561098141.html;

- https://www.independent.co.uk/topic/Yemen;

sabato 5 ottobre 2019

HOW-TO: Come costruire un proprio Firewall “fatto in casa”

Un metodo pratico per risparmiare e tenere al sicuro i propri dati.

In questo periodo in cui le finanze delle Aziende e Pubbliche Amministrazioni sono messe a dura prova, è facile trovare Direttivi che pensano alla Sicurezza come ad un costo, e non come un’esigenza reale della propria infrastruttura.

E’ facile, dunque, immaginare uno scenario abbastanza preoccupante dove la struttura non è propriamente adeguata.

Server non adeguati, software non aggiornati, nessuna possibilità di modifica delle piattaforme e chi più ne ha più ne metta.

Determinati contesti in realtà non sono rari ed è quindi doveroso prepararsi ad agire anche a fronte di scarse risorse.

 In generale, implementare una soluzione software su hardware non dedicati, come la soluzione che andremo ad analizzare di seguito, può essere concretamente utile nei seguenti casi:

- Mancanza di fondi
- Necessità di adottare una soluzione “tampone” senza costi aggiuntivi in caso di estrema emergenza
- Necessità di difendere piccole macchine (ad esempio laptop) e non poter adottare soluzioni “classiche”, per via di condizioni eccezionali.
- Necessità di riconfigurare una rete isolata, ad esempio un laboratorio, senza dover acquistare hardware aggiuntivo, mantenendo la flessibilità della rete stessa.

Questi sono solo alcuni esempi, in realtà le possibilità sono molte.

A seconda dei casi, nel caso si voglia adottare la soluzione basata su Windows, non si avrà un calo considerevole delle prestazioni.

Il discorso cambia nel caso si voglia adottare OPNSense.

Consiglio OPNSense se non sono mai stati eseguiti dei test sulle applicazioni e i sistemi da difendere, mentre Windows nel caso in cui si conosca bene il limite delle proprie applicazioni e come mettere in sicurezza il codice.

E’ possibile, con un po’ di pazienza, risparmiare su Firewall hardware e UTM (comunque caldamente consigliati), per andare a proteggere una “situazione disperata”?

I Firewall Hardware sono degli apparati appositamente costruiti per ospitare un sistema operativo (il “cuore” di ogni elaboratore), di solito in versione “hardened”.
Per Sistema Operativo (OS) “hardened” (rinforzato), si intende un Sistema a cui sono state applicate delle specifiche patch e bugfix, ovvero delle specifiche correzioni e modifiche, che permettono al sistema stesso di resistere a fronte di numerose tipologie di attacchi.

Gli UTM (Unified Threat Management – Gestione Unificata delle Minacce) sono delle macchine le quali possono gestire numerose tipologie di attacchi in maniera centralizzata.
L’utente può, ad esempio, impostare delle regole sia per il Firewall, che per il filtro anti-spam direttamente da un’unica interfaccia, di solito accessibile via browser.

Ovviamente in una “situazione disperata” non abbiamo nulla di tutto ciò a livello “hardware”, dovremo quindi ingegnarci per trovare una soluzione ad un problema piuttosto difficile.

Quello che può ricorrere in nostro aiuto è la “virtualizzazione”.
La virtualizzazione è una specifica tecnica che permette di “astrarre”, ovvero rendere disponibili in maniera virtuale, delle componenti hardware.

Per spiegare meglio il concetto, immaginiamo di avere un processore (il componente che nell’elaboratore esegue materialmente le operazioni) di 20 “cores” (le varie unità che nel processore eseguono i calcoli).

Tramite la virtualizzazione possiamo “separare” ad esempio 10 cores e dedicarli ad un altro sistema operativo.
Lo stesso concetto di “dedicare” o “astrarre” una porzione di hardware ad altri software può essere applicato con la RAM, con le schede di rete ecc.

Questo permette di avere contemporaneamente un sistema operativo “host” (il sistema operativo principale) e più sistemi “guest” (i sistemi virtualizzati), sulla stessa macchina, contemporaneamente funzionanti.

Il componente che permette questa “astrazione” è detto “Hypervisor”.


In commercio si possono trovare molti sistemi di virtualizzazione, i quali hanno in alcuni casi dei costi di licenza proibitivi per la nostra “situazione disperata”.

Nel nostro caso, la scelta del sistema di virtualizzazione ricade sul software VirtualBox, sviluppato da Oracle.

VirtualBox è un software Open Source, ovvero il suo codice è aperto, cioè leggibile e modificabile da chiunque.

Ma perché la virtualizzazione può venire in nostro aiuto?

Per rispondere a questo, dobbiamo pensare al “concetto” di UTM.

Concettualmente un sistema di sicurezza può essere semplificato come una “scatola nera” con due cavi, uno di entrata e uno di uscita.

Il cavo di entrata si collega direttamente ad Internet, e da lì arrivano dei pacchetti (ovvero dati e connessioni) di cui non conosciamo la natura, se malevola o legittima.
Nella scatola nera avviene il controllo, e i pacchetti malevoli vengono scartati, mentre i legittimi vengono fatti passare tramite il cavo di uscita, verso la macchina che contiene il servizio vero e proprio (un sito web, ad esempio).

E’ quindi fondamentale tenere presenti tre aspetti fondamentali:
- La “scatola nera” deve essere “davanti” alla macchina da proteggere
- La “scatola nera” deve essere collegata ad internet
- La “scatola nera” deve filtrare i pacchetti in ingresso

Questo tipo di configurazione sembra essere perfetta per il nostro caso, ovvero una macchina virtuale, che diventa la nostra “scatola nera”.

Il fatto che VirtualBox sia Open Source, ci aiuta a non imbatterci in costi inaspettati, e per aiutarci a non avere “brutte sorprese”, non installeremo il pacchetto “Extension Pack” di VirtualBox.

Le soluzioni proposte qui sono in realtà due, con relativi vantaggi e svantaggi:
- Soluzione basata su Windows 7 (si, esattamente su Windows 7)
- Soluzione basata su OPNSense

La soluzione basata su Windows 7 ha il vantaggio di avere un consumo di risorse minimo e una velocità di connessione pari a quella della macchina “host” direttamente collegata alla Rete.
Lo svantaggio di avere Windows 7 è che di default non possiede nessun Intrusion Prevention System (un sistema che rileva e blocca in automatico eventuali pacchetti malevoli).

La soluzione basata su OPNSense ha il vantaggio di avere moltissimi strumenti di controllo e può essere configurato facilmente come Intrusion Prevention System (IPS).
Lo svantaggio di OPNSense è dato dai suoi stessi strumenti, ovvero l’impatto sulle risorse hardware è maggiore, e dal momento che l’IPS deve controllare il flusso dati, anche l’impatto sulla velocità di connessione sarà notevole.

Si è scelto OPNSense rispetto a pfSense (sistema analogo a OPNSense) per il suo sistema di analisi.
PfSense utilizza un componente di nome “Snort”, il quale analizza i pacchetti in transito e risulta piuttosto pesante, soprattutto se installato su macchina virtuale.

OPNSense utilizza Suricata ovvero un altro sistema di analisi dei pacchetti che sfrutta il multithreading, ovvero una tecnica che permette di eseguire più processi di calcolo contemporaneamente da parte del processore.
Ad oggi Suricata è un sistema NIDPS, ovvero Network Intrusion Detection and Prevention System (esattamente ciò che ci serve, in quanto riesce a prevenire le minacce e non solo ad individuarle), mentre Snort è un NIDS, ovvero un Network Intrusion Detection System.
Questa combinazione è preferibile, specialmente in una macchina virtuale dove si deve prestare particolare attenzione all’impatto che questi sistemi possono avere sulle performance generali.

Il sistema da difendere è Metasploitable, ovvero una macchina virtuale appositamente costruita per essere vulnerabile.
In questo caso, immaginiamo che Metasploitable sia il sistema da proteggere:


Analizziamo, quindi, come installare e rendere operative queste due soluzioni.

Lo scenario iniziale vede il nostro sistema senza difese.

Analizziamolo utilizzando Kali Linux, una distribuzione appositamente costruita per aiutare i Penetration Testers, ovvero persone che bucano sistemi per lavoro, per trovarne le vulnerabilità e sanarle.

Per prima cosa, facciamo una rapida scansione con nmap (un tool molto efficace che permette di scoprire le porte aperte e altre informazioni relative al sistema bersaglio):


Come si può vedere, la situazione del nostro sistema è disastrosa.
Le numerose porte aperte espongono dei servizi della macchina, molti di loro vulnerabili.

Proviamo a lanciare un attacco verso la macchina, per questo test, dal momento che è solo una prova, utilizzerò “db_autopwn”, un comando di Metasploit che semplifica il lancio di exploit verso il bersaglio.
Il comando “db_autopwn” è deprecato (cioè sconsigliato), e per questo test è stato utilizzato un modulo esterno che reimplementa il comando sull’ultima versione di Metasploit.


Come si può notare, Metasploit è riuscito ad aprire due sessioni sulla macchina:


Per la prima soluzione abbiamo a disposizione Windows 7, installato su una macchina virtuale.

Apriamo VirtualBox e configuriamo due schede di rete, in questo modo:


Abbiamo bisogno di due schede di rete, connesse in modalità bridge, alla scheda di rete attualmente connessa ad internet.

Abbiamo quindi creato la situazione della “scatola nera”, almeno a livello hardware.

Vediamo come configurare la macchina, a livello software.

Per prima cosa, dobbiamo configurare sulla prima scheda di rete, la connessione reale, ovvero l’indirizzo IP e il gateway di rete (dobbiamo quindi fare in modo che la prima scheda di rete sia funzionante e collegata ad internet).



Ovviamente questa configurazione è solo un esempio, e in questo caso Windows non è realmente collegato ad internet.

Una volta impostato l’indirizzo IP per la prima scheda, sempre sulla stessa scheda dobbiamo attivare la condivisione della connessione internet


Ora, nel caso in cui volessimo esporre dei servizi (ad esempio il sito web) su internet, clicchiamo su “impostazioni” e settiamo “Server Web (HTTP)”


Perchè questa configurazione?

Attivando la condivisione connessione internet, sulla seconda scheda di rete viene impostato da Windows una sottorete fittizia “192.168.137.x”.
La nostra macchina da proteggere, in questo caso, è impostata sull’indirizzo IP “192.168.137.143”, di conseguenza questo indirizzo va settato nella maschera “Impostazioni servizio” come mostrato in figura precedente.

Ora confermiamo il tutto, cliccando su “OK” sulle varie maschere.

Una volta confermato, apriamo “secpol.msc”

Sull’icona “Criteri di sicurezza IP”, cliccando con il pulsante destro del mouse, è possibile creare un nuovo criterio di sicurezza IP.


Nella procedura guidata, diamo un nome alla nostra configurazione e andiamo sempre avanti, fino alla creazione del filtro.

A questo punto ci troviamo davanti ad una nuova schermata, quindi clicchiamo su “Aggiungi”, andiamo sempre avanti fino alla schermata “Elenchi Filtri IP”.

Qui clicchiamo su “Aggiungi”


Dobbiamo creare la prima regola, ovvero dobbiamo bloccare qualunque connessione su qualunque porta.
Per fare questo, clicchiamo su “Aggiungi” e andiamo sempre avanti, in questo modo abbiamo creato una regola che funziona su qualunque Connessione, per qualunque protocollo.

Selezioniamo la regola appena creata e andiamo avanti.

Nella schermata successiva (Operazioni filtro), clicchiamo su “Aggiungi”, diamo il nome “Blocca” e clicchiamo su “Blocca”.


Una volta creata l’operazione filtro, selezioniamola e andiamo avanti per confermare la creazione della regola completa.

Ora abbiamo appena bloccato tutte le porte per tutte le connessioni della macchina, dal momento che nel nostro caso vogliamo rendere disponibile il sito web sulla porta 80, dobbiamo creare un’altra regola, che autorizza il passaggio dei dati sulla porta 80.
Sulla creazione del filtro IP, appena arriviamo sulla pagina “Protocolli” specifichiamo “TCP” e nelle porte, al secondo campo di testo clicchiamo sull’opzione “a questa porta” e specifichiamo la porta 80.


Mentre nelle operazioni filtro, questa volta dobbiamo specificare “Autorizza”

Una volta completata la configurazione, clicchiamo con il tasto destro sul filtro creato e successivamente su “Assegna”


A questo punto, possiamo eseguire nuovamente i nostri test:


Il sito è funzionante


Le porte inoltre sono coperte dalla “scatola nera” che abbiamo inserito tra la rete internet e la nostra macchina.

Attacchiamo, quindi, di nuovo la nostra macchina per testare se la configurazione ha cambiato qualcosa:


Come possiamo vedere, Metasploit non è riuscito ad aprire sessioni.

Perchè abbiamo questo brusco cambio di comportamento, nonostante non abbiamo modificato/aggiornato il sistema?

Il motivo è insito nel tipo di configurazione che abbiamo impostato.
Questo tipo di configurazione prevede l’utilizzo della condivisione connessione per creare una sotto-rete, tramite la quale si collega alla nostra macchina.

Se avessimo utilizzato solo la condivisione della connessione, Metasploit sarebbe comunque riuscito ad aprire una sessione, in quanto nonostante l’inoltro delle porte fosse impostato sulla 80 (per rendere disponibile il sito web dall’esterno), non avrebbe comunque impedito le “reverse connections”, ovvero una connessione ad una porta aperta da un client interno alla rete per consentire la connessione di un server remoto.

Quando attacchiamo una macchina, ciò che permette la comunicazione del bersaglio alla nostra macchina è il “payload”, ovvero un software che si connette alla nostra macchina, permettendo di lanciare comandi e interagire con il bersaglio, agendo da “ponte” tra noi e il bersaglio.

Dal momento che le porte “classiche” sono già utilizzate dai normali servizi del bersaglio, il payload non può sfruttare tali porte per comunicare.
Di conseguenza, il payload attiva una connessione su una porta randomica e generalmente superiore alla 10000 che, connettendosi al nostro computer, permette di stabilire la comunicazione tra noi e il bersaglio.

Per risolvere questo problema, derivato dal fatto che generalmente le connessioni in uscita non vengono bloccate dai firewall, abbiamo utilizzato il filtro sopra descritto, per impedire connessioni non volute.

In questo modo, anche se il sistema non è aggiornato, o esiste una vulnerabilità sfruttabile, l’aggressore non può sfruttare gli exploit disponibili in quanto i payload non possono comunicare.

Ovviamente, questa soluzione non impedisce lo sfruttamento di SQL Injection o altre vulnerabilità che non hanno bisogno di un payload per poter comunicare con la nostra macchina.
Ricordo infatti, che con questa soluzione non è disponibile l’analisi dei pacchetti.

Per abilitare l’analisi dei pacchetti, dovremo per forza di cose affidarci ad un software di “Intrusion Prevention”.
Per questa situazione è stato individuato OPNSense, che come descritto in precedenza utilizza Suricata come sistema di analisi dei pacchetti, e Netmap per diminuire il carico sulla CPU e ottimizzare le schede di rete.

Vorrei porre all’attenzione sul fatto che non c’è un cambiamento nello schema “logico” che abbiamo creato, né tantomeno all’infrastruttura virtualizzata.
Cambia solo il sistema operativo della “scatola nera”, per permettere appunto l’analisi dei pacchetti in tempo reale.

Per permettere ad OPNSense di operare al meglio, dedichiamo alla macchina virtuale 2 GB di RAM (a differenza della prima soluzione, dove era sufficiente anche un solo GB).

Ecco un esempio di configurazione per OPNSense:


Avviando la macchina, compare la schermata di accesso:


La macchina che dobbiamo proteggere, quindi, nel nostro caso avrà come indirizzo IP “192.168.2.2” e come gateway “192.168.2.1”.

Possiamo entrare nella configurazione di OPNSense, collegando un dispositivo alla LAN e, tramite un normale browser, puntando al link “https://192.168.2.1

Si aprirà il seguente pannello:


Una volta loggati, ci troviamo di fronte al pannello principale di OPNSense:


Andiamo su “Services” → “Intrusion Detection” → “Administration” e spuntiamo tutte le opzioni:


Clicchiamo su “applica” e andiamo su “download”:


Clicchiamo sulla spunta per selezionare tutto, dopodichée clicchiamo su “Enable selected”, quindi riselezioniamo tutto e clicchiamo su “Enable (drop filter)”.


Per finire, a fondo pagina clicchiamo su “Download and update rules”.

Controlliamo quindi che tutte le regole siano correttamente aggiornate, e abbiamo quindi impostato l’analisi dei pacchetti.

Per coprire ogni tipo di casistica, impostiamo il “caching proxy”.

Il caching proxy è un componente, già presente in OPNSense, che permette di estendere la capacità di rilevamento delle intrusioni da parte di Suricata.

Questo perché per i protocolli cifrati, come HTTPS, Suricata non riuscirebbe a decifrare i dati in transito in tempo reale.

Per evitare questo problema, il caching proxy permette di fare da ponte tra la rete esterna e il sito web visitato.
Facendo da ponte, i pacchetti vengono decifrati dal proxy, che solo successivamente li ritrasmette al servizio vero e proprio.
Ovviamente questa operazione avviene anche in maniera speculare.

Questo permette ai pacchetti di poter essere controllati da Suricata.

Il software che permette tutto questo si chiama “Squid”.

Per abilitare squid su OPNSense, andiamo su “Services” → “Web Proxy” → “Administration”, spuntiamo “Enable Proxy”:


Andiamo poi su “Forward Proxy” e abilitiamo le tre spunte come in figura.


Nonostante queste soluzioni rappresentino una valida alternativa per quelle realtà che non possono provvedere all’acquisto di strumenti hardware-based, io raccomando comunque l’utilizzo della soluzione hardware.

In conclusione, se vogliamo proprio dormire sonni tranquilli, raccomando sempre di installare gli ultimi aggiornamenti per i sistemi operativi utilizzati, scrivere codice testandone anche le varie vulnerabilità utilizzando strumenti automatici e non, ed infine raccomando di cambiare la propria mentalità nei confronti della sicurezza: la sicurezza non è un prodotto, non lo è mai stata e non lo sarà mai, bensì è un processo e come tale ha bisogno di essere seguito, standardizzato, applicato e controllato.

Alessandro Fiori


Per approfondire: