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.
“the best defense is a good offense”.
In cybersecurity, a similar saying would be that in order to know how to secure something, one needs first to know how to compromise & break it.
This is exactly what the MODAL offers to do. Through a set of lessons, tutorials, and challenges, we will understand — and try — how to “break things”. This can include topics such as:
- TCP Connection hijacking & SYN flooding
- SQL Injection attacks on WWW servers
- Heartbleed - that SSL bug that caused the whole Internet to flip out
- DNS Cache Poisoning
- ...
We will also call on outside experts, to present their experiences, favorite attacks, and possible countermeasures.
The practical part of this course consists of a set of tutorials and a set of challenges.
- Tutorials: are optional, and serve to help students who need them acquire a certain set of skills. Each tutorial requires a submission of some code, which will be evaluated, and a grade (0-5) will be given.
- Challenges: each represent "a thing to hack", such as DNS, or TCP, or DHCP, or invoking a buffer overflow, or performing a man-in-the-middle attack. Challenges will each have an explanation, and supporting material, for what is expected - but will require independent thinking. Each challenge requires a submission of some code, which will be evaluated, and a grade (0-10) will be given. Note that a code submission that "does the job, nothing more, nothing less" will be graded 5. Grades in the interval (5-10) reflect an additional effort, such as highly modular code, flexible, robust, or supporting different attack approaches.
You're encouraged to work in a small group of 1-2 students for each challenge.
You will choose to work on challenges in the order you like, and you will do however many you want - or, need, in order to get enough points to pass the course.
- Responsable: Clausen Thomas
- Responsable: Jiokeng Kevin
- Responsable: Zhioua Sami