web-dev-qa-db-fra.com

Les logiciels malveillants du BIOS peuvent-ils être installés à partir du système d'exploitation?

Une vulnérabilité de système d'exploitation peut-elle être exploitée pour installer des logiciels malveillants BIOS/UEFI/firmware (comme un enregistreur de frappe)? Je sais que le BIOS est un niveau "plus profond" que l'OS. Je sais qu'il existe des enregistreurs de frappe basés sur le firmware. Je sais qu'ils peuvent être installés par un adversaire flashant le BIOS. Mais un système d'exploitation, c'est-à-dire Windows, peut-il écrire dans le micrologiciel? Un pirate informatique pourrait-il théoriquement (que cela ait déjà été fait ou non) exploiter une vulnérabilité de sécurité dans le système d'exploitation d'une victime et l'utiliser pour flasher le BIOS ou installer autrement un malware dans le firmware? Et sinon, comment quelqu'un pourrait-il flasher/infecter le BIOS à distance? Et comment cela peut-il être protégé?

16
Emma

Configuration du firmware

L'écriture dans le BIOS est une opération privilégiée, uniquement réalisable par le superutilisateur. De nombreux BIOS tentent d'empêcher cela, par exemple en verrouillant le bit d'écriture SPI et en limitant la capacité de SMM pour interagir avec le BIOS. Malheureusement, il existe tellement de façons de modifier le BIOS que de nombreux (la plupart?) Fabricants de micrologiciels ne verrouillent pas correctement la configuration, permettant au superutilisateur de la modifier. Le fait qu'un système donné ait ou non un BIOS vulnérable peut être déterminé en utilisant le framework CHIPSEC . Il analyse le système pour les erreurs de configuration courantes et les signale, ainsi que les implications. Il indiquera si tous les bits de verrouillage requis sont définis au démarrage. Dans de nombreux cas, ils ne le sont tout simplement pas.

Ce n'est pas nécessairement suffisant pour se protéger contre un attaquant disposant d'un accès privilégié. Un attaquant suffisamment avancé, même s'il ne peut pas modifier le BIOS, peut toujours modifier ROM optionnelles ou même firmware du périphérique de stockage . À tout le moins, ils peuvent endommager physiquement l'ordinateur en écrivant à plusieurs reprises sur un stockage sensible à l'écriture non volatile tel que NVRAM . Mais indépendamment des autres risques restants, le verrouillage du BIOS, ou du moins la détermination de son verrouillage, est la première étape.

De plus, les tâches privilégiées ont accès à des interfaces de bas niveau sur le système. Il y a eu une augmentation de recherche sur la sécurité du firmware récemment, ce qui a montré que, même avec tous les verrous correctement configurés, la complexité et la difficulté des correctifs des systèmes rendent les bogues omniprésents. Cela peut se manifester simplement comme un moyen de contourner la sécurité du firmware, ou même comme un moyen de obtenir encore plus de privilèges .

Botte mesurée

De nombreux systèmes modernes sont livrés avec Intel BootGuard , une technologie qui permet à un BIOS signé d'être vérifié par le chipset physique lui-même avant de démarrer. Bien qu'il soit pas parfait , il essaie d'empêcher le firmware non signé de s'exécuter, même si le firmware peut être modifié. Cela nécessite un système moderne qui a été pré-assemblé par un OEM. Si ce n'est pas le cas, un TPM peut être utilisé à la place pour vérifier l'intégrité du BIOS, vous alertant en cas de modifications.

BootGuard fonctionne en signant numériquement le BIOS. La clé utilisée pour la vérification est gravée dans le PCH au moment de l'assemblage par l'OEM. Au démarrage du système, la signature du BIOS est vérifiée par la clé publique. Un attaquant n'est pas en mesure de modifier cette clé publique car elle est écrite sur des fusibles OTP (programmables une fois).

Le TPM fonctionne un peu différemment. Un morceau de code en lecture seule dans le BIOS appelé CRTM envoie une copie du hachage du BIOS au TPM. Cela se produit ensuite avec le reste de la configuration du système, comme les paramètres de démarrage, les ROM optionnelles et le MBR. Si tous ces hachages correspondent à la valeur attendue, le module de plateforme sécurisée descellera une valeur secrète qu'il a stockée en toute sécurité. Cette valeur peut être une clé de chiffrement nécessaire pour terminer le démarrage, ou il peut s'agir d'une valeur secrète connue de vous seul, de sorte qu'un attaquant, même celui qui peut modifier le contenu de l'écran, ne peut pas emprunter l'identité d'un TPM non scellé.

Sommaire

Il n'est pas toujours possible efficacement protection en écriture votre firmware, que ce soit contre les menaces matérielles ou logicielles. En général, si un attaquant dispose d'un accès local (même s'il n'est pas physique) malveillant à votre machine avec des privilèges élevés, il peut généralement faire ce qu'il veut. La meilleure solution est de les empêcher d'obtenir des privilèges élevés en premier lieu. Si cela n'est pas possible, il n'y a que trois solutions:

  • Assurez-vous que votre BIOS verrouille tous les bits requis, comme peut le déterminer CHIPSEC.
  • Utilisez un système avec Intel BootGuard pris en charge et activé.
  • Utilisez un TPM pour fournir un démarrage mesuré. Ce n'est pas toujours pratique.
15
forest