Cursus
Formation JAVA Sécuriser une application
Objectifs
Déterminer les concepts de sécurité logicielle et les différentes types d'attaques.
Employer les API Java en lien avec la sécurité.
Apprécier la validation des données entrantes pour protéger contre les attaques courantes.
Pratiquer la sécurisation des données stockées dans les bases de données.
Protéger les fichiers de configuration et les fichiers de log du système.
Implémenter l'architecture Oauth 2.0 pour l'authentification au niveau du navigateur.
Mettre en œuvre des techniques de chiffrement pour sécuriser les échanges de données entre les parties.
Pré-requis
Participants
Programme de formation
CONCEPTS DE SÉCURITÉ LOGICIELLE
Outils de détection de faille de sécurité
Identifier et comprendre les vulnérabilités de vos applications
Attaques "brute-force"
Attaques par "déni de services"
- DOS : Denial Of Service
Attaques par analyse de trames IP
Attaques par "Injection SQL"
Attaques "XSS"
- Cross Site Scripting
Attaques "CSRF"
- Cross Site Request Forgery
Autres types d'attaques
Pourquoi sécuriser une application ?
Travaux pratiques
- Tests de ces différents types de problèmes sur une application mal développée et utilisation des outils de détection de faille de sécurité
VALIDATION DES DONNÉES ENTRANTES
Protection contre les entrées d'utilisateurs nuisibles
Utilisation d'expressions régulières
Détecter et contrer les "injections SQL"
Détecter et contrer les attaques "XSS"
Détecter et contrer les attaques "CSRF"
Détecter et contrer les attaques "brute-force"
Sécuriser les données en Cookie
Protection contre les menaces de déni de service
Ne pas présenter à l'utilisateur les détails des erreurs techniques
Travaux pratiques
- Modification du code de l'application initialement proposée pour interdire ces différents types d’attaques
SÉCURISER LES DONNÉES STOCKÉES EN BASE
Authentification et Autorisation du SGBDr
- Système de Gestion de Base de Données relationnelle
Rôles serveur et rôles de base de données
Propriété et séparation utilisateur-schéma
Chiffrement de données dans la base de données
Travaux pratiques
- Stocker de manière sécurisée les mots de passe en base de données
SÉCURISER LE SYSTÈME DE FICHIER
Crypter les données sensibles dans les fichiers de configuration
Détecter les tentatives de remplacement des fichiers sources de l'application
Signer les fichiers
Protéger les informations des fichiers de log
OAUTH 2.0 ET L'AUTHENTIFICATION AU NIVEAU DU NAVIGATEUR
Présentation de l'architecture Oauth 2.0
Utilisation de l'API Oauth 2.0
Travaux pratiques
- Mise en oeuvre de Oauth
SÉCURISER LES ÉCHANGES DE DONNÉES
Modèle de chiffrement
Conception orientée flux
Configuration du chiffrement
Choix d'un algorithme
Mettre en oeuvre le chiffrage symétrique
Mettre en oeuvre le chiffrage asymétrique
Travaux pratiques
- Réaliser une communication sécurisée à l'aide d’un certificat