This is an introductory course on information security. The course focuses on introductory aspects of analysis, design and implementation of secure software.
Security is a fundamental aspect that is necessary to take care of in today's development of software.
The student taking this course will have an introductory knowledge on attacker models, cryptographic tools and principal security protocol from real-world scenarios.
The course addresses four major topics:
- The principal security requirements and attacker models
- The fundamental cryptographic tools in Information Security
- Primary security protocols and Internet standards (PKI, TLS)
- Practical techniques for penetrating and hardening IT-systems
Before taking this course you must:
- be familiar with computer networks
- be superficially familiar with scripting languages
- be familiar with the SQL query language
- know basic algorithms and data structures
- have implemented at least two medium-size programming projects (7.5 ECTS each)
- be able to design, implement, and test medium-sized programs in Java or C# or other mainstream languages.
- be familiar with basic discrete mathematics
Fourth-semester BSWU students fulfil these requirements. Otherwise, individual requirements can be satisfied by taking the BSWU courses or equivalent courses: (1) Mobile and Distributed systems, (3) Introduction to Database Design, (4) Algorithms and Data Structures, (5,6) Analysis, Design and Software Architecture, (7) Foundations of Computing - Discrete Mathematics.
Intended learning outcomes
After the course, the student should be able to:
- Identify, list, and discuss major principles of IT security
- Apply and relate those principles to the securing of networked server installations
- List and analyse standard attacks, especially on web applications in particular
- Describe and explain intrusion detection
- Identify, list, and explain common security pitfalls of web applications
- Identify, describe and explain basic computer forensics techniques
- Identify and describe the proper use of cryptography in security
- Analyse an IT-system for security risks and reflect on potential improvements of the system
Teaching consist of lectures and exercises.
Coursework takes the following forms.
- Lectures introducing & discussing concepts.
- Experimental lab work
- Project work
Most weeks will have lectures, exercises and lab work. Lectures will introduce concepts, paving the way for exercises and lab work. You are expected to complete the exercises by yourself with assistance from lecturers and TAs. In lab work, you will carry out experiments in order to better understand the motivation and methods for secure implementation and configuration of IT systems and to assess the effectivity and impact of security measures. The experiments will be based on an extensive script and virtual machines that include example applications, questions, and answers.
Some weeks—in particular during project and review—you are expected to be work independently; there are no lectures or exercise classes. However, TAs have office hours 3 times a week, where you can come and ask any questions you might have, and we expect to use the learnit forums extensively for questions and answers.
Finally, you will also complete (in groups) a project:
- Based on a set of functional requirements, you will design and implement a prototypical IT system.
- You will conduct a security analysis and devise appropriate security measures for this system.
- You will then swap systems with another group, and carry out a security review of this other group's system.
To be eligible for the examination, you must:
- submit and have approved 2 mandatory exercise sets.
- submit and have approved 3 mini-projects.
- be present and participate actively in the course conclusion workshop.
All deadlines will be announced on the course page on LearnIT. Note that peergrade assignments are not considered approved unless you have both submitted yourself, as well as submitted feedback for at least two other assignments.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved, which means that the student will use an exam attempt.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.
Author/Editor: William Stallings & Lawrie Brown
Title: Computer Security: Principles and Practice, Global Edition
Author/Editor: Basin, David, Schaller, Patrick, Schläpfer,
Title: Applied Information Security: A Hands-on Approach
Student Activity BudgetEstimated distribution of learning activities for the typical student
- Preparation for lectures and exercises: 10%
- Lectures: 25%
- Exercises: 25%
- Assignments: 15%
- Project work, supervision included: 15%
- Exam with preparation: 10%
Ordinary examExam type:
A: Written exam on premises, external (7-trinsskala)
A11: Written exam on premises. Open book exam.