Résumé:
Ce cours présente des concepts pratiques de sécurité. L'objectif est de comprendre les attaques courantes et les contre-mesures dans un éventail de sujets. Le cours est axé sur la pratique, il décrit des attaques et des contre-mesures réelles. Les étudiants pratiqueront des attaques sur un serveur dédié aux « défis » (similaire à une compétition « Capture the Flag »).
Modalités pédagogiques :
Cours hebdomadaire. Conférences d'invités de l'industrie. Les devoirs sont sous forme de défis, sur un certain nombre de sujets liés au cours. Quelques laboratoires sont organisés pendant les cours pour aider les étudiants.
Règles du cours :
L'assiduité au cours n’est pas vérifié, mais elle est généralement requise pour réussir
Bibliographie
• Il n’y a pas de livres couvrant tous les sujets. Certains contenus utiles peuvent être trouvés dans :
« Designing Secure Software : A Guide for Developers », Loren Kohnfelder
« Web Security Academy » est une bonne référence pour les
"Ingénierie de la sécurité" par Ross Anderson
• Les étudiants qui pensent ne pas se familiariser avec le cours peuvent consulter les livres suivants
"Linux basics for hackers : getting started with networking, scripting, and security in Kali" (ISBN-10 : 1-59327-855-1)
"Effective C : An introduction to professional C programming", Seacord, Robert C (premiers chapitres seulement)
Parties de la série "Write great code ...", No starch, Hyde, Randall
Il est recommandé aux étudiants d’avoir suivi les cours suivants ou d’avoir des connaissances dans :
« Systèmes d’exploitation » (OS), « Architecture informatique » (Comparch), « Méthodologies de développement logiciel » (SoftDev), « Introduction aux réseaux informatiques et à l’Internet 1 » (IntroNet_1)
Il est toujours possible de suivre le cours « Sécurité des systèmes et des réseaux » (SysSec) si les cours ci-dessus n’ont pas été suivis, car on vous rappellera les concepts requis.
L'aspect sécuritaire sur Internet fait aujourd'hui pleinement parti de notre quotidien puisqu'il impacte sur nombre d'aspects pratiques de nos vies. Bien que nous ayons à notre disposition un panel considérable d'outils et de techniques pour protéger nos réseaux, nous n'identifions pas immédiatement nos faiblesses et la façon dont elles sont exploitées. Ce cours a pour but de sensibiliser les étudiants aux problèmes de sécurité communément rencontrés sur les systèmes réels. Un des buts de ce cours est d'apprendre aux étudiants à penser comme un attaquant, cela les aidera par la suite à la conception de systèmes sécurisés et à éviter les erreurs classiques. Ce cours introduit les concepts de sécurité à travers l'étude des vulnérabilités existant dans les systèmes informatiques, les réseaux d'ordinateurs et les applications web. C'est un cours à caractère expérimental où les étudiants seront amenés à mettre en œuvre des attaques et développer des contremesures pratiques. Une expérience en programmation de base (C) et une connaissance des concepts de base en réseaux et systèmes d'exploitation est recommandé.
Les thèmes suivants sont abordés dans ce cours :
- Sécurité de Windows et Unix
- Race Conditions
- Corruption Mémoire, Exploitation et Contre-mesures Modernes
- Trusted Computing
- Sécurité Web
- Sécurité des réseaux sans fils
- Sécurité Réseaux
- Le Test en Sécurité
- Sécurité des Smartphones
- Introduction au Malware
- Des cours invités sur des sujets du cours
Ces différends sujets sont introduits, et les attaques et contremesures majeures sont présentées. Les sujets de sécurité web et de corruption mémoire sont un peu plus approfondis.
Objectifs d'apprentissage :
- Avoir une compréhension générale des vulnérabilités dans les systèmes et des contremesures basiques.
- Être capable de mettre en pratique un certain nombre d’attaques (injection de code, etc).
- Être capable de comprendre une vulnérabilité, de lire une alerte de sécurité et être capable d’exploiter la vulnérabilité ou de mettre en place les mesures nécessaires pour protéger les systèmes.
Nombre d'heure : 50 heures
Evaluation :
• Résolution de problèmes (20 à 25 % de la note finale)
• Examen écrit final couvrant tous les sujets des cours (75 à 80 % de la note finale)
• Points supplémentaires pour une participation supplémentaire à la classe (mini-projets, présentations sur un sujet connexe)