Prenez contact avec nous

Plan du cours

Fondamentaux de la sécurité Python et outillage

  • Base de sécurité de Python 3.x : considérations relatives aux versions, normes PEP et pratiques d'installation sécurisée
  • Configuration d'un IDE professionnel : extensions de sécurité pour VS Code/PyCharm, analyseurs statiques (Flake8, Pylint) et débogueurs
  • Isolation de l'environnement : venv/conda, conteneurisation et configuration reproductible des environnements de laboratoire
  • TP : Configuration d'un espace de travail Python sécurisé avec analyseur de sécurité intégré et suivi des dépendances

Sécurité du langage core et traitement sécurisé des données

  • Types numériques et précision : éviter les attaques par manipulation en virgule flottante et effectuer des conversions de type sûres
  • Chaînes de caractères et encodage : normalisation Unicode, validation de l'encodage et prévention des vulnérabilités d'interpolation
  • Listes, dictionnaires et collections : structures de données sûres, mitigation des collisions de hachage et sérialisation sécurisée
  • Regex et correspondance de motifs : construction d'expressions régulières sûres (prévention des attaques par ReDoS) et motifs de validation des entrées
  • TP : Réécriture de code de traitement des données non sécurisé en implémentations sécurisées, validées et typées

Structures de contrôle, fonctions et architecture sécurisée

  • Instructions et expressions Python : affectations sûres, gestion des exceptions et prévention des modes d'échec silencieux
  • Instructions conditionnelles et règles de syntaxe : logique conditionnelle sécurisée, prévention des vulnérabilités d'exécution dynamique (eval/exec/pickle)
  • Instructions de répétition : constructions de boucles sécurisées, prévention de l'épuisement des ressources et gestion des délais d'attente
  • Fonctions et encapsulation : passage de paramètres sécurisé, annotation de types et modélisation des menaces au niveau des fonctions
  • TP : Refactorisation des structures de contrôle vulnérables en motifs de code sécurisés, auditable et défensif

Modules, packages et sécurité adaptée au périmètre de l'environnement (skope-rules Python)

  • Sécurité des importations de modules : éviter les importations circulaires, résolution sécurisée des packages et isolation des espaces de noms
  • Gestion des dépendances : pip/requirements.txt, fichiers de verrouillage (lockfiles), sécurité de la chaîne d'approvisionnement et détection des packages vulnérables
  • Gestion des secrets et des identifiants : variables d'environnement, meilleures pratiques pour les fichiers .env et prévention des secrets codés en dur
  • Mise en œuvre de skope-rules : contrôles d'accès liés au périmètre, application des politiques d'exécution et isolation des dépendances
  • TP : Audit de l'arbre des dépendances d'un projet Python et mise en œuvre de politiques de sécurité adaptées au périmètre de l'environnement

Vulnérabilités spécifiques à Python et mitigation

  • OWASP Top 10 pour les applications Python/WSGI/ASGI : injections, contournement d'authentification, désérialisation non sécurisée, SSRF et traversée de chemins
  • E/S sécurisées et gestion des fichiers : descripteurs de fichiers sûrs, prévention de la traversée de répertoires et exécution en bac à sable
  • Sécurité Web et API en Python : gestion sécurisée des requêtes, encodage des sorties et protections au niveau du framework (FastAPI/Flask/Django)
  • TP : Identification et correction des vulnérabilités spécifiques à Python dans une application exemple à l'aide d'alternatives sécurisées

Tests de sécurité automatisés et intégration DevSecOps

  • Outils SAST pour Python : Bandit, Semgrep et création de règles personnalisées pour la détection ciblée des vulnérabilités
  • Analyse DAST et des dépendances : intégration de pip-audit, Safety et OWASP ZAP pour la découverte des menaces en temps d'exécution
  • Sécurité des pipelines CI/CD : workflows GitHub Actions/GitLab CI pour les portes de sécurité Python automatisées et les rapports de conformité
  • Méthodologies de test sécurisées : modélisation des menaces pour les microservices Python, bases du fuzzing et protection en temps d'exécution
  • TP : Construction d'un pipeline de scan de sécurité Python automatisé et interprétation des rapports de remédiation

Projet terminal, révision et voies d'apprentissage du développement sécurisé

  • Simulation d'un flux de travail complet de développement Python sécurisé
  • Revue de code pour la sécurité : identification des anti-motifs, application de correctifs sécurisés et documentation des décisions
  • Questions/Réponses, distribution des ressources (fiches de triche pour le codage sécurisé, bibliothèques de sécurité Python, normes officielles, modèles skope-rules)
  • Clôture du cours et prochaines étapes pour maîtriser la sécurité Python

Pré requis

Les bases de tout langage de programmation
Les bases de la sécurité de l'information

 14 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires