Brevet FR3129552A1 — publié le 20230526

Un procédé de contrôle dans un système informatique comprenant au moins une machine virtuelle utilisateur et une machine virtuelle de contrôle pilotées par un hyperviseur, mis en œuvre par la machine virtuelle de contrôle, est proposé, qui comprend : recevoir d’une machine virtuelle utilisateur un paquet de données associé à un flux d’administration, ledit paquet de données comprenant un identifiant de réseau et une première adresse physique identifiant la machine virtuelle utilisateur ; et lorsque l’identifiant de réseau est associé à une deuxième adresse physique différente de la première adresse physique, bloquer le paquet de données. Figure de l’abrégé : Figure 2 Procédé de contrôle dans un système informatique, système informatique et programme d’ordinateur pour la mise en œuvre du procédé La présente invention se rapporte à un procédé de contrôle dans un système informatique, ainsi qu’à un programme d’ordinateur et un système informatique pour la mise en œuvre de ce procédé. Elle s’applique notamment aux systèmes informatiques au sein desquels une ou plusieurs fonctions réseau virtualisées sont mises en œuvre. Les opérateurs de télécommunications déploient depuis quelques années, notamment pour leurs clients entreprise, des solutions de communications de voix et de données mises en œuvre par des fonctions réseau virtualisées sur des plateformes généralistes de fourniture de services destinées à être installées chez leurs clients (en anglais, « universal Customer Premises Equipment », ou « uCPE »). Les plateformes uCPE permettent le déploiement, la configuration ainsi que la suppression à distance, par exemple par l’intermédiaire d’un réseau de communication étendu (en anglais « Wide Area Network », ou WAN), de machines virtuelles exécutées sur une plateforme matérielle orientée réseau. Ces machines virtuelles peuvent être configurées pour la fourniture de fonctions réseau virtualisées (en anglais « Virtual Network Function », ou « VNF »), comme par exemple des fonctions de routage, de communication de voix et/ou de données, de sécurité, etc. Les plateformes de type uCPE sont notamment conçues pour des cas d’usage qui prévoient leur déploiement au sein d’agences ou de succursales de clients de l’opérateur, comme par exemple des agences d’un réseau d’une banque de détail. Dans le cadre de ces cas d’usage, certains clients peuvent souhaiter contrôler la configuration des uCPE déployés dans leurs agences, notamment pour prendre en charge la configuration au sein de ces uCPE de fonctions de sécurité qui sont spécifiques à leur environnement informatique. L’accès à la configuration au niveau administrateur des fonctions virtualisées mises en œuvre au sein d’un uCPE peut conduire à des erreurs de configuration qui sont susceptibles d’impacter l’accès d’une ou plusieurs fonctions virtualisées de l’équipement uCPE, de causer des dysfonctionnements, voire une indisponibilité totale de l’équipement. En outre, une mauvaise configuration d’un équipement uCPE peut aussi être la conséquence ou le résultat d’une tentative malveillante d’accès à l’équipement. La possibilité d’une attaque de sécurité ou d’une erreur de configuration d’un équipement uCPE soulève le problème des risques de sécurité pour des équipements de type uCPE déployés sur site pour lesquels l’accès de configuration reste, au moins partiellement, ouvert. Résumé La présente divulgation vient améliorer la situation. Selon un premier aspect, il est proposé un procédé de contrôle dans un système informatique comprenant au moins une machine virtuelle utilisateur pilotée par un hyperviseur et une unité de contrôle, le procédé étant mis en œuvre par l’unité de contrôle et comprenant : recevoir d’une machine virtuelle utilisateur un paquet de données associé à un flux d’administration, ledit paquet de données comprenant un identifiant de réseau et une première adresse physique identifiant la machine virtuelle utilisateur ; et lorsque l’identifiant de réseau est associé à une deuxième adresse physique différente de la première adresse physique, bloquer le paquet de données. Le procédé proposé permet avantageusement de détecter la survenance d’une situation de duplication d’identifiant de réseau ou d’adresse physique utilisée par une machine virtuelle utilisateur d’un système informatique, situation qui peut, selon les cas d’usage, résulter d’une erreur de configuration de l’interface réseau de gestion de la machine virtuelle utilisateur ou d’une action malveillante. La sécurité du système informatique est ainsi améliorée par détection d’une anomalie dans le trafic associé à un flux d’administration, anomalie qui peut ensuite être corrigée. Par exemple, le procédé proposé permet avantageusement de détecter une situation d’anomalie dans laquelle deux machines virtuelles utilisateur d’un système informatique utilisent pour leurs interfaces réseau de gestion respectives un même identifiant de réseau (par exemple une même adresse IP), auquel cas une de ces deux machines virtuelles utilisateur usurpe l’identifiant de réseau de l’autre machine virtuelle utilisateur. Autre exemple de situation d’anomalie, le procédé proposé permet aussi avantageusement de détecter une situation dans laquelle une configuration d’interface réseau de gestion d’une machine virtuelle utilisateur a conduit à modifier l’association entre un identifiant de réseau et une adresse physique de l’interface réseau de gestion (par exemple, une adresse IP a été associée à une autre adresse MAC, ou une adresse IP a été associée à un autre port de communication). Le paquet de données ayant conduit à la détection de la situation d’anomalie est alors bloqué, afin d’isoler la machine virtuelle utilisateur à l’origine de ce paquet et d’éviter ainsi les disfonctionnements du système informatique. Les caractéristiques exposées dans les paragraphes suivants peuvent, optionnellement, être mises en œuvre. Elles peuvent être mises en œuvre indépendamment les unes des autres ou en combinaison les unes avec les autres. Dans un ou plusieurs modes de réalisation, l’unité de contrôle comprend une machine virtuelle pilotée par l’hyperviseur, dite machine virtuelle de contrôle, configurée pour la mise en œuvre du procédé proposé. Dans ces modes de réalisation, le procédé proposé est mis en œuvre par une machine virtuelle de contrôle pilotée par l’hyperviseur au sein du système informatique. La mise en œuvre du procédé proposé par une machine virtuelle instanciée au sein du système informatique permet avantageusement une mise en œuvre logicielle qui peut être adaptée à l’architecture (matérielle et/ou logicielle) existante d’un système informatique (par exemple de type uCPE). Le procédé proposé peut ainsi avantageusement être mis en œuvre, par le biais de l’instanciation d’une machine virtuelle de contrôle configurée pour sa mise en œuvre, au sein d’un équipement, par exemple un uCPE. Dans un ou plusieurs modes de réalisation, la deuxième adresse physique est stockée en association avec l’identifiant de réseau dans une table de correspondance, et le procédé proposé comprend en outre : déterminer que l’identifiant de réseau est associé à la deuxième adresse physique par lecture de la table. Le contrôle exercé selon le procédé proposé est alors avantageusement mis en œuvre par le biais d’une table de correspondance, qui peut être créée puis mise à jour, par exemple lors de chaque instanciation ou désinstallation d’une machine virtuelle utilisateur dans le système informatique, de manière centralisée, par exemple par un administrateur d’un réseau d’administration auquel la machine virtuelle utilisateur est connectée via une interface réseau de gestion. Dans un ou plusieurs modes de réalisation, le procédé proposé comprend en outre : générer une alarme de duplication d’identifiant de réseau au sein du système informatique. Un administrateur du système informatique peut ainsi être avantageusement informé de la survenance d’une situation de duplication d’identifiant de réseau au sein du système informatique, et prendre des mesures pour corriger cette situation. Dans un ou plusieurs modes de réalisation, l’adresse physique comprend une adresse MAC et/ou un numéro de port. Dans un ou plusieurs modes de réalisation, l’identifiant de réseau comprend une adresse IP. Dans un ou plusieurs modes de réalisation, l’identifiant de réseau est associé à la deuxième adresse physique sur instanciation de la machine virtuelle utilisateur au sein du système informatique. Le contrôle selon le procédé proposé exercé pour la machine virtuelle utilisateur est alors avantageusement basé sur une association entre l’identifiant de réseau et la deuxième adresse physique initialisée dès l’instanciation de la machine virtuelle utilisateur. Le procédé proposé peut alors avantageusement être utilisé pour contrôler la machine virtuelle utilisateur dès lors qu’elle est instanciée au sein du système informatique. Dans un ou plusieurs modes de réalisation, le procédé proposé comprend en outre : extraire l’identifiant de réseau et la première adresse physique du paquet de données reçu. Le contrôle de la machine virtuelle utilisateur sur la base du paquet reçu peut alors avantageusement utiliser les informations extraites de ce paquet, afin de les comparer à des informations de référence pour détecter une éventuelle situation de duplication d’identifiant de réseau. Dans un ou plusieurs modes de réalisation, le procédé proposé comprend en outre : instancier la machine virtuelle de contrôle à partir d’une configuration initiale du système informatique ne comprenant aucune machine virtuelle utilisateur. L’instanciation d’une ou plusieurs machines virtuelles utilisateur peut alors n’être effectuée qu’à partir du moment où la machine virtuelle de contrôle est instanciée, ce qui permet avantageusement d’assurer que la machine virtuelle de contrôle puisse être configurée pour contrôler chaque machine virtuelle utilisateur nouvellement instanciée au sein du système informatique. Selon un autre aspect, un système informatique est proposé, qui comprend une unité de traitement comprenant un processeur et une mémoire couplée de manière opérationnelle au processeur, au moins une machine virtuelle utilisateur pilotée par un hyperviseur, l’unité de traitement étant configurée pour la mise en œuvre, par l’unité de contrôle, d’un procédé selon l’un des modes de réalisation proposés dans la présente demande. Un autre aspect concerne un système informatique comprenant une unité de traitement comprenant un processeur et une mémoire couplée de manière opérationnelle au processeur, au moins une machine virtuelle utilisateur et une machine virtuelle de contrôle pilotées par un hyperviseur, l’unité de traitement étant configurée pour la mise en œuvre, par la machine virtuelle de contrôle, d’un procédé selon l’un des modes de réalisation proposés dans la présente demande. Un autre aspect concerne une machine virtuelle dite de contrôle dans un système informatique comprenant au moins une machine virtuelle utilisateur et la machine virtuelle de contrôle pilotées par un hyperviseur, configurée pour la mise en œuvre d’un procédé selon l’un des modes de réalisation proposés dans la présente demande. Un autre aspect concerne un programme d’ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en œuvre d’un procédé selon l’un des modes de réalisation proposés dans la présente demande lors de l’exécution dudit programme par le processeur. Un autre aspect concerne un ensemble de données représentant, par exemple par voie de compression ou d’encodage, un programme d’ordinateur tel que proposé dans la présente demande. Un autre aspect concerne un support de stockage non-transitoire d’un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l’exécution desdits un ou plusieurs programmes par un ordinateur comprenant un processeur couplé de manière opérationnelle à une mémoire, conduire l’ordinateur à mettre en œuvre un procédé selon l’un des modes de réalisation proposés dans la présente demande. Un autre aspect concerne un support de stockage non-transitoire d’un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l’exécution desdits un ou plusieurs programmes par un ordinateur comprenant une unité de traitement couplée de manière opérationnelle à des moyens mémoire, conduire l’ordinateur à mettre en œuvre un procédé selon l’un des modes de réalisation proposés dans la présente demande. D'autres particularités et avantages de la présente divulgation apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels : Fig. 1 illustre un exemple d’architecture de système informatique dans lequel le procédé proposé peut être mis en œuvre selon un ou plusieurs modes de réalisation ; Fig. 2 est un diagramme illustrant un procédé selon un ou plusieurs modes de réalisation ; Fig. 3 illustre un exemple d’architecture de système informatique pour la mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation. Procédé de contrôle dans un système informatique comprenant au moins une machine virtuelle utilisateur pilotée par un hyperviseur et une unité de contrôle, ledit procédé mis en œuvre par l’unité de contrôle, comprenant : recevoir d’une machine virtuelle utilisateur un paquet de données associé à un flux d’administration, ledit paquet de données comprenant un identifiant de réseau et une première adresse physique identifiant la machine virtuelle utilisateur ; et lorsque l’identifiant de réseau est associé à une deuxième adresse physique différente de la première adresse physique, bloquer le paquet de données. Procédé selon la revendication 1, mis en œuvre par une machine virtuelle de contrôle pilotée par l’hyperviseur et comprise dans l’unité de contrôle. Procédé selon l’une quelconque des revendications précédentes, dans lequel la deuxième adresse physique est stockée en association avec l’identifiant de réseau dans une table de correspondance, le procédé comprenant en outre : déterminer que l’identifiant de réseau est associé à la deuxième adresse physique par lecture de la table. Procédé selon l’une quelconque des revendications précédentes, comprenant en outre : générer une alarme de duplication d’identifiant de réseau au sein du système informatique. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’adresse physique comprend une adresse MAC et/ou un numéro de port. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’identifiant de réseau comprend une adresse IP. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’identifiant de réseau est associé à la deuxième adresse physique sur instanciation de la machine virtuelle utilisateur au sein du système informatique. Procédé selon l’une quelconque des revendications précédentes, comprenant en outre : extraire l’identifiant de réseau et la première adresse physique du paquet de données reçu. Procédé selon l’une quelconque des revendications précédentes, comprenant en outre : instancier la machine virtuelle de contrôle à partir d’une configuration initiale du système informatique ne comprenant aucune machine virtuelle utilisateur. Système informatique comprenant une unité de traitement comprenant un processeur et une mémoire couplée de manière opérationnelle au processeur, au moins une machine virtuelle utilisateur pilotée par un hyperviseur et une unité de contrôle, l’unité de traitement étant configurée pour la mise en œuvre, par l’unité de contrôle, d’un procédé selon l’une quelconque des revendications 1 à 9. Programme d’ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en œuvre d’un procédé selon l’une quelconque des revendications 1 à 9 lors de l’exécution dudit programme par le processeur.