Cybersécurité

Sécurité des applications Java, .NET et PHP

Objectifs de la formation

  • Intégrer la sécurité dans les développements dès la conception
  • Identifier les failles possibles au niveau des développements
  • Développer des applications plus sécurisées
  • Mettre en œuvre la sécurité au niveau de la machine virtuelle Java
  • Maîtriser les mécanismes de sécurité de la plateforme .NET et PHP


Programme de la formation

Sécurité de la machine virtuelle Java

  • Chargement des classes. Concept de « bac à sable ».
  • SecurityManager, AccessController et définition des permissions (fichiers .policy).
  • Créer ses permissions avec Java Security Permission.
  • Mécanismes de protection de l’intégrité du bytecode, la décompilation et l’obfuscation du code.
  • Spécificités des Applets en matière de sécurité.

Travaux pratiques

Définition de .policy spécifiques.

Java Authentication and Authorization Service

  • Architecture de JAAS.
  • Authentification via le PAM, notion de Subject et de Principal.
  • Gestion des permissions, les fichiers .policy.
  • Utiliser JAAS avec Unix ou Windows, JNDI, Kerberos et Keystore. Le support du SSO.

Travaux pratiques

Configurer la politique de contrôle d’accès, mise en œuvre de l’authentification.

Problématique de sécurité en .NET

  • Définition 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.

Sécurité du Framework .NET

  • Protection du contenu des assembly.
  • Protection de l’exécution des programmes.
  • Déploiement d’une stratégie de sécurité du CLR.
  • Stratégie de sécurité et déploiement des applications. Principe d’utilisation des « preuves ».
  • Règles d’exécution selon la provenance des applications.
  • Nouveautés de .NET4.
  • Confiance totale/Partielle.

Travaux pratiques

Récupérer les preuves présentées par un assembly. Signer/modifier un assembly.

Sécurité du code .NET

  • Code transparent de sécurité, critique de sécurité et critique sécurisée.
  • Quelles sont les autorisations d’accès du code ?
  • Comment procéder à l’obfuscation du code. Chiffrement des informations de configuration.
  • Mettre en place la gestion déclarative/impérative des mécanismes de sécurité.
  • Effectuer la restriction/vérification des droits de l’exécution du programme.
  • Comment mettre en œuvre la gestion de la sécurité à partir des rôles.

Travaux pratiques

Autorisation d’accès du code.

Les bons réglages pour sécuriser PHP

  • Le fichier de configuration PHP.ini. Identifier les directives sensibles, les sessions et les erreurs.
  • Comment mettre en place une protection des scripts. Protection physique. Exécution de scripts distants ou à la volée.
  • Les cookies et les sessions.

La sécurité des bases de données

  • Quelles sont les failles potentielles qui peuvent impacter les bases de données. Administration. Stockage.
  • Les attaques de type « Injections SQL ». Principe et contre-mesure. Procédures stockées et requêtes paramétrées. Limites.
  • Quels sont les fichiers d’accès. Organisation et valeurs par défaut. Accès anonymes et protocoles.

Sécuriser l’emploi des extensions en PHP

  • Email. Spam via un formulaire de contact : injections et contre-mesures.
  • Comment réaliser les accès réseau par PHP. Les appels séquentiels et récursifs. Les attaques furtives.

Les vulnérabilités des applications Web

  • Pourquoi les applications Web sont-elles plus exposées ? Les risques majeurs des applications Web selon l’OWASP.
  • Les attaques « Cross Site Scripting » ou XSS. Pourquoi sont-elles en pleine expansion ? Comment les éviter ?
  • Les attaques en injection (commandes injection, SQL Injection, LDAP injection…). Les attaques sur les sessions.
  • Exploitation de vulnérabilités sur le frontal HTTP (ver Nimda, faille Unicode). Attaques sur les configurations standard
  • Comment effectuer la recherche des vulnérabilités.
  • Rechercher les vulnérabilités les plus répandues. Le Cross-Site Scripting. L’injection SQL.
  • Les erreurs de logique applicative. Le buffer overflow (débordement de tampon). L’exécution de commandes arbitraires.

Les bonnes pratiques

  • Quels sont les différents types d’entrées ? Comment effectuer la validation des entrées ?
  • Quels sont les types d’opérations qui peuvent être effectuées sur les types numériques ?
  • Les classes et les exceptions.
  • Multi-threading et synchronisation.
  • Les entrées-sorties, la sérialisation.
  • Savoir effectuer la gestion des permissions.

Travaux pratiques

Les exercices pratiques ont été conçus pour illustrer tous les éléments du langage et pour systématiquement mettre en œuvre les concepts afin de bien maîtriser les mécanismes de sécurité.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Analyse Forensic (Prev Lesson)
(Next Lesson) Forensics Android
Back to Cybersécurité
Public

Développeurs, architectes applicatifs, chefs de projets amenés à sécuriser des applications.

Pré-requis

Avoir suivi la formation "Développer des applications sécurisées".

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.