460-2040/03 – Computer Security (PB)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Ing. Pavel Moravec, Ph.D. | Subject version guarantor | Ing. Pavel Moravec, Ph.D. |
Study level | undergraduate or graduate | Requirement | Optional |
Year | 3 | Semester | summer |
| | Study language | Czech |
Year of introduction | 2019/2020 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
Familiarize students with the basic principles of computer security.
After completing the course the student will be able to:
- identify and recognize different attacks
- discern typical errors that are exploitable by an attacker and avoid them when creating software components
- use intrusion detection and prevention techniques
- identify and use a known block and stream ciphers
- implement secure applications and write safe code
Teaching methods
Lectures
Tutorials
Experimental work in labs
Project work
Other activities
Summary
The aim of this subject is to is to familiarize students with the basic principles of computer security, vulnerabilities, attacks and defence against them. The topics cover the security of operating systems and their vulnerabilities, security applications (web, databases), malicious software, etc. Great emphasis is placed on the practical coverage of individual topics.
Compulsory literature:
Recommended literature:
Additional study materials
Way of continuous check of knowledge in the course of semester
Verification of study:
Tasks solved during exercises that verify students' ability to apply theory to practical assignments.
Examination will be done in written form.
E-learning
Other requirements
Basic knowledge of computer networks and their operation is expected.
Prerequisities
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures
1. Basic concepts and principles of security (security vs usability, security functions and mechanisms, attack types, threats, vulnerabilities, risks, backup mechanisms, ...).
2. Detection, prevention and mitigation of the effects of individual attacks on the service (load balancers, proxy, honeypot).
3. Cryptography: Block and stream ciphers, implementation of a secure channel, data encapsulation of serializable objects, public key infrastructure.
4. Security of Internet application protocols.
5. Development of safe applications (general principles, the most common vulnerabilities, database security, security of web applications).
6. Security of mobile platforms (data transfer and storage, security features of mobile OS, application distribution and signatures).
7. Hardware security features (cards, chips, reverse engineering).
8. Introduction to Digital Forensics (collection of information from systems, analysis, evaluation)
9. Creating secure code (static code analysis, obfuscation, buffer overflow, boundary conditions).
10. Malware (viruses, spyware, infection, detection of malware, social engineering)
Computer labs
Labs follow the issues discussed in the lectures. Their main aim is the practical demonstration and evaluation of individual topics as well as the analysis, administration, configuration and testing of security mechanisms.
1. Introduction to penetration testing.
2. Honeypot and load balancer configuration, attack simulation, detection techniques.
3. Application of block ciphers in network protocols.
4. Implementation of cryptographic schemes.
5. In-depth protocol analysis with packet analyzer, analysis of encrypted communication
6. Demonstration of known vulnerabilities: XSS, SQL injection, buffer overflow, …
7. Attacks on application layer protocols, including HTTP.
8. Attacks on mobile devices and platforms.
9. Usage of modern computation technologies for implementation of attacks against wireless networks.
10. Log analysis and forensic analysis of recorded attack.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction