Sécurité informatique: le dilemme de la défense fractale

Publié par Adrien le 09/06/2015 à 00:00
Source: Stefan Lueders, Computer Security Team - Copyright CERN
Restez toujours informé: suivez-nous sur Google Actualités (icone ☆)

Les fractales mathématiques ne sont-elles pas magnifiques ? Les ensembles de Mandelbrot et de Julia, le triangle de Sierpi?ski, l'éponge de Menger, le flocon de Koch (voir ici)... Basées sur des règles mathématiques simples, elles se développent rapidement en une mosaïque de facettes légèrement différentes les unes des autres. Plus vous vous en approchez, plus vous découvrez de nouvelles caractéristiques et des éléments semblables mais non identiques à l'image globale.

La sécurité informatique est analogue à ces fractales, mais en moins joli: simple au premier abord, mais de plus en plus complexe à mesure que vous vous intéressez aux détails. Plus vous creusez, plus la surface d'attaque grandit, et plus les possibilités offertes à des personnes mal intentionnées se multiplient, tel le flocon de Koch, dont le périmètre grandit exponentiellement à chaque étape.

Ainsi donc, la surface devant être défendue grandit, couche par couche, au fur et à mesure que l'on suit les bits et les bytes: cela commence au niveau des puces, des contrôleurs et des mémoires vives, où ils s'assemblent en données et instructions. Ces données, contrôlées par un système d'exploitation, s'échangent à travers des protocoles (des réseaux) et des interfaces pour donner naissance à des applications faciles à utiliser. Enfin, avec un clavier et une souris, l'être humain, ou "wetware", interagit avec ces applications pour donner naissance à plus de bits et de bytes.

Bien que ces abstractions rendent notre vie plus simple en occultant toute la complexité du matériel informatique et des langages utilisés, elles rajoutent à la zone de défense des méandres dans lesquels l'expert en sécurité informatique pourra patauger et se perdre. Plus vous évoluez "haut" dans ces abstractions, plus la défense devient difficile, et plus les possibilités d'attaque sont faciles.

Au coeur même du système, au niveau des processeurs ou de la mémoire vive, la complexité rend la détection d'attaques sophistiquées impossible. Des chercheurs de Google ont récemment trouvé comment manipuler les données stockées dans la mémoire vive en inversant un grand nombre de fois certains bits. Disséquer une puce ne permet même pas d'identifier les altérations physiques qui pourraient avoir été effectuées. Nous ne pouvons qu'espérer que personne n'ait implanté de matériel malveillant chez nous...

Mais continuons notre ascension dans la complexité: tout le monde sait que tout logiciel contient des bugs. Les applications et les systèmes d'exploitation sont plus difficiles à défendre vu leur grand nombre de lignes de code. Une étude explique que, pour chaque millier de lignes de code écrites, en moyenne 10 à 20 défauts sont introduits (Steve McConnell, "Code Complete", 1993). Ainsi, des bugs sont découverts régulièrement, des vulnérabilités sont sans cesse publiées. Les logiciels "open source" sont peut-être une réponse à ce problème, mais qui peut examiner minutieusement des millions de lignes de code ? Comment s'assurer que les compilateurs, qui transforment le code lisible des logiciels en code machine, font bien ce qu'ils sont censés faire ?

Les interfaces (API) et les protocoles, au niveau suivant, ne sont pas plus sûrs. Bien qu'ils soient souvent restreints et théoriquement définis, ils sont souvent énormes et présents absolument partout. Le protocole à la base d'internet, "IP", en est un parfait exemple. La version IPv4 avait ses faiblesses, mais un grand nombre d'entre elles étaient connues et des parades étaient en place. La version qui se répand de nos jours, IPv6, apporte peu en termes de sécurité, mais beaucoup en termes de vulnérabilités inconnues. Qui plus est, au fur et à mesure que le code est modifié pour s'adapter à cette nouvelle version, qui sait combien de nouveaux bugs sont introduits ?

Enfin, tout en haut de la chaîne, il est malheureusement souvent très efficace de s'attaquer directement à nous, utilisateurs, ou à nos appareils. Notre défense peut facilement être brisée, que ce soit par persuasion, tromperie ou même agression physique. Quelqu'un de mal intentionné et d'habile pourra, en utilisant toute la gamme des sentiments et des relations humaines, vous faire faire pratiquement ce qu'il voudra pour pouvoir contourner les mesures de sécurité: on est là dans le domaine de la manipulation. Et si le malfaiteur arrive à voler ou à avoir en main ces appareils que nous utilisons de nos jours - ordinateurs portables, téléphones intelligents, tablettes... - la défense a évidemment perdu.
Page générée en 0.355 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise