Objectifs de la formation
- Maîtriser le modèle de maturité pour le développement d’applications sécurisées OpenSAMM
- Savoir réaliser une analyse de la sécurité du logiciel audité
- Identifier les parties essentielles du code source à vérifier
- Tester la sécurité des applications
Programme de la formation
Introduction
- Qu’est-ce que la sécurisation du code ?
- Les acteurs de la sécurité : le CERT, l’OWASP, Le BSIMM…
- Quels sont les risques liés au développement d’une application ?
- Les traces laissées par les développeurs : mémoire, journaux…
- Qu’est-ce que le codage sécurisé d’une application ?
- Les types d’attaques.
La sécurité des applications avec OpenSAMM
- Le modèle de maturité pour le développement d’applications sécurisées.
- Les 4 niveaux de maturité.
- Niveau implicite de départ.
- Compréhension initiale et mise en place de pratiques de sécurité.
- Amélioration de l’efficacité/efficience des pratiques de sécurité.
- Maîtrise complète des pratiques de sécurité.
Mise en place d’OpenSAMM
- Préparer.
- Evaluer.
- Définir la cible souhaitée.
- Définir le plan.
- Mettre en place.
- Mettre à disposition.
Travaux pratiques
Calcul du niveau de maturité d’une organisation.
Introduction à BSIMM
- Qu’est-ce que le BSIMM (Building Security In Maturity Model) ?
- Constituer une base solide pour le développement d’une application.
- Les bonnes pratiques.
Analyse de la sécurité de l’application auditée.
- Identifier les parties critiques de son code.
- Définir le périmètre de l’audit et se limiter aux parties critiques.
Les parties essentielles du code source à vérifier
- Identifier les parties du code source essentielles à vérifier.
- Les mécanismes d’authentification et cryptographiques.
- La gestion des utilisateurs.
- Le contrôle d’accès aux ressources.
- Les mécanismes d’interactions avec d’autres applications.
- L’accès aux bases de données.
- La conformité des exigences de sécurité établies pour l’application.
Travaux pratiques
Exemple d’identification des parties du code source essentielles à vérifier.
Tester la sécurité des applications
- Identifier les parties du code source essentielles à vérifier.
- Les processus projet et les tests.
- L’approche globale.
- Le plan de test et ses déclinaisons. La stratégie de test.
- L’approche par les risques. L’estimation.
Travaux pratiques
Exemple de test d’une application.