La propagazione delle informazioni (malware inclusi) all’interno di una rete di utenti è un aspetto fondamentale dell’Intelligence perché, sia nel caso di informazione che di controinformazione, è importante capire una serie di cose:
- Qual è la probabilità che un post inserito da un utente A venga visualizzato successivamente da un utente B
- Quanto tempo un’informazione impiega per passare da un utente A ad un utente B
- Qual è il punto di ingresso migliore per minimizzare (o massimizzare) questo tempo
- Quali sono le modalità, oppure le caratteristiche (Propagation enablers) della rete di utenti, per rallentare o velocizzare la propagazione (“viscosità” della rete)
- Per quanto tempo una determinata “conversazione”, composta da un post primario e da una serie di risposte, resta attiva.
Propagazione dei virus e delle informazioni
In prima analisi si potrebbe pensare di prendere come spunto gli studi epidemiologici sulla propagazione dei virus (reali o virtuali). Appare però subito che la propagazione di virus e la propagazione di informazioni all’interno di una rete siano in realtà diverse. Il motivo principale è che nel caso della propagazione di un virus il nodo (l’utente) agisce sostanzialmente in modo passivo: non ha modo (almeno nella maggior parte dei casi) di scegliere se contrarre o meno il virus e se propagarlo. Nel caso delle informazioni, invece, il nodo agisce come entità attiva, nel senso che può decidere se esporsi o meno a determinate informazioni (ad es. iscrivendosi a un gruppo Facebook in cui si parla di un determinato argomento) e se diffonderle o meno. In questo secondo caso, addirittura ha modo di scegliere se trasmettere l’informazione in forma inalterata o no. Normalmente, esistono anche delle motivazioni per cui un utente decide di ritrasmettere un’informazione, come ad esempio in base a interessi personali, per rafforzare interazioni umane specifiche o perché ritiene in qualche modo rilevante quello che sta diffondendo.
I modelli matematici delle epidemie applicati alle informazioni
D’altra parte i modelli matematici delle epidemie sono un ottimo punto di partenza e conviene quindi analizzarli. Come in tutti i modelli, è necessario fare delle opportune assunzioni, o semplificazioni, che, in condizioni opportune, possono avvicinare o meno il modello alla situazione reale ma che comunque hanno il pregio di portare a un set di equazioni risolubili, analiticamente o al computer. Si tratta, in particolare, di modelli deterministici i quali, cioè, a fronte del valore di determinati parametri portano sempre al medesimo risultato (a differenza dei modelli cosiddetti stocastici, basati invece su distribuzioni di probabilità). Inoltre sono anche modelli compartimentali perché suddividono la popolazione in esame in determinati compartimenti, o stati.
Al minimo si possono avere due compartimenti: Sano (o meglio Suscettibile, in quanto esposto all’agente patogeno e potenzialmente suscettibile a essere infettato) e Malato (o Infetto). D’altra parte, è possibile anche pensare a un numero maggiore di compartimenti come ad esempio Rimosso (che indica chi non è in grado di trasmettere il virus, sia perché è guarito e quindi immunizzato sia perché è morto sia perché è immune per qualsiasi motivo) oppure Infettato Latente (ha contratto la malattia e può trasmetterla, per quanto non presenti ancora i sintomi della stessa) e così via.
Volendo applicare il modello alla diffusione di informazioni,
- la popolazione consiste nel numero di iscritti a un social network
- l’infezione consiste nel rilascio in rete di un’informazione da parte di un iscritto
- sano è chi non ha ancora ricevuto l’informazione
- infetto è chi l’ha ricevuto e può ritrasmetterla
In generale, vengono fatte delle assunzioni sul modo in cui avvengono i passaggi da un compartimento all’altro. In questo caso la variazione nel numero di individui in un compartimento per unità di tempo è espressa con una derivata e il modello porta a un sistema di equazioni differenziali.
Altre assunzioni che vengono fatte è che il numero N di individui appartenenti alla popolazione sia costante e molto grande. Può essere una buona approssimazione quando l’epidemia ha tempi di propagazione molto piccoli.
Inoltre tutti gli individui sono equivalenti tra loro, ipotesi questa che non andrebbe sicuramente bene nel caso della propagazione di informazioni in cui esistono utenti che hanno più influenza di altri ( i cosiddetti influencer), e i rate di trasmissione e rimozione sono costanti.
I 5 compartimenti della propagazione delle epidemie
Il modello generale della propagazione di epidemie in ambito sanitario, mostrato in figura, prevede 5 compartimenti:
- M contiene i bambini con immunità cosiddetta passiva, che, cioè, hanno ricevuto attraverso la placenta gli anticorpi dalla madre infettata. In questo caso il bambino appena nato ha un’immunità temporanea alla malattia e si sposterà successivamente nel compartimento S
- S contiene i suscettibili, cioè quelli che possono infettarsi
- E contiene gli Esposti, cioè quelli che sono stati infettati dal virus ma che non si è ancora manifestato, in quanto latente
- I contiene coloro in cui il virus si è manifestato e in grado di trasmettere il virus
- R contiene i Recovered, cioè quelli che hanno acquisito immunità permanente dal virus
Figura tratta da leonidzhukov.net/hse/2014/socialnetworks/papers/2000SiamRev.pdf
La scelta di quali compartimenti inserire nel modello dipende dalle caratteristiche dell’epidemia sotto studio e dallo scopo del modello. Ogni modello è caratterizzato da un acronimo con le iniziali dei compartimenti inclusi come MSEIR, MSEIRS (in questo caso l’immunità non è permanente ma dura solo un certo tempo), SEIR, SEIRS, SIR, SEI, SI, SIS (modello tipo influenza in cui un suscettibile si ammala e poi guarisce per poi diventare suscettibile di nuovo) ecc.
Il modello SIR
Uno dei più studiati è il modello SIR base che prevede tre stati: S (Suscettibile), I (Infetto), R (Rimosso).
Il numero di individui in ciascuno stato è una variabile del tempo, ma la somma totale è costante e pari al numero N di individui che compongono la popolazione. Quindi
S(t) + I(t) + R(t) = N
Definendo le variabili normalizzate s(t)=S(t)/N, i(t)=I(t)/N, r(t)=R(t)/N, le equazioni per il modello SIR sono
I parametri del modello sono β, che denota il rate di trasmissione, cioè il rate effettivo di contatto tra sani e malati, e α che indica il rate di rimozione. Riguardo al rate di trasmissione dobbiamo osservare che, per nostra fortuna, se una malattia provoca troppo velocemente la morte dell’ammalato, questi non avrà abbastanza tempo per infettare altre persone e quindi il virus avrà un basso rate di trasmissione.
A seconda del valore assunto dal rapporto (basic[1] reproduction number) R= e, in particolare, se è minore o maggiore di uno, avremo i due casi mostrati in figura per i(t)
Nel primo caso vediamo che, in assenza di intervento, si scatena un comportamento epidemico. Nel secondo, il contagio va a morire. Come fare allora per impedire l’epidemia? Lo studio delle equazioni mostra che, anche nel caso R > 1, il contagio può essere evitato se Rs(0) < 1. La vaccinazione fa proprio questo, cioè riduce il numero s(0) di individui potenzialmente suscettibili al contagio.
Nel caso della diffusione virale delle informazioni possiamo immaginare che gli stati SIR precedentemente descritti corrispondano a:
- Sano è chi non ha ancora ricevuto l’informazione
- Infetto è chi l’ha ricevuta ma non ancora ritrasmessa
- Rimosso è chi ha deciso di non ritrasmettere l’informazione
Se adesso complichiamo un po’ il modello inserendo anche l’aspetto demografico e, in particolare, le nascite e le morti, allora la situazione sarà quella in figura.
Questa potrebbe corrispondere alla situazione, in un social network, in cui si tenga di conto dei nuovi iscritti (nascite) e degli utenti che abbandonano (morti).
L’aspetto interessante di questa nuova situazione è che si può arrivare ad una soluzione stazionaria (endemica) in cui la trasmissione dell’infezione prosegue per sempre.
Le equazioni del modello cambiano come segue
dove λ è il rate di nascite e morti.
La soluzione stazionaria si trova ponendo e
Se= ie=
Infine, un’ultima variante è SIS o SIRS. In questo caso, si tiene di conto del fatto che un post, propagandosi sulla rete, possa prima o poi tornare a chi lo ha già ricevuto una prima volta, “reinfettandolo”. Questa è in effetti una nuova situazione in cui l’utente, anche se non ha ritrasmesso il post la prima volta, potrebbe decidere di farlo ora. La soluzione del modello prevede una crescita degli infetti fino ad un valore asintotico costante.
La propagazione di un malware
Tutto quello che abbiamo visto finora descrive, ovviamente, anche la propagazione di un malware in una rete di computer. In questo caso, lo stato di Rimosso è descritto dalla situazione in cui il malware viene eradicato ad esempio attraverso l’installazione di un software antimalware apposito. Il “vaccino” invece, che normalmente consisterebbe nell’inoculazione controllata dell’agente patogeno per provocare l’immunizzazione, consisterebbe invece nel nostro caso nell’installazione di una patch o di un antivirus che rimuove la vulnerabilità sfruttata dal malware per infettare il computer.
Per concludere, una volta che abbiamo affrontato il problema matematico della viralità di un post viene subito la domanda successiva: ma cos’è che rende un post virale? Il prossimo articolo della serie ci aiuterà a affrontare il problema.
- R è il numero medio di infezioni secondarie generate da un singolo individuo infetto in una popolazione completamente suscettibile ↑