Plan du cours

Jour 1

  • Sécurité informatique et codage sécurisé
  • Nature de la sécurité
  • Termes liés à 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 vs. codage sécurisé
  • Des vulnérabilités aux réseaux de zombies et à la cybercriminalité
  • Nature des failles de sécurité
  • Raisons de la difficulté
  • D'un ordinateur infecté aux 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 &ndash ; 2013
  • Introduction au Microsoft® ; cycle de développement de la sécurité (SDL)
  • Agenda
  • Les applications attaquées...
  • L'é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
  • .
  • Origines du Microsoft SDL...
  • Temporaire de la sécurité à Microsoft...
  • Quelles sont les applications qui doivent respecter la norme SDL ?
  • Microsoft Cycle de développement de la sécurité (SDL)
  • Microsoft Cycle de développement de la sécurité (SDL)
  • Exigences préalables à la SDL : Formation en matière de sécurité
  • Phase 1 : Exigences
  • Phase 2 : Conception
  • Phase 3 : Mise en œuvre
  • Phase 4 : Vérification
  • Phase cinq : Plan de libération et d'intervention
  • Phase cinq : Libération &ndash ; Examen final de la sécurité
  • Phase cinq : Publication et archivage
  • Post-SDL Requirement: Response
  • Processus SDL pour les applications LOB
  • Les orientations de la DSL 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 &ndash ; un exemple
  • Analyse de la surface d'attaque
  • Réduction de la surface d'attaque &ndash ; exemples
  • Confidentialité
  • Confidentialité
  • Comprendre les comportements et les préoccupations des applications
  • Défense en profondeur
  • Principe de base de la DSL : Défense en profondeur
  • Défense en profondeur &ndash ; exemple
  • Principe du moindre privilège
  • Plus petit privilège &ndash ; exemple
  • Sécurisation des valeurs par défaut
  • Défauts de sécurité &ndash ; exemples
  • Secure implementation principles
  • Agenda
  • Microsoft Cycle de développement de la sécurité (SDL)
  • Bases du débordement de mémoire tampon
  • Processeurs Intel 80x86 &ndash ; registres principaux
  • La disposition des adresses de la mémoire
  • Le mécanisme d'appel de fonction dans C/C++ sur x86
  • Les variables locales et la pile
  • Débordement de la pile
  • Débordement de mémoire tampon sur la pile
  • Exercices &ndash ; introduction
  • Exercice BOFIntro
  • Exercice BOFIntro &ndash ; déterminer la disposition de la pile
  • Exercice BOFIntro &ndash ; un simple exploit
  • Validation des entrées
  • Concepts de validation des entrées
  • Problèmes de nombres entiers
  • Représentation des entiers négatifs
  • Surcharge d'un nombre entier
  • .
  • Le dépassement de capacité arithmétique &ndash ; devinez le résultat!
  • Exercice IntOverflow
  • Réduction des problèmes liés aux nombres entiers
  • Réduction des problèmes liés aux nombres entiers
  • Éviter les débordements arithmétiques &ndash ; addition
  • Éviter les débordements arithmétiques &ndash ; multiplication
  • Détection des débordements avec le mot-clé checked dans C#
  • Exercice &ndash ; Utilisation du mot clé coché dans C#
  • Exceptions déclenchées par des débordements dans C#
  • Etude de cas –Débordement d'entier dans .NET
  • Une vulnérabilité réelle de débordement d'entier
  • 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és
    • Injection
    • Méthodes d'attaque typiques de l'injection SQL
    • Injection aveugle et temporelle SQL
    • SQL Méthodes de protection contre l'injection
    • Injection de commande
  • Authentification brisée - gestion des mots de passe
  • Exercice &ndash ; Faiblesse des mots de passe hachés
  • Gestion et stockage des mots de passe
  • Algorithmes de hachage à usage spécifique pour le stockage des mots de passe
  • Scripts intersites (XSS)
  • Scripts intersites (XSS)
  • CSS injection
  • Exploitation : injection à travers d'autres balises HTML
  • Prévention du XSS
  • Filtrage des téléchargements de fichiers
  • Cryptographie pratique
  • Assurer la confidentialité avec la cryptographie symétrique
  • Algorithmes de cryptage symétrique
  • Chiffres en bloc &ndash ; modes de fonctionnement
  • Hash ou message digest
  • Algorithmes de hachage
  • Code d'authentification des messages (MAC)
  • Fournir l'intégrité et l'authenticité avec une clé symétrique
  • Protection de la confidentialité grâce au cryptage à clé publique
  • Règle d'or &ndash ; possession d'une clé privée
  • Les erreurs typiques dans la gestion des mots de passe
  • Exercice &ndash ; Mots de passe codés
  • Conclusion
  • Principes de vérification sécurisés
  • Tests fonctionnels vs. tests de sécurité
  • Failles de sécurité
  • Priorisation
  • Les tests de sécurité dans le SDLC
  • Étapes de la planification des tests (analyse des risques)
  • Scoping et collecte d'informations
  • Parties prenantes
  • Actifs
  • La surface d'attaque
  • Objectifs de sécurité pour les tests
  • Modélisation de la menace
  • Modélisation de la menace
  • Profils d'attaquants
  • Modélisation des menaces basée sur les arbres d'attaque
  • Modélisation de la menace basée sur des cas d'utilisation abusive
  • Cas de maltraitance/abus &ndash ; un exemple simple de boutique en ligne
  • STRIDE approche par élément de la modélisation des menaces &ndash ; MS SDL
  • Identifier les objectifs de sécurité
  • Diagrammation &ndash ; exemples d'éléments DFD
  • Schéma de flux de données &ndash ; exemple
  • Enumération des menaces &ndash ; éléments STRIDE et DFD de MS SDL’
  • Analyse des risques &ndash ; classification des menaces
  • Le modèle DREAD de classement des menaces/risques
  • Approches générales en matière de tests
  • Techniques pour les différentes étapes du SDLC
  • Revue de code
  • Revue de code pour la sécurité des logiciels
  • Analyse des défauts
  • Heuristique
  • Analyse du code statique
  • Analyse du code statique
  • Analyse du code statique
  • Exercice &ndash ; Utilisation d'outils d'analyse statique du code
  • Tester la mise en œuvre
  • Vérification manuelle de l'exécution
  • Tests de sécurité manuels ou automatisés
  • Tests de pénétration
  • Tests de résistance
  • Fuzzing
  • Tests de sécurité automatisés - fuzzing
  • Défis du fuzzing
  • Les scanners de vulnérabilité du web
  • Exercice &ndash ; Utilisation d'un scanner de vulnérabilité
  • Vérification et renforcement de l'environnement
  • Common Vulnerability Scoring System &ndash ; CVSS
  • Les scanners de vulnérabilité
  • Bases de données publiques
  • Etude de cas &ndash ; contournement de l'authentification des formulaires
  • Vulnérabilité de terminaison d'octet NULL
  • La vulnérabilité de contournement de l'authentification des formulaires dans le code
  • Exploiter le contournement de l'authentification des formulaires
  • Sources de connaissances
  • Sources de codage sécurisé &ndash ; un kit de démarrage
  • Bases de données de vulnérabilités
  • Conseils de codage sécurisé pour .NET sur MSDN
  • Les cheat sheets du codage sécurisé .NET
  • Livres recommandés &ndash ; .NET et ASP.NET
  •   ;

     14 heures

    Nombre de participants



    Prix par participant

    Nos Clients témoignent (9)

    Cours Similaires

    Standard Java Security

    14 heures

    Java and Web Application Security

    21 heures

    Advanced Java Security

    21 heures

    Advanced Java, JEE and Web Application Security

    28 heures

    .NET, C# and ASP.NET Security Development

    14 heures

    Comprehensive C# and .NET Application Security

    21 heures

    Advanced C#, ASP.NET and Web Application Security

    21 heures

    Web Application Security

    14 heures

    Security Testing

    14 heures

    Secure Web Application Development and Testing

    21 heures

    Secure coding in PHP

    21 heures

    Combined C/C++, JAVA and Web Application Security

    28 heures

    Combined JAVA, PHP and Web Application Security

    28 heures

    Android Security

    14 heures

    Catégories Similaires