6 Dic 2016

Virus: tornando alle basi

Sicurezza Tecnologia

Vi ricordate da dove deriva il termine “virus”? Sì, sto parlando dei virus biologici, a partire dai quali gli specialisti della sicurezza IT hanno dato il nome ai programmi del computer che inseriscono il proprio codice in altri oggetti per riprodursi e diffondersi.

È molto probabile che presto questo termine di tecnologia dell’informazione riacquisti il suo significato originale (i ricercatori di Microsoft e dell’Università di Washington hanno segnato una nuova pietra miliare nell’archiviazione dei dati scrivendo circa 200MB di dati sotto forma di un DNA sintetico.

dna-storage-featured

Potreste chiedervi: qual è la connessione con i virus biologici? L’analogia è abbastanza diretta (i virus inseriscono il proprio codice genetico nel DNA di organismi infetti, facendo in modo che il DNA riproduca i virus invece di sintetizzare le proteine corrette, che sono vitali.

I virus più aggressivi interrompono i normali processi fisiologici a tal punto che portano alla morte delle cellule e dell’intero organismo. Allo stesso modo, il malware più aggressivo può rendere inutile o “morto” l’intero sistema d’informazione infetto.

Perciò, adesso che il genere umano ha iniziato a scrivere le informazioni sotto forma di DNA, sarebbe meglio iniziare a preoccuparsi su come proteggere questi dati a “livello di hardware”. Ma prima, fatemi fare un quadro generale sul funzionamento di questo “hardware”.

All’interno del DNA

Il DNA, acido desossiribonucleico, è la molecola più grande del nostro organismo e quella che contiene l’informazione genetica. L’analogia IT più simile è l’immagine di avvio che permette al computer di avviarsi e di caricare il sistema operativo. Nella maggior parte dei casi (con alcune eccezioni che non verranno trattate in questo post), dopo che il sistema operativo è stato caricato nella memoria, il computer lancia i moduli eseguibili richiesti per sostenersi e per svolgere il lavoro per cui è programmato. Allo stesso modo, le cellule viventi nella maggior parte dei casi utilizzano il DNA per produrre i “file eseguibili” (le sequenze di RNA, o acidi ribonucleici, che fanno in modo che la sintesi delle proteine sostenga l’organismo e svolga le sue funzioni).

Tutte le caratteristiche dell’organismo, dal colore degli occhi e dei capelli a qualsiasi disturbo ereditario, sono immagazzinati nel DNA. Sono codificati in una sequenza di nucleotidi (blocchi molecolari che contengono, per la maggior parte degli organismi conosciuti, solo quattro varietà di basi azotate: adenina, guanina, timina e citosina). Queste si possono chiamare anche “parti biologiche”. Come potete vedere, madre natura ha utilizzato un sistema numerico quaternario per codificare le informazioni genetiche, a differenza dei computer creati dall’uomo che utilizzano un codice binario.

Vale la pena dire che il DNA possiede una funzione di correzione dei codici (il DNA più noto ha due filamenti di nucleotidi, stretti uno attorno all’altro (come una coppia elicoidale di fil di ferro) in una doppia elica.

Questi due filamenti sono attaccati l’uno all’altro da legami di idrogeno che si formano solo tra coppie ben definite di nucleotidi (quando si completano a vicenda). Questo assicura che l’informazione codificata in una sequenza di nucleotidi in un filamento corrisponda ad una sequenza simile di nucleotidi complementari nel secondo filamento. Ecco come funziona questo meccanismo di correzione dei codici (una volta decodificato o copiato, il primo filamento di DNA viene utilizzato come una fonte di dati e il secondo filamento come una sequenza di controllo). Questo indica se una sequenza di nucleotidi, che codifica alcune caratteristiche genetiche, è stata danneggiata in uno dei filamenti.

Inoltre, le caratteristiche genetiche sono codificate in sequenze di nucleotidi utilizzando algoritmi di codifica che si ripetono. Per spiegare come funziona questo processo nel modo più semplice, immaginatevi che ogni caratteristica ereditaria, scritta come una sequenza di nucleotidi, venga accompagnata da un codice di controllo.

Le sequenze di nucleotidi che codificano le caratteristiche genetiche, o i geni, sono state studiate a lungo nei 50 anni successivi alla scoperta del DNA. Oggi potete leggere il vostro DNA in molti laboratori o anche online (utilizzando 23andme o servizi simili).

Come fanno gli scienziati a leggere il DNA

Negli ultimi secoli, gli scienziati hanno sviluppato dei metodi per determinare la struttura di oggetti minuscoli, come l’analisi della struttura dei raggi X, la spettrometria di massa e una serie di metodi di spettroscopia. Funzionano abbastanza bene per le molecole che comprendono due, tre o quattro atomi, ma capire i risultati sperimentali per molecole più grandi è molto più complicato. Più atomi ci sono in una molecola, più è difficile comprenderne la struttura.

Ricordate che il DNA viene considerato la più grande molecola per un buon motivo: il DNA di una cellula umana aploide contiene circa 3 miliardi di coppie di basi. La massa molecolare del DNA è un po’ più alta della massa molecolare della più grande proteina conosciuta.

In poche parole, è un gran bel mucchio di atomi, quindi per decifrare i dati sperimentali ottenuti con i metodi classici, anche con i super computer di oggi, si possono impiegare mesi o anche anni.

Ma gli scienziati hanno scoperto un metodo di sequenziamento che accelera questo processo. L’idea principale è quella di dividere la lunga sequenza di basi in frammenti molto più piccoli che possono essere analizzati parallelamente.

Per fare questo, i biologi utilizzano macchine molecolari: proteine speciali (enzimi) chiamate polimerasi. La funzione principale di queste proteine è copiare il DNA percorrendo il filamento e creando una copia delle basi.

Ma non abbiamo bisogno di una copia completa del DNA; al contrario, vogliamo dividerla in frammenti e lo facciamo aggiungendo primer e marcatori (composti che dicono rispettivamente alle polimerasi dove iniziare e dove bloccare il processo di clonazione).

I primer contengono una sequenza data di nucleotidi che si può collegare a un filamento di DNA nel posto in cui trova una sequenza corrispondente di basi complementari. Le polimerasi trovano il primer e iniziano a clonare la sequenza, portando via gli elementi costitutivi dalla soluzione. Come ogni altro processo vitale, tutto questo avviene in forma liquida. La polimerasi clona la sequenza fino a quando non incontra un marcatore: un nucleotide modificato che termina il processo di creazione del filamento.

Però c’è un problema. La polimerasi, il filamento di DNA, i primer, i marcatori e i nostri elementi costitutivi, sono tutti dispersi nella soluzione. Perciò, è impossibile definire il luogo esatto in cui inizierà la polimerasi. Possiamo definire solo le sequenze da cui e in cui copieremo le informazioni.

Per continuare con l’analogia dell’IT, possiamo illustrarla in questo modo. Immaginatevi che il nostro DNA sia una combinazione di parti: 1101100001010111010010111. Se utilizziamo 0000 come primer e 11 come marcatore, otterremo la seguente serie di frammenti, posizionati in ordine di probabilità decrescente:
0000101011,
00001010111,
0000101011101001011,
00001010111010010111.

Utilizzando diversi primer e marcatori, vedremo tutte le possibili sequenze più corte, per poi dedurre la sequenza più lunga basata sui suoi componenti.

Tutto questo può sembrare contro intuitivo e complicato, ma funziona. Infatti, dal momento che ci sono diversi processi che avvengono contemporaneamente, questo metodo è molto rapido. Si tratta di un paio d’ore, se lo compariamo ai mesi o agli anni di cui abbiamo parlato in precedenza (anche se non si tratta di un processo molto rapido dal punto di vista dell’IT).

DNA e accesso casuale

Dopo aver capito come fare a leggere il DNA, gli scienziati hanno scoperto come sintetizzare le sequenze di nucleotidi. I ricercatori di Microsoft non sono stati i primi a provare a scrivere informazioni sotto forma di DNA artificiale. Un paio d’anni fa, alcuni ricercatori dell’EMBL-EBI sono stati in grado di codificare 739 kilobyte.

Due cose hanno fatto in modo che il lavoro di Microsoft facesse passi da gigante. Innanzitutto, i ricercatori hanno aumentato il volume dei dati immagazzinati fino a raggiungere un volume di 200MB. Non si tratta di una cifra molto lontana dai 750MB di dati contenuti in ogni filamento di DNA umano.

Ad ogni modo, la cosa più innovativa è il fatto che hanno proposto un modo per leggere parti di DNA, lunghe circa 100 basi (parti biologiche), in ogni operazione di sequenziamento.

I ricercatori sono stati in grado di raggiungere questo risultato utilizzando coppie di primer e marcatori che consentivano loro di leggere una certa serie di nucleotidi con un offset definito dall’inizio del filamento. Non si tratta esattamente dell’accesso casuale ad una singola parte, ma la tecnologia è molto vicina (impedire l’accesso alla memoria).

I ricercatori credono che la nicchia principale per una memoria del DNA del genere possano essere moduli di memoria a lungo termine a forte intensità. Tutto questo ha un senso: i migliori modelli conosciuti di memoria flash forniscono una densità di circa 1016 bit per centimetro cubico, mentre la densità stimata per una memoria di DNA è tre ordini di grandezza più alta: circa 1019 bit per centimetro cubico.

Allo stesso tempo, il DNA è una molecola abbastanza stabile. Combinato con schemi di codifica ripetitivi e di correzione di errori, i dati al suo interno possono essere letti anni o secoli dopo la loro scrittura.

Tornando ai virus

Ma cosa vuol dire tutto questo dal punto di vista della sicurezza delle informazioni? Vuol dire che l’integrità dell’informazione immagazzinata in questo modo potrebbe essere minacciata dagli organismi che si sono specializzati nella corruzione dei dati per miliardi di anni (i virus).

È improbabile che assisteremo a un boom di virus geneticamente modificati creati per scovare il DNA sintetico codificato. Sarebbe più semplice modificare i dati e inserire un codice dannoso quando i dati sono digitali, prima che siano scritti sul DNA.

Ma come fare a proteggere tali dati dal danneggiamento da parte dei virus esistenti rimane una questione ancora aperta. Ad esempio, la polimerasi replicherà qualsiasi DNA nella soluzione, come il DNA del comune virus dell’influenza.

Quindi sarebbe meglio notare se qualcuno ha starnutito o ha tossito mentre stavate scrivendo un file importante…