An undergraduate course in the engineering of malicious software: production, distribution, analysis and detection, examined with the same rigour applied to any other class of software system. Practical work is confined throughout to benign samples and simulated environments.
What you will do
Each week engineers a piece of the malware production lifecycle: modelling a threat, designing an architecture, triggering execution, and analysing the artefact a defender is left to interpret. Lectures establish the concepts; the laboratory sessions and the two major assignments turn them into artefacts of their own, from a modular design blueprint through to a fully documented, fictional intrusion. Every exercise is confined to benign samples and simulated infrastructure, so that what a student produces is evidence of engineering judgement, not a functioning weapon.
Who it is for
The course assumes a working background in operating systems, networking and at least one general-purpose programming language, of the kind an undergraduate computing degree provides by its third year. No prior exposure to offensive security is assumed, although students who have read about malware informally will recognise the vocabulary from the first lecture onward. Anyone unsure whether their background is sufficient should treat Week 1's outline as the test: if most of it is unfamiliar, this course is likely a poor fit at this stage of a degree.
