Rapport 2023 sur les vulnérabilités dans le cloud

L’équipe de Wiz Research explore des informations sur la gestion des vulnérabilités dans les environnements cloud, en utilisant des vulnérabilités récemment identifiées comme exemples, et partage quelques informations sur leur méthodologie de renseignement sur les vulnérabilités.

Qu’est-ce que la sécurité des applications (AppSec) ?

La sécurité des applications fait référence à la pratique consistant à identifier, atténuer et protéger les applications contre les vulnérabilités et les menaces tout au long de leur cycle de vie, y compris la conception, le développement, le déploiement et la maintenance.

9 minutes lues

La sécurité des applications (AppSec) consiste à détecter et à atténuer les vulnérabilités des applications tout au long de leur cycle de vie. Il s’agit non seulement de trouver et de résoudre les problèmes de sécurité, mais aussi d’acquérir une compréhension approfondie du comportement attendu des applications, des modèles de menaces associés et des risques liés aux composants, aux configurations et aux fonctionnalités de l’application.

Au fil du temps, la cybersécurité est passée d’une concentration uniquement sur les défenses périmétriques à une priorité accordée à la sécurité des applications. Ce changement montre à quel point les nouvelles menaces ciblant les applications nécessitent des méthodes sophistiquées pour réduire votre surface d’attaque.

Lisez la suite pour en savoir plus sur les menaces courantes, le Les dix principales vulnérabilités de l’OWASP, ainsi que des exemples concrets de violations. Nous aborderons également les meilleures pratiques pour améliorer la sécurité des applications, les outils et les techniques. Commençons.

DevSecOps : Intégration de la sécurité avec DevOps

L’une des plus grandes tendances dans le domaine de la sécurité des applications est le mouvement shift-left. « Se déplacer vers la gauche » signifie mettre Pratiques de codage sécurisées au tout début du cycle de vie du développement logiciel (SDLC). Voici à quoi il ressemble à chaque phase de développement :

Development PhaseStrategies for shifting left
DesignEvaluate risks and incorporate security measures
DevelopmentFollow secure coding standards; carry out exhaustive testing before deployment
Deployment and beyondContinuously monitor applications; keep up with patches and updates

En fin de compte, la transformation du DevOps en DevSecOps rend possible le déplacement vers la gauche. Avec le cadre DevSecOps, chaque membre de l’équipe partage la responsabilité de la sécurité. En encourageant une surveillance constante, des tests fréquents et une correction rapide des vulnérabilités, DevSecOps s’assure que votre entreprise a une culture où les développeurs assument les risques et peuvent être tenus responsables de la sécurité.

Le rôle de l’OWASP dans la sécurité des applications

L’Open Web Application Security Project (OWASP) est une organisation à but non lucratif mondialement reconnue qui joue un rôle essentiel dans l’amélioration de la sécurité des applications. Sa contribution la plus notable, l’OWASP Top Ten Web Application Security Risks, décrit les risques de sécurité des applications Web les plus importants, offrant des conseils sur l’atténuation de ces vulnérabilités pour protéger les applications.

Les principales menaces mises en évidence par l’OWASP et leur impact sont les suivantes :]

  1. Contrôle d’accès cassé: Les attaquants exploitent les failles des mécanismes de contrôle d’accès pour effectuer des actions non autorisées, telles que l’affichage, la modification ou la suppression de données. Pour atténuer ce problème, appliquez le principe du moindre privilège, validez rigoureusement les rôles des utilisateurs et testez régulièrement les politiques de contrôle d’accès. Des outils tels que les tests de sécurité dynamique des applications (DAST) peuvent aider à identifier ces problèmes pendant les tests.

  2. Défaillances cryptographiques: Une protection insuffisante des données sensibles, telles que des mots de passe en clair ou un cryptage faible, peut entraîner des violations. Utilisez des algorithmes de chiffrement puissants et modernes, gérez les clés en toute sécurité et assurez-vous que les données sont chiffrées pendant le transit et au repos. L’intégration de vérifications cryptographiques dans les pipelines CI/CD permet de détecter rapidement les défauts de configuration.

  3. Attaques par injection (par exemple, injection SQL): Les attaquants manipulent les requêtes en injectant du code malveillant dans les champs de saisie, exposant ou modifiant des données sensibles. Utilisez des requêtes paramétrées et des instructions préparées pour vous protéger contre les attaques par injection. Les pipelines CI/CD modernes peuvent tirer parti des outils SAST pour détecter les vulnérabilités dès le début du processus de développement.

  4. Conception non sécurisée: Les applications dont la conception de la sécurité est médiocre sont vulnérables aux attaques, quelle que soit la qualité de leur mise en œuvre. Adoptez des principes de conception sécurisés, modélisez les menaces et assurez-vous que les considérations de sécurité sont intégrées dès la phase de conception. Les examens architecturaux peuvent mettre en évidence des modèles non sécurisés avant le début du développement.

  5. Erreur de configuration de la sécurité: Des paramètres incorrects ou trop permissifs, tels que des compartiments de cloud ouverts ou des fonctionnalités inutiles, créent des lacunes exploitables. Examinez et renforcez régulièrement les configurations, appliquez des paramètres par défaut sécurisés et automatisez les audits de configuration. Des outils tels que les scanners de configuration peuvent fournir une surveillance continue.

  6. Composants vulnérables et obsolètes: Les bibliothèques ou frameworks obsolètes avec des vulnérabilités connues constituent un point d’entrée pour les attaquants. Utiliser Analyse de la composition logicielle (SCA) Outils permettant de suivre les dépendances, de mettre à jour rapidement les composants et de supprimer les bibliothèques inutilisées. Maintenez un processus robuste de surveillance des avis de sécurité.

  7. Échecs d’identification et d’authentification: Des mécanismes d’authentification faibles, tels que des politiques de mot de passe mal mises en œuvre, peuvent entraîner un accès non autorisé. Mettez en œuvre l’authentification multifacteur (MFA), sécurisez la gestion des sessions et imposez des exigences strictes en matière de mots de passe. Des tests réguliers des flux d’authentification permettent d’identifier les faiblesses.

  8. Défaillances de l’intégrité des logiciels et des données: Les mises à jour non vérifiées ou les chaînes d’approvisionnement logicielles compromises peuvent introduire un code malveillant. Utilisez la signature de code pour vérifier l’intégrité du logiciel, effectuer des analyses de dépendances et sécuriser les pipelines CI/CD afin d’éviter toute falsification. Auditez régulièrement les composants critiques pour détecter les changements inattendus.

  9. Échecs de journalisation et de surveillance de la sécurité: L’insuffisance de l’enregistrement et de la surveillance rend difficile la détection et la réponse aux attaques en temps réel. Mettez en œuvre des pratiques de journalisation complètes, stockez les journaux en toute sécurité et configurez des alertes en cas d’activité inhabituelle. Les outils automatisés d’analyse des journaux peuvent améliorer les capacités de détection.

  10. Falsification de requête côté serveur (SSRF): Les attaquants incitent les serveurs à récupérer des URL malveillantes, exposant potentiellement les systèmes internes. Validez et nettoyez toutes les URL fournies par l’utilisateur, appliquez des listes d’autorisation pour les demandes sortantes et limitez l’accès au réseau aux ressources critiques. Le proxy de toutes les requêtes externes via des passerelles sécurisées peut ajouter une couche de défense supplémentaire.

Violations majeures

Violations majeures

Bonnes pratiques tirées des failles de sécurité

Les failles de sécurité majeures pointent toutes vers les mêmes domaines cruciaux que vous devriez vous concentrer sur le renforcement :

  1. Correctifs et mises à jour : Une mise à niveau rapide est le seul moyen d’empêcher l’exploitation des vulnérabilités connues. Établissez des politiques de gestion des correctifs robustes et tenez à jour un inventaire des logiciels pour vous assurer qu’aucun composant n’est négligé, et testez régulièrement les correctifs pour détecter les modifications cassantes dans un environnement contrôlé avant le déploiement.

  2. Authentification et autorisation : La mise en œuvre de configurations de sécurité et de mesures de contrôle d’accès solides peut réduire considérablement le risque d’accès non autorisé et d’exploitation. Cela inclut l’application du principe du moindre privilège, la réalisation d’audits réguliers des autorisations d’accès et l’utilisation de l’authentification multifacteur (MFA). Les outils automatisés de gestion de la configuration peuvent aider à maintenir les bases de sécurité dans tous les environnements.

  3. Sécurité de la chaîne d’approvisionnement : Les vulnérabilités des composants tiers peuvent compromettre l’ensemble du système de votre organisation. Pour vous protéger, adoptez une approche globale qui comprend une diligence raisonnable dans la vérification des fournisseurs, une surveillance continue des composants tiers et l’intégration les pratiques de sécurité dans le cycle de vie du développement logiciel (SDLC)

  4. Cryptage et protection des données : Un cryptage et une segmentation efficaces des données peuvent empêcher tout accès non autorisé, même en cas de violation. Privilégiez le chiffrement des données sensibles au repos et en transit, mettez régulièrement à jour les protocoles de chiffrement et maintenez des environnements de données distincts pour limiter l’exposition.

  5. Sécurité du cloud et gestion de la configuration : Avec la dépendance croissante à l’infrastructure cloud, les bonnes pratiques de sécurité cloud (telles que les paramètres de configuration sécurisés, les examens réguliers et la gestion automatisée de la posture de sécurité) ne sont pas négociables.

  6. Gestion des vulnérabilités: Les programmes complets de gestion des vulnérabilités doivent inclure une analyse, un suivi et une correction réguliers des vulnérabilités. Il est essentiel d’identifier et de répondre rapidement aux vulnérabilités nouvellement découvertes dans les composants open source et tiers.

  7. Préparation à l’intervention en cas d’incident : Mettez en place des plans d’intervention rapide pour détecter, contenir et atténuer les failles de sécurité. Un excellent moyen de rester préparé est d’effectuer régulièrement des exercices de réponse aux incidents et de donner la priorité aux sessions de formation régulières pour les équipes. 

  8. Pratiques de codage sécurisées : Respectez les directives de codage établies pour éviter que des vulnérabilités ne soient introduites pendant le développement.

Outils et techniques de sécurité des applications

Outre les bonnes pratiques, il existe une gamme d’outils et de méthodes de test pour soutenir vos efforts de sécurité des applications, notamment :

  • Tests de sécurité statiques des applications (SAST) : Cette technique analyse le code source ou le code binaire pour identifier les vulnérabilités au début du cycle de développement. 

  • Tests dynamiques de sécurité des applications (DAST) : Contrairement à SAST, DAST teste une application en cours d’exécution sans accès à son code source. Cette approche de test en boîte noire simule des attaques réelles.

  • Détection et réponse aux applications (ADR) : MARC Surveille les applications en direct en temps réel, en détectant les menaces et les anomalies pendant l’exécution. Il se concentre sur l’identification et la réponse aux exploits actifs ou aux activités malveillantes en production, garantissant une atténuation dynamique des risques et une protection continue des applications dans leur état opérationnel.

  • Analyse de la composition du logiciel (SCA) : Outils SCA Concentrez-vous sur l’identification des vulnérabilités dans les bibliothèques tierces et open source utilisées dans les applications. Compte tenu de l’utilisation généralisée de composants open source, la SCA est cruciale pour la gestion des risques.

  • Numérisation des secrets : Outils d’analyse des secrets Aidez les développeurs à identifier et à supprimer les secrets codés en dur dans le code ou les fichiers de configuration.

Implémentation d’AppSec dans les processus DevOps avec Wiz

Comme nous l’avons vu, une approche structurée de la sécurité des applications implique d’aligner les contrôles sur une compréhension claire des risques qu’ils atténuent et de leur impact sur l’entreprise. Les principaux éléments de cette approche sont les suivants :

  • Évaluation du risque: Identifier l’impact potentiel des vulnérabilités en fonction de leur probabilité et de leur gravité, permettant une prise de décision éclairée.

  • Modélisation des menaces: Analyser comment les attaquants peuvent exploiter les composants de l’application pour découvrir les risques dès le début du cycle de développement et les atténuer de manière proactive.

  • Des politiques de développement sécurisées: Établir des lignes directrices pour le codage, les tests et le déploiement afin de détecter les risques plus tôt et de les prévenir

  • Formation et sensibilisation: Fournir aux développeurs les connaissances nécessaires pour identifier et atténuer les risques de sécurité

Mais vous n’êtes pas obligé d’implémenter AppSec par vous-même. Wiz propose une plate-forme de pointe qui rassemble tous vos efforts en matière d’AppSec derrière une seule interface. En repérant les vulnérabilités dès le début du cycle de développement

Mais vous n’êtes pas obligé d’implémenter AppSec par vous-même. Wiz propose une plate-forme de pointe qui rassemble tous vos efforts en matière d’AppSec derrière une seule interface. En repérant les vulnérabilités dès le début du cycle de développement Wiz Code met fortement l’accent sur le démarrage de votre sécurité voyage à la code niveau. Wiz'et son interface conviviale facilitent l’intégration de la sécurité dans le processus de développement. 

Figure 1: Wiz Code provides a single view of code, cloud, and runtime

Prêt à voir par vous-même ? Réservez une démo de Wiz dès aujourd’hui et voyez à quel point il est facile de protéger tout ce que vous créez et exécutez dans le cloud.

Secure your cloud from code to production

Learn why CISOs at the fastest growing companies trust Wiz to accelerate secure cloud development.

Demander une démo