Virus : retour aux principes fondamentaux

6 Déc 2016

Est-ce que vous vous souvenez d’où vient le terme « virus » ? Oui, je parle des virus biologiques, que les spécialistes en sécurité informatique ont par la suite dénommé programmes informatiques qui inséraient leur propre code dans d’autres objets afin de se copier eux-mêmes et de se propager.

Il est très probable que bientôt, ce terme de technologie de l’information retrouve son sens original, les chercheurs de Microsoft et de l’Université de Washington ont franchi un nouveau cap concernant le stockage des données en sauvegardant environ 200MB de données sous la forme d’un ADN synthétique.

dna-storage-featured

Vous devez sans doute vous demander : quel est le rapport avec les virus biologiques ? L’analogie est plutôt directe : les virus insèrent leur code génétique dans l’ADN des organismes infectés, faisant que l’ADN reproduit les virus au lieu de synthétiser les bonnes protéines, qui sont vitales.

Les virus les plus agressifs perturbent les processus physiologiques normaux, à tel point que cela conduit à la mort des cellules, et à la fin, de tout l’organisme. De même, le malware le plus agressif peut rendre le système d’information infecté complétement inutile, ou « mort ».

A présent que l’humanité a commencé à écrire des informations sous la forme de l’ADN, il serait peut-être temps de commencer à s’inquiéter concernant la protection de ces données au « niveau du hardware ». Mais dans un premier temps, laissez-moi vous donner un aperçu de la façon dont fonctionne cet « hardware ».

A l’intérieur de l’ADN

L’ADN, qui est l’acide désoxyribonucléique, est la plus grande molécule de notre organisme, et un vecteur de notre information génétique. L’équivalent informatique le plus proche est l’image de démarrage, qui permet à l’ordinateur de démarrer et de charger le système d’exploitation. Dans la plupart des cas (sauf quelques exceptions que je ne mentionnerai pas dans cet article), après que le système d’exploitation a chargé dans la mémoire, l’ordinateur lance les modules exécutables requis pour se supporter lui-même et exécute le travail qu’il est programmé de faire. De la même manière, dans la plupart des cas, les cellules vivantes utilisent l’ADN pour produire les « exécutables », les séquences d’ARN (acide ribonucléique), qui manipulent la synthèse protéique pour alimenter l’organisme et mener à bien ses fonctions.

Toutes les caractéristiques de l’organisme, de la couleur des yeux et des cheveux aux maladies héréditaires, sont stockées dans l’ADN. Elles sont encodées dans une séquence de nucléotides, des blocs moléculaires contenant (pour les organismes les plus connus) uniquement quatre variétés de base azotée : adénine, guanine, thymine et cytosine. Ces dernières peuvent être appelées « morceaux biologiques ». Comme vous pouvez le voir, dame nature a utilisé un système quaternaire pour coder les informations génétiques, contrairement aux ordinateurs conçus par l’Homme, qui utilisent un code binaire.

Il convient de noter que l’ADN possède une fonction de correction de code intégrée, plus connu l’ADN a deux brins de nucléotides, enveloppés l’un autour de l’autre comme des paires torsadées dans une double hélice.

Ces deux brins sont attachés l’un à l’autre avec des liaisons hydrogène qui ne forment que des paires définies strictement de nucléotides, lorsqu’ ils se complémentent. Cela assure que les informations encodées dans une séquence donnée de nucléotides dans un brin correspondent à une séquence similaire de nucléotides complémentaires dans le second brin. Voici la façon dont ce mécanisme de correction de code fonctionne, lorsqu’il est décodé ou copié, le premier brin d’ADN est utilisé comme source de données et le second comme une séquence de contrôle. Ceci indique si une séquence de nucléotides, codant des caractéristiques génétiques, a été endommagée dans un des brins.

De plus, les caractéristiques génétiques sont encodées dans des séquences de nucléotides utilisant des algorithmes d’encodage redondants. Pour expliquer comment cela fonctionne dans le cas de figure le plus simple, imaginez que chaque caractéristique héréditaire, stockée comme une séquence de nucléotides, soit accompagnée d’une somme de contrôle.

Les séquences de nucléotides codant des caractéristiques génétiques, ou des gênes, ont été étudiées de manière approfondie au cours de ces 50 dernières années, depuis la découverte de l’ADN. De nos jours, vous pouvez obtenir une analyse de votre ADN dans plusieurs laboratoires ou même sur Internet, via 23andme ou des services similaires.

Comment les scientifiques analysent l’ADN

Au cours de ces derniers siècles, les scientifiques ont développé des méthodes pour déterminer la structure d’objets minuscules, telle que l’analyse de la structure des rayons X, et une famille de méthodes de spectroscopie. Ils font du bon travail pour les molécules comprenant deux, trois, ou quatre atomes, en revanche comprendre les résultats expérimentaux pour de plus grandes molécules s’avère beaucoup plus compliqué. Plus il y a d’atomes dans la molécule, et plus il est difficile de comprendre sa structure.

Gardez à l’esprit que l’ADN est considéré comme étant la plus grande molécule pour une bonne raison : l’ADN provenant d’un humain haploïde contient environ 3 milliards de paires de bases. La masse moléculaire d’un ADN est de quelques ordres de grandeur supérieurs à la masse moléculaire de la plus grande protéine connue.

En résumé, il s’agit d’un énorme amas d’atomes, par conséquent déchiffrer des données expérimentales obtenues par le biais de méthodes classiques, même à l’aide des superordinateurs d’aujourd’hui, ça peut prendre facilement des mois ou même des années.

Mais les scientifiques ont trouvé une méthode de séquençage qui a rapidement accéléré le processus. La principale idée qui en est à l’origine : diviser la longue séquence de bases en plusieurs fragments plus petits pouvant être analysés en parallèle.

Pour cela, les biologistes utilisent des machines moléculaires : des protéines spéciales (enzymes) appelées polymérases. La fonction principale de ces protéines est de copier l’ADN en longeant le brin et en construisant une réplique à partir de bases.

Nous n’avons toutefois pas besoin d’une copie complète de l’ADN, à la place, nous voulons le diviser en fragments, et nous le faisons en ajoutant les composés qu’on appelle les amorces et les marqueurs qui indiquent à la polymérase par où commencer et où arrêter le processus de clonage, respectivement

Les amorces contiennent une séquence donnée de nucléotides qui peuvent se fixer elles-mêmes sur le brin de l’ADN à un endroit où elles trouvent une séquence correspondante de bases complémentaires. La polymérase trouve l’amorce et commence à cloner la séquence, en prenant les composantes provenant de la solution. Comme pour tous les processus vivants, tout ceci se passe sous une forme liquide. La polymérase clone la séquence jusqu’à ce qu’elle trouve un marqueur : un nucléotide modifié qui termine le processus de développement du brin.

Il existe toutefois un problème. La polymérase, le brin de l’ADN, les amorces, les marqueurs, et nos composantes, sont tous dispersés dans la solution. Il est par conséquent impossible de définir la localisation exacte d’où a commencé la polymérase. On peut seulement définir les séquences à partir desquelles nous allons les copier.

En continuant sur l’analogie informatique, on peut l’illustrer de la façon suivante. Imaginez que votre ADN soit une combinaison de bits : 1101100001010111010010111. Si on utilise 0000 en tant qu’amorce et 11 comme un marqueur, on obtiendrait l’ensemble suivant de fragments, placé dans l’ordre de probabilité décroissante : 0000101011, 00001010111, 0000101011101001011, 00001010111010010111.

En utilisant différents marqueurs et amorces, nous passons au crible toutes les séquences les plus courtes possibles, et ensuite en déduisons la plus longue séquence basée sur les informations de sa composition.

Cela pourrait paraître paradoxal et compliqué, et pourtant ça marche. En réalité, c’est parce que nous avons de multiples processus en parallèle, cette méthode atteignant plutôt une bonne vitesse. Autrement dit, quelques heures comparées à des mois ou des années, ce n’est pas très rapide du point de vue informatique.

ADN et accès aléatoire

Après avoir appris comment analyser l’ADN, les scientifiques ont appris à synthétiser des séquences de nucléotides. Les chercheurs de Microsoft n’étaient pas les premiers à tenter d’enregistrer des informations sous la forme d’ADN artificiel. Il y a quelques années, les chercheurs d’EMBL-EBI ont été capables d’encoder 739 kilooctets.

Deux éléments font que le travail de Microsoft est révolutionnaire. Premièrement, les chercheurs ont incroyablement augmenté le volume de données stockées, à 200MB. Ce n’est pas très loin des 750MB qui sont contenus dans chaque brin d’ADN humain.

Toutefois, ce qui est vraiment nouveau ici c’est qu’ils ont proposé une façon d’analyser une partie de l’ADN, environ 100 bases (bio-bits) de long, dans chaque opération de séquençage.

Les chercheurs ont été capables d’y arriver en utilisant des paires d’amorces et de marqueurs qui leur permettent d’analyser un certain ensemble de nucléotides à l’aide d’un contrepoids défini depuis le début du brin. Ce n’est pas exactement l’accès aléatoire à un seul bit, cependant la technologie est proche de l’accès d’un bloc mémoire.

Les chercheurs pensent que la principale niche pour une telle mémoire ADN pourrait être des modules de mémoire d’une forte densité à long terme. Ça a définitivement du sens : les échantillons les plus connus de la mémoire fournissent une densité de près de 1016 bits par centimètre cube, tandis que la densité estimée pour la mémoire de l’ADN est supérieure de trois ordres de grandeur : ~1019 bits par centimètre cube.

Parallèlement, l’ADN est une molécule plutôt stable. Associé au codage redondant intégré et aux schémas de correction d’erreurs, les données pourraient être analysées des années voire des siècles après avoir été stockées.

Retour aux virus

Mais qu’est-ce que tout cela signifie d’un point de vue de sécurité informatique ? Cela veut dire que l’intégrité des informations stockées d’une certaine manière peuvent être menacées par des organismes qui se sont spécialisés dans la corruption de données pour des milliards d’années, les virus.

Il est peu probable qu’on assiste à un boom de virus génétiquement modifiés conçus pour chasser des ADN synthétiques codés. Il sera simplement plus facile (pendant longtemps) de modifier des données et d’insérer un code malveillant lorsque les données sont numériques, avant d’être stockées dans l’ADN.

Mais il s’agit d’une question ouverte, comment protéger de telles données de la corruption s’il existe des virus. Par exemple, la polymérase reproduira volontiers n’importe quel ADN dans la solution : par exemple l’ADN du virus courant de la grippe.

Il serait donc sans doute intéressant de remarquer si quelqu’un éternue ou tousse lorsque vous écrivez un document important…