BLOG | BUREAU DU CTO

Confiance zéro : Trois composants stratégiques clés de la violation de l’hypothèse

Miniature de Ken Arora
Ken Arora
Publié le 13 avril 2023

Le concept de confiance zéro est un sujet populaire dans les cercles de cybersécurité de nos jours, mais je reçois toujours des regards étranges chaque fois que j'évoque le concept d' hypothèse de violation comme un élément clé de l'état d'esprit de confiance zéro. Je suppose que la raison de cette réaction provient de l’une des deux préoccupations possibles. Certains professionnels de la sécurité pourraient interpréter cela comme une vision terriblement pessimiste du monde ; leur intériorisation de « supposer une violation » pourrait être du genre : « Donc, vous dites que nous sommes tous condamnés. Eh bien, alors, laissons tomber nos mains et arrêtons même d’essayer D'autres, peut-être les plus fiers, peuvent avoir une attitude du genre : « Bon, vos données pourraient être piratées, mais ma sécurité est solide comme un roc, et les méchants n'auront aucun moyen de passer outre mes défenses . »

Mon intention n’est ni d’adopter aucun de ces extrêmes, mais plutôt de mettre l’accent sur l’intériorisation de la réalité du fonctionnement dans un monde numérique, à savoir que des violations se produiront et peuvent donc, et doivent, être prises en compte dans la conception de tout système de sécurité. Ce n’est pas un concept nouveau et nous devrions nous inspirer de la sagesse acquise auprès de générations d’artisans et de travailleurs du commerce qui l’ont adopté.

Les plombiers, les électriciens et les autres professionnels qui opèrent dans le monde physique ont depuis longtemps intériorisé la véritable essence de « supposer une violation ». Parce qu’ils sont chargés de créer des solutions qui doivent être robustes dans des environnements tangibles, ils acceptent et intègrent implicitement le simple fait que des échecs surviennent dans le cadre de leur travail. Ils comprennent également que les échecs ne constituent pas une remise en cause de leurs compétences, ni une raison de renoncer à leurs services. En fait, seuls les plus compétents, sachant que leurs créations finiront par échouer, intègrent les leçons tirées des échecs passés et sont capables d’anticiper les échecs futurs probables. 

J'ai récemment été confronté à une telle défaillance : une conduite d'égout de ma maison s'est obstruée au milieu d'un chemin de drainage. La maison a plus de 30 ans, donc une défaillance – une brèche – ne devrait pas être une surprise. Après tout, la probabilité d’une violation de tout système sur une période prolongée approche les 100 %.  

C’est là le problème. Anticiper une défaillance au fil du temps est tout aussi vrai pour une solution de sécurité applicative que pour mon système de plomberie. De plus, supposer que « mon système de plomberie ne tombera jamais en panne » n’est pas plus approprié comme stratégie d’entretien ménager que supposer que « mes cyberdéfenses ne seront jamais violées ». 

Par conséquent, l’état d’esprit du plombier – et du praticien de la cybersécurité – doit englober la manière de gérer la panne, c’est-à-dire la violation, qui finira par se produire.

Trois éléments stratégiques clés de la violation de l'hypothèse

Une stratégie efficace pour faire face aux défaillances des systèmes, physiques ou cybernétiques, comporte généralement trois éléments.

  1. Visibilité. Assurer une visibilité suffisante pour permettre de détecter une panne le plus tôt possible. Une fuite de plomberie dans un drain de salle de bain, si elle n'est pas contrôlée, entraînera la pourriture et la moisissure dans le sous-plancher en dessous, ce qui peut prendre des mois ou des années avant d'être remarqué. On peut aussi remarquer que de l'eau coule du plafond de l'espace sous une salle de bain au deuxième étage après qu'un bac à eau sous le plancher a débordé et que les cloisons sèches ont été saturées. Dans l’un ou l’autre de ces scénarios, la première détection du problème intervient quelque temps après la défaillance initiale et après que des dommages secondaires supplémentaires se soient produits .

    Le premier principe de l’hypothèse d’une défaillance/violation doit être de fournir des indicateurs clairs d’une éventuelle compromission dès que possible après la défaillance, idéalement même en fournissant une notification active pour les défaillances probables. Par exemple, les sous-sols qui utilisent des pompes de puisard pour évacuer l’eau sont généralement équipés de capteurs qui déclenchent une alarme lorsque le niveau d’eau dépasse un seuil prédéfini. Dans d’autres situations, où l’alerte proactive n’est pas possible pour tous les modes de défaillance probables, des contrôles de maintenance de routine sont effectués, par exemple, l’inspection des chauffe-eau sur une base semestrielle.

    En cybersécurité, cela signifie que l'architecture de sécurité des applications doit inclure une stratégie de télémétrie réfléchie et testée qui prend en compte les modes de défaillance les plus importants et offre une visibilité rapide sur toute violation possible. En pratique, la télémétrie doit être transmise aux outils d’analyse et de notifications à l’aide des pratiques AISecOps, et également conservée simultanément dans les magasins de données pour une utilisation ultérieure. L’IA et les outils d’alerte devraient être utilisés pour améliorer l’efficacité, fournir un contexte aux humains et garantir une réponse rapide. Les données persistantes doivent être utilisées pour tirer des enseignements et contribuer à renforcer la robustesse à l’avenir.

     

  2. Robustesse. Les solutions doivent inclure les moyens de contourner ou de réduire la durée d’une panne. Les modèles communs de robustesse dans ce contexte sont (a) la dégradation gracieuse ou (b) la redondance, le choix dépendant de la viabilité du fonctionnement avec un composant dégradé. Certains systèmes comme les chauffe-eau peuvent avoir les deux. Par exemple, mon chauffe-eau utilise un système de recirculation alimenté par pompe pour avoir toujours de l’eau chaude prête à être utilisée. Mais si la pompe tombe en panne, j'aurai toujours de l'eau chaude, mais il faudra attendre un peu plus longtemps. D'autre part, la défaillance d'un capteur de serpentin de chauffage (où l'élément chauffant ne s'éteint pas) peut entraîner une panne catastrophique , c'est pourquoi une redondance, sous la forme d'une soupape de surpression, est utilisée.

    La robustesse doit être prise en compte à plusieurs niveaux du système. Par exemple, dans le cadre de la seule conduite d'évacuation, un plombier travaillant sur une solution de qualité commerciale pourrait installer une paire de conduites d'évacuation redondantes, de sorte que la défaillance de l'une ou l'autre des conduites ne rendrait pas l'évacuation inutilisable. D'un autre côté, un architecte exploitant le niveau d'abstraction du système pourrait concevoir une redondance au niveau du système, par exemple en ajoutant un deuxième évier ou des toilettes à proximité, ce qui aurait également l'avantage de traiter davantage de modes de défaillance que les seules conduites d'évacuation obstruées.

    Certes, la redondance est une pratique courante en cybersécurité, car de nombreux dispositifs de sécurité sont déployés en mode actif/veille (redondance complète) ou actif/actif (dégradation progressive). Cependant, le monde de la cybersécurité diffère un peu du monde physique. Premièrement, le fait que le monde de la cybersécurité soit caractérisé par des attaquants actifs, intentionnels et intelligents, signifie que les échecs résultent rarement de causes naturelles. Une deuxième différence plus significative est celle de l’échelle. Parce que le logiciel est virtuel et non physique, il suit le paradigme « écrire une fois, déployer plusieurs fois ». Bien qu’il s’agisse d’une propriété formidable pour la mise à l’échelle, cela implique également qu’une vulnérabilité de code dans un composant logiciel principal affectera probablement toutes les instances de ce code dans le système. Ainsi, la solution de cybersécurité pour la robustesse repose également sur l’évitement de points de défaillance uniques – et de classes d’éléments uniques – ; une stratégie parfois appelée « défense en profondeur ». L’authentification multifacteur est un excellent exemple de cette idée mise en pratique. Le mode de défaillance (le moyen de faire des compromis) pour chaque facteur est différent, et le compromis de l’un ou l’autre facteur à lui seul ne compromettra pas le système dans son ensemble.

     

  3. Endiguement. Il est essentiel de limiter l’impact – la zone d’explosion – d’une défaillance. Tout comme nous acceptons que des défaillances ou des violations se produiront, nous devons également accepter que nous ne pourrons pas éviter entièrement les points de défaillance uniques ou créer une redondance pour chaque exigence fonctionnelle. Par conséquent, l’architecte doit également réfléchir à la manière de minimiser l’impact d’un échec, en utilisant à la fois l’effort et les conséquences comme deux mesures importantes de la bonté. Par exemple, un plombier peut ajouter des ports de nettoyage stratégiquement situés aux conduites de drainage pour réduire le temps de réparation. Pour les défaillances plus catastrophiques, un entrepreneur peut choisir des conduites d’évacuation en PVC plutôt qu’en acier galvanisé pour faciliter la réparation d’une fuite dans la conduite, réduisant ainsi les efforts de réparation. Une pratique courante en matière de plomberie domestique est l’inclusion de vannes d’arrêt pour limiter les conséquences d’une défaillance (détectée), évitant ainsi des dommages secondaires aux vanités et aux planchers.

    Dans le monde de la cybersécurité, les concepts analogues sont l’isolement, la maintenabilité et la modularité . L’isolement vise à minimiser les dommages collatéraux ou à arrêter l’hémorragie ; une bonne pratique consiste à disposer d’une infrastructure pouvant agir comme un disjoncteur, en utilisant des technologies telles que la microsegmentation. La maintenabilité signifie que, lorsque cela est possible, il faut permettre un chemin rapide et peu contraignant pour revenir d'une situation compromise à une situation non compromise ; par exemple, un redémarrage d'une charge de travail compromise par des attaques par dépassement de mémoire pourrait être une méthode d'atténuation efficace (bien qu'incomplète). La modularité est la pratique consistant à construire des systèmes qui permettent d'échanger facilement des composants fonctionnels comparables, de sorte que dans les cas où la maintenance n'est pas possible ou suffisante, l'effort requis pour la correction est minimisé.

Voici quelques-unes des meilleures pratiques que j’ai apprises en matière de gestion des violations, même si je ne prétends certainement pas qu’il n’en existe pas d’autres. Ce qui compte le plus, c’est que les développeurs et les professionnels de la sécurité chargés de protéger les applications comprennent que des fuites se produiront et que des violations se produiront inévitablement. Dans cette optique, la manière dont nous planifions et gérons ces échecs est tout aussi importante et mérite autant de réflexion que ce que nous faisons pour minimiser la fréquence de ces échecs.  

En fin de compte, nous serons jugés non seulement sur la fréquence à laquelle les violations se produisent, mais aussi sur la façon dont nous réagissons à ces violations lorsqu’elles se produisent inévitablement.