Plan du cours
Jour 1
- Sécurité informatique et codage sécurisé
- Nature de la sécurité
- Termes relatifs à la sécurité informatique
- Définition du risque
- Différents aspects de la sécurité informatique
- Exigences des différents domaines d'application
- Sécurité informatique et codage sécurisé
- Des vulnérabilités aux réseaux de zombies et à la cybercriminalité
- Nature des failles de sécurité
- Raisons des difficultés
- D'un ordinateur infecté à des attaques ciblées
- Classification des failles de sécurité
- Taxonomie de Landwehr
- Les sept royaumes pernicieux
- OWASP Top Ten 2013
- OWASP Comparaison des dix premiers 2003 - 2013
- Introduction au cycle de développement de la sécurité Microsoft® (SDL)
- Agenda
- Les applications attaquées...
- Évolution de la cybercriminalité
- Les attaques se concentrent sur les applications
- La plupart des vulnérabilités se trouvent dans les petites applications des éditeurs de logiciels indépendants (ISV)
- Origine de la Microsoft SDL...
- Chronologie de la sécurité à Microsoft...
- Quelles applications doivent respecter la SDL ?
- [Cycle de vie du développement de la sécurité (SDL)
- Microsoft Cycle de vie du développement de la sécurité (SDL)
- Exigences pré-SDL : Formation à la sécurité
- Première phase : exigences
- Phase deux : conception
- Troisième phase : Mise en œuvre
- Quatrième phase : Vérification
- Cinquième phase : Libération - Plan d'intervention
- Cinquième phase : Publication - Examen final de la sécurité
- Cinquième phase : Publication - Archivage
- Exigence post-SDL : Réponse
- Guide des processus SDL pour les applications LOB
- Directives SDL pour les méthodologies Agile
- Le développement de logiciels sécurisés nécessite l'amélioration des processus
- Principes de conception sécurisée
- Surface d'attaque
- Réduction de la surface d'attaque
- Surface d'attaque - un exemple
- Analyse de la surface d'attaque
- Réduction de la surface d'attaque - exemples
- Protection de la vie privée
- Vie privée
- Comprendre les comportements et les préoccupations des applications
- Défense en profondeur
- Principe fondamental de la SDL : Défense en profondeur
- Défense en profondeur - exemple
- Principe du moindre privilège
- Le principe du moindre privilège - exemple
- Défauts de sécurité
- Défauts de sécurité - exemples
- Surface d'attaque
- Principes de mise en œuvre de la sécurité
- Agenda
- Microsoft Cycle de développement de la sécurité (SDL)
- Principes de base du débordement de mémoire tampon
- Processeurs Intel 80x86 - registres principaux
- La disposition des adresses de la mémoire
- Le mécanisme d'appel de fonction en C/C++ sur x86
- Les variables locales et le cadre de la pile
- Débordement de la pile
- Débordement de tampon sur la pile
- Exercices - introduction
- Exercice BOFIntro
- Exercice BOFIntro - déterminer la disposition de la pile
- Exercice BOFIntro - un exploit simple
- Validation des entrées
- Concepts de validation des entrées
- Problèmes liés aux nombres entiers
- Représentation des nombres entiers négatifs
- Débordement de nombres entiers
- Débordement arithmétique - devinez le résultat !
- Exercice IntOverflow
- Quelle est la valeur de Math.Abs(int.MinValue) ?
- Atténuation des problèmes liés aux nombres entiers
- Atténuation des problèmes liés aux nombres entiers
- Éviter les débordements arithmétiques - addition
- Éviter les débordements arithmétiques - multiplication
- Détecter un dépassement de capacité avec le mot-clé checked dans C# (en anglais)
- Exercice - Utilisation du mot-clé checked dans C# (en anglais)
- Exceptions déclenchées par des débordements dans C#
- Étude de cas - Débordement de nombres entiers dans .NET
- Une vulnérabilité de débordement d'entier dans le monde réel
- Exploitation de la vulnérabilité de débordement d'entier
- Vulnérabilité de traversée de chemin
- Atténuation de la traversée de chemin
Jour 2
- Principes de mise en œuvre sécurisée
- Injection
- Méthodes d'attaque par injection SQL typiques
- Injection aveugle et temporelle SQL.
- [Méthodes de protection contre l'injection
- Injection de commande
- Authentification défaillante - gestion des mots de passe
- Exercice - Faiblesse des mots de passe hachés
- Gestion et stockage des mots de passe
- Algorithmes de hachage spéciaux pour le stockage des mots de passe
- Scripts intersites (XSS)
- Injection de scripts intersites (XSS)
- Injection CSS
- Exploitation : injection à travers d'autres balises HTML.
- Prévention des XSS
- Contrôle d'accès au niveau des fonctions manquantes
- Filtrage des téléchargements de fichiers
- Cryptographie pratique
- Assurer la confidentialité avec la cryptographie symétrique
- Algorithmes de cryptage symétrique
- Chiffrement par blocs - modes de fonctionnement
- Hachage ou condensé de message
- Algorithmes de hachage
- Code d'authentification des messages (MAC)
- Assurer l'intégrité et l'authenticité à l'aide d'une clé symétrique
- Assurer la confidentialité avec un chiffrement à clé publique
- Règle empirique - possession de la clé privée
- Erreurs typiques dans la gestion des mots de passe
- Exercice - Mots de passe codés en dur
- Conclusion
- Injection
- Principes de vérification sécurisée
- Tests fonctionnels et tests de sécurité
- Vulnérabilités de sécurité
- Établissement de priorités
- Tests de sécurité dans le SDLC
- Étapes de la planification des tests (analyse des risques)
- Détermination du champ d'application et collecte d'informations
- Parties prenantes
- Actifs
- La surface d'attaque
- Objectifs de sécurité pour les tests
- Modélisation des menaces
- Modélisation des menaces
- Profils d'attaquants
- Modélisation de la menace sur la base d'arbres d'attaque
- Modélisation de la menace basée sur des cas d'utilisation abusive/abusive
- Cas d'utilisation abusive/abusive - un exemple simple de boutique en ligne
- Approche STRIDE par élément pour la modélisation des menaces - MS SDL
- Identification des objectifs de sécurité
- Diagramme - exemples d'éléments DFD
- Diagramme de flux de données - exemple
- Énumération des menaces - éléments STRIDE et DFD de MS SDL
- Analyse des risques - classification des menaces
- Le modèle DREAD de classement des menaces/risques
- Techniques et outils de test de sécurité
- Approches générales des tests
- Techniques pour les différentes étapes du cycle de développement durable
- Revue de code
- Revue de code pour la sécurité des logiciels
- Analyse des failles
- Heuristique
- Analyse de code statique
- Analyse de code statique
- Analyse de code statique
- Exercice - Utilisation d'outils d'analyse statique de code
- Test de l'implémentation
- Vérification manuelle de l'exécution
- Tests de sécurité manuels ou automatisés
- Tests de pénétration
- Tests de stress
- Fuzzing
- Tests de sécurité automatisés - fuzzing
- Les défis du fuzzing
- Scanners de vulnérabilité du web
- Exercice - Utilisation d'un scanner de vulnérabilité
- Vérification et durcissement de l'environnement
- Système commun d'évaluation des vulnérabilités - CVSS
- Scanners de vulnérabilité
- Bases de données publiques
- Étude de cas - Contournement de l'authentification des formulaires
- Vulnérabilité de terminaison d'octet NULL
- La vulnérabilité du contournement de l'authentification des formulaires dans le code
- Exploitation du contournement de l'authentification des formulaires
- Sources de connaissances
- Sources de codage sécurisé - un kit de démarrage
- Bases de données de vulnérabilités
- Directives de codage sécurisé .NET sur MSDN
- Aide-mémoire sur le codage sécurisé .NET
- Livres recommandés - .NET et ASP.NET
Nos clients témoignent (5)
Plusieurs exemples pour chaque module et grande connaissance du formateur.
Sebastian - BRD
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
Module3 Attaques et exploits des applications, XSS, SQL injection Module4 Attaques et exploits des serveurs, DOS, BOF
Tshifhiwa - Vodacom
Formation - How to Write Secure Code
Traduction automatique
Informations générales sur les cours
Paulo Gouveia - EID
Formation - C/C++ Secure Coding
Traduction automatique
Les connaissances du formateur étaient excellentes, et la façon dont les séances étaient organisées permettant au public de suivre les démonstrations a vraiment aidé à ancrer cette connaissance, contrairement à simplement écouter passivement.
Jack Allan - RSM UK Management Ltd.
Formation - Secure Developer .NET (Inc OWASP)
Traduction automatique
Rien, c'était parfait.
Zola Madolo - Vodacom
Formation - Android Security
Traduction automatique