A propos de MetaDefender Cloud
MetaDefender Cloud est la plateforme de prévention des menaces et d'analyse des malwares d'OPSWAT, basée sur le cloud. Notre combinaison unique de Deep CDR et de Multiscanning à partir de plus de 20 des meilleurs moteurs AV protège les organisations contre les attaques zero-day et les malwares de plus en plus sophistiqués. Le bac à sable de MetaDefender Cloud, combiné à l'analyse en temps réel des hashs, des IP et des domaines à l'aide de la base de données de renseignements sur les menaces d'OPSWAT, aide les chercheurs de malwares et fournit une compréhension approfondie des menaces existantes et potentielles.
La plateforme MetaDefender Cloud prend actuellement en charge plus de 5 millions de demandes d'analyse par jour de la part de nos clients, tout en leur offrant un temps d'analyse moyen de 0,4 seconde.
Pourquoi avons-nous développé MetaDefender as a Service (MDaaS) ?
Répondre aux exigences du marché et mieux soutenir nos clients
Nous voulions nous assurer que MetaDefender Cloud pouvait évoluer pour répondre aux exigences changeantes et au besoin croissant de services avancés de sécurité des applications, ainsi qu'à la complexité croissante de la sécurité DevOps, à mesure que de plus en plus d'applications migrent vers le cloud. Avec l'augmentation du trafic de fichiers, il était nécessaire que MetaDefender Cloud maintienne et améliore ses performances pour garantir une expérience utilisateur fluide à nos clients finaux.
Améliorer le suivi et l'analyse prédictive
Nous avons décidé de migrer notre architecture sur site vers Kubernetes basé sur des microservices avec l'infrastructure en tant que code pour être en mesure de fournir une expérience transparente et cohérente par rapport au modèle de déploiement et de surveillance actuel.
MetaDefender Architecture en tant que service

Lorsque nous avons migré vers MDaaS, nos services Multiscanning ont été déplacés du site AMI basé sur Windows vers un cluster basé sur Kubernetes. Les administrateurs peuvent désormais configurer l'évolutivité par moteur. Comme les performances des moteurs sont différentes, le(s) moteur(s) le(s) plus lent(s) peut(vent) être mis à l'échelle pour maintenir des temps de balayage rapides.
Le flux de traitement des fichiers est maintenant le suivant :
1) Un message provenant d'un demandeur externe est envoyé à un sujet Kafka "request" (1) avec des instructions de demande, telles que l'analyse d'un fichier avec AV1, AV2, etc., l'assainissement avec Deep CDR, et l'analyse du fichier avec Sandbox, etc.
2) Ensuite, un extracteur Lambda (2), qui s'abonne pour recevoir les messages, divise la demande en un certain nombre de commandes différentes et les envoie à un autre sujet Kafka (3), où elles sont ensuite classées et assignées au(x) moteur(s) pertinent(s). (4)
3) Le traitement du moteur (4) est le cœur du système. Il contient plusieurs conteneurs de moteurs, fonctionne sur Amazon Elastic Kubernetes Service (EKS) et a la capacité d'évoluer en fonction de la charge de travail. Chaque moteur gère une demande spécifique qui augmente les performances de traitement.
4) Au cours du processus, un bac S3 (5) est également utilisé pour stocker les fichiers d'entrée et de sortie.
5) Dans le même temps, un module de traitement des journaux (6) reçoit les journaux des moteurs et les transmet à un système d'analyse des journaux.
6) Après le traitement du fichier, le résultat dérivé de chaque moteur est renvoyé au sujet Kafka "results" (7).
7) Ensuite, un agrégateur de microservices utilisant AWS Lambda (8) consolide les résultats en un seul rapport et l'envoie à un sujet Kafka (9) pour revenir au demandeur.
Défis techniques et solutions
Prévision du comportement du moteur et des anomalies de manipulation
Le déploiement traditionnel de MD Core AMI permet aux moteurs de fonctionner sur un ordinateur puissant où ils peuvent partager les ressources (CPU, RAM, disque, réseau, etc.) les uns avec les autres. Cependant, avec l'architecture microservices, chaque moteur fonctionne individuellement dans un conteneur moins puissant. Il nous a donc été difficile de définir les besoins en ressources du système dans ce cas.
Pour résoudre ce problème, nous avons utilisé les données historiques de l'ancien système pour établir une base de référence pour chaque moteur et nous avons ajouté la surveillance de Datadog. Nous avons continué à surveiller le comportement des moteurs et à affiner l'infrastructure jusqu'à ce que le produit atteigne des performances supérieures.
Maintenir un équilibre entre les performances et les coûts d'hébergement
Avec la nouvelle architecture, MetaDefender Cloud peut être facilement mis à l'échelle pour s'adapter aux besoins illimités de nos clients et fonctionner à des niveaux optimaux. Néanmoins, cela signifie également que les coûts de maintenance peuvent augmenter proportionnellement. Sans contrôle des dépenses ni modèle de gouvernance, la mise à l'échelle pourrait être incontrôlable, entraînant une augmentation des factures de services cloud bien au-delà du budget initial alloué.
C'est pourquoi des examens architecturaux fréquents ont été effectués avec les parties prenantes afin de garantir une expérience cohérente avec des coûts stables et équilibrés.
Simulation d'environnement
Simuler une charge de production dans un environnement de non-production sans données réelles est un défi. Pour y parvenir, nous avons mis en place des flux de travail parallèles afin que les données réelles passent par l'ancienne et la nouvelle architecture, ce qui nous a permis d'évaluer les paramètres clés des deux architectures côte à côte. Cette comparaison nous a permis d'identifier rapidement et efficacement les domaines dans lesquels la nouvelle architecture était supérieure à l'ancienne, ainsi que ceux dans lesquels la nouvelle architecture devait être améliorée.
Suivi, rapports et contrôle
Surveillance en temps réel de l'infrastructure en nuage
MetaDefender Cloud met l'accent sur la mise en place d'une surveillance robuste de ses systèmes afin de fournir une vision claire de leur état de santé. Pour un service comme MDaaS qui peut gérer plus de 44 requêtes par seconde (RPS) avec un taux d'erreur de 0,6%, qui s'appuie sur plusieurs systèmes en amont et écosystèmes partenaires comme source de trafic et qui produit simultanément un trafic important pour différents systèmes internes et externes en aval, il est important d'avoir une combinaison solide de métriques, d'alertes et de logs en place.

Alertes sur les environnements à fort trafic anormal dans Datadog
En plus des mesures standard de la santé du système, telles que le CPU, la mémoire et les performances, nous avons ajouté plusieurs mesures "à la limite du service", telles que la croissance de la file d'attente, le temps de réponse du service, le status-cake et la journalisation pour capturer toutes les aberrations des systèmes en amont ou en aval. En outre, nous avons ajouté une analyse des tendances pour les mesures importantes afin d'aider à détecter les dégradations à plus long terme. Nous avons instrumenté MDaaS avec une application de traitement de flux en temps réel appelée Datadog (pour en savoir plus, cliquez ici). Elle nous a permis de suivre les événements en temps réel sur le fil à une granularité spécifique au conteneur, ce qui a facilité le débogage. Enfin, nous avons trouvé utile d'avoir des alertes spécifiques aux services afin d'identifier plus rapidement les causes profondes des problèmes.

Création d'incidents sur les exceptions qui requièrent l'attention des ingénieurs en fiabilité des sites dans Datadog
La surveillance SaaS avec la plateforme Datadog permet aux équipes de s'intégrer plus rapidement et plus facilement, et élimine la nécessité d'une maintenance continue de l'outil, d'une mise à l'échelle de la capacité, d'une mise à jour ou d'une gestion. Grâce à ces avantages, les équipes disposent de plus de temps pour travailler sur le produit principal et n'ont pas à créer une solution de surveillance par elles-mêmes.

Résultats
- En migrant vers MDaaS, le microservice du moteur est maintenant plus flexible pour aider à répondre aux exigences de contrôle de sécurité de base modérées de FedRAMP.
- La surveillance des performances de l'application est désormais améliorée grâce à des alertes et des tableaux de bord en temps réel. La nouvelle architecture microservices permet aux administrateurs de surveiller l'application et chaque composant facilement et efficacement. Elle facilite également le déploiement et l'évolutivité.
- Dans la mesure où l'infrastructure est définie comme un code, elle permet aux utilisateurs de modifier et de distribuer facilement des configurations tout en garantissant l'état souhaité de l'infrastructure. Cela signifie que vous pouvez créer des configurations d'infrastructure reproductibles.
En savoir plus sur MetaDefender Cloud ou contactez-nous pour plus d'informations.