Description
Les applications web sont devenues omniprésentes dans notre environnement. Si elles offrent l’avantage d’être accessibles à l’aide d’un simple navigateur partout et par tous, elles sont particulièrement exposées aux personnes malveillantes. Les effets d’attaques peuvent être catastrophiques pour les sociétés attaquées. La sécurité des applications devient donc un enjeu stratégique dans la conception de nouvelles applications. Cette formation permettra aux développeurs d’intégrer cette dimension dans le cadre de leurs projets à tous les niveaux.
A l’issue de la formation, vous serez capable de mettre en oeuvre les règles et bonnes pratiques liées au développement sécurisé d’applications.
Objectifs
- Comprendre les problématiques de sécurité des applications
- Identifier les principales menaces et vulnérabilités affectation les applications web et mobiles
- Appliquer les bonnes pratiques de sécurité dans le développement d'applications
- Utiliser des outils et techniques pour détecter et corriger les failles de sécurité
- Découvrir les principes de base de la cybersécurité et leur impact sur la sécurité des applications
Récapitulatif
Public
Architectes, développeurs, analystes, chefs de projets…
Prérequis
Posséder une bonne connaissance de la programmation objet et de la programmation d'application Web
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Comprendre les problématiques de sécurité des applications
- Introduction à la sécurité des applications web
- Positionnement de la sécurité dans le processus de développement
- Authentification, identification, habilitation
- Sécurité du point de vue du client
- Sécurité du point de vue du serveur
- Sécurité des supports (https, ssl, analyseur logiciel)
- Sécurité des conteneurs et serveurs
- Tests d'intrusion : pourquoi ce n'est pas suffisant
- Exemple de travaux pratiques : le formateur interroge les participants concernant les concepts ou problématiques présentés.
Identifier les principales menaces et vulnérabilités affectation les applications web et mobiles
- Classification des attaques selon les référentiels STRIDE et OWASP
- Les principales attaques et leur portée :
- Sécurité des supports de communication
- Attaque type « man in the middle »
- Sniffing, Spoofing et packet forging
- Utilité du SSL et du HTTPS
- White et Black listing, monitoring pré-emptif
- Déni de service
- Principe de l'attaque DDOS
- Risques sous-jacents et limitations
- Stratégie de déploiement / failover / load-balancing
- Exécution malicieuse
- Objectif de l'attaquant
- Attaque type « injection SQL »
- Attaque type « command execution »
- Attaque type « débordement de tampon »
- Risques sous-jacents et limitations
- Les bonnes pratiques pour s'en protéger
- Corruption et extorsion de données
- Objectif de l'attaquant
- Attaque type « Hijacking de session »
- Risques sous-jacents et limitations
- Stratégie sans session, OAuth et Oauth 2
- Exemples de travaux pratiques :
- Mise en place d'un atelier de pentesting avec des machines et applications vulnérables pour jouer certaines failles de sécurité.
- Les participants répondent à une série de questions (par exemple via un formulaire en ligne) pour valider la compréhension des définitions abordées. Le formateur peut faire une correction commune en interrogeant les participants.
Appliquer les bonnes pratiques de sécurité dans le développement d'applications (1/2)
- Sécuriser les communications
- Assurances et certificats
- Certificat HTTPS avec Let's encrypt
- Pare-feu serveur
- Pare-feu “proxy” : solutions de Web Application Firewall (WAF)
- Exemple de travaux pratiques : le formateur crée un certificat SSL pour sécuriser les communications HTTP d'une application web. Les participants reproduisent la démarche.
Appliquer les bonnes pratiques de sécurité dans le développement d'applications (2/2)
- Cryptanalyse et chiffrement
- Bonnes pratiques pour le stockage de données sensibles
- Du choix du protocole de chiffrement pour les mots de passe
- Exemples de travaux pratiques : le formateur crée un certificat SSL pour sécuriser les communications HTTP d'une application web. Les participants reproduisent la démarche.
Utiliser des outils et techniques pour détecter et corriger les failles de sécurité
- Introduction à la démarche DevSecOps
- Outils de sécurité et d'audit
- Outils de développement et de test liés à la sécurité
- Outils pour mener les tests de sécurité
- Audit de code et des dépendances
- Exemples de travaux pratiques : le formateur réalise un audit de sécurité sur un code source et ses dépendances. Les participants reproduisent les opérations sur leur poste de travail.
Découvrir les principes de base de la cybersécurité et leur impact sur la sécurité des applications
A l'issue de cette séquence, vous êtes capable de mettre en place et utiliser des outils et démarches nécessaires pour la veille sécurité.
- La veille sécurité ou risk intelligence
- Identification des risques
- Définition des priorités et planification des actions
- Outils et canaux de veille
- Exemples de travaux pratiques : les participants réalisent un classement des risques et identifie les actions à mener.