Prenez contact avec nous

Plan du cours

1. Sécurité informatique et codage sécurisé

  • Principes fondamentaux de la sécurité : Confidentialité, Intégrité et Disponibilité (CID) dans le contexte des applications Java./li>
  • Cycle de vie du développement de logiciels sécurisé (SSDLC) : Intégrer la sécurité dès la phase de conception jusqu'au déploiement./li>
  • Paradigmes de codage sécurisé : Défense en profondeur, privilèges minimaux et valeurs par défaut sécuritaires./li>
  • Classifications standard des vulnérabilités : Comprendre le CWE (Common Weakness Enumeration) et l'OWASP./li>

2. Sécurité des applications Web

  • Analyse approfondie du Top 10 de l'OWASP : Analyse détaillée des injections, de l'authentification cassée et de l'exposition de données sensibles./li>
  • Script inter-site (XSS) : Scénarios de XSS refléchi, stocké et basé sur le DOM dans Java/JSP./li>
  • Forgery de requête cross-site (CSRF) : Mécanismes d'attaque et mise en œuvre de jetons anti-CSRF./li>
  • Gestion des sessions : Sécurité des cookies, fixation de session et gestion des délais d'expiration./li>
  • Sécurité des API : Sécurisation des points de terminaison REST et SOAP contre les abus./li>

3. Sécurité des services Web

  • Services Web vs Applications Web traditionnelles : Différences dans les surfaces d'attaque./li>
  • Sécurité de la couche de transport : Configuration SSL/TLS pour les clients et serveurs Java./li>
  • Sécurité des messages : Intégrité et confidentialité au niveau de la charge utile./li>
  • Normes d'authentification : Implémentation d'OAuth 2.0, OpenID Connect et JWT (JSON Web Tokens)./li>

4. Sécurité XML

  • Vulnérabilités de l'analyse XML : Prévention des attaques par entités externes XML (XXE)./li>
  • Validation des schémas XML : Meilleures pratiques pour une application stricte des schémas./li>
  • Signatures numériques XML : Mise en œuvre de signatures pour assurer la non-répudiation./li>
  • Chiffrement XML : Approches standard pour le chiffrement du contenu XML./li>

5. Fondamentaux de la sécurité Java

  • L'architecture de sécurité Java : Le paquet java.security et l'architecture des fournisseurs./li>
  • Fournisseurs de sécurité : Installation et configuration de fournisseurs comme Bouncy Castle./li>
  • Contrôle d'accès : Fichiers de politique, autorisations et Security Manager (légacy vs moderne)./li>
  • Gestion des trousseaux de clés : Création et gestion des trousseaux de clés et de confiance pour les certificats./li>

6. Cryptographie pratique

  • Algorithmes cryptographiques : Aperçu des algorithmes symétriques (AES), asymétriques (RSA, ECC) et de hachage (SHA-256/512)./li>
  • Génération de nombres aléatoires : Les dangers de java.util.Random par rapport à java.security.SecureRandom./li>
  • Gestion des clés : Stratégies de génération, de stockage et de rotation des clés./li>
  • Architecture de cryptographie Java (JCA) : Utilisation des classes Cipher, MessageDigest et Mac./li>
  • Extension de cryptographie Java (JCE) : Compréhension des fichiers de politique et de la juridiction de force illimitée./li>

7. Services de sécurité Java

  • SSL/TLS dans Java : Utilisation de SSLSocketFactory et HttpsURLConnection./li>
  • Gestionnaires de confiance : Personnalisation de la vérification de la confiance pour les environnements PKI privés./li>
  • Authentificateurs : Authentification programmatique à l'aide de Authenticator.getDefault()./li>
  • Analyse de certificats : Lecture et analyse programmatique des certificats X.509./li>

8. Sécurité Java EE

  • Sécurité déclarative : Contrôle d'accès basé sur les rôles (RBAC) à l'aide de web.xml et d'annotations./li>
  • Sécurité programmatique : Utilisation de HttpServletRequest.isUserInRole() et getRemoteUser()./li>
  • JAAS (Java Authentication and Authorization Service) : Configuration de login.conf et implémentation des LoginModules./li>
  • Sécurité Servlet : Contraintes de sécurité gérées par le conteneur et méthodes d'authentification (FORM, BASIC, DIGEST)./li>

9. Erreurs de codage courantes et vulnérabilités

  • Désérialisation non sécurisée : Les risques de ObjectInputStream et le contournement des vérifications de sécurité./li>
  • Injection de commandes : Atténuation des vulnérabilités d'exécution au niveau du système d'exploitation./li>
  • Traversée de chemins : Sanitisation des entrées du système de fichiers pour prévenir la traversée de répertoires./li>
  • Abus de réflexion : Risques associés à java.lang.reflect et le contournement du contrôle d'accès./li>
  • Identifiants codés en dur : Identification et suppression des secrets depuis le code source./li>
  • Erreurs d'implémentation cryptographique : Utilisation du mode ECB, de clés faibles ou d'IV statiques./li>

10. Sources de connaissances

  • Outils d'analyse statique : Utilisation de SonarQube, Checkmarx et Fortify pour le balayage automatisé./li>
  • Outils d'analyse dynamique : Aperçu de Burp Suite et OWASP ZAP./li>
  • Bases de données CVE : Comment suivre et réagir aux nouvelles vulnérabilités du framework Java./li>
  • Lectures recommandées : Liste de livres, de documentation et de listes de contrôle pour le codage sécurisé./li>

Pré requis

Aucun./p>

 21 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (4)

Cours à venir

Catégories Similaires