460-2040/01 – 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 | 2012/2013 | Year of cancellation | 2020/2021 |
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:
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.
E-learning
Other requirements
No additional requirements are placed on the student.
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. OS Security (ACL, AAA).
3. Hardware level security, kernel-space and user-space (SandBox, SE Linux, virtualized environment).
4. Detection, prevention and mitigation of the effects of individual attacks on the service (load balancers, proxy, honeypot).
5. Implementation of block and stream ciphers in network protocols (implementation of a secure channel, data encapsulation of serializable objects).
6. Security of Internet application protocols (MITM, RPC, SOAP, CORBA, MySQL, replay attack)
7. Development of safe applications (general principles, the most common vulnerabilities, database security, security of web applications).
8. Security of mobile devices (data transfer and storage, security features of mobile OS, application distribution and signatures)
9. Hardware security features (cards, chips, reverse engineering)
10. Malware (viruses, spyware, infection, detection of malware, social engineering)
11. Creating secure code (static code analysis, obfuscation, buffer overflow, boundary conditions)
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. OS security, demonstration of SE Linux configuration.
2. Virtualization of OS + snapshots for vulnerability testing.
3. In-depth protocol analysis with packet analyzer (social networks, ...).
4. Honeypot, log analysis and forensic analysis of recorded attack.
5. Configuration of AAA infrastructure.
6. Usage of modern computation technologies for implementation of attacks against wireless networks.
7. Application of block ciphers in network protocols
8. Attacks on application layer protocols
9. Demonstration of known vulnerabilities: XSS, SQL injection, buffer overflow, ...
10. Reverse engineering, code protection - obfuscation
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction