Mesures prises pour améliorer la sécurité d’une application

Sécurité des applications (court AppSec) inclut toutes les tâches qui introduisent un cycle de vie du développement logiciel aux équipes de développement. Son objectif final est d’améliorer les pratiques de sécurité et, à travers cela, de trouver, de corriger et de préférence de prévenir les problèmes de sécurité au sein des applications. Il englobe l’ensemble du cycle de vie de l’application depuis l’analyse des exigences, la conception, la mise en œuvre, la vérification ainsi que la maintenance.[1]

Approches[edit]

Différentes approches trouveront différents sous-ensembles de vulnérabilités de sécurité cachées dans une application et sont plus efficaces à différents moments du cycle de vie du logiciel. Ils représentent chacun différents compromis de temps, d’effort, de coût et de vulnérabilités trouvées.

  • Examen de la conception. Avant que le code ne soit écrit, l’architecture et la conception de l’application peuvent être revues pour les problèmes de sécurité. Une technique courante dans cette phase est la création d’un modèle de menace.
  • Examen de sécurité Whitebox, ou revue de code. Il s’agit d’un ingénieur en sécurité qui comprend profondément l’application en examinant manuellement le code source et en remarquant les failles de sécurité. Grâce à la compréhension de l’application, des vulnérabilités propres à l’application peuvent être trouvées.
  • Boîte noire audit de sécurité. C’est uniquement grâce à l’utilisation d’une application qui teste les vulnérabilités de sécurité, aucun code source requis.
  • Outillage automatisé. De nombreux outils de sécurité peuvent être automatisés en les intégrant dans l’environnement de développement ou de test. Des exemples de ceux-ci sont les outils DAST/SAST automatisés qui sont intégrés dans l’éditeur de code ou les plates-formes CI/CD.
  • Plateformes de vulnérabilité coordonnées. Il s’agit de solutions de sécurité d’application alimentées par des pirates informatiques proposées par de nombreux sites Web et développeurs de logiciels grâce auxquels les individus peuvent recevoir une reconnaissance et une compensation pour avoir signalé des bogues.

Sécurité des applications Web[edit]

Sécurité des applications Web est une branche de la sécurité des informations qui traite spécifiquement de la sécurité des sites Internet, des applications Web et services Web. À un niveau élevé, la sécurité des applications Web s’appuie sur les principes de la sécurité des applications, mais les applique spécifiquement à l’Internet et la toile systèmes.[2][3]

Les outils de sécurité des applications Web sont des outils spécialisés pour travailler avec le trafic HTTP, par exemple, Pare-feu d’applications Web.

Menaces de sécurité[edit]

Le projet de sécurité des applications Web ouvertes (OWASP) fournit des ressources gratuites et ouvertes. Il est dirigé par une organisation à but non lucratif appelée The OWASP Foundation. Le Top 10 OWASP – 2017 est le résultat publié de recherches récentes basées sur des données complètes compilées par plus de 40 organisations partenaires. À partir de ces données, environ 2,3 millions de vulnérabilités ont été découvertes dans plus de 50 000 applications.[4] Selon le Top 10 OWASP – 2021, les dix risques de sécurité des applications Web les plus critiques incluent :[5]

  1. Cassé contrôle d’accès
  2. Défaillances cryptographiques
  3. Injection
  4. Conception non sécurisée
  5. Mauvaise configuration de la sécurité
  6. Composants vulnérables et obsolètes
  7. Échecs d’identification et d’authentification
  8. Échecs de l’intégrité des logiciels et des données
  9. Échecs de journalisation et de surveillance de la sécurité*
  10. Contrefaçon de requête côté serveur (SSRF)*

Outils pour les tests de sécurité[edit]

Les techniques de test de sécurité recherchent les vulnérabilités ou les failles de sécurité dans les applications. Ces vulnérabilités laissent les applications ouvertes à exploitation. Idéalement, les tests de sécurité sont mis en œuvre tout au long de Cycle de vie du développement logiciel (SDLC) afin que les vulnérabilités puissent être traitées en temps opportun et de manière approfondie.

Il existe de nombreux types d’outils automatisés pour identifier les vulnérabilités dans les applications. Les catégories d’outils couramment utilisées pour identifier les vulnérabilités des applications incluent :

  • Test de sécurité des applications statiques (SAST) analyse le code source des vulnérabilités de sécurité lors du développement d’une application. Par rapport à DAST, SAST peut être utilisé avant même que l’application ne soit dans un état exécutable. Comme SAST a accès au code source complet, il s’agit d’une approche boîte blanche. Cela peut donner des résultats plus détaillés, mais peut entraîner de nombreux faux positifs qui doivent être vérifiés manuellement.
  • Tests dynamiques de sécurité des applications (DAST, souvent appelé Analyseurs de vulnérabilité) détecte automatiquement les vulnérabilités en explorant et en analysant les sites Web. Cette méthode est hautement évolutive, facilement intégrable et rapide. Les outils DAST sont bien adaptés pour traiter les attaques de bas niveau telles que les défauts d’injection, mais ne sont pas bien adaptés pour détecter les défauts de haut niveau, par exemple les défauts de logique ou de logique métier.[6]Fuzzing,[7] outils sont couramment utilisés pour les tests d’entrée.
  • Interactive Application Security Testing (IAST) évalue les applications de l’intérieur en utilisant instrumentation logicielle. Cela combine les points forts des méthodes SAST et DAST et fournit un accès au code, au trafic HTTP, aux informations de bibliothèque, aux connexions backend et aux informations de configuration.[8][9] Certains produits IAST nécessitent que l’application soit attaquée, tandis que d’autres peuvent être utilisés lors de tests d’assurance qualité normaux.[10][promotional source?][11][promotional source?]
  • Autoprotection des applications d’exécution augmenter les applications existantes pour assurer la détection et la prévention des intrusions à partir de l’environnement d’exécution d’une application.
  • Les analyseurs de dépendance (également appelés analyse de la composition logicielle) tentent de détecter l’utilisation de composants logiciels présentant des vulnérabilités connues. Ces outils peuvent soit fonctionner à la demande, par exemple pendant le processus de construction du code source, soit périodiquement.
  • L’abstraction est l’idée de rendre les choses plus complexes moins complexes.

Normes et réglementations de sécurité[edit]

  • Codage sécurisé CERT
  • ISO/CEI 27034-1:2011 Technologies de l’information — Techniques de sécurité — Sécurité des applications — Partie 1: Présentation et concepts
  • ISO/CEI TR 24772:2013 Technologies de l’information — Langages de programmation — Conseils pour éviter les vulnérabilités dans les langages de programmation par la sélection et l’utilisation du langage
  • Publication spéciale du NIST 800-53
  • OWASP ASVS : norme de vérification de la sécurité des applications Web[12]

Voir également[edit]

Les références[edit]

  1. ^ Happé, Andreas (3 juin 2021). « Qu’est-ce que AppSec de toute façon ? ». snikt.net.
  2. ^ « Aperçu de la sécurité des applications Web ». 2015-10-23.
  3. ^ Shuaibu, Bala Musa; Norwawi, Norita Md ; Selamat, Mohd Hasan ; Al-Alwani, Abdulkareem (2013-01-17). « Examen systématique du modèle de développement de la sécurité des applications Web ». Examen de l’intelligence artificielle. 43 (2): 259-276. est ce que je:10.1007/s10462-012-9375-6. ISSN 0269-2821. S2CID 15221613.
  4. ^ Korolov, Maria (27 avril 2017). « Le dernier Top 10 de l’OWASP examine les API et les applications Web : la nouvelle liste du Top 10 de l’OWASP est sortie, et bien que la plupart restent les mêmes, il y a de nouvelles ajouts axés sur le Web applications et API ». OSC. ProQuest 1892694046.
  5. ^ « OWASP Top 10 – 2021 : Les dix risques les plus critiques pour la sécurité des applications Web ». Projet de sécurité des applications Web ouvertes. 2021. Récupéré 11 janvier, 2022.
  6. ^ « Scanners de vulnérabilité des applications Web ». NIST.
  7. ^ « Fuzzing ». OWASP.
  8. ^ Williams, Jeff (2 juillet 2015). « Je comprends le SAST et le DAST, mais qu’est-ce qu’un IAST et pourquoi est-ce important ? ». Sécurité du contraste. Récupéré 10 avril 2018.
  9. ^ Velasco, Roberto (7 mai 2020). « Qu’est-ce que l’IAST ? Tout sur les tests interactifs de sécurité des applications ». Sécurité Hdiv. Récupéré 7 mai 2020.
  10. ^ Abezgauz, Irène (17 février 2014). « Introduction aux tests interactifs de sécurité des applications ». Quotium.
  11. ^ Rohr, Matthias (26 novembre 2015). « IAST : une nouvelle approche pour les tests de sécurité agiles ». Secodis.
  12. ^ « Norme de vérification de la sécurité des applications OWASP ».


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.