Chaque contrôle de sécurité repose sur une couche plus basse qu’il tient pour acquise. Le pare-feu applicatif suppose que le routage amène les paquets là où on le croit, le chiffrement du disque suppose que le micrologiciel qui démarre avant lui n’a pas été modifié, l’isolation entre clients suppose que l’hyperviseur tient. Cette rubrique vérifie ces hypothèses, une couche après l’autre. Elle ne remplace pas les rubriques spécialisées : elle donne le vocabulaire et les mécanismes sans lesquels leurs recommandations restent des actes de foi.
L’ordre de lecture proposé suit le trajet d’une donnée qui entre puis descend dans la machine : le réseau d’abord, parce que c’est par lui qu’arrive presque tout ; puis le système d’exploitation, qui décide qui a le droit de faire quoi ; puis la mémoire, où naissent les vulnérabilités les plus anciennes et les plus tenaces ; puis le matériel et le démarrage, qui sont la racine de confiance de tout le reste ; la virtualisation, qui partage ce matériel entre locataires qui ne se connaissent pas ; l’infrastructure physique, que l’on oublie jusqu’à la coupure de courant ; et la théorie, qui dit ce qu’un modèle de sécurité garantit vraiment. Chaque partie se lit seule, mais une page de mémoire se comprend mieux après celle sur le système, et une page sur l’attestation après celle sur le micrologiciel.
Une organisation qui néglige les fondations bâtit ses contrôles sur des hypothèses que personne n’a vérifiées. L’application la mieux écrite ne voit rien d’un détournement de routage, le chiffrement du disque ne pèse pas grand-chose face à un micrologiciel modifié qui s’exécute avant lui, et l’isolation entre clients d’un même serveur repose sur un hyperviseur dont personne ne suit les correctifs. Pire, les traces d’une compromission à ces étages se trouvent précisément là où la journalisation n’a jamais été configurée : l’incident existe bel et bien, sa chronologie beaucoup moins.
Tout ce qu’on protège en informatique repose sur des couches plus basses, et cette rubrique les parcourt du bas vers le haut. Le réseau transporte les données en petits paquets, guidés par des adresses et des routes, avec un système qui traduit les noms de sites en adresses et une horloge commune dont dépendent les certificats et les journaux ; il a son propre chapitre, très complet. Le système d’exploitation, par exemple Linux ou Windows, décide quels programmes tournent et qui a le droit de lire ou modifier quoi ; dans les entreprises, un annuaire central gère les comptes et leurs droits, et une mauvaise délégation dans cet annuaire ouvre un chemin direct vers l’administration de tout le parc. La mémoire de l’ordinateur est découpée en zones ; quand un programme écrit en dehors de la sienne, une faille apparaît, et des protections rendent les adresses imprévisibles ou interdisent d’exécuter des données. Le matériel lui-même peut fuir : le temps de calcul ou la consommation électrique trahissent parfois un secret, et le démarrage mesuré enregistre chaque logiciel lancé à l’allumage pour pouvoir le prouver ensuite. La virtualisation fait tourner plusieurs machines logiques sur une seule machine physique, et tout dépend de l’étanchéité entre elles. Viennent enfin les câbles et les badges d’accès aux bâtiments, puis la théorie, qui décrit mathématiquement ce qu’un modèle d’accès garantit et combien d’information un canal caché peut laisser sortir. Si une couche basse cède, toutes les protections construites au-dessus perdent leur valeur, même si elles fonctionnent parfaitement.