Descriptif
Comme toute personne familière des sitcoms des années 1970 peut le confirmer, Mel, la cuisinière d'Alice, avait l'habitude de dire :
"la meilleure défense est une bonne attaque".
Dans le domaine de la cybersécurité, on pourrait dire que pour savoir comment sécuriser quelque chose, il faut d'abord savoir comment le compromettre et le casser.
C'est exactement ce que ce MODAL se propose de faire. Grâce à un ensemble de leçons, de tutoriels et de défis, nous comprendrons - et nous essaierons - comment "casser les choses". Cela peut inclure des sujets tels que :
- le détournement de connexion TCP et l'inondation SYN
- Les attaques par injection SQL sur les serveurs WWW
- Heartbleed - ce bogue SSL qui a provoqué l'effondrement de tout l'Internet
- Empoisonnement du cache DNS
...
Nous ferons également appel à des experts externes pour présenter leurs expériences, leurs attaques favorites et les contre-mesures possibles.
La partie pratique de ce cours consiste en une série de tutoriels et une série de défis.
- Les tutoriels : sont optionnels, et servent à aider les étudiants qui en ont besoin à acquérir un certain nombre de compétences. Chaque tutoriel nécessite la soumission d'un code, qui sera évalué, et une note (0-5) sera attribuée.
- Défis : chacun représente "une chose à pirater", telle que DNS, ou TCP, ou DHCP, ou invoquer un débordement de mémoire tampon, ou effectuer une attaque de type man-in-the-middle. Chaque défi sera accompagné d'une explication et d'un matériel de soutien pour ce qui est attendu, mais il nécessitera une réflexion indépendante. Chaque défi nécessite la soumission d'un code, qui sera évalué et une note (0-10) sera attribuée. Notez qu'un code qui "fait le travail, rien de plus, rien de moins" sera noté 5. Les notes dans l'intervalle (5-10) reflètent un effort supplémentaire, tel qu'un code hautement modulaire, flexible, robuste, ou supportant différentes approches d'attaque.
Nous vous encourageons à travailler dans un petit groupe de 1 à 2 étudiants pour chaque défi.
Vous choisirez de travailler sur les défis dans l'ordre qui vous convient, et vous en ferez autant que vous le souhaitez - ou que vous en avez besoin, afin d'obtenir suffisamment de points pour réussir le cours.
Objectifs pédagogiques
Les étudiants acquièrent une compréhension approfondie des protocoles Internet du monde réel, ainsi que les bases du fonctionnement et de la réflexion d'un "hacker".
Diplôme(s) concerné(s)
Format des notes
Numérique sur 20Littérale/grade réduitPour les étudiants du diplôme Diplôme d'ingénieur
Pour les étudiants du diplôme Echange international non diplomant
Programme détaillé
Le cours permettra aux étudiants d'acquérir une compréhension de base du "fonctionnement de l'Internet" et de suivre un cours accéléré de programmation réseau en C.
Et, grâce à un mélange de théorie et d'exercices pratiques, les étudiants étudieront et pratiqueront diverses cyber-attaques réelles - par exemple, comment rediriger de manière transparente les connexions à un site web vers un site web "pirate", ou comment pirater des connexions réseau actives.