Code formation
cl-beh
Durée
35 heures (généralement 5 jours pauses comprises)
Aperçu
Au-delà d’une solide connaissance des solutions de sécurité des technologies appliquées, même pour les programmeurs expérimentés, il est essentiel de bien comprendre les techniques d’attaque typiques possibles en raison des diverses vulnérabilités, telles que les erreurs de programmation liées à la sécurité. Ce cours aborde le codage sécurisé du point de vue des techniques d’attaque, mais avec le même objectif que tout autre cours de S CAD EMY Secure Coding Academy: apprendre les meilleures pratiques en matière de sécurité des logiciels.
Les vulnérabilités générales sur le Web sont démontrées par la présentation des attaques pertinentes, tandis que les techniques de codage et les méthodes d'atténuation recommandées sont expliquées dans le but le plus important d'éviter les problèmes associés. Outre les problèmes côté serveur (qui suivent essentiellement le Top Ten OWASP ), un accent particulier est mis sur la sécurité côté client, qui aborde les problèmes de sécurité liés à Java Script, Ajax et HTML 5, suivi de la discussion sur les services Web et la sécurité XML . Une brève introduction aux fondements de la cryptographie fournit une base pratique commune pour comprendre le but et le fonctionnement de divers algorithmes.
Spécifiquement pour C et C++ , nous allons dans plus de détails concernant l'exploitation des débordements de mémoire tampon sur la pile et sur le tas. Après avoir présenté les techniques d’attaque, nous donnons un aperçu des méthodes de protection pratiques pouvant être appliquées à différents niveaux (composants matériels, système d’exploitation, langages de programmation, compilateur, code source ou en production) afin d’éviter la survenue des différents bugs. , pour les détecter pendant le développement et avant la mise sur le marché, ou pour empêcher leur exploitation pendant le fonctionnement du système. Enfin, nous discutons des contre-attaques, puis des mesures de protection, en soulignant la nature du chat et de la souris du piratage et de la protection.
Enfin, le cours explique les failles de programmation les plus fréquentes et les plus graves en apportant des exemples dans Java langages et plates-formes Java , .NET, C et C++ . Outre les bogues typiques commis par les programmeurs, les vulnérabilités de sécurité introduites couvrent à la fois des problèmes spécifiques au langage et des problèmes liés à l'environnement d'exécution ou aux bibliothèques utilisées. Toutes les vulnérabilités et les attaques pertinentes sont démontrées au moyen d'exercices faciles à comprendre, suivis des directives de codage recommandées et des techniques d'atténuation possibles.
Enfin, nous présentons des techniques et des outils de test de sécurité pouvant être appliqués pour révéler les vulnérabilités évoquées, ainsi que les différentes techniques de reconnaissance, de configuration et de renforcement de l’environnement.
Les participants à ce cours seront
- Comprendre les concepts de base de la sécurité, de la sécurité informatique et du codage sécurisé
- Apprendre les vulnérabilités Web au-delà du Top Ten d' OWASP et savoir comment les éviter
- Apprendre les vulnérabilités côté client et les pratiques de codage sécurisé
- Comprendre les concepts de sécurité des services Web
- Avoir une compréhension pratique de la cryptographie
- Réaliser les conséquences graves d'une gestion non sécurisée des tampons
- Comprendre les techniques de protection architecturale et leurs faiblesses
- En savoir plus sur les erreurs de codage typiques et comment les exploiter
- Être informé des vulnérabilités récentes de diverses plates-formes, infrastructures et bibliothèques
- Apprenez les techniques et les outils essentiels d'analyse, de test et de vulnérabilité
- Obtenir des sources et des lectures supplémentaires sur les pratiques de codage sécurisé
Public
Les développeurs
Machine Translated
Plan du cours
- IT security and secure coding
- Web application security
- Client-side security
- Client-side security
- Security of Web services
- XML security
- Practical cryptography
- x86 machine code, memory layout, stack operations
- Exploitation of typical coding mistakes
- Time and state problems
- Code quality problems
- Vulnerability testing and analysis
- Knowledge sources