Un micrologiciel (firmware) est un logiciel particulier : il permet de gérer du matériel spécifique et le faire fonctionner ; comme tout logiciel, il peut être être amélioré ou corrigé, contenir des bogues, existe sous forme de code source, est couvert par le droit d'auteur, peut être libre ou propriétaire, etc.
On trouve des micrologiciels dans la plupart des équipements numériques (carte mère, carte réseau, disque dur, clavier, écran, imprimante, scanner, téléphone mobile, lecteur audio/vidéo, autoradio, box ADSL, appareil photo/camescope, télécommandes, etc.). Une particularité : un noyau Linux pour architecture x86 peut très bien charger un micrologiciel pour architecture ARM sur un périphérique, par exemple.
La seconde partie de la dépêche liste quelques exemples récents et ouvre la discussion sur les problématiques des mises à jour de micrologiciels.
Quelques exemples (liste non exhaustive évidemment) :
- Depuis 2006, la distribution Debian (et probablement d'autres) dispose d'un paquet firmware-linux contenant les différents micrologiciels devant être chargé par le noyau Linux dans les périphériques concernés (il est divisé en micrologiciels libres et micrologiciels propriétaires). Des résolutions générales sur le sujet ont d'ailleurs été votées par le projet Debian en 2006 et 2008. Et c'est aussi une question essentielle pour le projet OpenBSD par exemple.
- En 2008, l'équipe sécurité HP a présenté les risques de déni de service permanent par attaque du micrologiciel et du procédé de mise à jour (ça devient amusant avec la faille citée plus loin en novembre 2011).
En janvier 2009, Seagate a diffusé un correctif (un bogué puis un correct...) pour ses micrologiciels de certains de ses disques durs : le disque pouvait cesser de fonctionner et apparaître défectueux au niveau BIOS (alors même que les données étaient conservées dessus). Source : The Register: "Seagate isolates 'potential' Barracuda flaw" (2009)
- NdA : j'ai un disque dur concerné et non traité, mais ni FreeDos ni Wine ne permettent la mise à jour ; je pourrais me payer plusieurs disques neufs pour le prix de la licence Windows requise et de toute façon je ne voudrais pas d'un système propriétaire.
En décembre 2010, Atul Alex a montré comment ajouter une porte dérobée sur un micrologiciel pour mobiles Symbian. Source : H: "Hacker plants back door in Symbian firmware" (2010)
En novembre 2011, des chercheurs de l'Université de Columbia ont montré qu'ils pouvaient prendre le contrôle d'une imprimante réseau HP en mettant à jour le micrologiciel en douce lors d'une simple impression (pas de chiffrement, pas de signature...). HP a publié des mises à jour de sécurité fin décembre. Cette faille a été présentée lors du congrès 28C3 "Print Me If You Dare - Firmware Modification Attacks and the Rise of Printer Malware" (Vidéos du 28C3, dont celle-ci).
Les questions qui se posent :
- Information
- Quel logiciel libre listerait (nom, version) tous les micrologiciels utilisés par mes périphériques et me dirait lesquels sont à mettre à jour ?
- Quel logiciel libre me parlerait des autres solutions existantes ? Par exemple des micrologiciels libres comme Rockbox pour les lecteurs audio, OpenWRT pour les routeurs WiFi, CoreBoot pour les BIOS PC, etc.
- Sécurité
- Quels sont les micrologiciels propriétaires sur mes périphériques ? Ai-je confiance dans ces boîtes noires ? Ai-je des solutions libres de remplacement ?
- Les mises à jour de ces micrologiciels ne sont-elles possibles que par moi/sous mon contrôle ?
- Comment savoir si mes micrologiciels ont déjà été mis à jour à mon insu ? Comment l'empêcher ? Comment réparer ?
- 4 libertés
- Ces micrologiciels fonctionnent-ils avec un système libre ?
- Les mises à jour de ses micrologiciels sont-elles possible avec un système libre ?
Aller plus loin
- DarkReading: Permanent Denial-of-Service Attack Sabotages Hardware (2008) (73 clics)
- Wikipedia: Firmware hacking (55 clics)
- DLFP : UEFI, à la découverte du nouveau BIOS (2011) (192 clics)
- DLFP : Le firmware Ob4-Full+USB pour neufbox 4 : accès complet et ajout facile d’applications (2010) (111 clics)
- DLFP : NAS LaCie Network Space : un firmware alternatif (2009) (95 clics)
- DLFP : Modifier le firmware d'une Freebox grâce à OpenFreeBox (2006) (335 clics)
- DLFP : NetGear commercialise un routeur équipé d'un firmware Open-Source (2007) (63 clics)
- DLFP : Un firmware enfin distribuable pour modem ADSL USB (2006) (53 clics)
- DLFP : OpenBSD milite pour un changement des licences des firmwares TI et Intel (2004) (43 clics)
- DLFP : Premiers firmwares Ogg Vorbis (2003) (73 clics)
- DLFP : CyanogenMod-6 (2010) (85 clics)
- DLFP : Free publie enfin ses patchs sur les logiciels libres (2011) (157 clics)
# openhardware
Posté par BAud (site web personnel) . Évalué à 10. Dernière modification le 15 janvier 2012 à 23:50.
la suite du logiciel libre (faire tourner ce que l'on souhaite sur du matériel), c'est tout de même le matériel aussi, voir openhardware http://linuxfr.org/tags/openhardware/public
# Le bug report?
Posté par ʭ ☯ . Évalué à 8.
Pour ma part, c'est le rapport de bogue qui m'a fait découvrir un firmware libre pour Broadcom 43xx . Du coup, Mageia propose maintenant automatiquement ce firmware avec le pilote b43 :
http://www.ing.unibs.it/~openfwwf/
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
# Flashrom
Posté par Francois Revol (site web personnel) . Évalué à 5.
A noter l'utilitaire libre Flashrom de mise à jour des firmware pour de nombreux matériels :
http://flashrom.org/Flashrom
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.