Skip to main content

DD2525 Language-Based Security 7.5 credits

This is an advanced course in the area of software security. The course will focus on advanced programming languages and security methods to enforce software security in a principled manner. The course combines hands-on experience, by exploring both attacks and defenses, with cutting-edge security research, by reasoning about security policies and protection mechanisms rigorously.

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.

Application

For course offering

Spring 2025 langsec25 programme students

Application code

60257

Headings with content from the Course syllabus DD2525 (Spring 2024–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

  • Introduction to language-based security.
  • Fundamental principles, models and concepts for computer security.
  • Software security by information flow control.
  • Web application and database security.
  • Security for mobile applications.
  • Hot topics in computer security.
  • State-of-the-art in programming language for security.

Intended learning outcomes

After completing the course with a passing grade the student should be able to:

  • explain and apply programming language-based concepts for computer security,
  • identify strengths and weaknesses of language-based protection mechanisms in such domains as web applications, mobile applications and database systems,
  • apply best practices of secure programming to design and implement more secure software,
  • explain and apply principles of such language-based protection mechanisms as access control, capabilities, static analysis and runtime monitoring,
  • explain differences between security policy specifications and security enforcement mechanisms,
  • reflect upon security, functionality, usability and efficiency trade offs in the design of formal security requirements,
  • use methods from state-of-the-art research in the area of programming languages and security

in order to:

  • as security expert be able to identify security threats and propose countermeasures,
  • independently design and implement software systems that embrace security from day one,
  • contribute to the society by increasing the consumers' trust in software technologies.

Literature and preparations

Specific prerequisites

Completed course DD2395 Computer Security 6 credits, or equivalent course.

Course from Upper Secondary School equivalent to the Swedish upper secondary course English B/6.

Recommended prerequisites

No information inserted

Equipment

No information inserted

Literature

No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F

Examination

  • LAB1 - Laboratory work, 4.5 credits, grading scale: A, B, C, D, E, FX, F
  • PRO1 - Project, 3.0 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

Examiner

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Computer Science and Engineering

Education cycle

Second cycle

Add-on studies

No information inserted

Supplementary information

In this course, the EECS code of honor applies, see:
http://www.kth.se/en/eecs/utbildning/hederskodex