Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Apporter un « patch » à un logiciel (patcher un logiciel) consiste à modifier directement le code exécutable de ce logiciel par l'application/l'injection de petits bouts de code à des emplacements cibles pour en modifier/corriger le comportement (en bien ou, par erreur, en mal).

Généralement (sauf dans les cas de langages de programmation « interprétés »), un logiciel est :

  1. Écrit dans un langage dit de « haut niveau ».

  2. Passe par une phase de compilation : traduction du langage « humain » en langage de bas niveau (langage proche de la machine)

  3. Passe par une phase dite d'édition des liens (établissement des liaisons avec des compléments standard de code, des bibliothèques externes)

  4. Pour produire un code (un binaire) exécutable.

Un « patch » consiste à injecter du code binaire directement dans le code final. Un « patch » consiste à directement modifier le binaire exécutable, probablement car le code source initial est perdu/n'existe plus. Ce genre de gymnastique n'est pas à la portée du premier programmeur venu. Il faut comprendre l'application dans son code binaire, un truc quasiment illisible/incompréhensible! On est à un ultra haut niveau humain qui entre dans l'ultra obscur bas niveau informatique.

  • Le terme « patch », à l'origine, est celui utilisé pour réparer une chambre à air, un bateau gonflable, un ballon, etc. (appliquer une « rustine »).

  • Plus tard, le terme « patch » est retrouvé en pharmacopée (on patche les fumeurs avec un timbre anti-tabagisme, etc.).



À l'époque des rubans perforés puis des cartes perforées des premiers supports de données pour les premiers ordinateurs, une perforation à boucher pour corriger/modifier quelque chose était « patchée » avec un bout de ruban adhésif (non transparent si lecture optique). Le « scotch » (ruban adhésif) a été inventé en 1930 et « Scotch » est une marque déposée de la société 3M.


Patch d'un ruban perforé d'un IBM Harvard Mark I de 1944.
Patch du ruban perforé d'un IBM Harvard Mark I de 1944.
Wikipedia - ArnoldReinhold - US Navy - Domaine public


Aujourd'hui, ajouter ou remplacer une section de code à une application est aussi appelée un « patch ».



Tout le monde, même s'il n'utilise pas Microsoft Windows, connaît le « mardi des patchs » (« patch Tuesday » - « Windows Update » - « mardi des correctifs »). Il a lieu mondialement tous les seconds mardis de chaque mois depuis le lancement de Windows 98 le 25 juin 1998. Il apporte des milliers de « patchs » (correctifs et améliorations) à Windows et, désormais, à tous les logiciels Microsoft installés sur un appareil.



Certains « patchs » sont des criminalités, en particulier lorsqu'il s'agit de contourner, inhiber, casser un mécanisme de protection (copyright) de quelque chose soumis/revendiquant un droit d'auteur et lorsqu'il s'agit de déployer une malveillance. Ces « cracks » sont simultanément, dans l'immense majorité des cas, si ce n'est tous, des virus ou attaques malveillantes particulièrement dangereux à totalement destructeurs.

Même certains documents (cours de hack, cours de crack, fabrication de bombes, rejoindre les talibans, etc.) et certains codes informatiques (outils de hack, outils de crack, etc.) sont considérés comme des cybercriminalités. Ceux qui les utilisent ne les conservent pas sur leurs appareils au risque de se faire repérer par des dispositifs d'analyse sécuritaire ou d'espionnage policiers. Ces fichiers sont généralement cachés dans des ordinateurs de personnes anodines ou sur des réseaux de partage en P2P.

Ces personnes anodines, hébergeurs à leur insu de ces documents, seront détectées, juridiquement poursuivies, et bien incapables de se défendre en plaidant l'ignorance, car :



« À l'audience, j'ai compris qu'on me reprochait de ne pas avoir sécurisé mon ordinateur. Le manque de protection est considéré comme une négligence et une faute ».

Lire : Risque juridique de complicité passive de l'internaute



  • Patch (modification d'un logiciel)