Prérequis
Avoir des connaissances en développement d'applications en langage Java ou langage assimilé, une maîtrise des bonnes pratiques de développement sécurisé, une première sensibilisation à la sécurité du code et du Secure by Design.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testPublic concerné
Pentesters, développeurs impliqués dans des cycles DevSecOps, développeurs déjà formés aux bonnes pratiques du développement sécurisé et souhaitant découvrir les méthodes de protection des contournements potentiels.
Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Reconnaître les mécanismes de sécurité du JDK (Java Development Kit)
- Décrire les principales failles de sécurité applicative
- Distinguer la sécurité applicative de la sécurité système et réseau
- Mettre en oeuvre les principales stratégies de sécurité en Java
- Utiliser JCE (Java Cryptography Extension)
- Authentifier et autoriser l'accès aux composants Java EE
- Créer des tests visant à éprouver la sécurité des applications
- Formuler des exigences de sécurité aux autres corps de métiers.
Programme de votre formation
-
#
M2i START AVANT VOTRE FORMATION
Contextualisation du projet de formation et prise en compte des besoins de chacun
- Positionnement initial de l’apprenant par rapport aux objectifs
- Définition des priorités et des objectifs personnels de l’apprenant
- Vidéos de mise en situation
- Accès au Chat interactif myM2i pour interagir avec les membres de son groupe
-
#
M2i LIVE VOTRE FORMATION ANIMÉE PAR NOTRE EXPERT ¹
Programme
Jour 1 - Matin
Rappels sur la sécurité applicative
- Fonctionnement de la pile d'exécution
- L'analyse de code
- L'hijacking de ressources
- Les overflows
- Les protections lors de l'exécution
La sécurité des plateformes Java
- La sécurité de Java SE / ME / FX
- Le Java Class Loader
- Le Security Manager
- L'Access Controller
- Le Sandboxing
- Implémentation de la Default Policy
- La Policy File Syntax
- Contenu du Package java.security
Jour 1 - Après-midi
Le chiffrement avec Java
- Rappel des bases du chiffrement
- Les fonctions de hash
- Les algorithmes symétriques type AES
- Les algorithmes asymétriques type RSA
- La librairie JCE (Java Cryptography Extension)
- La classe Cipher
- Générer des clés
- Générer des certificats
Exemples de travaux pratiques (à titre indicatif)
- Création d'un outil de chiffrement / déchiffrement symétrique
- Création d'un outil de vérification de l'intégrité de contenu d'un répertoire
Jour 2 - Matin
La sécurité avec Java EE
- La sécurité de Java EE
- L'HTTPS avec JSSE (Java Secure Socket Extension)
- Gestion de l'authentification Web
- Exploitation des HTTP basic et HTTP form
- Utilisation du module JAAS (Java Authentication and Authorization Service)
- Utilisation du module LoginModule
- Définition des rôles et domaines
- Les fichiers .policy
- Créer des permissions avec Java Security Permission
- La protection des URL
- La protection des méthodes
- Les annotations de sécurité
- La sécurité programmatique de Java EE
Exemples de travaux pratiques (à titre indicatif)
- Mise en place d'une PKI
- Création d'un formulaire d'authentification
Jour 2 - Après-midi
Tester les failles d'une application
- Anatomie d'une faille applicative
- Présentation de l'OWASP et de ses projets
- Les Security Cheat Sheets
- Le Top 10
- Les guides de l'OWASP (Test Guide, Dev Guide...)
- L'ASVS (Application Security Verification Standard)
- Les grandes familles de vulnérabilités
- Les CVE (Common Vulnerabilities and Exposures)
- Les CWE (Common Weakness Enumerations)
- Le scoring CVSS (Common Vulnerability Scoring System)
Exemples de travaux pratiques (à titre indicatif)
- Installation de WebGoat et ESAPI
- Estimation de la vunérabilité d'un produit commercial
- Exploitation :
- D'une injection d'entête HTTP
- D'une injection SQL
- D'une Cross-Site Scripting
- D'une Cross-Site Request Forgery
- D'une Server-Side Request Forgery
- D'un vol de session
- D'une désérialisation
- D'une référence directe à un objet
Jour 3 - Matin
La sécurité du code externe
- Le cas des librairies
- Le cas des API
- La sécurité dans les API JDBC, JNDI, JTA, JMS et JCA
La sécurité des WebServices
- La sécurité des WebServices SOAP
- Utilisation de WS-Security avec WSS4J et XWSS
- Utilisation de WS-Policy
- La sécurité des WebServices REST
- Utilisation de JAX-RS
- Utilisation de OAuth 1.0 et 2.0
Jour 3 - Après-midi
Mettre en place du Secure Code
- Durcir son application avec l'OWASP ASVS et l'OWASP Dev Guide
- Les bonnes pratiques de sécurisation du code
- La protection du bytecode
- Se protéger de la décompilation
- L'obfuscation du code
- Les descripteurs de déploiement XML
- L'authentification des conteneurs Web et EJB
- Les contrôles dynamiques
- Faire des tests et des validations
- Les tools des navigateurs
- La capture via proxy
- La capture via tcpdump ou Wireshark
- Les tests avec Postman
- Les vulnerability scanners
- Le DAST (Dynamic Application Security Testing)
- Le SAST (Static Application Security Testing)
- Sonatype Nexus
- Acunetix
- Contrast Security
- Filtrer les échanges
- Les WAF (Web Application Firewalls)
- Les IPS (Intrusion Prevention System) et les IDS (Intrusion Detection System)
- Limiter l'exposition
- Rôle des firewalls, proxies et DMZ
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
-
#
M2i BOOST APRÈS VOTRE FORMATION
Réactivation et consolidation des acquis en situation de travail
- 30 jours d’accompagnement personnalisé sur myM2i inclus ²
- Ressources Boosters (Abonnement au M2i’Mag Soft Skills, formations offertes, invitations aux conférences d’actualité…)
- ¹ Les actions et les outils présentés dans ce programme le sont à titre indicatif et peuvent faire l’objet d'adaptation selon les niveaux, prérequis et besoins des apprenants. Les compétences clés de ce programme sont traitées à raison d'une compétence par demi-journée de formation.
- ² Sur myM2i, pendant 30 jours post-fin de formation, les apprenants disposent d’une messagerie sécurisée pour échanger, dans la limite de 4 sollicitations, avec leur formateur.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Toutes nos formations sont accessibles aux personnes en situation de handicap : les détails de l'accueil des personnes sont consultables sur la page Accueil PSH.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.