Qu’est-ce qu’un micrologiciel ?
Nous parlons souvent de matériel et de logiciel, mais qu’en est-il de la colle qui les lie ? Le micrologiciel (firmware) est la clé qui permet à votre matériel de faire les tâches que vous demandez au logiciel. Dans cet article, nous verrons ce qu’est un micrologiciel, comment il fonctionne et pourquoi vous devez le mettre à jour.
Sommaire
- Qu’est-ce qu’un micrologiciel ?
- Comment fonctionne un micrologiciel ?
- Types de micrologiciels
- Micrologiciel ou logiciel
- Exemples de micrologiciels
- Qu’est-ce qu’une mise à jour du micrologiciel ?
- Pourquoi les mises à jour du micrologiciel sont-elles importantes ?
- Comment éviter les attaques de micrologiciel ?
Qu’est-ce qu’un micrologiciel ?
Le micrologiciel est un type de programme intégré au matériel par le fabricant pour aider l’appareil à démarrer et à fonctionner correctement. Tous les appareils informatiques, allant des gadgets IoT aux claviers ou superordinateurs, disposent d’un micrologiciel. Sans lui, un appareil n’est qu’une collection de pièces électroniques individuelles sans instructions pour fonctionner ensemble.
Le micrologiciel joue un rôle essentiel dans le bon fonctionnement de l’appareil. Il est donc généralement stocké dans la mémoire non volatile de l’appareil, une mémoire statique à accès aléatoire qui n’a pas besoin d’une source d’énergie continue pour conserver l’information. De cette manière, l’appareil peut retrouver toutes ses fonctionnalités, même si sa batterie est déchargée ou s’il y a une coupure de courant.
La plupart des micrologiciels sont propriétaires, mais le terme “firmware” ne fait pas référence à la programmation détenue par des “firmes”. Le terme a probablement été inventé par Ascher Opler dans l’article de Datamation de 1967 intitulé “Fourth-Generation Software” pour décrire le microcode placé entre les composants physiques “durs” et la programmation “molle” – ferme (firm en anglais), mais pas inflexible.
Les micrologiciels fonctionnent en émettant des instructions en langage machine de niveau inférieur aux composants de l’appareil. Leur objectif est de permettre à l’appareil de fonctionner.
Voici comment : lorsque vous mettez l’appareil en marche, son micrologiciel commence automatiquement à envoyer des instructions au processeur. Ces instructions vont de la vérification du fonctionnement de tous les composants matériels (autotest de mise sous tension ou POST) à la désignation des programmes à charger dans la mémoire et à exécuter.
Pour les appareils simples qui n’ont pas de logiciel (comme une souris d’ordinateur), le micrologiciel continue à fonctionner pour fournir des fonctionnalités à l’utilisateur. Mais pour les appareils plus complexes (comme un smartphone, une tablette ou un ordinateur portable), le micrologiciel sert à charger le système d’exploitation. Une fois que c’est fait, il passe au second plan par rapport au logiciel installé.
Types de micrologiciels
Chaque version de micrologiciel est unique à son microprocesseur. Les instructions sont conçues pour un modèle d’appareil particulier et ne fonctionneront pas si elles sont installées sur un autre. Il est toutefois possible de distinguer plusieurs grands types de micrologiciels intégrés en fonction du niveau d’architecture de la machine dans laquelle ils opèrent.
Micrologiciel de bas niveau
Comme son nom l’indique, le micrologiciel de bas niveau s’occupe des fonctions les plus élémentaires nécessaires au fonctionnement de l’appareil. C’est l’équivalent d’un cœur pour la machine.
Les micrologiciels de bas niveau sont généralement conservés dans une mémoire à lecture seule (ROM), qui ne peut pas être écrasée une fois qu’elle a été définie. Cela signifie que le micrologiciel de bas niveau ne peut jamais être supprimé par l’utilisateur. En effet, il s’agit d’une partie intrinsèque de l’appareil, au même titre que ses composants physiques.
Micrologiciel de haut niveau
Les micrologiciels de haut niveau sont généralement construits au-dessus des micrologiciels de bas niveau et se concentrent sur la mise en œuvre de fonctions machine plus avancées. Pour reprendre notre exemple de micrologiciel de bas niveau, c’est l’équivalent du système nerveux central de notre propre corps.
Les micrologiciels de haut niveau résident généralement dans des puces de mémoire flash, ce qui signifie qu’ils peuvent être écrasés. Lorsque nous parlons de mise à jour du micrologiciel, nous parlons spécifiquement de l’installation de nouvelles versions du micrologiciel de haut niveau afin d’améliorer la fonctionnalité et la sécurité de l’appareil.
Micrologiciel du sous-système
Les sous-systèmes sont des composants semi-indépendants (voire des dispositifs entiers) au sein de systèmes plus vastes. En tant que tel, le micrologiciel du sous-système doit non seulement garantir que son hôte fonctionne correctement de manière autonome, mais aussi qu’il est capable d’interagir avec les autres parties pour soutenir le système parent.
Dans notre analogie avec le corps humain, les micrologiciels des sous-systèmes seraient installés dans les reins, le diaphragme ou le foie : ils sont essentiels à notre bien-être, mais fonctionnent très bien sans que nous ayons à intervenir directement.
Les micrologiciels de sous-systèmes sont souvent intégrés dans des puces flash, des unités centrales de traitement (CPU) ou des unités d’affichage à cristaux liquides (LCD) de leur sous-système hôte. Comme les micrologiciels de haut niveau, ceux des sous-systèmes peuvent être mis à jour par le fabricant pour améliorer les fonctionnalités, le plus souvent pour permettre au composant d’interagir avec un nouveau dispositif matériel qui a été installé.
Micrologiciel ou logiciel
Après avoir lu ce qui précède, vous vous dites peut-être que si les micrologiciels et les logiciels font tous deux référence à la programmation qui indique à une machine ce qu’elle doit faire, ne sont-ils pas fondamentalement identiques ? Bien qu’ils soient superficiellement similaires, les micrologiciels et les logiciels se distinguent par des différences importantes.
- Accès des utilisateurs. Le fabricant cache intentionnellement le micrologiciel à l’utilisateur. Il est facile de comprendre pourquoi : si l’utilisateur manipule le micrologiciel, il risque de faire dysfonctionner son appareil, qui ne sera plus qu’un coûteux cale-papier. Pour accéder au micrologiciel de votre appareil, vous avez besoin d’outils spéciaux, tels que le rootkit du micrologiciel ou des clés USB fournies par le fabricant. En revanche, il est généralement possible d’inspecter, voire de modifier le code d’un logiciel à l’aide des outils déjà présents sur la plupart des systèmes d’exploitation.
- Fonctionnement. Les micrologiciels interagissent directement avec le matériel en utilisant un code machine de bas niveau, c’est-à-dire des instructions binaires que l’appareil peut comprendre sans avoir besoin de les traduire. Les logiciels, en revanche, sont écrits dans des langages de programmation de haut niveau par des êtres humains et doivent être traduits en code binaire pour que le matériel puisse exécuter la fonction souhaitée. Le système d’exploitation communique les demandes des logiciels aux micrologiciels, qui à leur tour indiquent aux éléments physiques de la machine ce qu’ils doivent faire.
- Stockage. Comme nous l’avons déjà évoqué, les micrologiciels sont tellement essentiels au bon fonctionnement d’un appareil qu’ils sont stockés en permanence dans la mémoire non volatile de ce dernier. Le fait qu’il consiste généralement en de simples instructions ne nécessitant aucun élément visuel (parce qu’il n’est pas destiné à l’œil humain) signifie également que le micrologiciel occupe très peu d’espace. En revanche, votre appareil stocke généralement les logiciels sur un disque dur (ou un disque à semi-conducteurs), où vous pouvez les désinstaller à volonté. Certaines applications logicielles peuvent également occuper plusieurs gigaoctets d’espace en raison des images, des sons et des vidéos qu’elles contiennent.
Exemples de micrologiciels
Nous savons déjà que les microprogrammes sont présents dans tous les appareils informatiques. En résumé, si un appareil est plus compliqué qu’un interrupteur ou une ampoule, il est géré par un micrologiciel. Pour comprendre à quel point ces logiciels sont omniprésents, en voici quelques exemples que vous rencontrerez certainement dans votre vie quotidienne.
- Votre ordinateur portable. Un ordinateur personnel (PC) a besoin d’un micrologiciel pour charger le système d’exploitation et s’assurer que tout est prêt pour son utilisation. Ce micrologiciel est généralement intégré à une petite puce de mémoire qui se trouve sur la carte mère de l’ordinateur. Les types de micrologiciels les plus courants utilisés pour les PC sont le système d’entrée/sortie de base (BIOS) et l’interface micrologicielle extensible (EFI).
- Votre voiture. Les voitures modernes ne sont plus de simples voitures sans chevaux. Chaque modèle est un ensemble de minuscules ordinateurs chargés de gérer ses différents sous-systèmes. Chacun de ces composants, du système de climatisation aux capteurs de proximité de votre voiture, est équipé d’un micrologiciel pour fonctionner correctement.
- Votre téléphone. Les téléphones mobiles sont en fait de petits ordinateurs de poche. Les systèmes d’exploitation des appareils mobiles (tels qu’Android, iOS ou Linux) dépendent d’un micrologiciel pour charger correctement tous les systèmes.
- Votre frigo. Les appareils ménagers connectés (comme la plupart des réfrigérateurs modernes) sont dotés d’un micrologiciel qui garantit que les différents sous-systèmes fonctionnent en harmonie et peuvent réagir à toute modification des paramètres de l’utilisateur.
Qu’est-ce qu’une mise à jour du micrologiciel ?
Une mise à jour du micrologiciel (ou mise à niveau du micrologiciel) consiste à remplacer la version existante du micrologiciel par une version plus récente, généralement pour éliminer des bugs ou corriger des failles de sécurité. Comme nous l’avons vu, vous ne pouvez mettre à jour que les micrologiciels de haut niveau et les sous-systèmes, les micrologiciels de bas niveau sont des éléments permanents de votre appareil.
La mise à jour d’un micrologiciel s’effectue généralement par flashing, c’est-à-dire en effaçant la version du micrologiciel stockée sur la puce mémoire et en la remplaçant par une version différente. Il convient de noter que ce processus diffère de la correction des logiciels, qui peut n’impliquer que de petites modifications du code existant, sans qu’il soit nécessaire de supprimer entièrement l’application.
Le micrologiciel étant à la base de toutes les opérations de l’appareil, vous ne pouvez généralement pas l’installer pendant que votre système d’exploitation fonctionne. Cela reviendrait à retirer la nappe pendant que tout le monde est en train de dîner. Dans certains cas, vous devrez même connecter votre appareil à une machine externe disposant d’une copie du micrologiciel pour lancer le processus.
Pourquoi les mises à jour du micrologiciel sont-elles importantes ?
Les mises à jour de micrologiciels sont importantes parce que, tout simplement, elles permettent à vos appareils de rester adaptés, même si la technologie qui les entoure continue d’évoluer. Voici quelques exemples de la manière dont une mise à jour du micrologiciel peut aider votre appareil à mieux fonctionner au fil du temps.
- Mises à jour de sécurité. Si les micrologiciels sont généralement invisibles pour les utilisateurs ordinaires, cela ne signifie pas pour autant qu’ils ne peuvent pas être compromis. Un hacker pourrait utiliser un malware ou des exploits pour installer une version modifiée du micrologiciel sur votre appareil, prenant ainsi le contrôle des fonctions les plus élémentaires de votre appareil. Les mises à jour de micrologiciels permettent d’éviter ce scénario cauchemardesque en éliminant les vulnérabilités découvertes ou en renforçant les défenses contre les vecteurs d’attaque nouvellement découverts.
- Correction de bugs. Parfois, le plus grand danger pour votre appareil n’est pas la malveillance, mais la négligence. Même les programmeurs les plus talentueux peuvent laisser des erreurs dans le code qui peuvent entraîner un comportement erratique de votre appareil ou simplement le faire tomber en panne. Ces bugs sont généralement découverts et signalés par les utilisateurs après la commercialisation du produit, ce qui incite le fabricant à corriger le problème et à publier une mise à jour du micrologiciel pour l’appareil en question.
- Fonctionnalité améliorée. Avec le développement de nouvelles technologies, votre appareil peut se trouver dans l’incapacité d’interagir avec les gadgets ou sous-systèmes les plus récents. Une mise à jour du micrologiciel ne transformera pas par magie votre port mini-USB en port USB-C, mais elle peut aider votre PC à reconnaître votre nouvelle carte graphique ou donner à votre CD-ROM la possibilité de graver de nouveaux types d’images.
Comment éviter les attaques de micrologiciel ?
Selon une étude réalisée par Microsoft en 2021, plus de 80% des entreprises interrogées ont admis avoir subi au moins une attaque de micrologiciel au cours des deux dernières années. Les attaques de micrologiciels réussies peuvent complètement bloquer votre appareil ou, pire encore, le détourner au profit des intérêts du pirate. Pour prévenir les attaques de micrologiciels, suivez les conseils suivants.
Mettez régulièrement à jour votre micrologiciel
Les mises à jour des micrologiciels sont essentielles si vous souhaitez protéger votre appareil contre des menaces telles que les attaques PDoS. Les fabricants publient souvent des correctifs de sécurité dès qu’une nouvelle vulnérabilité est découverte afin de prévenir les attaques de micrologiciels contre leurs produits.
Pour protéger vos gadgets, prenez l’habitude de consulter régulièrement la page du fabricant pour y trouver de nouvelles mises à jour. Mais attention : comme chaque modèle utilise une version différente du micrologiciel, veillez à ne télécharger que la mise à jour correspondant à votre appareil. L’installation d’une mauvaise mise à jour peut aboutir au même résultat qu’une attaque réussie du micrologiciel, vous laissant avec un appareil défectueux.
Téléchargez des mises à jour à partir de sources fiables
Les fabricants tiennent à protéger leur réputation. Ils ne cachent pas les mises à jour des micrologiciels derrière des menus complexes ou des dispositifs payants : dès qu’un correctif de sécurité ou une correction de bug est disponible, il est rapidement mis à disposition pour être téléchargé. En enregistrant votre matériel sur le site officiel du fabricant, vous recevrez des notifications automatiques lorsqu’une nouvelle version du micrologiciel sera publiée pour votre appareil.
Le téléchargement de mises à jour de micrologiciels à partir de sources non officielles est non seulement inutile, mais il vous expose également à des risques similaires à ceux du piratage de logiciels : vous ne pouvez pas être sûr à 100 % que ce que vous téléchargez n’est pas un logiciel malveillant déguisé ou qu’il corresponde à la description qui en est faite.
Soyez prudent lorsque vous utilisez des dispositifs de stockage
Vous pouvez stocker les données des microprogrammes sur des clés USB et des disques durs externes pour gagner de la place et faciliter le processus de mise à jour. En fait, certains appareils n’autorisent les mises à jour de leurs micrologiciels qu’à partir de supports externes connectés. Le problème, c’est que les dispositifs de stockage peuvent tout aussi bien abriter des mises à jour de micrologiciels corrompues qui compromettront votre appareil.
Les criminels laissent des supports de stockage sans surveillance, comme des clés USB, dans des lieux publics en espérant que des victimes curieuses les brancheront pour en vérifier le contenu. Une fois insérée, la clé révèle sa composition et tente d’infecter votre appareil avec un logiciel malveillant. Elle peut aussi lancer directement une mise à jour dangereuse du micrologiciel.
Utilisez un micrologiciel avec des défenses automatiques
Alors que les attaques contre les micrologiciels gagnent du terrain, les fabricants ont commencé à riposter en intégrant la sécurité des micrologiciels. Le mécanisme de défense le plus courant est l’activation des mises à jour automatiques, qui corrigent les failles de sécurité identifiées sans l’intervention de l’utilisateur (et parfois même à son insu). Parmi les exemples de sécurité des microprogrammes, on peut citer l’Enhanced BIOS Verification de Dell et le Hardware Shield d’Intel.
Protégez jusqu’à 10 appareils avec un seul compte.
Testez NordVPN dès maintenant !
Comment fonctionne un micrologiciel ?