Students
Tuition Fee
Not Available
Start Date
Not Available
Medium of studying
Not Available
Duration
Not Available
Details
Program Details
Degree
Masters
Major
Computer Science | Cybersecurity | Software Engineering
Area of study
Information and Communication Technologies
Course Language
English
About Program

Program Overview


Program Overview

The University of Copenhagen offers a Master's program in Computer Science with a focus on Proactive Computer Security (PCS). The program aims to provide students with a deep understanding of IT security from the attacker's perspective, covering topics such as fuzzing, stack and heap buffer overflows, shellcode, and reverse engineering.


Program Details

Content

The program focuses on gaining hands-on experience in selected topics, including:


  • Fuzzing, stack and heap buffer overflows, shellcode, and reverse engineering
  • Interaction between user programs and the operating system
  • Tools used for IT security, especially reverse engineering
  • Vulnerabilities and how to correct them and/or mitigate attacks against them

Learning Outcome

After completing the program, students will have:


  • Knowledge of:
    • Fuzzing, stack and heap buffer overflows, shellcode, and reverse engineering
    • Details of the interaction between user programs and the operating system
    • Tools used for IT security, especially reverse engineering
    • Vulnerabilities and how to correct them and/or mitigate attacks against them
  • Skills to:
    • Analyse simple applications from a security perspective, locate vulnerabilities, and demonstrate how to rectify them
    • Describe and apply exploitation techniques such as return-oriented programming and stack and heap buffer overflows, as well as counter mechanisms
    • Do basic reverse engineering of binary programs and locate vulnerabilities
    • Understand the link between vulnerabilities in binary programs and the insecure source code that produce them
    • Recognise insecure source code and suggest corrections
    • Use and develop shellcode
    • Determine a vulnerability by reviewing an exploit of it, and suggest corrections
  • Competences to:
    • Find and evaluate security issues using fuzzing, reverse engineering, and source code auditing

Literature

The program's literature is available on Absalon.


Recommended Academic Qualifications

Students are expected to be proficient in both high-level and low-level programming and have an understanding of the low-level architecture of computers. They should also have access to a Linux box and have a working knowledge of how to use Linux via a command prompt.


Teaching and Learning Methods

The program uses a combination of lectures, exercise labs, student presentations, and practical individual mandatory assignments.


Workload

The program's workload is distributed as follows:


  • Lectures: 14 hours
  • Practical exercises: 14 hours
  • Project work: 164 hours
  • Seminar: 14 hours
  • Total: 206 hours

Exam

The program's exam is a continuous assessment based on student presentation and 6-8 written, individual assignments. Each assignment has equal weight towards the final grade, with the exception of the final assignment, which counts as double.


Course Information

  • Language: English
  • Course code: NDAA09031U
  • Credit: 7.5 ECTS
  • Level: Full Degree Master
  • Duration: 1 block
  • Placement: Block 4
  • Schedule: A
  • Course capacity: 60

Study Board

The program is overseen by the Study Board of Mathematics and Computer Science.


Contracting Department

The program is offered by the Department of Computer Science.


Contracting Faculty

The program is part of the Faculty of Science.


Course Coordinators

The program's course coordinators are Philippe Bonnet.


See More