As anybody, familiar with 1970s sitcoms can confirm, Mel, the cook on Alice used to say:
“the best defence is a good offence”.
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 MODAL will exercise exactly that. Through a set of lessons, tutorials, and challenges, we will understand — and try out — how to “break things”. This may include topics such as:
- TCP Connection Hi-jacking & 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, favourite 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 awarded.
- 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, or ... 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 awarded. Note that a code submission which "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 chose to work on challenges in whichever order you like, and you will do however many you want - or, need, in order to get enough points to pass the course.
- Teaching coordinator: Clausen Thomas
- Teaching coordinator: Jiokeng Kevin