Même les programmeurs expérimentés ne maîtrisent pas systématiquement l'ensemble des services de sécurité offerts par leurs plateformes de développement et sont souvent méconnaissants des vulnérabilités qui peuvent impacter leurs développements. Ce cours s'adresse aux développeurs utilisant à la fois Java et PHP et leur fournit les compétences essentielles pour rendre leurs applications résistantes aux attaques contemporaines via Internet.
Les différents niveaux de l'architecture de sécurité de Java sont abordés à travers la gestion du contrôle d'accès, de l'authentification et de l'autorisation, des communications sécurisées et de diverses fonctions cryptographiques. Diverses API sont également présentées pour sécuriser votre code en PHP, comme OpenSSL pour la cryptographie ou HTML Purifier pour la validation des entrées. Sur le serveur, les bonnes pratiques sont données pour renforcer et configurer le système d'exploitation, le conteneur Web, le système de fichiers, le serveur SQL et le langage PHP lui-même, tandis qu'un focus particulier est accordé à la sécurité côté client à travers les problématiques de sécurité de JavaScript, Ajax et HTML5.
Les vulnérabilités Web générales sont discutées à travers des exemples alignés sur l'OWASP Top Ten, présentant diverses attaques par injection, injections de scripts, attaques contre la gestion de session, références directes d'objets non sécurisées, problèmes liés aux téléchargements de fichiers, et bien d'autres. Les problèmes de langue spécifiques à Java et PHP, ainsi que les problèmes découlant de l'environnement d'exécution, sont présentés en les regroupant dans les types de vulnérabilités standard : validation d'entrée manquante ou incorrecte, utilisation incorrecte des fonctionnalités de sécurité, gestion incorrecte des erreurs et des exceptions, problèmes liés au temps et à l'état, problèmes de qualité du code et vulnérabilités liées au code mobile.
Les participants peuvent tester par eux-mêmes les API, outils et les effets des configurations discutés, tandis que les présentations de vulnérabilités sont toutes supportées par un certain nombre d'exercices pratiques démontrant les conséquences des attaques réussies, montrant comment corriger les bugs et appliquer des techniques d'atténuation, et introduisant l'utilisation de diverses extensions et outils.
Les participants suivant ce cours seront capables de
- Comprendre les concepts de base de la sécurité, la sécurité informatique et le codage sécurisé
- Apprendre les vulnérabilités Web au-delà de l'OWASP Top Ten et savoir comment les éviter
- Apprendre les vulnérabilités côté client et les pratiques de codage sécurisé
- Savoir utiliser diverses fonctionnalités de sécurité de l'environnement de développement Java
- Avoir une compréhension pratique de la cryptographie
- Apprendre à utiliser diverses fonctionnalités de sécurité de PHP
- Comprendre les concepts de sécurité des services Web
- Obtenir des connaissances pratiques sur l'utilisation d'outils de test de sécurité
- Apprendre les erreurs de codage typiques et comment les éviter
- Être informé des récentes vulnérabilités des frameworks et bibliothèques Java et PHP
- Obtenir des sources et des lectures complémentaires sur les pratiques de codage sécurisé
Public
Développeurs
En savoir plus...