Gestion des vulnérabilités

Élaborez des pratiques efficaces en matière de vulnérabilité.

Vue d'ensemble

Ce document technique couvre différentes pratiques de gestion des vulnérabilités, telles que les analyses de vulnérabilité, les tests d'intrusion et les analyses de vulnérabilité du code. Ce document explorera également les processus permettant de rétablir la disponibilité et l'accès après une interruption de service due à un incident.

Exigences relatives à la politique de protection des données (PPD)

As part of Amazon’s Data Protection Policy (DPP) (DPP), developers have to implement vulnerability scans at minimum semi-annually, penetration tests yearly, code vulnerability scans prior to release of new code, features, or products, and to ensure they can restore availability and access to Personal Identifiable Information (PII) within hours. This is to avoid exposure of sensitive data, including PII. Every SP-API developer needs to ensure that vulnerable points such as public-facing websites, interfaces, servers, and new features have the expected level of security and protection even before release.

Gestion des vulnérabilités

Les développeurs doivent créer et tenir à jour un plan ou un run-book pour détecter et corriger les vulnérabilités. Les développeurs doivent protéger le matériel physique contenant des informations personnelles contre les vulnérabilités techniques en effectuant des analyses de vulnérabilité et en y remédiant de manière appropriée. Les développeurs doivent effectuer une analyse des vulnérabilités au moins tous les 180 jours, des tests d'intrusion au moins tous les 365 jours et scanner le code pour détecter les vulnérabilités avant chaque version. En outre, les développeurs doivent contrôler les modifications apportées au matériel de stockage en testant, en vérifiant les modifications, en les approuvant et en limitant l'accès aux personnes autorisées à effectuer ces actions. Les développeurs doivent disposer de procédures et de plans appropriés pour rétablir la disponibilité et l'accès aux informations personnelles en temps opportun en cas d'incident physique ou technique.

Scans de vulnérabilité

Un scan de vulnérabilité est le processus qui permet d'identifier, de découvrir, d'analyser et de signaler l'accès à l'hôte, les faiblesses et les lacunes du réseau pour les instances ou les logiciels exécutés par l'application.

En termes de sécurité, il est essentiel de vérifier que les appareils/instances destinés au public sont protégés contre les acteurs malveillants. Dans un scénario idéal, les analyses peuvent être effectuées à l'aide d'outils d'analyse des vulnérabilités pour identifier/classer les facteurs de risque et les vecteurs d'attaque possibles au sein du réseau (y compris les actifs logiciels et matériels).

Here are the top ten vulnerabilities according to the Open Web Application Security Project (OWASP) for 2021 and associated Common Weakness Enumerations (CWE):

CWEPoint de vulnérabilitéBrève description
A01Contrôle d'accès casséL'utilisateur effectue une action à laquelle il n'est pas censé pouvoir accéder.
A02Défaillances cryptographiquesPratiques cryptographiques inexistantes ou faibles.
A03InjectionLes pirates informatiques peuvent insérer des données et les manipuler au sein d'un réseau.
A04Conception peu sûreAbsence de planification lors de la phase de conception du réseau.
A05Microconfigurations de sécuritéLes paramètres de sécurité des bases de données, des bibliothèques ou des serveurs ne sont pas définis, ce qui pourrait entraîner une vulnérabilité.
A06Composants vulnérables et obsolètesVersions anciennes ou non prises en charge d'un logiciel ou d'un système d'exploitation.
A07Défaillances d'identification et d'authentificationAbsence de contrôles d'accès des utilisateurs et de gestion des informations d'identification.
A08Pannes liées à l'intégrité des logiciels et des donnéesAucune protection contre les atteintes à l'intégrité.
A09Défaillance de journalisation et de surveillance sécuriséesAucun service de surveillance, ce qui rend difficile l'identification des violations et des attaques sortantes.
A10Falsification des requêtes côté serveur (SSFR)URL non vérifiée fournie par un utilisateur qui contraint une application à envoyer des requêtes contournant la sécurité du réseau.

Refer to OWASP – Vulnerability Scanning Tools for a list of free and paid scanning tools.

Une fois les analyses terminées, les développeurs doivent hiérarchiser les vulnérabilités en fonction du niveau d'impact sur la sécurité et s'efforcer de les corriger en conséquence.

  • Scans de vulnérabilité externes: les analyses externes sont destinées à vérifier les vulnérabilités de points externes/publics tels que les ports, les sites Web, les réseaux et les applications.

  • Scans de vulnérabilité internes: les scans internes donnent une visibilité sur les éventuelles failles de sécurité au sein d'un réseau privé.

  • Scans intrusifs et non intrusifs: les scans non intrusifs analysent une cible spécifique, telle que le trafic réseau ou la version d'une base de données, mais ils n'affectent pas les niveaux de service car ils vérifient uniquement les informations sans tirer parti de la vulnérabilité. Un scan intrusif vise à exploiter la vulnérabilité à son plus haut niveau et à fournir plus d'informations sur les vulnérabilités détectées, mais il interrompt également les niveaux de service. Utilisez-le donc dans un environnement contrôlé.

Amazon Inspector

Amazon Inspector is a scalable vulnerability management tool which scans workloads and unintended network exposures to verify that there are no vulnerabilities in operating systems running EC2 instances.

Amazon Inspector fournit des rapports de détection des vulnérabilités en temps quasi réel en utilisant des facteurs CVE (Common Vulnerabilities and Exposure) mis à jour et en vérifiant différents langages de codage tels que Java, Python et Node.js. Les développeurs qui utilisent Amazon Inspector peuvent l'utiliser pour valider la conformité de programmes tels que les certificats PCI, ISO et CSA STAR.

The Amazon Inspector architecture.

Amazon Guard

Amazon’s Security team developed Amazon’s SP-API-Guard as an application that runs in AWS instances to check and asses security compliance with Amazon’s DPP. SP-API Guard also provides a recommendation report of any security gap it finds within a day to an S3 bucket. This reduces the effort for manual Data Security Assessments and remediation plan times while providing recommended solutions for vulnerabilities found.

The Amazon Guard architecture.

Les tests de pénétration

Les tests d'intrusion (test du stylo) sont un moyen de vérifier dans un environnement simulé/contrôlé toute vulnérabilité dans différents points des applications ou des réseaux. Ceci est fait pour confirmer quelles vulnérabilités peuvent être exploitées par des acteurs malveillants.

Le test du stylo comprend les étapes suivantes :

  • Étape de planification: L'équipe fixe les objectifs et la portée des tests de stylo des testeurs. Toutes les parties doivent être informées des prochains tests.

  • Étape de scan/découverte: les testeurs de stylet lancent le processus de reconnaissance du réseau et d'inspection du code.

  • Étape de pénétration: le testeur de stylet tente d'accéder au réseau/aux instances en utilisant différents types d'attaques, tels que l'injection SQL, les scripts intersites et les portes dérobées pour exploiter les vulnérabilités.

  • Étape de l'analyse/du rapport: le testeur de stylet crée un rapport contenant des informations détaillées sur les mesures prises pour pénétrer la sécurité du réseau et les vulnérabilités détectées. Le testeur de stylet doit inclure une section sur les actions recommandées dans le rapport.

  • Étape d'assainissement/de nettoyage: L'équipe responsable prend les devants et commence à corriger les vulnérabilités signalées une fois les tests de stylet terminés.

Comme mesure de sécurité supplémentaire pour s'assurer que les vulnérabilités sont corrigées ou corrigées, les développeurs effectuent un deuxième test après la phase de correction pour s'assurer qu'aucun élément n'a été oublié ou laissé sans surveillance.

OWASP also offers a penetration test guide (OWASP ZAP) for developers who want to know more on how to apply pen tests at an application level and for their network components such as firewalls and ports.

Scans de vulnérabilité du code

Les analyses de vulnérabilité du code visent à réduire les risques lors de la publication d'une nouvelle fonctionnalité/produit. Les développeurs peuvent s'assurer de l'absence d'erreurs, de problèmes techniques ou de failles de sécurité lors du déploiement du code à l'aide des outils d'analyse de code suivants :

  • Test de sécurité des applications statiques (SAST): Révision du code sans avoir à exécuter le code. SAST vérifie la façon dont le code est écrit pour signaler tout problème de sécurité.

  • Test dynamique de sécurité des applications (DAST): Contrairement à SAST, DAST vérifie le code d'une application en cours d'exécution en simulant des attaques avec des injections de charge utile malveillantes. DAST aide les développeurs à identifier les vulnérabilités d'une application en cours d'exécution.

  • Test d'application interactif (IAST): IAST vérifie les fonctionnalités des applications dans tous les environnements de test. Cela facilite la mise en œuvre et l'évolutivité car cela permet de réduire les éventuels temps d'arrêt ou interruptions de service en corrigeant les vulnérabilités avant la publication.

Ces outils doivent respecter les normes définies par l'OWASP pour vérifier la sécurité des applications par rapport aux dix principaux risques de sécurité. Les développeurs doivent scanner le code pour identifier, classer et hiérarchiser les failles de sécurité qui affectent ou interrompent le service après le lancement du produit.

Plan de reprise après sinistre

To ensure that application users are not affected by incidents (technical or physical) developers must have a plan that covers actions on how to restore availability and access to PII data in a short time, taking in consideration Recovery Time Objective (RTO) and Recovery Point Objective (RPO). AWS offers guidance in Establishing RTO and RPO Targets for Cloud Applications.

  • RTO: temps nécessaire aux développeurs pour rétablir des niveaux de service normaux pour les utilisateurs de l'application. Pour ce faire, il est possible de disposer d'une redondance au sein des instances/services réseau essentiels au bon fonctionnement de l'application.

  • RPO: le moment où les développeurs peuvent restaurer les données, en d'autres termes, la quantité de données qu'il est acceptable de perdre après un incident. Un aspect fondamental de cet objectif est d'effectuer une ou plusieurs sauvegardes des données à différents endroits, et d'effectuer ces sauvegardes deux fois par semaine si possible.

Developers are expected to use recovery strategies and test them to meet objectives (RTO and RPO). AWS Resilience Hub is an AWS service that helps to establish RTO and RPO targets, and it analyzes applications against those targets.

Conclusion

La gestion des vulnérabilités est une norme de sécurité essentielle. Les analyses de vulnérabilité et les tests d'intrusion permettent d'identifier et de réduire les risques éventuels au sein d'un environnement réseau et d'instances d'application. Les développeurs doivent effectuer des analyses de vulnérabilité et des tests d'ouverture au moins une fois par an conformément aux exigences du DPP. La pratique consistant à effectuer ces évaluations aide les développeurs à accroître leur maturité en matière de sécurité et à se conformer aux normes auxquelles ils peuvent être confrontés, telles que les meilleures pratiques réglementaires ou sectorielles.

Les développeurs doivent exécuter une analyse de code avant la publication des fonctionnalités ou des produits. Les tests doivent être effectués dans un environnement isolé et contrôlé pour s'assurer qu'il n'y a aucune faille de sécurité pour les nouvelles versions et qu'aucune donnée n'est exposée.

Le fait de disposer de sauvegardes, d'instantanés ou d'images permet de réduire l'impact de la perte de données PII suite à un incident. Garantir la résilience de vos services applicatifs réduit le temps nécessaire pour rétablir l'accès et la disponibilité des données PII.


Cette page vous a-t-elle été utile ?