Brevet FR3129503A1 — publié le 20230526

Architecture informatique comprenant des nœuds exécutant pour l’un un programme principal de cybersécurité et pour les autres un programme agent de cybersécurité. Chaque programme agent de cybersécurité est agencé pour réaliser au moins une action de neutralisation de nœuds cibles et prendre des décisions d’attribution des nœuds cibles au moyen d’un algorithme de décision par consensus avec les programmes agents exécutés sur des nœuds voisins. Le programme principal est agencé pour réaliser une pluralité d’actions dont collecter des bilans de sondage d’interface provenant des programmes agents, en déduire des nœuds cibles et les proposer aux programmes agents. FIGURE DE L’ABREGE : Fig. 1 Architecture informatique avec fonction de cybersécurité distribuée La présente invention concerne le domaine de l’informatique et plus précisément celui de la cybersécurité des réseaux informatiques. ARRIERE PLAN DE L’INVENTION Il est connu des architectures informatiques comprenant un réseau ayant des nœuds comportant chacun une unité électronique de calcul et des interfaces reliées à des liaisons de données permettant aux unités électroniques d’échanger des données. Chaque unité électronique de calcul comprend un processeur (ou tout autre organe de calcul) et une mémoire contenant des programmes informatiques exécutables par le processeur. De telles architectures sont fréquemment mises en œuvre dans des réseaux informatiques qui peuvent comporter quelques nœuds ou des centaines voire des milliers. Mais de telles architecture peuvent également se retrouver dans des appareils complexes, comme des véhicules, comportant plusieurs calculateurs distincts insérés dans un réseau leur permettant de communiquer entre eux. L’une des difficultés principales dans la gestion de ce type d’architecture est la protection de ceux-ci, que l’on nomme désormais couramment cybersécurité. La cybersécurité vise à empêcher toute action de tiers non autorisé visant notamment à collecter, corrompre ou détruire des données présentes sur le réseau et, plus généralement, à détourner le fonctionnement des unités électroniques de calcul au profit de tiers non autorisés. Si assurer la cybersécurité d’une unité électronique de calcul est relativement simple, au moins dans son principe, tel n’est pas le cas pour un réseau comprenant plusieurs unités électroniques interfacées entre elles, le nombre d’attaques possibles croissant avec la complexité de l’architecture. OBJET DE L’INVENTION L’invention a notamment pour but de fournir un moyen pour renforcer la cybersécurité des architectures complexes. A cet effet, on prévoit, selon l’invention une architecture informatique comprenant un réseau ayant des nœuds comportant chacun une unité électronique de calcul et des interfaces reliées à des liaisons de données permettant aux unités électroniques d’échanger des données, un nœud du réseau exécutant un programme principal de cybersécurité et au moins une partie des nœuds restant exécutant chacun un programme agent de cybersécurité ; chaque programme agent de cybersécurité étant agencé pour réaliser une pluralité d’actions dont au moins une action de neutralisation et les actions de : sonder les données aux interfaces du nœud sur lequel il est exécuté pour détecter une vulnérabilité vis-à-vis des nœuds dont les données transitent par lesdites interface, transmettre un bilan de sondage d’interfaces au programme principal, identifier des nœuds cibles à partir du bilan de sondage d’interfaces, et prendre des décisions d’attribution des nœuds cibles au moyen d’un algorithme de décision par consensus avec les programmes agents exécutés sur des nœuds voisins pour déterminer et planifier l’action de neutralisation à engager sur les nœuds cibles, les programmes agents mettant en œuvre un module de synchronisation temporelle pour coordonner leurs actions de neutralisation ; le programme principal étant agencé pour réaliser une pluralité d’actions dont collecter les bilans, en déduire des nœuds cibles et les proposer aux programmes agents. Les nœuds cibles sont des nœuds constituant une vulnérabilité de l’architecture, c’est-à-dire un nœud à partir duquel une attaque de l’architecture est en cours ou possible. Ainsi, l’invention permet de protéger l’architecture en combinant une autonomie des programmes agents pour mener des actions concertées et une vue globale de l’architecture par l’intermédiaire du programme principal. Cette combinaison procure de la réactivité pour la réalisation des actions de neutralisation puisque celles-ci sont décidées et planifiées par des programmes agents de nœuds présents dans une zone de proximité, tout en conservant la possibilité de prendre en compte des nœuds cibles que le programme principal considère pertinent de neutraliser. D’autres caractéristiques et avantages de l’invention ressortiront à la lecture de la description qui suit d’un mode de réalisation particulier et non limitatif de l’invention. Il sera fait référence aux dessins annexés, parmi lesquels : la est une vue schématique d’une architecture selon l’invention, la est une vue schématique d’une des unités électroniques de l’architecture selon l’invention. Architecture informatique comprenant un réseau ayant des nœuds comportant chacun une unité électronique de calcul et des interfaces reliées à des liaisons de données permettant aux unités électroniques d’échanger des données, un nœud du réseau exécutant un programme principal de cybersécurité et au moins une partie des nœuds restant exécutant chacun un programme agent de cybersécurité ; chaque programme agent de cybersécurité étant agencé pour réaliser une pluralité d’actions dont au moins une action de neutralisation et les actions de : sonder les données aux interfaces du nœud sur lequel il est exécuté pour détecter une vulnérabilité des nœuds dont les données transitent par lesdites interface, transmettre un bilan de sondage d’interfaces au programme principal, identifier des nœuds cibles à partir du bilan de sondage d’interfaces, et prendre des décisions d’attribution des nœuds cibles au moyen d’un algorithme de décision par consensus avec les programmes agents exécutés sur des nœuds voisins pour déterminer et planifier l’action de neutralisation à engager sur les nœuds cibles, les programmes agents mettant en œuvre un module de synchronisation temporelle pour coordonner leurs actions de neutralisation ; le programme principal étant agencé pour réaliser une pluralité d’actions dont collecter les bilans, en déduire des nœuds cibles et les proposer aux programmes agents. Architecture selon la revendication 1, dans laquelle l’action de neutralisation est une action défensive telle qu’un blocage des échanges avec au moins un des nœuds cibles. Architecture selon la revendication 1 ou 2, dans laquelle l’action de neutralisation est une action offensive telle qu’une saturation des interfaces d’au moins un des nœuds cibles. Architecture selon l’une quelconque des revendications précédentes, dans laquelle l’algorithme de décision est configuré pour aboutir à une répartition des nœuds cibles entre les programmes agents des nœuds voisins de manière qu’un programme agent n’ait à neutraliser simultanément qu’un unique nœud cible. Architecture selon la revendication 4, dans laquelle l’algorithme de décision est configuré pour aboutir à une coordination dans le temps des actions de neutralisation menées les programmes agents contre les nœuds cibles. Architecture selon la revendication 5, dans laquelle chaque programme agent comprend un module de planification agencé pour établir un planning de neutralisation du nœud cible. Architecture selon la revendication 4, dans laquelle l’algorithme de décision est de type PAXOS. Architecture selon l’une quelconque des revendications précédentes, dans laquelle le module de synchronisation met en œuvre un algorithme de synchronisation temporelle distribuée de type WELSH. Architecture selon l’une quelconque des revendications précédentes, dans laquelle chaque programme agent met en œuvre un modèle de comportement adverse pour détecter la vulnérabilité en rapport avec un nœud cible. Architecture selon l’une quelconque des revendications précédentes, dans laquelle le programme principal est agencé pour stopper ou isoler des programmes agents défaillants. Architecture selon la revendication 9, dans laquelle, si un nœud cible avait été attribué à un programme agent défaillant, les programmes agents restant sont agencés pour réattribuer ledit nœud cible à l’un des programmes agents restant. Architecture selon l’une quelconque des revendications précédentes, dans laquelle une zone de proximité est configurée dans chaque programme agent lui permettant d’identifier les nœuds qui lui sont voisins.