Aller au contenu

PCI : Peripheral Component Interconnect

Infrastructure

PCI : Peripheral Component Interconnect, bus d'interconnexion des cartes d'extension d'un ordinateur, aujourd'hui décliné en PCI Express (PCIe). « La route privée qui relie les cartes au cœur de la machine, et sur laquelle on a longtemps laissé circuler n'importe qui sans contrôle d'identité », par analogie avec l'allée de service d'un palais, où le livreur passe plus facilement que le visiteur.

Générations : Le bus PCI parallèle, conçu à l'origine par Intel, apparaît au début des années 1990 ; PCI Express, liaison série par lignes, le remplace à partir de 2003. Les spécifications sont publiées par le consortium PCI-SIG (PCI Special Interest Group).

ROM d'option : Une carte PCIe peut embarquer un petit programme que le micrologiciel de la carte mère exécute avant le système d'exploitation, par exemple pour le démarrage réseau PXE ou l'initialisation d'un contrôleur de stockage. Ce code s'exécute avec des privilèges élevés, avant que l'antivirus ne se réveille : le démarrage sécurisé doit donc en vérifier la signature.

Accès direct à la mémoire : Un périphérique PCIe peut lire et écrire la mémoire du système sans passer par le processeur (DMA, Direct Memory Access). Sans IOMMU (Input-Output Memory Management Unit) pour cantonner chaque périphérique à ses zones, une carte malveillante ou un port Thunderbolt branché par un inconnu peut lire la mémoire entière.

Homonyme : PCI désigne aussi Payment Card Industry, dans PCI DSS (Payment Card Industry Data Security Standard), la norme de sécurité des données de cartes bancaires. Les deux n'ont en commun que trois lettres et une forte propension à remplir des audits.

Ce qui arrive si on s'en passe

Un serveur qui laisse s'exécuter des ROM d'option non signées accepte qu'une carte réseau ou de stockage compromise injecte du code avant le système d'exploitation, là où aucun outil de détection ne regarde. Sans IOMMU activée, un périphérique PCIe ou un port Thunderbolt exposé permet de lire les clés de chiffrement en mémoire et de modifier le noyau en fonctionnement, sans laisser de trace dans les journaux. Le micrologiciel des cartes elles-mêmes, rarement inventorié et jamais mis à jour, devient alors l'endroit idéal pour une persistance qui survit à la réinstallation complète du serveur.

Explication de la marmotte

À l'intérieur d'un ordinateur, les cartes d'extension (carte graphique, carte réseau, contrôleur de disques) sont branchées sur un bus appelé PCI, aujourd'hui PCI Express. Ce bus est très rapide et permet aux cartes d'accéder directement à la mémoire de l'ordinateur. Certaines cartes contiennent même un petit programme qui s'exécute au démarrage, avant Windows ou Linux. C'est pratique, mais une carte piégée peut alors espionner ou modifier l'ordinateur sans que le système s'en aperçoive.

Où ce terme est utilisé

← Tout le glossaire