Description
Apprenez en 3 jours à développer des programmes sécurisés sous Linux pour les objets connectés (Internet of Things)
CERTIFICATION : Attestation d’Acquisition des Compétences de l’EPITA
PROGRAMME
INTRODUCTION
Concepts génériques liés aux vulnérabilités logicielles
- Exemples réels et conséquences
- Identification des vulnérabilités (CVE)
- Criticité des vulnérabilités (CVSS) et politique de communication par les éditeurs logiciels
Gestion de projets
- Principe de l'analyse de risques
- Intégration de la sécurité dans les projets
Spécificités des systèmes embarqués et IoT
CONCEPTION
Spécifications fonctionnelles
- Principe de sécurité par défaut
- Transparence vs sécurité par l'obscurité
- Protection des données sensibles
- Modèles DAC et MAC
- Concepts cryptographiques
- Traçabilité
- Fonctionnalités dangereuses
- Gestion des mises à jour
Spécifications techniques et implémentation des fonctions de sécurité
- Authentification
- Gestion des mots de passe
- Gestion des sessions
- Autorisation / Gestion des droits
- Cryptographie appliquée
- Gestion des erreurs
PROGRAMMATION (IN) SÉCURISÉE
Problèmes spécifiques aux langages C et C++
- Buffer overflow
- String format bug
- Integer overflow
- Gestion des pointeurs et use-after-free
Problèmes liés aux systèmes
- Race conditions
- Shatter attacks
Outils et recette sécurité
- Protections offertes par les systèmes d'exploitation
- Options de compilation et configuration des interpréteurs
- Tests manuels de sécurité
- Tests unitaires, audit statique de code
- Tests automatisés de sécurité
- Fuzzing et tests d'intrusion applicatifs
MÉCANISMES DE SÉCURITÉ OFFERTS PAR LINUX
Contrôle d'accès
- ACL POSIX
- Pare-feu iptables et nftables
Gestion des privilèges élevés
- Niveaux de droits
- Programmes privilégiés : ◦ Bits SetUID/SetGID ◦ Identifiants utilisateurs d’un processus
- Capabilities
Fonctionnalités avancées sur systèmes Linux
- Restrictions sur les Fichiers (Chroot)
- Espace de nommage (UTS, réseau, IPC, points de montage, processus, utilisateurs et cgroup)
- Cgroups et isolation de processus Seccomp (modes, filtres BPF et eBPF)
- Conteneurs : ◦ Docker ◦ LXC ◦ sVirt