Student Feedback
Good course, with a lot of material to study from and really engaged professors. Keep in mind that it has multiple weekly graded lab challenges (based on exploiting a vulnerability to get a hidden flag), a big project, an obligatory exam and the biggest project practical test I've had for any course so far.
Half of the lab classes are exercises on paper, the other half is help for the lab challenges. As for the exercises on paper, a lot of exercises are too long, making them confusing and leading to many of the exercises not being solved during class. Thankfully they provided recorded...
There are 2 parts of this course: VSSD with professor Adão and LBS with professor Ana. Adão explains concepts very well and the VSSD labs are CTF style problems for students to apply their teachings hands-on with a real objective and tangible results. Ana on the other hand is not very eloquent and has difficulty speaking in front of a room of students and the LBS labs are mostly pen and paper problems.
I can certainly say that Adão was one of the best professors with some of the most fascinating course material of the Master's degree so far where as Ana's part was thoroughly lacking.
The reviews below this point may be outdated. Course content, teaching methods, and requirements may have changed since then.
Each week you had one theoretical class for LBS and one for VSSD, and the same for labs. So basically, you had two completely different courses running at the same time.
VSSD labs were like CTFs with a scoreboard — the only part I actually enjoyed. LBS labs were just exam-style exercises.
Professors
Professor Ana Matos makes LBS painful.
Professor Miguel Pupo Correia gave the VSSD lectures. Not good, not bad, just meh.
Exam
The LBS part of the exam is the same style as the...
Contents
The first part was all about learning common vulnerabilities and how to exploit them (SQLi, XSS, Race Conditions, Buffer Overflow…) with Professor Pedro Adão. If you're into that kind of stuff, it's super interesting.
The second half (midway through the semester) was focused on studying information flow policies (e.g., Perl taint mode) and other similar mechanisms (like dynamic flow analysis in JavaScript).
It’s a complete context switch from the first half — it’s all about stuff like WHILE annotations, big-step/small-step...