Un firmware, ou « logiciel du matériel », est un code intégré aux dispositifs pour assurer leur bon fonctionnement. Le firmware est régulièrement mis à jour afin de corriger des problèmes, ajouter des fonctionnalités ou améliorer la compatibilité avec de nouvelles technologies.
De nombreux appareils tels que les téléviseurs, les appareils photo, les téléphones portables, les imprimantes ou encore les lecteurs, ont besoin d’un firmware pour fonctionner. Ce dernier est situé dans la mémoire non volatile de l’appareil, où le contenu peut être stocké lorsque ce dernier est éteint.
Le firmware peut être écrit sur différents types de mémoire comme la mémoire vive (RAM), la mémoire en lecture seule (ROM), la mémoire en lecture seule programmable effaçable (EPROM) et la mémoire flash.
Les firmwares aident les appareils à remplir les fonctions prévues de plusieurs manières importantes, notamment en fournissant des instructions sur la manière dont l’appareil doit démarrer, interagir avec les autres appareils, tels que les routeurs Internet ou les télécommandes, et effectuer les tâches d’entrée/de sortie critiques (E/S).
De nombreux fabricants de dispositifs matériels tels qu’Apple, LG Electronics et Microsoft, intègrent les firmwares dans leurs produits afin qu’ils fonctionnent comme le système d’exploitation (OS) d’un ordinateur.
Le terme «firmware » aurait été utilisé pour la première fois par le scientifique américain Ascher Opler en 1967 pour décrire un programme qui, selon lui, se situe à mi-chemin « entre le matériel et les logiciels1 ».
Aujourd’hui, les firmwares sont un élément essentiel de nombreux appareils, présent sur votre iPhone, Mac ou télécommande, mais aussi sur les capteurs complexes de l’Internet des objets (IdO) au niveau des satellites et des voitures autonomes.
Bien que les firmwares et les logiciels soient similaires, il existe des différences importantes à prendre en compte pour évaluer l’adéquation avec un besoin métier.
La façon la plus simple de comprendre la différence entre les firmwares et les softwares réside dans leurs objectifs spécifiques : alors que les firmwares ont été conçus pour aider les appareils à démarrer et à communiquer entre eux, les softwares sont principalement utilisés pour l’interaction.
Le firmware permet de contrôler les appareils grand public, tels que les téléphones et les téléviseurs. Les fabricants mettent fréquemment à jour les firmwares pour ajouter de nouvelles fonctionnalités, améliorer la sécurité et se protéger contre les vulnérabilités.
Comme le savent tous les utilisateurs de téléphones Android ou iOS, ou même de téléviseurs intelligents et de consoles de jeux, les mises à jour des versions du firmware doivent être téléchargées et installées régulièrement, sans quoi les performances de l’appareil s’en trouveront affectées.
Le software, quant à lui, est installé sur un appareil pour améliorer l’interaction de l’utilisateur avec des activités telles que la navigation sur Internet, la consultation des e-mails, le traitement de texte, le visionnage de vidéos, la diffusion de musique en continu, etc.
Le software n’est pas aussi étroitement lié au matériel que le firmware , et a besoin de ce dernier pour communiquer avec le matériel auquel il fournit les fonctions.
Les firmwares sont essentiels au bon fonctionnement des appareils que nous tenons pour accorder dans notre travail et notre vie personnelle, tels que les ordinateurs personnels (PC), les smartphones, les consoles de jeu, etc. La plupart des utilisateurs de ces appareils connaissent bien le firmware grâce à des « mises à jour de firmwares» fréquentes, nécessaires pour assurer le bon fonctionnement de leurs appareils.
Les mises à jour des firmwares, qui sont composées de code informatique, sont souvent publiées pour corriger les menaces pouvant avoir un impact sur la performance des appareils, telles que les bogues ou les piratages.
Mais elles peuvent également être publiées pour ajouter une nouvelle fonctionnalité à un appareil, comme un moyen d’interagir avec un nouveau type de média.
Parmi les mises à jour de firmware, citons l’ajout de fonctionnalités de sécurité à un routeur Internet, l’amélioration de la fonction de navigation d’une application de streaming vidéo, ou encore la mise à jour du système d’exploitation qui permet à la carte système des ordinateurs de prendre en charge un nouveau type de processeur.
Étant donné qu’aujourd’hui, la plupart des appareils sont connectés à Internet, le téléchargement des mises à jour à distance, ou « over the air », permet désormais aux fabricants de publier les mises à jour des firmwares.
La plupart programment la capacité à mettre à jour le firmware, et l’utilisateur reçoit simplement une notification. D’autres appareils exigent toujours que les utilisateurs se rendent sur le site Web du fabricant pour télécharger le code nécessaire.
La fréquence des mises à jour du firmware dépend du type d’appareil pour lequel il a été conçu. Les smartphones, par exemple, combinent généralement les mises à jour des firmwares et des logiciels pour assurer leur bon fonctionnement (système d’exploitation compris).
Parce que les firmwares sont essentiels au bon fonctionnement d’un grand nombre d’appareils importants, ils sont devenus une cible privilégiée des pirates informatiques.
Les périphériques matériels qui reposent sur un firmware présentent de nombreuses vulnérabilités, car ils utilisent fréquemment le même code. Les ordinateurs portables, par exemple, qui contiennent souvent des informations professionnelles sensibles, s’appuient sur le firmware pour alimenter leur batterie, leurs cartes son et vidéo, leur webcam et bien plus encore, ce qui en fait des cibles particulièrement attrayantes.
Le piratage de firmware implique souvent le déploiement d’un logiciel malveillant, c’est-à-dire un code qui a été écrit pour nuire au système d’un ordinateur ou à l’utilisateur en se reliant au firmware.
Les types de logiciels malveillants les plus courants sont les rançongiciels, qui prennent en otage les données de l’utilisateur, les chevaux de Troie, qui échappent à la détection en se faisant passer pour un programme légitime, et les logiciels espions, qui volent des informations sensibles concernant l’utilisateur.
Les pirates ont rarement besoin d’accéder physiquement à la machine pour l’exploiter. Ils peuvent y accéder à distance par le biais d’une connexion Bluetooth ou Wi-Fi, de plus en plus populaires à mesure que le nombre d’appareils disposant d’une connexion Internet augmente.
Des mauvaises fonctionnalités de sécurité des firmware peuvent entraîner le vol ou la compromission des données sensibles des utilisateurs, et permettre à des acteurs malveillants de prendre le contrôle à distance sur la machine d’un utilisateur. Par exemple, en juin 2024, Google a émis un avertissement indiquant qu’un problème lié au firmware de son Pixel le rendait vulnérable aux attaques et qu’il n’existait aucun correctif connu2.
Les entreprises, de plus en plus conscientes du risque de vulnérabilité des firmware, prennent des mesures accrues pour empêcher l’exploitation de leurs systèmes en raison des nombreux avantages de ces firmwares.
Performances améliorées sans nouveau matériel : les mises à jour des firmwares permettent aux appareils d’acquérir de nouvelles capacités sans modifier l’appareil ni son architecture. De nombreuses mises à jour de firmware améliorent les temps d’exécution et d’instruction du code sous-jacent d’un appareil et contribuent à optimiser ses performances.
Expérience utilisateur améliorée : les mises à jour des firmwares offrent aux utilisateurs de nouvelles fonctionnalités, des programmes informatiques et des fonctions pour les activités dont ils dépendent, telles que la consultation du solde de leurs comptes, l’enregistrement d’une émission sur leur Smart TV ou la liste des courses à acheter en connectant leur réfrigérateur intelligent à une application via les capacités IdO.
Résolution accélérée : les mises à jour des firmwares permettent de résoudre rapidement de nombreux problèmes courants, notamment les temps de démarrage et de traitement, les fonctions multitâches et la compatibilité avec les appareils externes.
Fonctions des composants : les mises à jour des firmwares permettent de garantir que tous les composants périphériques d’un appareil, tels que les haut-parleurs et les microphones d’un smartphone, fonctionnent comme il se doit, permettant à l’appareil de fonctionner de manière optimale.
Réduction des coûts de réparation : maintenir à jour le firmwares des appareils permet de réduire la probabilité qu’ils soient infectés par des bogues et qu’ils nécessitent des correctifs ou des réparations coûteuses.
Le firmware est installé sur l’appareil au cours de sa fabrication. Principalement, il facilite la communication entre le système d’exploitation et le matériel de l’appareil. Le firmware contient de nombreuses instructions qui sont essentielles au bon fonctionnement de l’appareil. L’unité centrale de traitement (CPU) de l’ordinateur, l’endroit où l’entrée (données) est transformée en sortie (informations), récupère le firmware dans la mémoire de l’ordinateur et l’exécute.
Les firmwares sont utilisés sur de nombreux appareils que nous utilisons tous les jours. Son cas d’utilisation le plus courant est peut-être la veille d’un appareil après une longue période d’inactivité. Une fois que vous êtes endormi, par exemple, et que vous avez regardé votre téléphone pour vérifier vos messages, le firmware vous aide à savoir si votre appareil fonctionne correctement.
Pour conserver les informations lorsqu’elles ne sont pas utilisées, un appareil stocke le firmware dans sa mémoire « non volatile ». Au fur et à mesure que la complexité des tâches requise a augmenté, le firmware a adopté certaines des caractéristiques du matériel informatique, à savoir l’utilisation de la mémoire flash et d’un système d’entrée/sortie de base, ou BIOS.
Étant donné que de nombreux appareils doivent conserver des informations lorsqu’ils sont éteints, les firmwares stockent généralement les données dans la mémoire « non volatile » ou « en lecture seule » (ROM) d’un système, également appelée mémoire flash.
Ce type de mémoire est utilisé dans un large éventail d’appareils portables tels que les clés USB, les smartphones, les appareils photo numériques, les ordinateurs portables, etc., et il est essentiel aux fonctions du firmware.
Depuis peu, la mémoire flash offre les mêmes capacités que les ordinateurs. Par exemple, lorsqu’un ordinateur démarre, il passe par une séquence connue sous le nom de système d’entrée/sortie de base, ou BIOS.
Le premier firmware à exécuter une séquence BIOS utilisait une puce ROM, mais les systèmes sont maintenant passés à l’utilisation de la mémoire flash pour le BIOS, afin que les données puissent être réécrites sans que la puce ait besoin d’être retirée de la carte système et réinsérée une fois qu’elle a été reprogrammée.
Outre les changements dans la manière dont les firmware utilisent et stockent la mémoire, les types de firmwares mis à la disposition des utilisateurs ont également évolué. Aujourd’hui, les firmwares peuvent être classés en trois groupes principaux, définis par leur architecture :
Les firmwares de bas niveau sont intrinsèques au matériel de l’appareil et sont stockés sur des puces non volatiles, en lecture seule, comme la ROM, qui ne peuvent pas être mises à jour. Les appareils qui s’appuient sur un firmwares de bas niveau utilisent une mémoire qui ne peut être écrite qu’une seule fois et jamais reprogrammée.
Les firmwares de haut niveau sont des firmware qui ne peuvent pas être mis à jour en raison de la complexité de leur matériel. Dans un ordinateur, le firmware de haut niveau, contenu dans des puces de mémoire flash, est chargés de tâches plus avancées que celles des firmware de bas niveau. Les firmware de haut niveau contiennent des instructions importantes sur le fonctionnement de l’appareil et l’interaction de ses différents composants.
Le firmware du sous-système est contenu dans ce que l’on appelle un « système embarqué », c’est-à-dire une combinaison matériel-logiciel conçue pour une utilisation ou une tâche donnée. Les firmware de sous-système sont similaires aux firmwares de haut niveau en termes de complexité et d’adaptabilité. Comme les firmwares de haut niveau, les firmwares de sous-système peuvent être facilement mis à jour.
Le firmware est utilisé dans un large éventail d’appareils critiques à la transformation numérique, et a donc de nombreuses applications utiles pour l’entreprise moderne. Voici quelques-unes des utilisations les plus courantes des firmwares dans l’entreprise :
Ordinateurs personnels
Les ordinateurs personnels (PC) s’appuient sur un firmware pour conserver les données critiques lorsqu’ils sont éteints, ainsi que sur les spécifications BIOS et Unified Extensible Firmware Interfaces (UEFI) pour l’interface logicielle entre un système d’exploitation et un firmware.
En général, ces fonctionnalités sont intégrées sur une puce de mémoire sur la carte système d’un ordinateur. En outre, les composants PC courants, tels que les cartes graphiques et les cartes vidéo, reposent également sur des firmware pour fonctionner.
Dispositifs de stockage des données
Les clés USB, les disques durs externes et autres périphériques de stockage de données portables nécessitent un firmware pour fonctionner. Le firmware est intégré aux puces de mémoire flash sur lesquelles s’appuient de nombreux périphériques de stockage de données modernes et peut être mis à jour facilement contrairement aux firmwares contenus dans la ROM ou l’EPROM.
Smartphones
Le fonctionnement des smartphones repose en grande partie sur les firmwares.
Les firmwares permettent non seulement de s’assurer que le smartphone démarre après un certain temps d’inutilisation, mais aussi que les composants critiques interagissent les uns avec les autres comme prévu. Enfin, pour que les correctifs, les fonctions de sécurité et les nouvelles capacités du smartphone fonctionnent comme prévu, les mises à jour du firmware doivent être téléchargées régulièrement sur Internet.
Voitures
De nombreuses voitures conçues au cours des dix dernières années sont équipées d’ordinateurs qui s’appuient sur des firmwares pour effectuer des tâches critiques.
Différents types de firmwares sont utilisés dans divers systèmes automobiles, notamment les unités de contrôle du moteur (ECU) qui optimisent les performances du moteur et le rendement énergétique, ainsi que les systèmes d’information et de divertissement (infotainment) de plus en plus complexes qui assistent la navigation et les caméras installées sur de nombreuses voitures.
Appareils Internet des objets (IdO)
L’Internet des objets (IdO) désigne un réseau d’appareils physiques, de véhicules, de dispositifs et d’autres objets physiques disposant de capteurs, de logiciels et d’une connectivité réseau leur permettant de collecter et de partager des données.
Les firmwares sont essentiels à de nombreux cas d’utilisation des technologies IdO, tels que les appareils électroménagers intelligents, les voitures autonomes, les villes et les usines plus intelligentes, et bien d’autres encore.
Sur un appareil IdO, tel qu’un capteur transmettant des données via Internet, le firmware contient des instructions critiques stockées en permanence dans le matériel qui permettent à l’appareil de s’allumer et de s’arrêter, de collecter, d’analyser et de transmettre des données, etc.
1. Firmware (lien externe à ibm.com), Wikipedia
2. Google Warns of Pixel Firmware Security Flaw Exploited as Zero-Day (lien externe à ibm.com), The Hacker News, 13 juin 2024
IBM Cloud Infrastructure Center est une plateforme logicielle compatible avec OpenStack pour gérer l’infrastructure de clouds privés sur IBM zSystems et IBM LinuxONE.
Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour votre stratégie d’entreprise en matière de cloud hybride et d’IA.
Trouvez la solution d’infrastructure cloud adaptée aux besoins de votre entreprise et ajustez les ressources en fonction de la demande.