Une formation pour intégrer les bonnes pratiques de programmation sécurisée en environnement linux et IOT
Informaticiens
ou classe virtuelle
3 jours-21 heures
2 100 € HT par stagiaire
Certification : Attestation d’Acquisition des Compétences de l’EPITA
La formation en bref
Ajouter une compétence à ses talents de développeur pour renforcer la sécurité des développements en intégrant les bonnes pratiques de sécurité numérique dès la conception de ses programmes, en prévenant les vulnérabilités et en utilisant les mécanismes de sécurité offerts par Linux.
Détail de la formation
Objectifs
- Transmettre les bonnes pratiques pour intégrer la sécurité informatique dans la conception, le développement et la mise en production d’applications système pour Linux et pour objets connectés reposant sur ces systèmes
- Comprendre les protections logicielles offertes par les systèmes Linux
- Connaître des outils utilisables pour tester la présence de vulnérabilités dans ses propres applications
Cette formation vous intéresse ? Contactez-nous !
- Développeurs, Développeurs intégrateurs (DevOps) et Chefs de projets.
- La connaissance du langage de programmation système C ou C++ est nécessaire.
- Des notions dans le fonctionnement des systèmes d’exploitation et en cryptographie sont un plus.
Les stagiaires devront être munis d’un ordinateur portable, sans contrainte sur le système d’exploitation (Windows, Linux ou Mac OS X), sur lequel ils doivent pouvoir exécuter une machine virtuelle (fichier OVA) fournie par SECURESPHERE.
Cette formation est accessible aux personnes en situation de handicap. Nous vous invitons à préciser dans le formulaire de renseignement si vous avez besoin d’un accompagnement particulier.
Pour en savoir plus sur l’accessibilité PSH, les modalités et les délais d’accès à nos formations, rendez-vous sur la page dédiée en cliquant ici.
- Conception sécurisée d’applications sous Linux
- Implémentation des fonctions de sécurité
- Développement logiciel sans vulnérabilité
- Mécanismes intégrés aux noyaux Linux pour protéger les applications
- Réalisation de tests de robustesse dans les logiciels développés
- Déploiement et intégration sécurisé d’applications
- Intégration de la sécurité dans les projets
Acquisition des compétences de manière interactive en s’appuyant sur des exemples réels et sur des ateliers de réflexion. Apports théoriques et mise en œuvre pratique grâce à un système vulnérable fourni par SECURESPHERE (sans danger pour le système des stagiaires).
- Consultant-Formateur spécialiste de la sécurité informatique.
- Quiz d’évaluation des connaissances et cas pratiques transmis durant la formation.
- Une attestation d’acquisition des compétences de l’EPITA, est délivrée aux stagiaires ayant validé l’ensemble des compétences visées par le stage.
Programme
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
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
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
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
- 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