Formation Développeur Java sécurisé (incluant OWASP)
Ce cours couvre les concepts et principes de codage sécurisé avec Java, en se basant sur la méthodologie de test du Open Web Application Security Project (OWASP). Le Open Web Application Security Project est une communauté en ligne qui crée des articles, méthodologies, documentation, outils et technologies librement accessibles dans le domaine de la sécurité des applications web.
Plan du cours
- Comprendre les menaces web et les vecteurs d'attaque
- Connaître les principes de conception sécurisée
- Comprendre les attaques OWASP Top 10
- Comprendre les problèmes d'authentification et d'autorisation
- Savoir comment prévenir les attaques par script inter-sites (XSS)
- Savoir comment prévenir les attaques de fraude de demande inter-sites (CSRF)
- Comprendre le cycle de développement sécurisé
- Savoir comment prévenir les attaques par injection
- Comprendre les protections offertes par JDBC et JPA
- Comprendre les méthodologies de tests de pénétration
- Savoir comment sécuriser les applications Java
Pré requis
- Expérience avec Java.
- Expérience dans la création d'applications web.
Les formations ouvertes requièrent plus de 3 participants.
Formation Développeur Java sécurisé (incluant OWASP) - Réservation
Formation Développeur Java sécurisé (incluant OWASP) - Demande de renseignements
Développeur Java sécurisé (incluant OWASP) - Demande d'informations consulting
Nos clients témoignent (3)
Le sujet est d'actualité et j'avais besoin de me mettre à jour
Damilano Marco - SIAP s.r.l.
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
C'était assez complet, l'information était claire et concise.
Sebastian-Daniel - BRD
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
Plusieurs exemples pour chaque module et une grande connaissance de la part du formateur.
Sebastian - BRD
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
Cours à venir
Cours Similaires
Sécurité des réseaux et communications sécurisées
21 HeuresLa mise en œuvre d'une application réseau sécurisée peut s'avérer difficile, même pour des développeurs ayant préalablement utilisé divers composants cryptographiques (tels que le chiffrement et les signatures numériques). Afin que les participants comprennent le rôle et l'utilisation de ces primitives cryptographiques, nous établirons d'abord des bases solides sur les exigences principales de la communication sécurisée – accusé de réception sécurisé, intégrité, confidentialité, identification à distance et anonymat – tout en présentant les problèmes typiques susceptibles de compromettre ces exigences, ainsi que des solutions concrètes.
La cryptographie étant un aspect critique de la sécurité des réseaux, nous aborderons également les algorithmes cryptographiques les plus importants en cryptographie symétrique, en hachage, en cryptographie asymétrique et en échange de clés. Au lieu de proposer un fondement mathématique approfondi, ces éléments sont examinés du point de vue du développeur, avec des exemples d'utilisations typiques et des considérations pratiques liées à l'usage du chiffrement, telles que les infrastructures à clés publiques. Les protocoles de sécurité dans de nombreux domaines des communications sécurisées sont présentés, avec un examen approfondi des familles de protocoles les plus répandues, comme IPSEC et SSL/TLS.
Les vulnérabilités cryptographiques courantes sont analysées, tant en lien avec certains algorithmes cryptographiques qu'avec les protocoles de chiffrement, notamment BEAST, CRIME, TIME, BREACH, FREAK, Logjam, l'attaque par oracle de rembourrage (Padding oracle), Lucky Thirteen, POODLE et similaires, ainsi que l'attaque par chronométrage sur RSA. Dans chaque cas, les implications pratiques et les conséquences potentielles de chaque problème sont décrites, sans entrer dans les détails mathématiques approfondis.
Enfin, la technologie XML étant centrale pour l'échange de données entre applications réseau, nous décrirons les aspects de sécurité liés au XML. Cela inclut l'utilisation du XML dans les services Web et les messages SOAP, ainsi que les mesures de protection telles que la signature XML et le chiffrement XML – mais aussi les faiblesses de ces mécanismes de protection et les problèmes de sécurité spécifiques au XML, comme l'injection XML, les attaques par entités externes XML (XXE), les bombes XML et l'injection XPath.
Les participants suivant cette formation apprendront à
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Comprendre les exigences d'une communication sécurisée
- Apprendre les attaques et les défenses réseau aux différentes couches du modèle OSI
- Acquérir une compréhension pratique de la cryptographie
- Comprendre les protocoles de sécurité essentiels
- Comprendre certaines attaques récentes contre les systèmes cryptographiques
- Obtenir des informations sur certaines vulnérabilités récentes apparentées
- Comprendre les concepts de sécurité des services Web
- Disposer de sources et de lectures complémentaires sur les pratiques de codage sécurisé
Public cible
Développeurs, Professionnels
Programmation sécurisée en C/C++
21 HeuresÉcrire du code C et C++ sécurisé exige une défense rigoureuse contre les exploitations malveillantes, la corruption de la mémoire et les contournements de la validation des entrées. Ce programme examine des modèles de vulnérabilités tels que les débordements de tampon, l'utilisation après libération, les débordements entiers et les erreurs de type. Les participants appliquent des directives de codage sécurisé, des outils d'analyse statique et des techniques de programmation défensive pour éliminer les faiblesses, imposer la sanitisation des entrées et livrer un logiciel durci résistant aux cyberattaques.
Sécurité avancée de Java
21 HeuresMême les programmeurs Java expérimentés ne maîtrisent pas nécessairement tous les services de sécurité offerts par Java et ne sont pas non plus conscients des différentes vulnérabilités pertinentes pour les applications web écrites en Java.
Le cours – outre l’introduction aux composants de sécurité de la plate-forme Standard Java Edition – traite des questions de sécurité liées à Java Enterprise Edition (JEE) et aux services web. L’analyse des services spécifiques est précédée par les fondements de la cryptographie et de la communication sécurisée. Divers exercices portent sur les techniques de sécurité déclarative et programmatique dans JEE, tandis que la sécurité au niveau du transport et de bout en bout des services web est abordée. L’utilisation de tous les composants est présentée à travers plusieurs exercices pratiques, permettant aux participants d’expérimenter eux-mêmes les API et outils discutés.
Le cours explore également et explique les failles de programmation les plus fréquentes et graves du langage Java et de sa plateforme, ainsi que les vulnérabilités liées au web. Outre les bugs typiques commis par les programmeurs Java, les vulnérabilités de sécurité introduites couvrent à la fois les problèmes spécifiques au langage et les problèmes découlant de l’environnement d’exécution. Toutes les vulnérabilités et les attaques associées sont démontrées à travers des exercices compréhensibles, suivis des directives de codage recommandées et des techniques d’atténuation possibles.
Les participants suivant ce cours sauront
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendre les vulnérabilités web au-delà de l’OWASP Top Ten et savoir comment les éviter
- Comprendre les concepts de sécurité des services web
- Savoir utiliser diverses fonctionnalités de sécurité de l’environnement de développement Java
- Avoir une compréhension pratique de la cryptographie
- Comprendre les solutions de sécurité de Java EE
- Se familiariser avec les erreurs de codage courantes et leur prévention
- Obtenir des informations sur certaines vulnérabilités récentes dans le framework Java
- Acquérir des connaissances pratiques sur l’utilisation des outils de test de sécurité
- Obtenir des sources et des lectures complémentaires sur les pratiques de codage sécurisé
Public
Développeurs
Programmation avec Groovy
21 HeuresApache Groovy est un langage de programmation dynamique pour la JVM (Machine Virtuelle Java). Parmi ses fonctionnalités figurent les capacités de script, la création de langages spécifiques à un domaine, la méta-programmation à l'exécution et à la compilation, ainsi que la programmation fonctionnelle. Groovy est souvent utilisé en complément de Java.
Lors de cette formation en présentiel animée par un formateur, les participants apprendront à programmer en Groovy en créant pas à pas une application exemple.
Audience cible
- Développeurs
Format de la formation
- Cours magistral, discussions, exercices et mise en pratique intensive
Programmation Groovy pour les débutants
14 HeuresCette formation en direct, encadrée par un formateur à Belgique (en ligne ou en présentiel), s'adresse aux développeurs débutants souhaitant apprendre les bases de la programmation Groovy.
À l'issue de cette formation, les participants seront capables de :
- Comprendre les concepts de programmation de base.
- Écrire des scripts Groovy simples et utiliser les fonctionnalités core de Groovy.
- Comprendre et appliquer les principes fondamentaux de la programmation orientée objet avec Groovy.
- Maîtriser les techniques de base de gestion des erreurs pour traiter les erreurs courantes et les exceptions en Groovy.
Microservices Java
21 HeuresCette formation en présentiel ou à distance, animée par un formateur dans Belgique, s'adresse aux développeurs Java de niveau intermédiaire souhaitant concevoir, développer, déployer et maintenir des applications basées sur des microservices en utilisant des frameworks Java tels que Spring Boot et Spring Cloud.
À l'issue de cette formation, les participants seront capables de :
- Comprendre les principes et les avantages de l'architecture en microservices.
- Construire et déployer des microservices en utilisant Java et Spring Boot.
- Mettre en œuvre la découverte de services, la gestion de configuration et des passerelles API.
- Sécuriser, surveiller et mettre à l'échelle les microservices de manière efficace.
- Déployer des microservices en utilisant Docker et Kubernetes.
Développer des microservices avec Spring Boot, Docker et Kubernetes
21 HeuresCette formation en présentiel, animée par un instructeur, en Belgique (disponible en ligne ou sur site), est conçue pour les développeurs de niveau intermédiaire à avancé qui souhaitent maîtriser le développement de microservices avec Spring Boot, Docker et Kubernetes.
À l'issue de cette formation, les participants seront capables de :
- Comprendre les principes de l'architecture des microservices.
- Construire des microservices prêts pour la production à l'aide de Spring Boot.
- Comprendre le rôle crucial de Docker dans la conteneurisation des microservices.
- Configurer des clusters Kubernetes pour déployer et orchestrer les microservices.
Quarkus pour les développeurs
14 HeuresCette formation en direct, animée par un formateur à <lieu> (en ligne ou en présentiel), s'adresse aux développeurs souhaitant utiliser Quarkus pour créer, tester et déployer des applications entièrement basées sur Java, tout en réduisant l'utilisation des ressources.
À l'issue de cette formation, les participants seront en mesure de :
- Mettre en place l'environnement de développement nécessaire pour commencer à développer des applications avec Quarkus.
- Construire, compiler et exécuter des applications en mode natif grâce à GraalVM.
- Utiliser les outils et extensions Quarkus pour créer des applications natives avec Maven.
- Containeriser, exécuter et déployer des applications avec Docker.
Quarkus pour le développement natif Java et les microservices
40 HeuresCe cours en ligne ou en présentiel, encadré par un formateur, s'adresse aux développeurs et architectes de niveau intermédiaire à avancé souhaitant développer des applications natives Java et des microservices en utilisant Quarkus, avec une optimisation de l'utilisation de la mémoire et du temps de démarrage.
À la fin de cette formation, les participants seront capables de :
- Développer des applications natives Java performantes et légères en utilisant Quarkus.
- Construire et déployer des services RESTful et des architectures de microservices.
- Utiliser GraalVM pour la compilation native et optimiser le démarrage et l'efficacité mémoire.
- Emballer et containeriser les applications pour les environnements Kubernetes et OpenShift.
RabbitMQ avec Java et Spring
14 HeuresCette formation en direct, encadrée par un instructeur en Belgique (en ligne ou sur site), s'adresse aux architectes logiciels et aux développeurs web souhaitant utiliser RabbitMQ comme middleware de messagerie et programmer en Java avec Spring pour créer des applications.
À l'issue de cette formation, les participants seront capables de :
- Utiliser Java et Spring avec RabbitMQ pour créer des applications.
- Concevoir des systèmes asynchrones pilotés par des messages en utilisant RabbitMQ.
- Créer et appliquer des files d'attente, des sujets, des échangeurs et des liaisons dans RabbitMQ
Spring Boot, React et Redux
14 HeuresCette formation en direct, animée par un instructeur en Belgique (en ligne ou en présentiel), s'adresse aux développeurs web souhaitant créer des applications web front-end et back-end fonctionnelles avec Spring Boot, React et Redux.
À l'issue de cette formation, les participants seront en mesure de :
- Développer une application front-end avec React et Redux.
- Créer des API REST avec Spring Boot.
- Sécuriser les services web avec Spring Security et les tokens JWT.
Spring 5
21 HeuresCette formation en présentiel ou en ligne, animée par un formateur, s'adresse aux développeurs Java qui souhaitent utiliser le framework Spring 5 pour développer et déployer des applications web d'entreprise.
À l'issue de cette formation, les participants seront capables de :
- Installer et configurer Spring 5.
- Comprendre et implémenter les dernières fonctionnalités de Spring 5.
- Accéder aux bases de données avec une application Spring.
- Utiliser le nouveau framework web réactif, WebFlow, pour rendre une application réactive.
- Intégrer une application Spring avec des applications Java EE héritées.
- Tester et déployer une application Spring de qualité enterprise.
Les fondamentaux de Spring avec Spring Boot 3.5.5 et Java 21
14 HeuresSpring est un framework Java complet qui simplifie le développement d'applications d'entreprise en offrant une injection de dépendances puissante, une architecture modulaire et des options de configuration simplifiées.
Ce stage dirigé par un instructeur (en ligne ou en présentiel) s'adresse aux développeurs Java débutants souhaitant construire des applications web modernes et prêtes pour la production en utilisant la dernière version du Framework Spring et de Spring Boot 3.5.5 avec Java 21.
À l'issue de cette formation, les participants seront capables de :
- Comprendre les principes fondamentaux de Spring, y compris IoC, DI et AOP.
- Configurer des applications Spring à l'aide de XML, d'annotations et de JavaConfig.
- Développer des services RESTful avec Spring Boot et JPA.
- Mettre en œuvre des opérations CRUD, gérer les transactions et assurer la persistance des données.
- Utiliser des fonctionnalités avancées de Spring telles que les profils, la gestion des exceptions et la sérialisation des données.
Format de la formation
- Brève introduction théorique suivie d'exerciques pratiques approfondis.
- Mise en œuvre pratique à partir d'exemples concrets.
- Discussion interactive et assistance guidée pour le débogage.
Options de personnalisation de la formation
- Pour demander une formation personnalisée pour ce cours, veuillez nous contacter afin d'organiser cela.
Spring WebFlux : La programmation réactive pour des applications web évolutives
35 HeuresSpring WebFlux est un module de programmation réactive au sein du framework Spring, conçu pour la création d'applications web non bloquantes et pilotées par des événements.
Cette formation pratique, animée par un formateur (en ligne ou en présentiel), s'adresse aux développeurs Java de niveau débutant à intermédiaire souhaitant construire des applications évolutives et réactives avec Spring WebFlux.
À l'issue de cette formation, les participants seront en mesure de :
- Comprendre les fondamentaux de la programmation réactive avec Project Reactor.
- Construire et tester des API REST non bloquantes avec Spring WebFlux.
- Intégrer WebFlux avec des bases de données et des services externes.
- Appliquer les modèles réactifs à des scénarios d'applications réels.
Format de la formation
- Cours interactif et discussions.
- De nombreux exercices et mises en pratique.
- Implémentation pratique dans un environnement de laboratoire en direct.
Options de personnalisation de la formation
- Pour demander une formation sur mesure pour ce cours, veuillez nous contacter afin d'en convenir.
Spring WebFlux
14 HeuresCette formation en présentiel ou à distance, animée par un instructeur, s'adresse aux développeurs souhaitant utiliser WebFlux pour développer et déployer des applications réactives.
À l'issue de cette formation, les participants seront capables de :
- Installer et configurer Spring 5 et le framework WebFlux.
- Développer des applications et services réactifs.