Traduttore automatico - Read this site in another language

giovedì 7 maggio 2020

COVID 19, per capirci!



Lavorando per un’azienda americana, il termine “storytelling” viene utilizzato in maniera estremamente frequente ormai da diverso tempo. Ciò che meraviglia, forse nemmeno troppo, è che pur avendo una lingua così bella e ricca di termini, è prassi comune e consolidata in Italia, a ogni livello, affidarsi a termini stranieri, il più delle volte inglesi. Devo dire, comunque, che c’é qualcosa di particolare in questa parola, qualcosa che non saprei descrivere ma che suscita una specie di meraviglia e stupore nel chi ascolta, non appena viene evocata. Basta utilizzarla per fare apparire impreziosito un ragionamento, valido o no che sia, ed ecco che come per magia, gli interlocutori si illuminano come se si fosse espresso il concetto più profondo di sempre.


Ormai è diventato di uso comune, tanto che non ci facciamo neanche più caso, tanto che, forse, abbiamo smesso di domandarci veramente cosa intendiamo quando parliamo di storytelling oppure sappiamo di cosa parliamo ma, con tutta probabilità, ce lo siamo dimenticati.


Durante l’emergenza del coronavirus il nostro ruolo è chiaro. Ci è stato raccomandato di “eseguire gli ordini” e di dovere, così, fare la nostra parte, rispettando le regole come, del resto, dovrebbe avvenire sempre in un contesto democratico e di comunità. Le mie azioni non hanno impatto solo su me stesso ma anche sulle persone che mi circondano e con le quali interagisco e così, al contrario.

Eppure, durante questa esperienza mai vissuta prima, abbiamo un atteggiamento un po' asimmetrico rispetto a coloro che stanno cercando di affrontare e risolvere l’emergenza e non possiamo fare altro che obbedire e fidarci.

Ed ecco la parola chiave: fiducia. Guardiamo cosa ci dice la Treccani a proposito di questa parola così importante.



fidùcia s. f. [dal lat. fiducia, der. di fidĕre «fidare, confidare»] (pl., raro, -cie).



  1. Atteggiamento, verso altri o verso sé stessi, che risulta da una valutazione positiva di fatti, circostanze, relazioni, per cui si confida nelle altrui o proprie possibilità, e che generalmente produce un sentimento di sicurezza e tranquillità: fin Dionegli uomininella fraternità umananella scienzanel progresso socialefnella vittoriafdi riuscirefnella propria stellanelle proprie forzefnell’esito di un’impresaguardare con fall’avvenireferma f.; fillimitataassolutaincondizionataaverenutrire f.; perdere la f.; dare un attestatouna prova di f.; ispirare f.; guadagnaremeritaregodereavere la fdi qualcunoriporre bene, o malela propria f.; abusare della faltrui. Di uso com. le espressioni: persone di f., di miadi tuadi sua f., persone fidate a cui si ricorre in cose delicate e d’importanza; medicoavvocato di f., quello che è liberamente e abitualmente scelto dal cliente; postoimpiegoincarico di f., di responsabilità, delicato, che si affida solo a persone sicure, fidate. 
  2. In diritto costituzionale, voto di f., votazione mediante la quale il parlamento approva (o, se la votazione dà risultato negativo, disapprova) gli indirizzi politici e la corrispondente azione del governo; mozione di f., la proposta, fatta da una delle Camere, di ricorrere al voto di fiducia; questione di f., richiesta da parte del governo di ricorrere al voto di fiducia per l’approvazione o la reiezione di emendamenti e articoli di progetti di legge: il governo ha deciso di porre la questione di fiducia
  3. In diritto civile, ftestamentaria (o disposizione testamentaria fiduciaria), disposizione di testamento per la quale il soggetto che riceve il bene ne è il beneficiario apparente, avendo l’obbligo di trasmettere quel bene ad altra persona (che normalmente non potrebbe essere erede diretto del testatore).



Fiducia è una parola “pesante” che abbraccia scenari ampi e che rappresenta una responsabilità importante in chi la dà e in chi la riceve.

Questo per dire che dobbiamo confidare in coloro che stanno cercando, con non poche difficoltà, di fare fronte ad un problema a cui nessuno era preparato. Pertanto, dobbiamo avere fiducia nelle istituzioni centrali, nelle amministrazioni locali, nei medici, negli scienziati e, non meno importanti, in chi ci racconta ciò che succede, ovvero i giornalisti e i conduttori. Dobbiamo averla in maniera incondizionata, soprattutto considerando il mondo nel quale viviamo? Un mondo nel quale siamo bombardati quotidianamente da una quantità enorme di notizie che affermano tutto ed il contrario di tutto.

Ecco, forse, il punto fondamentale; ossia la gestione della comunicazione, sia da parte delle istituzioni sia da parte dei media che, soprattutto all’inizio, ha provocato una fuga di notizie che ha generato profonde discussioni ma anche reazioni irrazionali verso tutto e tutti, a partire dal famoso episodio relativo a coloro che affollarono le stazioni del nord per scappare al sud tanto che, col passare dei giorni ci siamo resi conto che quella reazione così irrazionale è stata pur sempre innescata da un gesto altrettanto irresponsabile.

Sembrava, perciò, esserci stata l’occasione per riflettere sul modo in cui, in parallelo agli sforzi medici, si dovesse e potesse affrontare il coronavirus sul piano della comunicazione, ragionando appunto su uno storytelling dell’emergenza. Invece, la narrazione della crisi è proseguita su binari che facevano affidamento su termini, pratiche e abitudini che, purtroppo, caratterizzano in negativo la comunicazione da tempo, ben prima della diffusione del Covid-19.

Il sensazionalismo, l’analisi grossolana, la ricerca frettolosa di buoni e cattivi, di eroi e di nemici della patria. In un momento in cui gli italiani non possono far altro che fidarsi di ciò che viene loro detto, la confusione e la disinformazione hanno dilagato tanto quanto il virus, rendendo sempre più difficile la comunicazione e, di fatto, quasi vanificando l’occasione di proporre finalmente una narrazione di qualità, mai come ora di vitale importanza.

E tutto ciò perché la stragrande maggioranza delle persone non legge, non si informa, non studia e ascolta gli imbonitori politici che pur di raccattare voti, anche in una situazione così critica come questa, usa la comunicazione in modo fazioso e strumentale.

Personalmente, da tempo, ho deciso che tutto questo creare confusione nella mia capacità di capire e conoscere, il più possibile, la verità, dovesse finire e così mi sono dedicato a cercare, in primo luogo, da ingegnere, se ci fossero degli elementi matematici che fossero in grado di darmi le chiavi per capire se e come determinati comportamenti richiesti dal Governo avessero senso e fossero, in definitiva, corretti e quali fossero gli elementi chiave per studiare l’evoluzione di una epidemia prima e di una pandemia dopo.

Per fortuna, ho trovato tante fonti che mi hanno aiutato a comprendere meglio un fenomeno che, penso, nessuno di noi ha mai vissuto prima e possiamo affermare, senza tanti giri di parole, che, oltre al virus vero e proprio, ne esiste un secondo, parallelo e "virtuale", legato alla rapida e capillare diffusione delle notizie e alla conseguente apprensione che riesce a generare nella popolazione.

Questo fatto ci riporta a una interessante analogia: la modalità con la quale un virus si trasmette nella popolazione durante un'epidemia è, spesso, estremamente simile alla dinamica che regola la diffusione di un tweet, di un post, di un video, di un meme o di un altro contenuto sulla rete. Sarà un caso se a questo tipo di contenuti di successo associamo l’aggettivo "virale"?

Per comprendere meglio questi fenomeni, ci viene in soccorso la matematica e, in questo, devo ringraziare Paolo Alessandriniiii ed il suo blog che spiega, in modo semplice, queste dinamiche.

Io ho cercato di prendere il meglio di quanto descritto, di farlo mio e di conseguenza, di capire le ragioni per cui il Governo ha deciso di intraprendere la strada di cui tutti quanti noi siamo attori. È un dato di fatto che il Comitato Tecnico Scientifico (CTS) che fornisce le stime e le curve di crescita e di decrescita dell’epidemia ha utilizzato il modello proposto nel 1927iii dagli scienziati scozzesi William O. Kermack (1898-1970) e Anderson G. McKendrick (1876-1943).
Questo modello si basa sulla divisione della popolazione in tre categorie o cluster:
1. gli individui suscettibili, "susceptible", indicati con S, che non sono stati ancora contagiati ma che potrebbero diventarlo;
2. gli individui infettivi, "infectious", indicati con I, che sono stati infettati e sono contagiosi;
3. gli individui guariti, "recovered", indicati con R, che sono stati infettati ma non sono più contagiosi perché sono o guariti oppure sono deceduti o, ancora, sono stati isolati.



Figura 1 - Flusso tra le Categorie



Di fatto, il modello di Kermack e McKendrick prevede che, nella maggior parte delle epidemie, una persona può passare soltanto dalla classe 1 alla classe 2 oppure dalla classe 2 alla classe 3, non essendo possibile un ritorno dalla classe 3 alla classe 2, ovviamente, ipotizzando che chi è guarito dalla malattia si sia immunizzato.
Questo modello si basa su un sistema di equazioni differenziali che permettono di prevedere l'andamento nel tempo della numerosità delle tre classi epidemiologiche sopra descritte: S(t), I(t) e R(t).


Il modello in questione viene chiamato SIR ed il suo principale obiettivo è quello di prevedere l'evoluzione di un'epidemia e stimare la porzione di popolazione che contrarrà la malattia.


Questi modelli sono applicabili se sussistono alcune ipotesi:

  • durante l’epidemia la popolazione non si riproduce, cioè non vi sono nuove nascite;
  • durante l’epidemia la causa principale di morte è la malattia epidemica stessa;
  • la popolazione è isolata, cioè non vi sono entrate o uscite rispetto all'esterno;
  • la malattia non ha un periodo di incubazione;
  • dopo la guarigione si acquisisce immediatamente l'immunità;
  • tutti gli individui infettivi sono ugualmente contagiosi, indipendentemente dal tempo trascorso dal contagio.

È evidente come queste ipotesi siano abbastanza lontane dalla realtà, soprattutto nel caso del COVID-19. Ad esempio, il periodo di incubazione esiste ed è stato valutato che la sua durata è variabile perché si può andare da 9 a 14 giorni.

Anche l'immunità dei guariti non è stata verificata ed anche le prime due ipotesi non reggono. La verità, in questo caso, è che di questo virus si conosce davvero poco e, dunque, è difficilissimo fare ipotesi che abbiano un senso.

Allo stesso tempo, però, da qualche parte bisogna cominciare ed il trucco, quando si formula un modello matematico, è quello di concentrarsi sugli elementi chiave, tralasciando quelli che, alla fine, possono essere considerati dei dettagli.

Pertanto, alla luce di queste considerazioni, la dinamica di un modello SIR è, tutto sommato, elementare e può essere rappresentato dalla figura 2:

  1. All'inizio dell'epidemia la classe S, ossia gli individui non ancora contagiati, diminuirà progressivamente a causa dei contagi mentre la classe I, ossia quella degli infettivi, aumenterà per la medesima ragione.
  2. Più cresce la classe I è più aumenta la probabilità di un suscettibile di essere contagiato. Ciò significa che l'aumento degli infettivi tenderà inizialmente ad accelerare.
  3. Alcuni individui, però, cominceranno a passare dalla classe degli infettivi a quella dei "recovered", perché nel frattempo sono guariti, oppure deceduti, oppure messi in isolamento.
  4. Da qui in poi la situazione sarà basata sul saldo tra i due passaggi: fino a quando i contagi saranno maggiori dei recovered, l'epidemia resterà nella sua fase ascendente ma quando la situazione si invertirà, allora l’epidemia entrerà nella fase discendente.
In tutto ciò, vale la regola che S è sempre decrescente ed R è sempre crescente.
Figura 2 - Tipico andamento di una epidemia secondo lo schema SIR


Alla luce di quanto descritto, credo sia chiaro perché questo modello è applicabile anche al fatto che un contenuto digitale, pubblicato in rete, possa diventare virale.
Al momento della pubblicazione, rispetto alla potenzialità "viralità" del meme, tutta la popolazione mondiale appartiene alla classe dei suscettibili, perché nessuno ha ancora visto il meme ma potrebbe farlo in futuro. 
Man mano che le persone scoprono il meme e lo condividono a loro volta, questi passano dalla classe dei suscettibili a quella degli infettivi: diventano infatti "vittime" del contenuto virale, cioè se ne appassionano e sono attive nel diffonderlo verso altre persone. Col passare del tempo, sempre più persone cesseranno di interessarsi al contenuto e smetteranno di diffonderlo, passando così nella classe dei "guariti".
A questo punto al di là di alcune domande che sorgono spontanee quali: perché il Covid-19 si diffonde secondo uno schema epidemico ed è corretto affermare che lo schema precedente sia quello giusto per studiare l’andamento epidemico del virus?, credo che, dato per assunto che il modello utilizzato dal CTS è questo, cerchiamo di capire come la matematica ha aiutato a finalizzare alcuni concetti.
Senza entrare nel dettaglio di una dimostrazione matematica che potete, tranquillamente, trovare al seguente link, grazie al già citato Paolo Alessandrini, da parte nostra consideriamo alcuni elementi chiave tramite i quali si è arrivati a definire le azioni intraprese dal Governo.
Per farlo partiamo da una considerazione fondamentale. Quando si può dire che un virus scatena un’epidemia, matematicamente parlando?
Riprendiamo il flusso delle varie classi:


Ci sono due nuovi parametri da considerare:


  • α che è l’indice di contagiosità;
  • β che è l’indice della possibilità che un malato passi nello stato recovered.


Il rapporto tra β e α ha il significato di soglia all'inizio dell'epidemia: se il numero di individui suscettibili è maggiore di questa soglia, l'epidemia può innescarsi e tenderà, in una prima fase, a espandersi in modo molto rapido; se invece è minore, l'epidemia non riesce nemmeno a partire perché il numero degli infettivi si estingue subito.

Siccome il numero di suscettibili, in base a questo modello, diminuisce sempre, questo ci assicura che, anche nelle epidemie più devastanti, prima o poi esso scenderà al di sotto del rapporto β/α, dando avvio alla fase discendente dell'epidemia. In alcuni casi, purtroppo, ciò avviene al prezzo di un elevato numero di vittime.

Queste considerazioni sfociano nella capacità di individuare il numero di persone che, mediamente, un singolo individuo è in grado di contagiare durante il periodo infettivo. Poiché all'inizio dell'infezione, il numero di suscettibili è uguale a tutta la popolazione, diciamo N, perché ancora nessuno si è ancora contagiato, se potessimo fotografare la situazione in quel momento e quantificare il numero:

potremmo farci un'idea di come evolverà la situazione: l'epidemia si scatena solo se questo numero è maggiore di 1, altrimenti la diffusione della malattia si arresta sul nascere.


Pertanto, R0 rappresenta il numero medio di infezioni secondarie prodotte da ciascun individuo infetto in una popolazione completamente suscettibile, cioè mai venuta a contatto con il nuovo patogeno emergente. Perché R0 è così importante? R0 è funzione:


  • della probabilità di trasmissione per singolo contatto tra una persona infetta ed una suscettibile,
  • del numero dei contatti della persona infetta e
  • della durata dell'infettività.
  • Tabella 1 - Tasso di Contagio nelle Epidemie


Tabella 1 - Tasso di Contagio nelle Epidemie
Questo ci dice che riducendo almeno uno dei tre parametri possiamo ridurre tale valore e quindi poter controllare, o almeno ritardare, la diffusione del patogeno ad altre persone. La probabilità di trasmissione e la durata dell’infettività (senza un vaccino o un trattamento che riduca la viremia) non sono in questa fase modificabili ma, l’immediata diagnosi/identificazione della persona infetta, o di quella potenzialmente infettata, e la possibilità di ridurre i suoi contatti con altre persone permetterebbe una riduzione di R0.



Nella tabella 1 sono rappresentati i tassi di contagio delle epidemie più importanti della storia.

Alla luce di queste considerazioni si possono comprendere meglio le misure messe in atto dalle autorità sanitarie e dalle istituzioni per contenere l'infezione. L'obiettivo è cercare di ridurre il valore di R0. Se si raggiunge questo risultato, l'epidemia viene sconfitta. Per farlo, si può agire in diverse direzioni:

  1. abbassare il numero dei suscettibili attraverso lo sviluppo di un vaccino ed effettuando vaccinazioni di massa;
  2. aumentare il rapporto di soglia β /α, cosa che si può fare in due soli modi:
    1. alzando β (risultato conseguibile migliorando le terapie e innalzando così la percentuale di guarigioni);
    2. abbassando α, che rappresenta la facilità del contagio. Questo risultato è ottenibile mediante una migliore educazione igienico-sanitaria e, soprattutto, attraverso il distanziamento sociale, esattamente quello a cui mirano le misure adottate dal Governo.

C'è un'ultima considerazione da fare. L'obiettivo del modello di Kermack e McKendrick è studiare l'andamento della funzione I(t), cioè la curva del numero di individui infettati.
Figura 3 - Due possibili andamenti di un'infezione

Nella figura a fianco sono mostrati due diversi andamenti possibili per la funzione I(t).

L'andamento che presenta il picco corrisponde a un'epidemia in piena regola. Viceversa, l'altra curva, che non fa nemmeno in tempo a salire perché mostra fin dall'inizio una flessione indica un'infezione che passa inosservata perché si esaurisce subito. I modelli SIR ci permettono di distinguere tra queste diverse dinamiche.


Ma c'è una cosa che i modelli SIR non ci possono dire ed è il numero di vittime che l'infezione può provocare.


Se vogliamo prevedere il numero di decessi, occorre "smembrare" quel parametro β corrispondente alla percentuale di infettivi che ogni giorno passano nella classe R. β, infatti, è la somma di tre diversi parametri associati ai tre diversi eventi di rimozione: guarigioni, decessi e quarantene.

Lo specifico parametro legato ai decessi è noto come tasso di letalità dell'infezione: esso è quindi definito come il rapporto tra il numero dei decessi e il numero totale di individui infettivi.

Da non confondere con il tasso di mortalità che è, invece, il rapporto tra il numero di persone morte per una specifica malattia e il numero totale degli esposti, ossia tutta la popolazione.

Nel corso di un'epidemia, questo indice può variare molto, perché possono modificarsi le condizioni al contorno che rendono la malattia più o meno mortale e perché è funzione del modo in cui si decide di rilevare il numero delle persone malate. Ne deriva che il tasso di letalità è una percentuale più consistente rispetto a quella derivata dal tasso di mortalità che, però, restituisce un dato più rilevante per la valutazione dei rischi che comporta un’epidemia per tutta la popolazione.

Spieghiamo meglio la differenza con un esempio. Se in un Paese di 100 abitanti ci sono 10 contagiati e 5 morti, il tasso di letalità sarà pari al 50% ma il tasso di mortalità sarà solo del 2%.
Nella tabella a fianco,

possiamo vedere il tasso di letalità stimato per alcune malattie: per alcune è davvero altissimo (evidente il caso dell'Ebola), per altre ovviamente quasi trascurabile (si pensi all'influenza stagionale), mentre il tasso di letalità del nuovo Coronavirus è per adesso stimato attorno al 2%.


Oltre a questi parametri, dobbiamo considerarne altri due che, spesso, hanno creato e continuano a generare confusione:


  • tasso di letalità apparente (case fatality rate, CFR). Il CFR è il rapporto tra il numero di decessi diviso per il numero di casi confermati (preferibilmente mediante test di acido nucleico) di malattia;
  • tasso di letalità plausibile ( infection fatality rate, IFR). L'IFR è il rapporto tra decessi divisi per il numero di infezioni effettive con SARS-CoV-2. Di fatto, l’IFR serve a stimare il numero di possibili infettivi dato il numero di decessi.

Poiché il test dell'acido nucleico è limitato e attualmente disponibile, principalmente, per le persone con indicazioni significative e fattori di rischio per la malattia di covid-19, e perché un gran numero di infezioni con SARS-CoV-2 provocano una malattia lieve o addirittura asintomatica, l'IFR è probabile che sia significativamente inferiore al CFR.

Ora, il Comitato tecnico Scientifico ha utilizzato un IFR pari a quello della Cina, ossia 0,657%, per simulare i vari scenari su cui sono state prese le decisioni che si sono tradotte nelle misure attuate dal Governo. Il rapporto è disponibile a questo link per chi volesse leggerlo.

In realtà, l’Italia, per scenario demografico, cluster di età e caratteristiche è diversa dalla Cina ed altri studi hanno messo in evidenza come l’IFR medio dell’Italia sia di 1,382% il che porterebbe a considerare che il CTS abbia sopravvalutato le stime dei possibili contagi in funzione dei vari scenari di apertura delle varie attività. Uno studio di Carisma Holding ha messo in dubbio la correttezza del rapporto.

Ora, senza entrare nel merito di chi abbia ragione e chi torto, da tutto ciò appare evidente come possa bastare un nulla per creare confusione e come la comunicazione sia fondamentale per garantire serenità.

Si tratta di una sfida complicata e difficile e c’è ancora molto da fare. Da parte nostra non possiamo che aspettare ed eseguire ciò che ci chiedono, senza dimenticare, però, che l’informazione non è solo quella che ci viene propinata ma anche e soprattutto quella che riusciamo a filtrare grazie all’analisi e allo studio che ognuno di noi può effettuare.

Oggi, rispetto al passato, abbiamo un grande vantaggio nel capire l’andamento di un’epidemia: i dati. Per farlo, però, bisogna avere quella che il mio amico Andrea Benedetti, chiama, la “cultura del dato”. Per questo vi segnalo questo bellissimo articolo da lui scritto.

Il dato, utilizzato in modo opportuno, diventa un potente abilitatore che permette di prendere decisioni basate su informazioni certe, tralasciando il più possibile quelle che sono scelte dettate da sensazioni, senza valutare numeri e indicatori: non si costruisce un futuro solido tirando dadi e facendo scommesse.

Come per l’informazione anche per i dati serve attenzione e, soprattutto, la capacità di informarsi correttamente, indagare e studiare, come detto in precedenza.

Carlo Mauceli

lunedì 27 aprile 2020

Steganalisi e Machine Learning: una risposta europea

La steganografia è un meccanismo segreto di codifica delle informazioni attraverso un qualsiasi mezzo di trasmissione. Il suo utilizzo è noto sin dall’antica Grecia anche se è entrata ufficialmente nei glossari sul finire del XV secolo. Sia la codifica che il mezzo di trasmissione sono segreti, ovvero noti solo alle parti che intendono comunicare in maniera occulta. La steganografia si presenta dunque come strumento ideale per la realizzazione di canali di comunicazione segreti che possono essere utilizzati in scenari sofisticati di spionaggio, crimine informatico e violazioni della privacy di soggetti pubblici e privati.

La steganografia si differenzia dalla crittografia, in cui la codifica delle informazioni e il mezzo di trasmissione sono in genere noti (si pensi ad esempio al protocollo HTTPS usato dal sito che ospita questo articolo). In questo caso la privatezza dell’informazione è garantita dal meccanismo di codifica che rende (estremamente) difficile1 l’invio/estrazione dell’informazione senza la conoscenza di informazioni aggiuntive, note come chiavi di cifratura/decifratura. Tali chiavi sono note solo alle parti autorizzate alla comunicazione (ad esempio, il vostro browser e il nostro server web).

Il processo di analisi della steganografia è anche noto come steganalisi. In prima istanza questo processo si prefigge di rilevare la presenza di steganografia in uno o più mezzi di trasmissione, e solo in seconda istanza può procedere all’estrazione del messaggio nascosto.

L’efficacia delle tecniche di steganalisi è strettamente dipendente dal grado di sofisticazione e “personalizzazione’’ delle tecniche steganografiche utilizzate da un malintenzionato avversario.

Il caso più semplice da affrontare è quello in cui la steganografia viene effettuata tramite strumenti “a scaffale”. Questo caso riflette un avversario con basso (o nullo) livello di conoscenza della steganografia, e che semplicemente utilizza strumenti implementati e resi disponibili da altri: in sicurezza informatica un tale avversario viene spesso denominato script kiddie.

In ambito digitale esistono molti software che implementano steganografia e la maggior parte di questi combina tecniche crittografiche. In Tabella 1 vengono mostrati esempi di software open-source che impiegano entrambe le tecniche.

Naturalmente, gli strumenti “a scaffale” sono in genere disponibili anche a chi intende effettuare steganalisi. Nell’implementare la steganografia, ciascun software lascia in genere (più o meno implicitamente) degli artefatti caratteristici nei file manipolati, che possono essere studiati per costruire delle firme (fingerprinting). Queste firme possono essere usate in fase di steganalisi per identificare non solo la presenza di steganografia, ma lo specifico strumento utilizzato, nonché l’estrazione dei contenuti nascosti [7,8]. La maggior parte dei sistemi di steganalisi utilizza questo meccanismo [9].

È facile osservare che ci si trova in un circolo vizioso (“arms-race”) che prevede un incremento della sofisticazione delle tecniche e degli strumenti usati sia da chi intende usare steganografia, sia da chi invece intende smascherarla e rilevarne i contenuti nascosti. Fra i due profili, in genere la prima figura è avvantaggiata, poiché potrà in ogni momento cambiare mezzo di trasmissione e/o codifica delle informazioni per sfuggire alla rilevazione.

Ad esempio, un avversario potrebbe modificare l’implementazione del software di steganografia per sfuggire al fingerprinting, o addirittura implementare tecniche steganografiche totalmente nuove. Ciò naturalmente ha un costo –non siamo più in presenza di script kiddie– ma tale costo può essere ben bilanciato dalle motivazioni (es. vantaggi strategici/economici da parte di un’organizzazione di cyber-spionaggio).

Questa situazione è ben nota nel campo della sicurezza informatica: in genere è molto più semplice attaccare i sistemi informatici che difenderli. Le istanze di malware si manifestano in continue varianti “polimorfiche” proprio per evadere i meccanismi di rilevazione in essere per la protezione dei sistemi (es. firme degli antimalware).

In questo scenario, il machine learning (apprendimento automatico da esempi) può rappresentare una sofisticata arma al servizio di chi intende smascherare la steganografia. Tramite tecniche di machine learning è infatti possibile mettere a punto automaticamente un modello di steganalisi a partire da un insieme di campioni di file con e/o senza steganografia.

La maggior parte degli approcci proposti utilizza il cosiddetto apprendimento supervisionato a due classi (steganografia presente/assente), che prevede l’utilizzo di campioni sia con che senza steganografia, per determinare automaticamente differenze di rilevanza statistica. Questo metodo è particolarmente utile per rilevare la presenza di varianti di tecniche steganografiche note (es. implementate in nuovi software) per cui non esistono firme.
Esempi di vari algoritmi basati su apprendimento supervisionato per la rilevazione di steganografia in immagini sono stati implementati in una libreria open-source chiamata Aletheia [10].

Firme e apprendimento supervisionato possono fornire buona accuratezza quando si tratta di rilevare tecniche di steganografia nota e sue varianti, ma sono soggetti ad evasione in presenza di tecniche totalmente nuove, ad esempio, dal profilo statistico significativamente diverso da quello osservato sui campioni usati per l’addestramento.

Per questo, altri studi [11,12] hanno invece proposto l’uso di tecniche di apprendimento non supervisionato – anomaly-based. Questo approccio prevede il solo utilizzo di campioni in cui la steganografia è assente, per la costruzione automatica di un profilo normale. La presenza di anomalie (“outlier”), ovvero deviazioni da questo profilo, può essere dunque utilizzata per rilevare tecniche steganografiche totalmente sconosciute. Questo approccio, tuttavia, deve focalizzarsi su aspetti (feature) la cui deviazione dalla norma sono alto indice di manipolazione per offrire buona accuratezza. Si pensi, ad esempio, al confronto tra dimensione specificata nell’intestazione di un file, rispetto alla dimensione effettiva.

Poiché ciascuna tecnica di steganalisi ha i suoi pregi, spesso è utile una combinazione di esse: firme, apprendimento supervisionato e non [12]. Lo sa bene la Commissione Europea che ha finanziato a questo scopo un progetto strategico, denominato SIMARGL - Secure intelligent methods for advanced recognition of malware, stegomalware & information hiding methods (Grant Agreement n° 833042 – www.simargl.eu).

Il progetto, con un budget totale di 6 milioni di euro, mira alla creazione di sistemi avanzati di steganalisi applicata alla rilevazione di (stego)malware, software malevolo sempre più utilizzato dal crimine informatico e stati nazionali in azioni di spionaggio. In questo progetto, attori internazionali del calibro di Airbus, Siveco, Thales, Orange Cert, FernUniversität (coordinatore del progetto), si affiancano a tre “italiane” nel contrasto allo stegomalware: Pluribus One, spin-off dell'Università di Cagliari, partecipa come software provider e developer; CNR, Unità di Genova, mette in campo gli algoritmi di rilevamento Energy-Aware basati sull'intelligenza artificiale; Numera, società operante nell’ambito dell’ICT con sede a Sassari, sottoporrà al “vaglio” di SIMARGL alcuni dei propri sistemi rivolti al mercato del credito.

In totale, sono 14 i partner internazionali (partecipano al consorzio anche Netzfactor, ITTI, Warsaw University, IIR, RoEduNet, Stichting CUIng Foundation) provenienti da 7 paesi che metteranno in campo intelligenza artificiale, sofisticati prodotti già disponibili e algoritmi di machine learning in via di perfezionamento, al fine di proporre una soluzione integrata in grado di affrontare diversi scenari e di agire a diversi livelli: dal monitoraggio del traffico di rete al rilevamento di bit offuscati all’interno di immagini.

La sfida del progetto SIMARGL è appena iniziata e fornirà concrete risposte al problema dello stegomalware nei prossimi due anni: il progetto si concluderà infatti nell’aprile del 2022.

È importante sottolineare che il machine learning (e più in generale l’intelligenza artificiale) è una tecnologia neutra (come tantissime altre tecnologie). Nello specifico è di uso duale [13] e non appartiene al dominio dei buoni. In principio, il machine learning può anche essere usato per sviluppare tecniche steganografiche più sofisticate, polimorfiche, basate sui dati. Prepariamoci, perché questo scenario potrebbe rappresentare il futuro delle minacce informatiche (e forse un pezzo di futuro è già presente).


Igino Corona e Matteo Mauri


Note:

1.  Il grado di difficoltà identifica in genere la robustezza della codifica.

Riferimenti: 







[7] Pengjie Cao, Xiaolei He, Xianfeng Zhao, Jimin Zhang, Approaches to obtaining fingerprints of steganography tools which embed message in fixed positions, Forensic Science International: Reports, Volume 1, 2019, 100019, ISSN 2665-9107, https://doi.org/10.1016/j.fsir.2019.100019.

[8] Chen Gong, Jinghong Zhang, Yunzhao Yang, Xiaowei Yi, Xianfeng Zhao, Yi Ma, Detecting fingerprints of audio steganography software, Forensic Science International: Reports, Volume 2, 2020, 100075,ISSN 2665-9107, https://doi.org/10.1016/j.fsir.2020.100075



[11] Jacob T. Jackson, Gregg H. Gunsch, Roger L. Claypoole, Jr., Gary B. Lamont. Blind Steganography Detection Using a Computational Immune System: A Work in Progress. International Journal of Digital Evidence, Winter 2003, Issue 1, Volume 4

[12] Brent T. McBride, Gilbert L. Peterson, Steven C. Gustafson. A new blind method for detecting novel steganography, Digital Investigation, Volume 2, Issue 1, 2005, Pages 50-70, ISSN 1742-2876,