Security for web developers
2024/2025- Purpose and learning objectives
The module is designed to give the students an idea of some of the challenges that web developers face when implementing web applications. It also gives some suggestions on how to handle these challenges, and what to be especially aware of.
KnowledgeThe goal is that the student gains knowledge of:
Skills
● How hackers exploit web applications
● Basic web application security concepts
● Basic principles of cryptography
● Collecting information about new attack patterns
● Applying basic security assessmentThe goal is that the student is able to:
Competences
● Apply risk management with focus on IT-security
● Apply the principle of layered security
● Spot potential security flaws in web applications
● Use best practice on some web security challengesThe goal is that the student is able to build a full stack web application designed with security in mind, and by applying secure principles
- Type of instruction
The teaching method is a mix of lectures, exercises and project work. Each lecture will consist of parts with new theory and parts with exercises. Afterwards the students will apply the new theory directly to their exam project - developing a template application with security built-in.
The project work period is approx. 4 weeks during which the exam project is in focus. - Subject/module requirement for
participation
Academic requirement for participation
Good skills in programming and knowledge about web technologies in general. The examples in class will be shown using the book examples plus a system built using JavaScript.
You are allowed to use any reasonable programming language yourself for the exam project.Equipment needed to participate
Windows PC, Mac or Linux
- min 8 GB RAM (16 GB RAM preferably)
- 200 GB available disk space
- CPU with virtualisation hardware (usually available in most modern CPUs)
- 15,6” screen or bigger is recommended - Exam
The learning outcomes of the exam are identical with the learning outcomes of the subject(s)/modul(es)
Prerequisites for access to the examinationThere is one mandatory activity per 5 ECTS. A 10-ECTS module thus contains two mandatory activities, while a 5-ECTS module contains one mandatory activity. This is described in the relevant semester/class room on Fronter. Documentation of mandatory activities must be submitted via Fronter.Exam in one or more subjectsSubject/module is tested standaloneThis elective will be completed by a project and an exam.
The project is typically developed by a group of 2-4 students - the exam is however always individual.
The students must produce a web application based on the subjects from the course based on good coding practices. All the subjects should be included in the project.Type of examCombined written and oral examinationFormal requirementsMax. 1 page in bullet-point form must be delivered. The page must contain relevant topics that are supposed to be presented at the exam.
It is possible to make changes to these topics in the oral exam.
The teacher will explain further details regarding the page's content.Individual exam or group examIndividualExam languagesDanish (Norwegian/Swedish)DurationThe student must give a 5-10-minute presentation, followed by a 20-25-minute examination of the student, including grading. Total 30 minutes.Permitted exam aidsComputerAvailable exam aidsProjectorType of evaluation7-point grading scaleExaminersInternal censureExam criteriaOne aggregate grade is awarded based on an overall assessment of the project, the presentation and the following examination. - Preliminary literature list
This is a preliminary literature list. A final literature list will be provided in connection with study start.The book Web Application Security, Andrew Hoffman, 2020, ISBN: 9781492053118 and a series of relevant links.
- Additional information
This elective subject may not run in certain semesters (e.g., if not enough students choose it).
Some classes may take place online.
In the subject Security for web developers you will receive 80 hours of instruction, which corresponds to 106 lessons (1 lesson = 45 min.) and 29% of your total workload for the subject.
The teaching primarily consists of the following activities: classroom teaching, Online teaching.
The preparation primarily consists of the following activities: reading the curriculum, exercises, project work, reading your own notes.
Read about KEAs Study Activity Model
*KEA can deviate from the number of hours if this is justified by special circumstances