Sécurité applicative Java

Qualiopi
À partir de 2010 €
Durée 21h en 3 jours
Localisation Partout en France
Logo de M2I - Sécurité applicative Java

Proposé par

M2I

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.

Public admis

  • Salarié en Poste
  • Entreprise

Demandeur d'emploi et Etudiant non admis

Financement

  • Votre OPCO
  • Financement personnel

Financement CPF non pris en charge

Modalités

  • En centre
  • À distance

Objectifs pédagogiques

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 la formation

Jour 1

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

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

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

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

Jour 3

Exemples de travaux pratiques (à titre indicatif) - Suite
  • 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

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

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.

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
Logo de M2I - Formation Sécurité applicative Java

Proposé par

M2I

"Un leadership dans le domaine de la formation"

Voir la fiche entreprise
À partir de 2010 €
Logo de M2I - Sécurité applicative Java

Sécurité applicative Java

0 ville proposant cette formation
Logo

La 1ère plateforme pour trouver une formation, choisir son orientation ou construire son projet de reconversion.

© 2024 France Carrière. Tous droits réservés.