Aller au contenu principal
Guides & Bonnes pratiques

Security by Design : intégrer la sécurité dès la conception

Intégrez la sécurité dès la conception pour limiter les reprises tardives. Les principes du Security by Design et leur mise en pratique.

4 min de lecture
Security by Design : intégrer la sécurité dès la conception
Sommaire

En résumé : Corriger une faille après la mise en production peut nécessiter des reprises importantes et affecter les utilisateurs.
Si vous lancez une application web ou mobile, intégrer la sécurité dès le départ est le meilleur investissement que vous puissiez faire : exigences de sécurité dans le cahier des charges, framework bien configuré, secrets hors du code, vérifications automatisées et test d’intrusion avant la mise en production.

Travaux à prévoir selon le moment où une faille est détectée :

PhaseTravaux à prévoirImpact
ConceptionAdapter la conceptionFacile à corriger, on change le plan
DéveloppementReprendre le codeIl faut modifier le code et vérifier qu’il n’y a pas de régression
TestsCorriger et tester à nouveauRetards de livraison, il faut corriger le code et refaire les tests
ProductionCorriger et redéployerUrgence, stress, perte de données possible, impact sur les clients

Le risque d’une sécurité traitée trop tard

Certains projets d’application web ou mobile traitent la sécurité comme une étape finale, un audit réalisé juste avant la mise en ligne.

À ce stade, les choix d’architecture sont figés donc si l’audit révèle un problème de fond, deux options : repousser le lancement (coûteux) ou accepter le risque (dangereux).

Le Security by Design, c’est simplement l’idée de penser à la sécurité dès le départ plutôt que de tenter de la greffer à la fin. L’ANSSI formalise cette approche dans son guide Agilité et sécurité numériques. Comme pour un bâtiment : il vaut mieux prévoir des murs solides sur le plan que de renforcer des murs fragiles après construction.

5 actions concrètes pour sécuriser votre projet dès le départ

1. Définir les exigences de sécurité dans le cahier des charges

Avant d’écrire la moindre ligne de code, posez-vous ces questions :

  • Quelles données sensibles allez-vous manipuler ? (données personnelles, paiements, données de santé…)
  • Qui doit avoir accès à quoi ? (principe du moindre privilège : chaque utilisateur n’accède qu’à ce dont il a besoin)
  • Que se passe-t-il si le service tombe en panne ? (plan de continuité)

Ces réponses doivent figurer dans le cahier des charges, au même titre que les fonctionnalités. Un prestataire qui ne vous pose pas ces questions dès le départ est un signal d’alerte.

2. Choisir un framework moderne et le configurer correctement

Les frameworks de développement récents (Laravel, Django, Next.js…) intègrent des protections de base contre les attaques les plus courantes : injections SQL, vol de session, falsification de formulaires. Encore faut-il :

  • Ne pas désactiver ces protections pour gagner du temps
  • Ne pas contourner le framework en écrivant du code « à la main » là où il fournit une solution sécurisée
  • Maintenir le framework à jour : les mises à jour corrigent souvent des failles de sécurité

Lors de nos tests d’intrusion web, nous vérifions systématiquement si les protections du framework sont correctement activées.

3. Ne jamais stocker de secrets dans le code source

Clés d’API, mots de passe de bases de données, certificats… Nous trouvons régulièrement ces informations en clair dans le code source lors de nos audits. Si un attaquant accède à votre code source (dépôt public, fuite, accès non autorisé), tous les secrets qui s’y trouvent sont immédiatement compromis.

Conservez vos secrets dans un gestionnaire dédié (HashiCorp Vault, AWS Secrets Manager ou équivalent) pour éviter de les stocker dans le code source.

4. Automatiser les vérifications de sécurité

Des outils peuvent être intégrés à votre pipeline de déploiement pour détecter automatiquement certaines failles. Ils ne remplacent pas une revue humaine mais constituent un premier filet de sécurité :

VérificationCe que ça détecteOutils gratuits
Analyse du codeFailles dans votre codeSemgrep, SonarQube
Scan des dépendancesBibliothèques vulnérablesDependabot, Snyk
Détection de secretsMots de passe dans le codeGitleaks

Ces outils s’exécutent automatiquement à chaque modification du code, avec une couverture qui dépend des règles, des accès et du contexte fournis. Des défauts de logique métier peuvent leur échapper, d’où l’intérêt d’un accompagnement par un expert en complément.

5. Prévoir un test d’intrusion avant la mise en production

Les outils automatisés ne détectent qu’une partie des failles. Un test d’intrusion réalisé par un expert humain permet de découvrir les failles logiques, celles qui exploitent le fonctionnement normal de l’application de manière imprévue.

Par exemple : un utilisateur qui modifie l’URL pour accéder au compte d’un autre ou qui change le prix d’un article dans la requête de paiement. Des outils peuvent aider à repérer ces situations mais leur validation demande de comprendre les droits attendus et les règles métier.

Pour en savoir plus sur la préparation, consultez notre guide : Comment se préparer à un test d’intrusion.

Le bon moment pour chaque action

Phase du projetAction sécurité
Cahier des chargesDéfinir les exigences de sécurité et les risques
DéveloppementFramework sécurisé, outils automatisés, revues de sécurité intermédiaires
Pré-productionTest d’intrusion avant mise en ligne
ProductionSurveillance, mises à jour, audits réguliers

Un accompagnement sécurité applicative permet de planifier des revues de code ciblées et des tests aux étapes clés du développement, jusqu’au pentest avant mise en production.

La sécurité n’est pas un coût supplémentaire, c’est une assurance contre des coûts bien plus élevés : perte de données, indisponibilité du service, atteinte à la réputation, sanctions RGPD.


Vous lancez une application web ou mobile et souhaitez intégrer la sécurité dès le départ ? Découvrez notre accompagnement sécurité applicative ou contactez-nous pour en discuter.

Besoin d'un audit de sécurité ?

Contactez-nous pour évaluer la sécurité de votre infrastructure.