¿Recuerdas de dónde proviene el término virus? Sí, hablo de los virus biológicos, esos por los que los especialistas en seguridad informática llamaron a los programas informáticos que insertan su propio código en otros objetos para reproducirse y propagarse.
Es muy probable que pronto este término de la tecnología de la información retome su significado original. Investigadores de Microsoft y de la Universidad de Washington han conseguido almacenar aproximadamente 200 MB de información en una muestra de ADN sintético.
https://media.kasperskydaily.com/wp-content/uploads/sites/88/2016/12/05220932/dna-storage-featured.jpg
Te preguntarás: ¿qué conexión hay con los virus biológicos? La analogía es muy acertada: los virus insertan su código genético en el ADN de los organismos infectados, lo que causa que el ADN reproduzca el virus en lugar de sintetizar las proteínas adecuadas, las cuales son vitales.
Los virus más agresivos interrumpen los procesos biológicos normales a tal extremo que las células mueren y, finalmente, también el organismo entero. De forma similar, el malware más agresivo puede hacer que la información infectada del sistema quede inservible o “muerta”.
Por lo tanto, ahora que la humanidad ha empezado a escribir información en forma de ADN, quizá haya que empezar a preocuparse por proteger estos datos “a nivel de hardware“. Pero, primero, os voy a explicar cómo funciona este “hardware”.
Dentro del ADN
El ADN, que significa ácido desoxirribonucleico, es la mayor molécula de nuestro organismo y un portador de información. Su análogo más cercano en informática son las imágenes de arranque, las cuales permiten que el ordenador se inicie y cargue el sistema operativo. En muchos casos (con algunas excepciones de las que no hablaré en este artículo), tras la carga del sistema operativo en la memoria, el ordenador abre los módulos ejecutables requeridos para su compatibilidad y para llevar a cabo el trabajo que tiene programado. Del mismo modo, en muchos casos las células vivas utilizan el ADN para reproducir los “ejecutables”, es decir, las secuencias del ARN (ácido ribonucleico), las cuales se ocupan de la combinación de las proteínas para mantener el organismo y que realice sus funciones.
Todas las características del organismo, desde el color de ojos y del pelo a desordenes hereditarios, se almacenan en el ADN. Están codificados en una secuencia de nucleótidos: bloques moleculares que solo contienen, en la mayoría de organismos conocidos, cuatro variedades de bases de nitrógeno: adenina, guanina, timina y citosina. Se les podría llamar “bits biológicos”. Como puedes observar, la madre naturaleza ha utilizado un sistema numeral cuaternario para codificar la información genética, a diferencia de los ordenadores fabricados por humanos, los cuales utilizan código binario.
Cabe destacar que el ADN ha creado la función de corrección de código, es decir, el ADN tiene dos hebras de nucleótidos, unidas una alrededor de la otra como un cable de par trenzado en una hélice doble.
Estas dos hebras están unidas la una a la otra mediante enlaces de hidrógeno que solo se forman puramente entre hebras definidas de nucleótidos, cuando estas se complementan entre sí, lo que asegura que la información cifrada en una secuencia de nucleótidos de una hebra se corresponde a una secuencia similar de nucleótidos complementarios de la segunda hebra. Así es cómo funciona este mecanismo de corrección de código: cuando se descodifica o se copia, la primera hebra de ADN se utiliza como una fuente de información y la segunda funciona como una secuencia de control. Esto indica si una secuencia de nucleótidos que codifica algunas características genéticas ha sido dañada en alguna de sus hebras.
Además, las características genéticas se cifran en secuencias de nucleótidos mediante algoritmos de codificación redundantes. Para explicar cómo funciona en el más simple de los casos, imagínate que cada característica hereditaria, escrita en una secuencia de nucleótidos, va acompañada de una suma de comprobación.
Las secuencias de nucleótidos que codifican características genéticas, o genes, llevan 50 años siendo muy estudiadas desde el descubrimiento del ADN. Hoy en día, puedes obtener una lectura de tu ADN en muchos laboratorios o, incluso, online (mediante 23andme o servicios similares).
Cómo leen los científicos el ADN
A lo largo de los últimos siglos, los científicos han desarrollado métodos para determinar la estructura de los objetos minúsculos, como por ejemplo la estructura de análisis de rayos X, la espectrometría de masas y una familia de métodos espectrómetros. Funcionan muy bien para moléculas de dos, tres o cuatro átomos, pero comprender los resultados de un experimento con moléculas mayores es mucho más complicado, ya que cuantos más átomos haya en una molécula, más difícil será comprender su estructura.
Ten en cuenta que se considera que el ADN es la molécula más grande por una buena razón: el ADN de un haploide de célula humana contiene unos 3 000 millones de pares de base. La masa molecular de un ADN tiene una magnitud algo mayor que la masa molecular de la proteína más grande conocida.
En resumen, es un buen montón de átomos, por lo que se pueden tardar meses e, incluso, años en descifrar los datos experimentales obtenidos con métodos clásicos, incluso con los superordenadores de hoy en día.
Pero los científicos han desarrollado un método de secuenciación del ADN que acelera el proceso. La idea es descomponer las secuencias largas de las bases en muchos fragmentos pequeños que pueden analizarse paralelamente.
Para ello, los biólogos utilizan maquinas moleculares: proteínas especiales (encimas) llamadas polimerasas. La función del núcleo de estas proteínas es copiar el ADN recorriendo la hebra y replicando las bases.
Pero no necesitamos una copia completa del ADN; en su lugar, queremos dividirlo en fragmentos al añadirle los tan conocidos partidores y marcadores (compuestos que dicen a la polimerasa dónde empezar y dónde terminar los procesos de clonación, respectivamente).
Los partidores contienen una secuencia de nucleótidos que puede adjuntarse a la hebra del ADN en el lugar que encuentre una secuencia correspondiente de bases complementarias. La polimerasa encuentra el partidor y empieza a clonar la secuencia, cogiendo los componentes de la solución. Como en cualquier proceso vivo, todo ello sucede en una forma líquida. La polimerasa clona la secuencia hasta que encuentra un marcador: un nucleótido que termina el proceso de creación de la hebra.
Pero, hay un problema. Lo polimerasa, la hebra de ADN, los partidores, los marcadores y nuestros componentes están dispersos en la solución. Por ello, es imposible definir la localización exacta dónde empezará la polimerasa. Podemos definir solo las secuencias desde y hasta la que vamos a copiar.
Continuando con la analogía informática, podemos ilustrarlo del siguiente modo. Imagínate que nuestro ADN es una combinación de bits: 1101100001010111010010111. Si usamos 0000 como partidor y 11 como marcador, obtendremos el siguiente conjunto de fragmentos, colocados en orden de probabilidad decreciente: 0000101011, 00001010111, 0000101011101001011, 00001010111010010111.
Utilizando partidores y marcadores diferentes, obtendremos todas las secuencias cortas posibles y luego deduciríamos la secuencia larga basada en el conocimiento de lo que está compuesto.
Puede parecer ilógico y complicado, pero funciona. De hecho, este proceso alcanza tan buena velocidad porque tenemos múltiples procesos en paralelo. Se tardan unas pocas horas, poco si lo comparamos con los meses o años (aunque, desde la perspectiva informática, no es muy rápido).
DNA engineers, organ breeders, mars colonists & 18 other unbelievable jobs of the future https://t.co/8LKIIwFBKx pic.twitter.com/lNvkMeyK9I
— Eugene Kaspersky (@e_kaspersky) August 24, 2016
El ADN y el acceso aleatorio
Después de aprender cómo se lee el ADN, los científicos aprendieron como sintetizar las secuencias de nucleótidos. Los investigadores de Microsoft no fueron los primeros en intentar escribir información en forma de ADN artificial. Hace unos años, investigadores de EMBL-EBI pudieron codificar 739 kilobytes.
Dos cosas hacen que el trabajo de Microsoft sea un avance. En primer lugar, los investigadores han incrementado considerablemente el volumen de información almacenada hasta alcanzar los 200 MB. Dicha cantidad no dista mucho de los 750 MB que se contiene en cada hebra de ADN humano.
Aun así, lo realmente nuevo aquí es que han propuesto un modo de leer parte del ADN, aproximadamente 100 bases (biobits), en cada operación de secuencia.
Los investigadores pudieron conseguirlo mediante el uso de pares de partidores y marcadores que les permiten leer un determinado conjunto de nucleótidos con un offset (distancia) definido desde el comienzo de la hebra. No es exactamente un acceso aleatorio a un único bit, pero la tecnología se acerca (bloquear el acceso a la memoria)
Los investigadores creen que el nicho principal para dicha memoria de ADN podrían ser módulos de memoria de alta densidad y a largo plazo. Tiene total sentido: las muestras más conocidas de memoria flash proveen una densidad de ~1016 por centímetro cúbico, mientras que la densidad de la memoria del ADN es mayor: ~1019 bits por centímetro cúbico.
A su vez, el ADN es una molécula muy estable. Sumada a un código redundante y a unos esquemas de corrección de errores, la información que contiene sería legible durante años o, quizá, siglos tras su escritura.
De vuelta a los virus
Pero ¿qué significa todo ello desde el punto de vista de la seguridad de la información? Significa que la integridad de la información podría estar amenazada en cierto modo por los organismos que se han especializado en la corrupción de datos durante millones de años: los virus.
Es improbable que veamos un bum de virus genéticamente modificados creados para buscar ADN sintético codificado. Simplemente será más fácil, durante un tiempo, modificar la información e insertar código malicioso cuando los datos sean digitales, antes de que se escriban en ADN.
Pero cómo proteger dichos datos de la corrupción mediante virus ya existentes es una cuestión no resuelta. Por ejemplo, la polimerasa replicará cualquier ADN de la solución, como el ADN del virus de un resfriado común.
Así que quizá valga la pena saber si alguien estornuda o tose mientras escribas un archivo importante.