Objectifs de la formation
L'objectif de cette formation est de permettre aux participants d’acquérir une compréhension complète de la sécurité des applications Java : identification des vulnérabilités, utilisation des API de sécurité (JCE, JAAS), mise en œuvre de pratiques de codage sécurisées et de mécanismes de cryptographie, d’authentification et d’audit. Elle intègre également les meilleures pratiques de développement sécurisé et la gestion des incidents et des risques.Clientèle visée
Développeurs, concepteurs, chefs de projets, architectes techniquesPréalables
Avoir une expérience de programmation en langage JAVA.Formateurs
Gains pour les participants
• Acquérir une compréhension approfondie des principes de sécurité informatique, tels que la confidentialité, l'intégrité, la disponibilité et l'authenticité.
• Apprendre à reconnaître les vulnérabilités spécifiques aux applications Java, telles que les failles d'injection, les erreurs de configuration, et les problèmes de gestion des sessions.
• Maîtriser l'utilisation des API de sécurité fournies par Java, telles que Java Security API, Java Cryptography Extension (JCE), et Java Authentication and Authorization Service (JAAS).
• Mettre en œuvre des pratiques de codage sécurisées pour protéger les applications contre les menaces courantes, y compris les attaques par injection, les attaques XSS, et les attaques CSRF.
• Utiliser les bibliothèques cryptographiques pour garantir la sécurité des données en transit et au repos, en intégrant des mécanismes de chiffrement, de hachage et de signature.
• Configurer et sécuriser les mécanismes d'authentification et d'autorisation pour assurer que seuls les utilisateurs autorisés peuvent accéder aux ressources et aux fonctionnalités de l'application.
• Mettre en place des mécanismes pour auditer et surveiller les accès et les activités au sein des applications Java
afin de détecter et de répondre aux incidents de sécurité.
• Intégrer les meilleures pratiques de développement sécurisé tout au long du cycle de vie du développement logiciel (SDLC), y compris l’analyse de code statique et dynamique, les tests de pénétration, et les revues de code.
• Apprendre à réagir face aux incidents de sécurité, à évaluer les risques associés aux vulnérabilités et à mettre en œuvre des stratégies de mitigation appropriées.
Architecture de la formation
Introduction et rappels
Chargement et vérification des classes
• Rôle du compilateur Java
• Rôle des classloader
• Les différentes zones mémoires de la JVM et leur gestion par le garbage collector
• Hiérarchie des différents classloader
• Vérification du byte-code
• Chargement dynamique de classe
• Implémenter un class loader
• T.P. : Modification d'un fichier .class et exécution avec l'option -noverify, Implémentation d'un classloader chargeant des classes cryptées
Gestionnaire de sécurité et permissions
• Opérations contrôlables
• Activation du gestionnaire de sécurité
• Domaine de protection, provenance du code et permissions
• Parcours de l'API
• Fichier. policy
• Les classes Permission
• Implémentation d'une classe Permission
• T.P. : Mise au point d'un fichier. policy, implémentation d'une classe Permission
JAAS, Authentification et Autorisations
• Présentation de JAAS
• LoginContext et LoginModule
• Configuration et empilement des login modules
• LoginModule disponibles
• Implémentation d'un login module spécifique, les CallbackHandler
• Packaging d'un login module
• Autorisations, Objet Subject et Principals
• Interface PrivilegedAction
• Configuration des permissions
• T.P. : Implémentation d'un LoginModule, Configuration des autorisations à partir de rôles utilisateurs
Signatures numériques et chiffrement
• Empreinte de messsage : SHA1 et MD5
• L'outil keytool et les keystore
• L'outil jarsigner
• Les autorités de certification
• Déploiement de code signé dans un intranet ou sur internet
• Permissions basées sur des keystore
• Chiffrement de données, les algorithmes AES et RSA
• T.P. : Vérification d'une empreinte, Déploiement d'une applet dans un intranet, Chiffrement symétrique et asymétrique
Application de la sécurité dans un environnement Web
• Sécurisation d'un serveur applicatif Java
• Sécurisation d'un serveur applicatif Java
• Authentification des utilisateurs, descripteur de déploiement d'une application web
• Configuration des logins modules dans les principaux serveurs applicatifs
• Sécurité déclarative des différents tiers de Java EE
• SSL
• T.P. : Sécurisation d'une application web
Les attaques WEB
• Les ressources de l'OWASP
• Les dix risques de sécurité applicatifs Web les plus critiques selon l’OWASP
• Identification des principaux risques dans la Cybersécurité
L’audit d'applications en mode dynamique avec APPSCAN Standard
• Configuration d’un scan
• Lancement de l’opération de Scan
• Analyse des résultats
Détails pédagogiques
Type de cours
Formation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumissionFormation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumission