Cet article est le premier d’une série de trois permettant d’apporter une certaine autonomie au sein du micrologiciel. L’objectif de cet article est de réaliser une rétrospective vis-à-vis de la norme UEFI. Pour cela, la prise en main du projet EDK2 va permettre de démystifier le micrologiciel et d’acquérir des compétences dans une optique de cybersécurité.
Lorsqu’on démarre un ordinateur, la première chose qui est lancée n’est pas le système d’exploitation installé sur la machine, mais c’est le micrologiciel qui prend la main. Il a longtemps été connu sous le nom de BIOS (Basic Input Output System), codé entièrement en assembleur et complètement propriétaire. Cependant, très vite il s’est trouvé limité. En effet, les mises à jour étaient impossibles et cela conduisait à l’obsolescence de l’ordinateur à chaque changement notable (par exemple, le système de partitionnement GPT). Pour résoudre cette problématique, plusieurs projets ont vu le jour. On peut notamment citer le projet CoreBoot encore actif actuellement. Toutefois, c’est le projet d’Intel autour de l’EFI (Extensible Firmware Interface) qui s’est imposé face à ses concurrents. Par la suite, celui-ci créera la norme UEFI (Unified Extensible Firmware Interface) qui se trouve actuellement sur la majorité des ordinateurs modernes. Ce...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
[1] Site officiel de la Black Hat : https://www.blackhat.com/us-18/briefings/schedule/index.html#remotely-attacking-system-firmware-11588
[2] Git officiel de EDK2 : https://github.com/tianocore/edk2
[3] Git officiel de UDK : https://github.com/tianocore/tianocore.github.io/wiki/UDK
[4] Git officiel de μ : https://github.com/Microsoft/mu/
[5] Git officiel de VisualEFI : https://github.com/ionescu007/VisualUefi
[6] Compilation avec GCC : https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC
[7] Source Compilateur ASL : https://acpica.org/
[8] Source nasm : https://www.nasm.us/
[9] Liste des cartes mères utilisables : https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Platforms
[10] Sources Qemu : https://www.qemu.org/
[11] Sources HAXM : https://github.com/intel/haxm/releases/tag/v7.5.1