Sécurisation des conteneurs : comment Visa a assemblé sa propre solution

Principalement construite sur des outils et des bibliothèques open source, la solution maison de Visa tire parti des capacités natives qui existent déjà sur les plateformes d'orchestration de conteneurs.
PublicitéÀ l'instar de nombreuses grandes entreprises, le géant des services financiers Visa a adopté des technologies de conteneurisation qui lui ont permis d'abandonner ses applications monolithiques traditionnelles pour passer à des architectures d'applications basées sur des microservices, plus faciles à maintenir, à mettre à jour et à déployer à l'échelle sur une infrastructure cloud. Mais le découpage des applications en microservices a également introduit un autre défi : s'assurer que les conteneurs qui hébergent les différentes parties de l'application sont bien surveillés et bien protégés contre les attaques.
Au lieu de déployer plusieurs solutions commerciales combinées et de dépenser des ressources pour qu'elles fonctionnent dans son environnement, l'équipe de sécurité de Visa a préféré repartir de la base en créant sa propre solution de surveillance continue pour gérer l'application des politiques de sécurité, la détection des incidents et les mesures correctives, projet qui a valu à l'entreprise un CSO50 Award pour l'excellence de sa sécurité. Appelée MASHUP (Micro-services based Adaptive Security Hardening and Usage Platform), la solution tire parti des capacités natives déjà présentes sur les plateformes d'orchestration de conteneurs comme les cgroupes, les contrôles d'accès aux systèmes de fichiers et les politiques SELinux. De plus, la solution est principalement construite sur des outils et des bibliothèques open source.
Développer au lieu d'acheter
Plusieurs facteurs ont conduit Visa à créer sa propre plateforme de sécurité plutôt que d'opter pour des solutions de fournisseurs reconnus. D'abord, la plupart d'entre eux qui proposent des solutions de sécurité pour des infrastructures basées sur des conteneurs et des applications conteneurisées sont des start-ups. Ces produits peuvent donc ne pas offrir toutes les garanties de maturité demandées par les grandes entreprises. Ensuite, si d'autres produits proposent effectivement la surveillance et la protection des conteneurs, ces fonctionnalités sont comprises dans un ensemble beaucoup trop vaste sans utilité pour certaines entreprises. Et Visa voulait éviter d'acheter un produit dont il n'utiliserait que 10 % des fonctionnalités. Un autre élément important qui a pesé dans la décision concerne la flexibilité et l'agilité du développement. En ayant un contrôle total sur sa plateforme, Visa pouvait rapidement mettre en oeuvre les dernières fonctionnalités demandées par les équipes internes ou modifier la feuille de route du produit en fonction des priorités et stratégies définies par la direction. Cette possibilité de correction rapide des bogues a également joué.
À l'inverse, certains produits commerciaux disponibles manquaient de fonctionnalités dont l'entreprise avait besoin pour son environnement spécifique, et l'absence de ces fonctionnalités risquait de laisser ouvertes certaines portes aux menaces ou aurait obligé l'entreprise à attendre que les fournisseurs les ajoutent. « Visa a décidé de développer le produit elle-même parce que nous disposions d'une expertise interne et que nous comprenions les problèmes qu'il fallait résoudre », a expliqué par courriel Sunil Seshadri, le responsable de la sécurité des systèmes d'information (RSSI) pour la technologie et les opérations de Visa. « De plus, nous avons constaté que les solutions existantes sur le marché ne répondaient pas totalement à nos besoins. Par conséquent, nous avons conçu le produit en fonction de nos modèles d'usages et de risques ».
Publicité Enfin, la mise en place de leur propre solution a permis aux équipes de Visa chargées des opérations, de la sécurité et du développement, de travailler en étroite collaboration et de se soutenir mutuellement. Ces choix stratégiques ont beaucoup gagné en popularité ces dernières années avec la montée en puissance de l'approche DevSecOps. « Au lieu de mettre en place des contrôles de sécurité a posteriori, nous avons pu concevoir le produit en intégrant la composante sécurité, réduisant ainsi les coûts futurs que l'on aurait dû engager pour se protéger contre des menaces non prises en compte par la solution », a déclaré la société dans le dossier de soumission pour le CSO50 Award. « Grâce à son produit de sécurité des conteneurs (MASHUP), Visa peut assurer la sécurité des conteneurs et de Kubernetes pendant les phases de construction, de déploiement et d'exécution, tout en protégeant sa pile d'applications critiques exécutées dans son cloud privé ».
Commencer petit, et grandir
L'entreprise a commencé à petite échelle, en s'appuyant sur les capacités natives de systèmes d'exploitation hôtes comme Linux, et en ajoutant des fonctionnalités étape par étape. Finalement, le produit est devenu très indépendant de la plate-forme et il peut être adapté facilement pour fonctionner avec n'importe quel système d'exploitation hôte ou n'importe quel orchestrateur de conteneurs. MASHUP assure et renforce la surveillance du contrôle d'accès au niveau du noyau, de SELinux, du runtime et des applications de conteneur et peut distinguer et corréler les événements et l'activité au niveau de l'hôte et du conteneur. Il peut distinguer et corréler les événements et l'activité au niveau de l'hôte et du conteneur. Il peut également renforcer les configurations sécurisées par défaut afin d'éviter les failles susceptibles d'être exploitées par des attaquants. Cette validation « Shift left » pour détecter les défauts implique que seules les configurations vérifiées et sécurisées sont mises en production.
Le développement s'est beaucoup focalisé sur la construction d'un moteur de machine learning capable de détecter les anomalies séquentielles et ponctuelles en recherchant les écarts par rapport aux profils générés automatiquement pour des milliers de charges de travail qui génèrent des millions d'événements. Ce moteur a été construit en utilisant des bibliothèques open source comme TensorFlow. Si un incident est détecté, MASHUP réagit en appliquant les stratégies automatisées créées par l'équipe de sécurité de Visa afin de corriger le problème. Selon Visa, ce moteur permet de réduire le temps de réponse à l'incident de quelques jours à quelques minutes. « Le développement de ce système a pris plus de deux ans et nous avons procédé à son itération au fil du temps. Le plus intéressant, c'est que la technologie Kubernetes était en phase de maturation et d'itération rapide », a expliqué M. Seshadri. « C'était aussi le cas des technologies des conteneurs. Cela nous a permis d'améliorer le produit au fur et à mesure de l'ajout de nouvelles capacités et de l'identification de nouvelles menaces ».
Évolutivité et efficacité
Le système a été conçu pour s'adapter facilement et automatiquement à l'ajout de nouveaux noeuds et de nouveaux conteneurs aux clusters. MASHUP fonctionne en arrière-plan, de manière totalement transparente pour les applications surveillées. Cela signifie qu'il n'y a aucun accroc pendant l'exécution des applications et qu'il n'est pas nécessaire de modifier le code de l'application. Le serveur et l'agent MASHUP sont packagés comme des images de conteneurs, ce qui permet des mises à jour continues sans interruption. Visa a déclaré que l'impact sur la consommation des ressources systèmes était faible (l'entreprise a refusé de fournir des mesures de performance spécifiques), et acceptable, compte tenu de toutes les fonctions de sécurité fournies par le système. Selon le groupe financier, l'impact est probablement beaucoup plus faible que s'il fallait exécuter plusieurs solutions commerciales pour couvrir le même ensemble de fonctionnalités. Parce que le système est désormais intégré dans le pipeline d'intégration et de livraison continue (CI/CD), les contrôles de sécurité sont validés en temps réel et le scan des vulnérabilités se fait en continu, et non plus selon un calendrier hebdomadaire ou mensuel, comme c'est typiquement le cas dans les environnements d'entreprise.
Adoption et résultats
Pendant la première année de développement du projet, Visa avait déjà connecté MASHUP à la moitié de ses déploiements de conteneurs, et le niveau d'adoption est passé à 70 %, une couverture complète étant prévue pour la fin de la seconde année. « L'activation progressive de MASHUP pour contrôler la sécurité des conteneurs a permis de répondre automatiquement à la grande majorité des événements et des attaques en un temps moyen de détection (MTTR) rapide et un temps moyen de confinement de quelques minutes », a déclaré Visa dans son dossier de soumission pour le CSO50 Award. L'entreprise estime avoir réalisé des économies importantes comparativement à ce qu'elle aurait dû dépenser dans l'achat d'une solution commerciale d'un fournisseur tiers. Elle a réalisé des économies, aussi bien sur l'infrastructure et la main-d'oeuvre associées au déploiement d'une solution de fournisseur, les frais de maintenance fixes et annuels, que sur le recrutement ou la formation du personnel pour exploiter la solution du fournisseur, et les licences de produit. Toutes ces dépenses ont été évitées grâce au recours à des technologies open source.
D'autres entreprises peuvent-elles faire la même chose ? Oui, si elles disposent des compétences techniques nécessaires pour se lancer dans un tel projet et si elles ont une très bonne connaissance de leurs environnements et des données qu'elles veulent protéger. Tout commence par un bon modèle de menace systémique. « Malgré les similitudes sur le plan des menaces et de la surface des attaques, il y a des différences et elles sont assez significatives », a déclaré M. Seshadri. « Parmi les facteurs à prendre en compte, je dirais que l'entreprise doit avoir une forte volonté de développer sa propre solution, disposer de bonnes compétences en ingénierie, faire preuve d'excellence opérationnelle et technique, être capable de flexibilité pour effectuer son itération au fil du temps, elle doit aussi disposer d'une solution de repli commerciale au cas où la solution maison n'atteindrait pas les objectifs attendus, et en cas d'échec du projet, elle doit pouvoir en assumer les conséquences en termes de capital, de travail et de risques ».
Le monde de la sécurité conseille de ne jamais inventer ses propres algorithmes cryptographiques. Parce qu'il y a peu d'experts en cryptographie et de crypto-analystes dans le monde ayant les connaissances nécessaires pour cela, et leur travail est passé au crible par des pairs avant d'être accepté ou recommandé pour une utilisation généralisée. Si l'on applique ce principe à tout système de sécurité, on devrait dire qu'il est toujours préférable d'utiliser un système créé par des experts que de construire son propre système. Cependant, les progrès accomplis dans l'apprentissage machine au cours des cinq dernières années et la disponibilité de très nombreuses ressources gratuites et de bibliothèques open source, évaluées par des pairs, permettent aux utilisateurs de tirer parti de cette technologie et commencent à changer la donne. Sous le capot, les modèles statistiques de nombreux produits commerciaux s'appuient sur les mêmes outils open-source et les mêmes capacités natives pour capturer et analyser les données.
Aujourd'hui, ces modèles sont bien définis à l'intérieur de bibliothèques standards. Tant que les entreprises peuvent capturer tous les événements nécessaires pour éviter les angles morts et connaissent très bien leurs données et les menaces, elles peuvent créer de bons moteurs de détection d'anomalies basés sur des règles, bien adaptés à leurs environnements spécifiques. « Les bibliothèques open source permettent certainement aux entreprises de démarrer leurs projets rapidement, mais pour construire un modèle de détection d'anomalies efficace, il faut aussi pouvoir répondre à toutes les autres exigences », a mis en garde M. Seshadri. « Tout système intelligent a besoin de données, d'une plateforme informatique capable de traiter des masses importantes de données, d'une pile logicielle comprenant des bibliothèques d'apprentissage machine pour tirer parti de tous les paramètres ou de tous les modèles entraînés, d'une infrastructure pour agir et répondre aux menaces en temps quasi-réel, et de personnes pour faire fonctionner tout ça ». À noter que Visa réfléchit à des solutions pour restituer à la communauté des développeurs certains des outils et processus qu'elle a développés dans le cadre de ce projet.
Lucian Constantin / IDG News Service (traduction et adaptation : Jean Elyan)
Article rédigé par

IDG News Service,
Commentaire
INFORMATION
Vous devez être connecté à votre compte CIO pour poster un commentaire.
Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire