Designing Software Security Mechanisms Course code: 317204 | 8 ECTS credits
Basic information
Level of Studies:
Year of Study:
1
Semester:
1
Requirements:
Knowledge of the basic concepts of information security and Python programming language.
Goal:
Introduction to basic theoretical concepts and practical skills in the field of software security mechanisms development.
Outcome:
Students will be able to critically analyze software products from the security point of view, identify vulnerabilities, and design security mechanisms and security attack-resistant software products.
Contents of the course
Theoretical instruction:
- Security by design.
- Software testing approaches.
- Security mechanisms based on applied intelligence and machine learning.
- Context-free grammars.
- Basic genetic algorithm.
- Markov chains.
- An approach to fuzzy software testing.
- Social network analysis using graph algorithms.
- Graph random walk, breadth first search and depth first search.
- Blockchain technology.
- Spam filtering with Naive Bayes.
- Biometric systems, iris recognition, face recognition.
- Information theory basics, error correction codes, interleavers.
- Cancelable biometrics and biometric template security.
- Biometric cryptosystems.
Practical instruction (Problem solving sessions/Lab work/Practical training):
- Follows theoretical lessons and takes place in a computer lab.
Textbooks and References
- TJ. O’Connor (2013): "Violent Python – A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers". Elsevier.
Number of active classes (weekly)
Lectures:
3
Practical classes:
3
Other types of classes:
0
Grading (maximum number of points: 100)
Pre-exam obligations
Points
activities during lectures
0
activities on practial excersises
50
seminary work
0
colloquium
0
Final exam
Points
Written exam
50
Oral exam
0