Accueil / Sécurité applicative Java

Sécurité applicative Java

Durée : 3 jours
Tarif Inter : 1700 €
Tarif sur mesure : Nous consulter
Référence : 4CSJ

  • Partagez sur
  • Téléchargez en
  • Inscrivez vous
Programme Public & Pré-requis Organisation

Présentation

Cette formation vous enseignera les vulnérabilités de sécurité les plus courantes dans les applications Java et comment écrire un code plus robuste et plus sûr. Vous apprendrez le top 10 de l’OWASP et les vulnérabilités typiques du Web en vous concentrant sur la façon dont ces problèmes affectent les applications Web Java dans toute la stack.

Objectifs

  • Comprendre les problèmes de sécurité des applications web
  • Apprendre les exigences PCI-DSS et le développement sécurisé
  • Analyser les dix éléments principaux de l’OWASP
  • Replacer la sécurité des applications Web dans le contexte de Java
  • Comprendre l’importance de la veille technologique et la proactivité dans la démarche de sécurisation
  • Gérer les problèmes de sécurité dans votre code Java
  • Identifier les vulnérabilités et leurs conséquences
  • Apprenez les meilleures pratiques de sécurité en Java

Programme

  1. Introduction

  2. Les bases de la cybersécurité

    • Qu’est-ce que la sécurité ?
    • Menaces et risques
    • Types de menaces de cybersécurité
    • Conséquences des logiciels non sécurisés
      • Les contraintes et le marché
      • Le côté obscur
    • La cybersécurité dans le secteur financier
      • La sécurité des logiciels dans le monde de la finance
      • Menaces et tendances dans le domaine des technologies de pointe
  3. Norme PCI-DSS

    • Un aperçu de la norme PCI-DSS
    • Les ressources de la norme PCI-DSS
    • Exigences PCI-DSS et développement sécurisé
    • Développer et maintenir des systèmes et des applications sécurisés
    • S’attaquer aux vulnérabilités communes du développement
  4. Le Top 10 de l’OWASP (Partie I)

    • Top 10 de l’OWASP – 2017
    • Authentification frauduleuse
      • Les bases de l’authentification
      • Faiblesses d’authentification
      • Étude de cas – Equifax Argentine
      • L’usurpation d’identité sur le Web
      • Étude de cas – Contournement de la double authentification de PayPal
      • Les bonnes pratiques en matière d’interface utilisateur
      • Étude de cas – Divulgation d’informations dans Simple Banking pour Android
      • Gestion des mots de passe
    • Exposition aux données sensibles
      • Exposition des informations
      • Exposition par extraction de données et agrégation
      • Étude de cas – Exposition des données de l’application Strava fitness
      • Fuite d’informations sur le système
      • Bonnes pratiques en matière d’exposition à l’information
    • Utilisation de composants présentant des vulnérabilités connues
      • Utilisation de composants vulnérables
      • Évaluer l’environnement
      • Durcissement
      • Importation de fonctionnalités non fiables
      • Importation de JavaScript
      • Étude de cas – La brèche des données de British Airways
      • Étude de cas – La brèche des données d’Equifax
      • Gestion de la vulnérabilité
  5. Le Top 10 de l’OWASP (Partie II)

    • Injection
      • Principes d’injection
      • Attaques par injection
      • Injection SQL
      • Bonnes pratiques en matière d’injection SQL
      • Injection de code
      • Bonnes pratiques d’injection de commande OS
      • Utilisation de Runtime.exec()
      • Utilisation de ProcessBuilder
      • Étude de cas – Shellshock
      • Étude de cas – Injection de modèle dans Shopify menant à un RCE
      • Les meilleures pratiques en matière d’injection
    • Authentification défaillante
      • Gestion des sessions
      • Les bonnes pratiques CSRF
    • Entités externes XML (XXE)
      • La définition de type de documents (DTD) et les entités
      • Expansion des entités
      • Attaque d’une entité externe (XXE)
    • Scripting intersites (XSS)
      • Les bases des scripts intersites
      • Types de scripts intersites
      • Étude de cas – XSS dans les comptes Fortnite
      • Bonnes pratiques en matière de protection XSS
  6. La sécurité des applications web au-delà du top 10

    • Sécurité côté client
    • Le Tabnabbing
    • Le Frame sandboxing
  7. Faiblesses habituelles de sécurité des logiciels

    • Validation des entrées
      • Principes de validation des entrées
    • Problèmes de traitement des nombres entiers
      • Représentation des entiers signés
      • Visualisation des nombres entiers
      • Overflow des nombres entiers
      • Confusion nombres signés / non signés en Java
      • Troncature des nombres entiers
    • Bonnes pratiques
    • Autres problèmes numériques
      • Division par zéro
      • Travailler avec des nombres à virgule flottante
    • Réflexions dangereuses
      • Réflexions sans validation
    • Code natif dangereux
      • Dépendance au code natif
      • Bonnes pratiques pour le traitement du code natif
  8. Caractéristiques de sécurité

    • Sécurité de la plate-forme Java
      • Le langage de programmation Java et l’environnement d’exécution
      • Sûreté et sécurité du typage
      • Caractéristiques de sécurité du JRE
      • Le ClassLoader et le BytecodeVerifier
      • Contrôle d’accès au niveau de l’application en Java
      • Contrôle d’accès basé sur les rôles
      • Protéger le code et les applications Java
    • Qualité du code
      • Constructeurs et destructeurs
      • Cycles d’initialisation des classes
      • Labo – Cycles d’initialisation
      • Ressource non diffusée
      • La méthode finalize() – les bonnes pratiques
      • Les pièges de la programmation orientée objet
    • Sérialisation
      • Sérialisation des données sensibles
      • Les bonnes pratiques en matière de sérialisation
      • Désérialiser les flux non fiables
      • Désérialiser les meilleures pratiques
      • Utilisation de ReadObject
      • Objets scellés
      • Regarder vers l’avenir : la désérialisation
      • Programmation axée sur la propriété (POP)
  9. Conclusion

    • Des principes de développement sûr
      • Les principes d’une programmation robuste par Matt Bishop
      • Les principes de conception sécurisée de Saltzer et Schröder
  10. Et maintenant ?

    • Autres sources et lectures
    • Ressources Java
Formations à distance
En inter et en intra entreprise

Contactez-nous :
training@softeam.fr
+33 (0)6 07 78 24 18
Prochaines dates

Demande de renseignement