Hello,
Lors d'une intervention dans une école d'ingénieur, un étudiant m'a posé la question des sigles en entretien. Est-ce que cette question revient souvent en entretien ? Comment être sûr de les retenir ?
Si ce n'est pas déjà fait, tu peux :
Découvrir notre formation sur le DevOps
Lire toutes les éditions précédentes de la newsletter
Au programme :
SCA
SAST
DAST
IAST
Oui la question revient sourvent en entretien.
La meilleure façon de retenir ces sigles est de comprendre ce qu’ils font et à quoi ils servent.
”La question est vite répondue.”
Merci, à la prochaine !
Plus sérieusement, nous allons plonger dans leur signification et en explorer les détails !
SCA
Signification : Software Composition Analysis
Cela consiste à vérifier les composants d'un logiciel. L'objectif est de s'assurer que les bibliothèques utilisées sont à jour et ne contiennent pas de vulnérabilités.
Avantages :
Inventaire Complet : Cela permet de faire un inventaire de toutes les bibliothèques utilisées par les équipes de développement.
Sécurité Améliorée : Réduit le risque d'introduire des failles de sécurité à trave
rs des composants tiers obsolètes ou vulnérables.
Outils open-source (gratuits) :
OWASP Dependency-Check : un outil qui détecte les dépendances publiques vulnérables. Repository : GitHub - OWASP Dependency-Check
Snyk : bien que disposant de fonctionnalités premium, la version gratuite offre une bonne analyse de base. Repository : GitHub - Snyk
SAST
Signification : Static Analysis Security Testing
Cette méthode évalue le code source de l'application à la recherche de vulnérabilités potentielles, telles que les injections SQL, sans exécuter le programme.
Avantages :
Précocité : Détecte les vulnérabilités très tôt dans le cycle de développement, souvent lors de la phase de développement.
Couverture Complète du Code : Analyse l'ensemble du code source, ce qui permet d'identifier les failles potentielles avant l'exécution.
Automatisation : Peut être intégré facilement dans les IDE et les pipelines CI/CD pour des analyses automatisées.
Inconvénients :
Faux Positifs : Tendance à générer de nombreux faux positifs, nécessitant une revue manuelle.
Limitation au Code Source : Ne peut détecter que les vulnérabilités présentes dans le code source, et non les problèmes d'exécution ou de configuration.
Outils open-source (gratuits) :
SonarQube : offre une analyse approfondie du code source pour détecter les vulnérabilités.
Repository : GitHub - SonarQube
Brakeman : spécifique aux applications Ruby on Rails.
Repository : GitHub - Brakeman
Bandit : Bandit est un outil développé spécifiquement pour Python.
Repository : GitHub - Bandit
DAST
Signification : Dynamic Analysis Security Testing
Cela consiste à analyser l'application en condition réelle d’exécution. Il permet de détecter des failles de sécurité actives.
Vulnérabilités typiques recherchées :
Injections SQL
Cross-site Scripting (XSS)
Défaillances de configuration de sécurité
Avantages :
Contexte d’Exécution : Teste l'application en conditions réelles, simulant un utilisateur ou une attaque.
Détection de Configurations et d’Erreurs d’Exécution : Peut identifier des problèmes non visibles lors d’une analyse statique, comme les problèmes de configuration des serveurs.
Support des Applications Binaires : Peut tester des applications dont le code source n'est pas disponible.
Inconvénients :
Dépendance à l’Environnement : Nécessite un environnement de test configuré qui simule de manière réaliste l'environnement de production.
Tests plus Lents : L’analyse dynamique peut être plus lente, car elle nécessite l'exécution de l'application.
Limitation Temporelle : Ne trouve que les vulnérabilités exploitables au moment de l'exécution.
Outils open-source (gratuits) :
OWASP ZAP (Zed Attack Proxy) : très complet pour tester des applications web. Repository : GitHub - OWASP ZAP
Wapiti : un scanner de sécurité web qui permet aussi de simuler des attaques. Repository : GitHub - Wapiti
IAST
Signification : Interactive Analysis Security Testing
L’IAST combine les aspects de SAST et DAST pour analyser l'application à la fois en statique et en dynamique, offrant une vue plus complète des vulnérabilités potentielles pendant l'exécution du code.
Avantages :
Précision Élevée : Combine les avantages de SAST et DAST pour une précision accrue avec moins de faux positifs.
Vue Complète : Offre une analyse en temps réel pendant que l'application s'exécute, fournissant des informations contextuelles sur les données en cours de traitement.
Intégration et Rétroaction Rapides : Peut être intégré dans le processus de développement pour fournir des retours immédiats aux développeurs.
Inconvénients :
Complexité Technique : Les outils IAST peuvent être plus complexes à intégrer et à maintenir en raison de leur nature interactive et de leur besoin de fonctionner à la fois en statique et en dynamique.
Ressources : Peut consommer davantage de ressources système, car il nécessite une instrumentation du code en exécution.
Dépendance aux Tests : L'efficacité de l'IAST dépend de la qualité et de la couverture des cas de test utilisés lors de l'exécution.
Outils open-source (gratuits) :
Contrast Security Community Edition : offre une version gratuite pour une application. Repository : Informations disponibles sur le site de Contrast Security
Hdiv Detection (Community Edition) : permet une approche IAST pour identifier les vulnérabilités en temps réel, disponible en version communautaire. Repository : Informations disponibles sur le site de Hdiv Security.
Le but étant d’ajouter ces contrôles (SCA, SAST, DAST, IAST) à un pipeline CI/CD pour automatiser les processus. Je vous invite à replonger dans l’article de la semaine dernière !
Si vous souhaitez voir ces contrôles « en action », n'hésitez pas à commenter, et cela pourrait faire l'objet d’un prochain article !
Tu rencontres un obstacle dans ton projet ?
N'hésite pas à profiter de notre expertise en DevSecOps ! Réserve dès maintenant une session de mentorat d'une heure avec nous !
Tes cadeaux pour te remercier de partager la newsletter
Pour rappel, si tu recommandes la newsletter à d’autres personnes, voici les récompenses que tu peux gagner :
25 recommandation → On met en avant ton profil dans un article
50 recommandations → Une visio de 20 min de mentoring DevSecOps avec nous
100 recommandations → Une de nos formations aux choix offertes
Il te suffit de cliquer sur le bouton juste en dessous pour obtenir ton lien personnalisé :
Voilà, c’est tout pour aujourd’hui.
On est curieux d’avoir tes retours.
Partage nous tes réactions en répondant à ce mail.
Si tu as aimé cet article, n’oublie pas de mettre un petit like ! Ça nous aide à comprendre quels sujets on dois creuser.
Passe une excellente journée et à la prochaine.