- Microgiciel
-
Micrologiciel
Un micrologiciel, également désigné sous l'anglicisme firmware, ou parfois logiciel interne, embarqué ou d'exploitation, est un logiciel (software en anglais) qui est intégré dans un composant matériel (hardware en anglais).
Sommaire
Description
La mémoire dans laquelle réside le micrologiciel peut être :
- non volatile, donc stockant le programme et les données même lorsqu'elle n'est pas alimentée en électricité. C'est le cas le plus courant.
- volatile, donc effacée lorsqu'elle n'est plus alimentée en électricité. Dans ce cas, le micrologiciel est généralement chargé par un pilote à la mise sous tension.
Dans la plupart des cas ce logiciel gère le fonctionnement local du système électronique.
D'une manière générale, le micrologiciel cumule les avantages du logiciel, dont la souplesse est maximale puisqu'il est aisé de le modifier, et du matériel, dont le coût mais aussi la souplesse sont moindres. Cette organisation apparaît clairement dans les noms en anglais : soft > firm > hard (-ware). Dans ce contexte, quand on oppose « logiciel » et l'anglicisme « firmware » (qui est un type de logiciel) on considère que « logiciel » signifie « logiciel de haut niveau exécuté par le processeur ». De son côté, le micrologiciel interagit avec des composants matériels qui ne peuvent plus être modifiés une fois fabriqués, ce qui réduit la nécessité de le mettre à jour.
Mise à jour
L'utilisateur final n'a d'ordinaire pas accès directement au micrologiciel mais peut parfois le modifier par l'installation de mises à jour pour profiter d'améliorations ou de corrections de bogues. Pour cela il faut que le micrologiciel réside dans certains types de mémoires ROM « reprogrammables », le plus souvent il s'agit de d'EEPROMs ou, depuis le milieu des années 1990, de mémoire flash (c'est-à-dire des EEPROMs rapides).
Sécurité des firmwares
Les firmwares sont susceptibles d'être la cible d'actions malicieuses visant à rendre l'appareil inopérant ou à l'utiliser afin de s'introduire dans un réseau. Durant l'EUsecWest 2008, Rich Smith a mis en avant la possibilité de lancer une Attaque par déni de service permanent[1] via une faille de sécurité sur les systèmes de mises à jour des firmwares des équipements faibles[2].
Si une telle faille peut-être exploitée afin de déployer une attaque par déni de service permanente il est alors envisageable d'exploiter cette faille pour introduire une backdoor et s'introduire dans le système d'information[3].
Il est à noté que pour ce genre d'attaques ce sont souvent des équipements constamment en fonctionnement qui sont la cible de telles attaques.
Exemples de micrologiciel
Les BIOS
Article détaillé : BIOS.Les BIOS présents dans les ordinateurs de type PC sont des micrologiciels.
On peut noter une petite subtilité de terminologie dans le monde du PC dont les programmes des BIOS sont exécutés par le CPU x86 (ex : code de gestion de la carte mère, d'une carte vidéo ou SCSI) alors que les micrologiciels restent uniquement locaux aux périphériques et sont exécutés par le matériel qu'ils contiennent (ex : lecteur DVD IDE ou SCSI, employant des micro-contrôleurs ou circuits de diverses familles).
Les deux cas sont parfois réunis, par exemple lorsque la ROM d'un périphérique contient le BIOS x86 ainsi que le micrologiciel destiné à son circuit propre, le BIOS déclenchant le chargement et l'exécution du micrologiciel.
Accessoirement cela permet de mesurer le degré d'indépendance d'un périphérique vis-à-vis du type de machine hôte car toute extension munie d'un BIOS pour PC n'est utilisable que sur une machine de ce type alors que celles qui n'emploient qu'un micrologiciel sont indépendantes de la machine hôte. C'est par exemple le cas des lecteurs/graveurs CD/DVD IDE, qui sont conformes à la norme ATAPI donc fonctionnent sur toute machine IDE (PC, Mac...)).
EFI
Article détaillé : Extensible Firmware Interface.Les micrologiciels EFI (de l'anglais Extensible Firmware Interface) sont amenés à remplacer les BIOS sur les futures cartes mères des PC. Déjà utilisés dans les appareils Apple, ils possèdent une souplesse d'utilisation que n'a pas le BIOS : ils sont extensibles. Il est possible de leur adjoindre facilement des fonctionnalités supplémentaires (dès la sortie d'usine puis par mises à jour), ou d'y implanter directement les pilotes (drivers).
Un micrologiciel EFI écrit pour une plateforme x86 peut comporter une couche d'émulation du BIOS, afin de garder la compatibilité avec des systèmes plus anciens, ce qui permet par exemple d'utiliser d'anciennes versions de Windows.
Autres exemples
- Open Firmware est le nom d'un micrologiciel présent dans les ordinateurs de type Macintosh basés sur un processeur PowerPC ;
- Les programmes qui gèrent les composants d'un téléphone mobile, d'un lecteur de DVD, d'un baladeur MP3 ou d'une console de jeux ;
- La gestion de l'injection électronique d'un moteur à explosion.
- Un programme stocké dans une clef USB équipée d'un microprocesseur
- Un programme stocké sur une machine à laver gérant les différents programmes
- Le programme gérant la couche réseau d'une imprimante
- Le micrologiciel des machines Bull appelé SMS
- Le programme faisant fonctionner la machine à voter ESF1
Références
Voir aussi
- Portail de l’informatique
Catégorie : Micrologiciel
Wikimedia Foundation. 2010.