DOCAPOSTE INSTITUTE : 04. Sécurité des applications
Organisme
94200 IVRY-SUR-SEINEVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Quiz récapitulatif et interactif, via Kahoot et Poll Everywhere. Questions orales. Travaux pratiques et projet « fil rouge ». Correction interactive.
Prix
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.
Objectifs pédagogiques
- Comprendre les problématiques de sécurité des applications.
- Connaitre les principales menaces et vulnérabilité.
- Appréhender les méthodologies / technologies de protection et de contrôle de la sécurité des applications.
- Mettre en place une stratégie de veille
Programme détaillé
1. Sécurité dans le framework et du code
- Concepts fondamentaux
- Sécurité d’accès du code et des ressources
- Sécurité basée sur les rôles
- Le principe du W^X
- Services de chiffrement
- Validation et contrôle des entrées / sorties
- Gestion et masquage d’erreurs
- Gestion sécurisée de la mémoire
- Contrôle d’authenticité et d’intégrité d’une application/d’un code
- Offuscation du code
- Reverse engineering sur : bundle C#, application Java, binaire Windows
- Contrôle des droits avant exécution du code
- Sécuriser les données sensibles présentes dans un binaire
- Stack / Buffer / Heap overflow
2. Les bases de la cryptographie
- Cryptographie – Les définitions
- Types de chiffrement : chiffrement à clés partagées, chiffrement à clé publique
- Symétrique vs. Asymétrique, combinaisons symétrique / asymétrique
- Fonctions de hachage
- Utilisation des sels
- Signatures numériques, processus de signature, processus de vérification
3. Chiffrement, hash et signature des données
- Cryptographie Service Providers (CSP)
- System, security, cryptography
- Choix des algorithmes de chiffrement
- Chiffrement symétrique : algorithme (DES, 3DES, RC2, AES), chiffrement de flux, mode de chiffrement (CBC, ECB, CFB)
- Algorithmes asymétriques
- Algorithme : RSA, DSA, GPG
- Algorithme de hachage : MD5, SHA1 / SHA2 / SH3
4. Vue d’ensemble d’une infrastructure à clé publique (PKI)
- Certificat numérique : certificat X.509
- PKI – Les définitions
- Les fonctions PKI
- PKI – Les composants
- PKI – Le fonctionnement
- Applications de PKI : SSL, VPN, IPSec
- IPSec et SSL en entreprise
- Smart Cards (cartes intelligentes)
- Autorité de certification
5. SSL et certificat de serveur
- Certificat de serveur SSL : présentation, autorité de certification d’entreprise, autorité de certification autonome
6. Utilisation de SSL et des certificats clients
- Certificats clients
- Fonctionnement de SSL : phase I, II, III et IV
- Vérification de la couverture d’utilisation d’un certificat (lors du handshake)
- Vérification des dates d’utilisation d’un certificat
7. Sécurité des services web
- Objectifs de la sécurisation des services Web : authentification, autorisation, confidentialité et intégrité
- Limitations liées à SSL
- Sécurité des services Web : WSE 2.0, sécurisation des messages SOAP / REST
8. Jetons de sécurité
- Jetons de sécurité : User-Name Token, Binary Token, XML Token, JWT (JSON Web Tokens), Session-based Token
- Intégrité d’un jeton (MAC / HMAC)
- Cycle de vie d’un jeton, expiration automatique (ou pas), contexte d’utilisation d’un jeton
- Habilitations suivant le contexte du jeton
- Certificats X.509
- Signature des messages SOAP / REST : création d’un jeton de sécurité, vérification des messages (MAC / HMAC), chiffrement des messages, déchiffrement du message
9. Sécurité et développement web
- Classification des attaques : STRIDE, OWASP
- Les erreurs classiques
- Authentification par jeton et gestion des habilitations
- Les handlers et méthodes HTTP
- Séparation des handlers par contexte de sécurité
- Attaque par injection
- Injection HTML
- Injection CSS
- Injection JS
- Injection SQLXSS (Injection croisée de code) : XSS réfléchi, XSS stocké
- XSS Cookie Stealer
- CSRF : Cross-Site Request Forgery
10. Outils de sécurité et d’audit
- Outils du SDK liés à la sécurité
- Outils pour mener les tests de sécurité