Selon IBM, en 2019 il fallait en moyenne 206 jours pour identifier une brèche de sécurité puis 108 jours pour que la correction soit effective. Quelles sont les mesures à mettre en place pour découvrir les vulnérabilités des applications avant qu’elles ne soient déployées en production ?
Pour éviter l’exploitation d’une vulnérabilité par un individu malveillant, le plus simple est de mettre en production uniquement des applications pour lesquelles la sécurité a été testée et validée. Le 100 % sécurisé n’existant pas, cet article propose un ensemble de mesures et bonnes pratiques permettant de diminuer ce risque de déployer une application vulnérable. Les exemples ci-dessous sont principalement orientés pour une application exposée sur le Web, mais une transposition pour d’autres types d’applications est possible.
1. Software Development LifeCycle (SDLC)
Au cours de la vie d’un produit logiciel, indépendamment du mode de gestion de projet choisi (agile, cycle en V, etc.), plusieurs étapes sont nécessaires, allant de la définition du besoin à la maintenance en phase de production.
1.1 Définition du besoin
Avant le démarrage de la construction, une analyse est effectuée pour déterminer les fonctionnalités, la...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
[BEEF] BeEF (Browser Exploitation Framework) : https://beefproject.com
[CORNUCOPIA] OWASP Cornucopia : https://owasp.org/www-project-cornucopia
[EBIOS] Methode EBIOS par l’ANSSI : https://www.ssi.gouv.fr/guide/ebios-2010-expression-des-besoins-et-identification-des-objectifs-de-securite
[MEHARI] Méthode MEHARI : http://meharipedia.x10host.com/wp
[ASVS] OWASP Application Security Verification Standard : https://owasp.org/www-project-application-security-verification-standard
[DT] OWASP Dependency Track : https://dependencytrack.org
[SNYK] Snyk : https://snyk.io
[GITHUB] About security alerts for vulnerable dependencies : https://help.github.com/en/github/managing-security-vulnerabilities/about-security-alerts-for-vulnerable-dependencies
[FSB] FindSecurityBugs : https://find-sec-bugs.github.io
[BANDIT] Bandit : https://bandit.readthedocs.io/en/latest
[SCS] Security Code Scan : https://security-code-scan.github.io
[PSA] phpcs-security-audit : https://github.com/FloeDesignTechnologies/phpcs-security-audit
[SONAR] SonarQube : https://www.sonarqube.org/
[CHECKMARX] Checkmarx cxSAST : https://www.checkmarx.com/products/static-application-security-testing
[CC] Cucumber : https://cucumber.io
[RF] RobotFramework : https://robotframework.org
[ARACHNI] Arachni Web Application Security Scanner Framework : https://www.arachni-scanner.com
[QUALYS] Qualys Web Application Scanning : https://www.qualys.com/lp/web-app-security
[ZAP] OWASP RAP : https://owasp.org/www-project-zap
[OPENSAMM] OWASP SAMM : https://owaspsamm.org
[BSIMM] Building Security In Maturity Model : https://www.bsimm.com
[SAFECode] Software Assurance Forum for Excellence in Code : https://safecode.org
[OPENRASP] OpenRASP de Baidu : https://github.com/baidu/openrasp
[SQREEN] Sqreen : https://www.sqreen.com