252-0463-00L  Security Engineering

SemesterAutumn Semester 2021
LecturersS. Krstic
Periodicityyearly recurring course
Language of instructionEnglish



Courses

NumberTitleHoursLecturers
252-0463-00 VSecurity Engineering2 hrs
Wed10:15-12:00CAB G 51 »
S. Krstic
252-0463-00 USecurity Engineering
Lab sessions every Friday in CAB H52 from 10-12
2 hrs
Wed14:15-16:00CAB G 51 »
Fri10:15-12:00CAB H 52 »
S. Krstic
252-0463-00 ASecurity Engineering2 hrsS. Krstic

Catalogue data

AbstractSubject of the class are engineering techniques for developing secure systems. We examine concepts, methods and tools, applied within the different activities of the SW development process to improve security of the system. Topics: security requirements&risk analysis, system modeling&model-based development methods, implementation-level security, and evaluation criteria for secure systems
Learning objectiveSecurity engineering is an evolving discipline that unifies two important areas: software engineering and security. Software Engineering addresses the development and application of methods for systematically developing, operating, and maintaining, complex, high-quality software.
Security, on the other hand, is concerned with assuring and verifying properties of a system that relate to confidentiality, integrity, and availability of data.

The goal of this class is to survey engineering techniques for developing secure systems. We will examine concepts, methods, and tools that can be applied within the different activities of the software development process, in order to improve the security of the resulting systems.

Topics covered include

* security requirements & risk analysis,
* system modeling and model-based development methods,
* implementation-level security, and
* evaluation criteria for the development of secure systems
ContentSecurity engineering is an evolving discipline that unifies two important areas: software engineering and security. Software Engineering addresses the development and application of methods for systematically developing, operating, and maintaining, complex, high-quality software.
Security, on the other hand, is concerned with assuring and verifying properties of a system that relate to confidentiality, integrity, and availability of data.

The goal of this class is to survey engineering techniques for developing secure systems. We will examine concepts, methods, and tools that can be applied within the different activities of the software development process, in order to improve the security of the resulting systems.

Topics covered include

* security requirements & risk analysis,
* system modeling and model-based development methods,
* implementation-level security, and
* evaluation criteria for the development of secure systems

Modules taught:

1. Introduction
- Introduction of Infsec group and speakers
- Security meets SW engineering: an introduction
- The activities of SW engineering, and where security fits in
- Overview of this class
2. Requirements Engineering: Security Requirements and some Analysis
- Overview: functional and non-functional requirements
- Use cases, misuse cases, sequence diagrams
- Safety and security
3. Modeling in the design activities
- Structure, behavior, and data flow
- Class diagrams, statecharts
4. Model-driven security for access control (Part I)
- SecureUML as a language for access control
- Combining Design Modeling Languages with SecureUML
- Semantics, i.e., what does it all mean,
- Generation
- Examples and experience
5. Model-driven security (Part II)
- Continuation of above topics
6. Security patterns (design and implementation)
7. Implementation-level security
- Buffer overflows
- Input checking
- Injection attacks
8. Code scanning
- Static code analysis basics
- Theoretical and practical challenges
- Analysis algorithms
- Common bug pattern search and specification
- Dataflow analysis
9. Testing
- Overview and basics
- Model-based testing
- Testing security properties
10. Risk analysis and management
- "Risk": assets, threats, vulnerabilities, risk
- Risk assessment: quantitative and qualitative
- Safeguards
- Generic risk analysis procedure
- The OCTAVE approach
- Example of qualitative risk assessment
11. Threat modeling
- Overview
- Safety engineering basics: FMEA and FTA
- Security impact analysis in the design phase
- Modeling security threats: attack trees
- Examples and experience
12. Evaluation criteria
- NIST special papers
- ISO/IEC 27000
- Common criteria
- BSI baseline protection
13. Guest lecture
- TBA
Literature- Ross Anderson: Security Engineering, Wiley, 2001.
- Matt Bishop: Computer Security, Pearson Education, 2003.
- Ian Sommerville: Software Engineering, 6th ed., Addison-Wesley, 2001.
- John Viega, Gary McGraw: Building Secure Software, Addison-Wesley, 2002.
- Further relevant books and journal/conference articles will be announced in the lecture.
Prerequisites / NoticePrerequisite: Class on Information Security

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits7 credits
ExaminersS. Krstic
Typeend-of-semester examination
Language of examinationEnglish
RepetitionA repetition date will be offered in the first two weeks of the semester immediately consecutive.
Mode of examinationwritten 120 minutes
Additional information on mode of examination20% of your grade is determined by mandatory project work and 80% is determined by a written end-of-semester exam (120 min).
Not participating in the project work incurs grade 1 for the project work.
Written aidsNone

Learning materials

 
Main linkInformation
Only public learning materials are listed.

Groups

No information on groups available.

Restrictions

There are no additional restrictions for the registration.

Offered in

ProgrammeSectionType
CAS in Computer ScienceFocus Courses and ElectivesWInformation
Cyber Security MasterCore CoursesWInformation
DAS in Cyber SecurityElective CoursesWInformation
Computer Science MasterCore CoursesWInformation
Computer Science MasterCore Focus Courses General StudiesWInformation
Computer Science MasterMinor in Information SecurityWInformation