Contenu
Vulnérabilités et faiblesses des logiciels, leur identification et gestion. Principes de conception de logiciels sécuritaires dans un environnement hostile. Attaques et robustesse contre les attaques. Gestion de la mémoire et vérification des limites. Sécurité par conception dans toutes les phases de développement, des besoins au code. Choix et utilisation de composantes fiables, identification et bonification de code faible ou vulnérable. Méthodes formelles, analyse formelle et vérification formelle de propriétés de sécurité. Méthodes de test de propriétés de sécurité. Ce cours comporte des séances obligatoires de travaux pratiques (TP).