Comment le micropatching pourrait aider à gérer les vulnérabilités
Les innombrables vulnérabilités, connues, mais non corrigées, représentent un risque important et permanent pour les entreprises. Le micropatching peut contribuer à combler le manque de mises à jour de sécurité.
Les cybercriminels ne manquent pas d’attaquer et de compromettre avec succès des systèmes exécutant des logiciels contenant des vulnérabilités exploitables. Il existe une pléthore d’outils et de technologies défensives pour aider à détecter et à arrêter les cyberattaques, mais aucun ne répond à la faiblesse sous-jacente du code vulnérable qui expose les appareils et les systèmes à un risque permanent.
Pourquoi la gestion des correctifs est-elle si difficile ?
Il y a plusieurs raisons pour lesquelles les vulnérabilités sont corrigées si lentement ou pas du tout. Tout d’abord, les utilisateurs doivent attendre qu’un fournisseur analyse et corrige une faille, puis distribue une version corrigée de son logiciel.
De plus, si les mises à jour logicielles automatiques et semi-automatiques de sociétés telles que Microsoft, Apple, Adobe et Google aident énormément à maintenir à jour de nombreux logiciels courants, elles nécessitent souvent un redémarrage du système, ce qui peut ne pas être pratique ni même viable pour certaines entreprises. Les entreprises doivent également tester rigoureusement les mises à jour avant de pouvoir les déployer sur les systèmes de production, un processus complexe et fastidieux qui peut prendre des semaines, voire des mois.
L’autre grande raison pour laquelle les correctifs ne sont jamais appliqués est que les entreprises privilégient la productivité à la sécurité.
Qu’est-ce que le micropatching ?
L’un des moyens possibles de réduire le temps nécessaire à l’application d’un correctif est le micropatching, qui consiste à utiliser un minuscule morceau de code pour corriger une seule vulnérabilité, sans nécessiter de redémarrage du système. À l’instar d’un correctif ou d’une mise à jour technique Microsoft Quick Fix, un micropatch est appliqué à un système chaud, ou actif, sans nécessiter de temps d’arrêt ou d’indisponibilité.
Mais alors qu’une mise à jour hotfix traditionnelle résout généralement plusieurs problèmes et peut même ajouter de nouvelles fonctionnalités, un micropatch corrige un seul problème en utilisant le moins de lignes de code possible, dans le but de minimiser les effets secondaires susceptibles d’affecter la fonctionnalité de base. Cela signifie que le correctif lui-même peut être petit, consistant en de simples données sur les éléments suivants :
Les microcorrectifs sont actuellement disponibles principalement auprès de fournisseurs tiers, plutôt qu’auprès des éditeurs de logiciels originaux.
Avantages du micropatching
Les principaux avantages du micropatching sont les suivants :
- Rapidité. Un micropatch peut être déployé en quelques heures plutôt qu’en plusieurs semaines, car il faut beaucoup moins de temps pour tester si le patch interfère avec les fonctionnalités de base.
- Simplicité. Le fait que les micropatchs puissent être appliqués et retirés rapidement, localement ou à distance, simplifie également les tests de production.
- Disponibilité. Le micropatching ne nécessite pas de temps d’arrêt, car il ne remplace ni ne modifie les fichiers exécutables et en cours d’exécution. Le correctif est plutôt appliqué en mémoire, ce qui peut être fait sans avoir à redémarrer le logiciel ou le système, permettant ainsi aux utilisateurs et aux systèmes critiques de continuer à travailler sans être dérangés. Cette technique, appelée « function hooking », existe depuis un certain temps. Dans le cas du micropatching, l’accrochage de fonction est utilisé pour injecter le code du correctif à un moment du processus d’exécution afin que le logiciel contourne le code vulnérable.
Certains partisans du micropatching affirment également qu’il permet de sécuriser les produits anciens en fin de vie et non supportés, tels qu’Office 2010, Java Runtime Environment, Windows 7 et Server 2008 R2, et de les utiliser en toute sécurité, même si les éditeurs d’origine ont cessé de les supporter.
Dans l’ensemble, la rapidité, la facilité et la discrétion du micropatching peuvent contribuer à réduire l’écart entre les mises à jour de sécurité. Ainsi, les pirates ont plus de mal à utiliser les vecteurs d’attaque les plus courants, tels que les débordements de mémoire tampon et l’injection de bibliothèques à chargement dynamique.
Risques et limites du micropatching
Le micropatching ne peut pas encore corriger les failles logiques dans la conception d’une application ou les vulnérabilités dans le code script, comme PHP et Python, car le code n’est interprété qu’au moment de l’exécution.
En outre, si le micropatching permet aux fournisseurs et aux développeurs de fournir rapidement et automatiquement des correctifs aux utilisateurs, les équipes de sécurité doivent être en mesure de valider la fiabilité d’un correctif avant de pouvoir le déployer.
Officiellement, les correctifs traditionnels des fournisseurs proviennent de serveurs fiables et sûrs. Mais en l’absence d’une infrastructure de confiance similaire, il n’y a aucun moyen d’être sûr qu’un micropatch provenant d’un fournisseur tiers n’ajoute pas de code malveillant ou ne permet pas d’accéder à des API et des données sensibles.
De plus, comme de nombreux fournisseurs de logiciels considèrent actuellement le micropatching comme un correctif hors bande non autorisé, il pourrait enfreindre leurs conditions de licence.
Micropatching en tant que service
Certaines sociétés commencent à se spécialiser dans la fourniture de micropatching en tant que service pour certains systèmes d’exploitation, en surveillant les vulnérabilités récemment découvertes ou divulguées, et en publiant des micropatchs pour celles-ci. L’exemple le plus notable et le plus connu est 0patch d’Acros Security, basé en Slovénie.
Les systèmes abonnés à un tel service peuvent télécharger les nouveaux micropatchs dès qu’ils sont disponibles. Un tableau de bord d’administration montre tous les appareils associés, et les administrateurs peuvent décider d’appliquer automatiquement un correctif à tous ces appareils ou seulement à certains groupes, comme les appareils non critiques ou de test. Ils peuvent également choisir d’attendre et de déclencher manuellement l’installation après avoir testé avec succès le micropatch.
L’avenir du micropatching
Une solide stratégie de gestion des correctifs augmente considérablement la résistance d’un environnement informatique aux attaques. Pour autant, les équipes chargées de la sécurité ont toujours du mal à déployer les correctifs en temps voulu, de manière sûre et évolutive.
De plus, les applications anciennes dont le code source est perdu ou mal documenté posent des problèmes supplémentaires, ce qui fait que des logiciels vieillissants, mais essentiels à l’activité d’une entreprise restent indéfiniment sans correctif.
Le micropatching pourrait aider considérablement. Mais il reste encore du chemin à parcourir avant qu’il ne devienne une option répandue, même si les leaders du secteur prennent déjà le micropatching au sérieux.
Par exemple, la DARPA américaine a lancé le programme Assured Micropatching (AMP). En collaboration avec des chercheurs d’organisations telles que le Center for Cybersecurity and Digital Forensics de l’université d’État de l’Arizona, l’AMP vise à favoriser le patching rapide des binaires existants dans les systèmes critiques.
Si un écosystème fiable et de confiance se développe pour créer des micropatchs pour tous les principaux systèmes d’exploitation et produits logiciels, la gestion des correctifs pourrait devenir beaucoup plus rapide et facile. Ce qui, à son tour, rendrait la vie beaucoup plus difficile aux cybercriminels.