
2026-2027
| Code | Type | Responsable | Mode d'évaluation | Année académique | |
|---|---|---|---|---|---|
| CT-G1-SECURE-006-T | Obligatoire | ERRADI Hicham | Epreuve pondérée | 2026-2027 | |
| Langue(s) d'enseignement | Langue(s) d'évaluation | Théorie | Pratique | Crédits | |
| français | français | 42 | 0 | 3 | |
| Libellé AA | Période | Théorie | Pratique | Pondération | |
|---|---|---|---|---|---|
| Programmation sécurisée | A | 42 | 0 | 100.00% | |
Agir de façon autonome et en équipe
Mobiliser les savoir-faire spécifiques à la sécurisation d'un système d'information
Ce module développe les bonnes pratiques de développement sécurisé d'applications, en s'appuyant sur les bases de programmation vues dans le module Complément développement. Il couvre les vulnérabilités logicielles courantes, leur exploitation et leur prévention, ainsi que la sécurisation des mécanismes d'authentification et des architectures modernes (API, microservices).
Durée : 3 crédits / 36h.
Objectifs :
- Étude de l'apport des compilateurs à l'incorporation de mécanismes de détection de corruptions
- Étude des différents éléments pouvant engendrer des problèmes de sécurité (chaînes de caractères, pointeurs et gestion de la mémoire, nombres entiers, fichiers...)
- Études de cas : buffer overflow, injection SQL, injection de commandes OS, integer overflow, rootkits, botnets, keyloggers, cross-site scripting (XSS)...
- Étude des standards de sécurité
- Bonnes pratiques, points d'attention et vérification du code
- Étude des failles liées à la programmation web
- JSON Web Token (JWT) et méthodes d'authentification (mot de passe, 2FA, certificats, OTP)
- OpenID Connect Providers (Identity Server : rôles, claims, scopes, tokens)
- Stockage sécurisé des données personnelles (lien avec le RGPD) et des mots de passe
- Architecture microservices et sécurisation des points d'accès (CORS...)
- Prévention des attaques DDoS (rate limiting, CORS...)
- Introduction au bug bounty
Bases de programmation et bonnes pratiques de codage (cf. module Complément développement) ; capacité à lire et analyser du code.