Les failles de sécurité : qu’est-ce ?

, par Aube

La « faille de sécurité » a toujours existé en informatique.

La faille de sécurité est la preuve que tout système, même informatique, n’est pas infaillible. Au moment de concevoir une machine, de programmer un site web ou un logiciel, la préoccupation majeure de l’éditeur est : est-ce que ça fonctionne ? Si ça ne fonctionne pas en raison d’une erreur, c’est un « bug » et on réécrit une partie du programme pour l’éliminer. Les failles de sécurité, elles, mettent en danger la sécurité d’un programme ou d’une machine, c’est-à-dire qu’il est possible d’accéder à distance à des informations échangées par l’intermédiaire d’un programme ou d’une machine et ce à l’insu de l’utilisateur. On peut définir comme une « faille » tout moyen que peut exploiter un attaquant pour détourner un système de son utilisation de départ. Les attaques sont répertoriées selon les effets produits et l’intention qui les guide : une attaque peut être la modification du fonctionnement normal d’un service, elle peut aussi concerner une atteinte à la confidentialité de données ou toucher à l’intégrité de celles-ci. La plupart des attaques concerne la prise de contrôle malveillante d’un système comme, par exemple, le contrôle de machines zombies utilisées pour envoyer des spams ou tout simplement le piratage de logiciels commerciaux.

Mais les failles de sécurité, comme les bugs, font partie inhérente de l’histoire de l’informatique. On peut citer la faille « Heartbleed », inscrite par erreur dans le référentiel d’OpenSSL et découverte en mars 2014, ou encore « Shellshock » découverte en septembre de la même année. Il y a cependant un décalage entre l’information détenue par les différentes personnes concernées par ces failles : les utilisateurs malveillants qui exploitent les failles peuvent en avoir pris connaissance beaucoup plus tôt que les chercheurs en sécurité informatique qui chercheront à les réparer.

La date officielle d’une « découverte » de faille informatique est donc sujette à caution. Le grand public est généralement le dernier au courant de son existence : la plupart du temps on apprend l’existence d’une faille de sécurité quand les développeurs ont déjà conçu le pansement (le patch) qui permet qu’elle ne soit plus exploitée, ce qui évite de provoquer une panique générale. Il suffit alors, pour l’utilisateur, de télécharger la mise à jour du logiciel qui contient les correctifs.

La différence cette année entre Meltdown et Spectre d’une part et les failles de sécurité qui touchent à l’architecture des sites web, des logiciels et des applications d’autre part, c’est qu’il s’agit de failles qui se logent dans la structure matérielle même des machines. En effet, elles concernent l’architecture des processeurs modernes (Intel, AMD, ARM, etc.). Elles étaient donc là depuis le début, mais il a fallu attendre les dernières évolutions de la connaissance informatique pour qu’elles deviennent exploitables et détectable à grande échelle. C’est-à-dire qu’au cours du temps et au fur et à mesure que l’informatique évolue, on se rend compte que certaines dimensions ont été négligées au moment de construire les machines, ou, dans d’autres cas, de programmer les logiciels ou sites web.

Une faille de sécurité reflète des choix opérés à un moment donné

Certes, il est possible de colmater la faille grâce à une mise à jour du système d’exploitation mais en l’occurrence, parce qu’il s’agit des processeurs présents dans les machines, il va falloir reconsidérer la construction même des supports.

On se rend alors compte que l’informatique n’est jamais neutre : les puces Intel qui composent la grande majorité des machines utilisées à l’échelle planétaire ont été conçues à un moment du développement du marché de l’informatique. [1] D’un coup, les machines sont devenues beaucoup plus rapides. Au passage, l’entreprise est devenue leader du marché. Par conséquent, grâce aux failles de sécurité, on se rend compte que l’anomalie réside plutôt dans la recherche d’une rapidité et d’une efficacité qui néglige l’aspect sécurité et protection de l’utilisation privée d’un ordinateur. [2] 

Depuis la conception d’un programme jusqu’à son écriture et son utilisation, l’apparition des failles de sécurité est toujours une bonne occasion de réfléchir à nouveau aux enjeux de sécurité derrière la technique, souvent opaque au grand public.

références

Notes

[1La prouesse technique d’Intel, c’est d’avoir accéléré les processeurs en leur permettant de choisir « eux-mêmes » l’ordre d’exécution des instructions programmées.

[2Alors certes, à l’époque de construction d’une machine ou d’un programme, une faille n’était pas forcément détectable mais certains produits défectueux ont pu aussi avoir été mis en circulation sur le marché avec l’idée que les « pirates » mettraient à jour les failles en les exploitant, faisant de fait le travail de détection qui aurait dû être fait au départ.