Accueil / 3.1 – La sécurité des applications (exclusif FAFIEC) – 28144

3.1 – La sécurité des applications (exclusif FAFIEC) – 28144

Objectifs

  • Comprendre la notion de sécurité dans une application codée en Java, .Net et C++
  • Avoir les bons réflexes lors de la réalisation d’application Web
  • Valider le comportement de ses applications sous de fortes charges
  • Analyser son code pour éviter les problèmes en amont

Prérequis

  •  Avoir les bases de la programmation objet Java, .Net ou C++

Public

  • Développeurs
  • Analystes
  • Concepteurs
  • RSSI, Responsable
  • Membre d’une équipe production, système, intégration

Moyens pédagogiques

  • La flipped classroom (classe inversée) : le concept ou la méthodologie sont présentés aux stagiaires dès le début de chaque thématique, puis suivis d’une mise en pratique immédiate. Avantages : cette pédagogie par itérations favorise l’acquisition de connaissances, l a mise en confiance des apprenants et permet un gain de temps, au profit d’une meilleure prise en charge des questions/obstacles rencontrés par les participants
  • La résolution collaborative de challenge : des travaux pratiques jalonnent nos formations. Les cas d’usage sont tous inspirés de situations professionnelles réelles vécues par le formateur ou inspirées du quotidien « métier » des participants, notamment lorsqu’il s’agit de formations en intra-entreprise. L’animateur formateur est là comme facilitateur et agitateur d’idées et de réflexes
  • L’évaluation des acquis se fait à travers des Quiz en questions ouvertes et/ou fermées et par la remise d’un rapport restituant les méthodes appliquées et les résultats obtenus pendant la résolution collective de challenges

Programme

  1. Introduction aux problématiques de la sécurité :

    • Concepts de sécurité : Authentification, Protection, Cryptage
    • Outils de sécurité .NET
    • Sécurité d’exécution, authentification, protection des données et des accès
    • Types de menaces, validation des données saisies
  2. Analyser et sécuriser son code en Java :

    • Les outils d’analyse
      • AST
      • SonarQube
    • Mise en place de Sonar dans Eclipse
    • Introduction à la sécurisation J2EE à travers la norme standard (le fichier web.xml)
      • Les Realms
      • Le CAS et SSO
    • Introduction à la solution Spring Security
      • Sécurisation par ressources
      • Sécurisation par appel de méthodes
  3. Analyser et sécuriser son code en C++ :

    • Protection du contenu des assembly par la signature et vérification du code
    • Configuration du CLR et modèles de protection
    • Déploiement d’une stratégie de sécurité du CLR
    • Déploiement et règles d’exécution des applications
    • Atelier pratique : Chargement et sécurisation d’assembly (Code Access Security) – Chargement et déchargement de code d’un appdomain
  4. Mécanismes de protection et de cryptage .NET :

    • Notions de cryptographie : modèles (symétrique/asymétrique) et moteur
    • API .NET pour le cryptage et la gestion des certificats (signature, utilisation)
    • Dialogue sécurisé (SSL et HTTPS)
    • Atelier pratique : Cryptage/décryptage de données
  5. Authentification et gestion des accès:

    • Mécanisme d’authentification offerts par .NET Role based et Configuration des Policies .Net sur un poste (codegroups) Mise en place d’un modèle de protection Restrictions d’exécution et utilisation d’environnements de stockage isolés
    • Atelier pratique : Objects Identity et Principal – Utilisation des ACL et DACL – Gestion des politiques de sécurité à l’aide de Mscorcfg.msc
  6. Failles et remèdes avec ASP .NET :

    • Présentation du top 10 de l’Open Web Application Security Project
    • Injections SQL
    • Cross Site Scripting
    • Détournement de sessions
    • Référence directe par URL
    • Cross Site Request Forgery
  7. Sécurisation en C/ C++ :

    • Modèle mémoire
    • Compilation
    • Comprendre les appels de fonction : structure de la pile
    • Coder de manière à sécuriser le code
    • Quelques exemples de code
    • Les chaînes de caractères, les pointeurs
    • Gestion de la mémoire
    • Les entiers, les sorties formatées
    • Les fichiers
  8. Les bonnes pratiques :

    • Bonnes pratiques de codage
    • Macro et inline
    • Gestion de la mémoire : new, free, gestion des erreurs
    • Structure des classes
    • Passer à C++14 : nullptr, enum, deleted fonctions, utilisation des smart pointers
    • Les standards de sécurité
    • Vérification du code

Nombre de jours

4

Dates

Paris

Marseille / Aix / Nice

Nantes

Bordeaux

Orléans

Dijon

Tarif inter

Tarif non renseigné

Tarif sur mesure

Réf.

10ACM

Demande de renseignement

FORMATIONS ASSOCIÉES