460-4122/04 – Computer Attacks and Defence (POU)
Gurantor department | Department of Computer Science | Credits | 6 |
Subject guarantor | prof. Ing. Ivan Zelinka, Ph.D. | Subject version guarantor | prof. Ing. Ivan Zelinka, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
Year | 1 | Semester | winter |
| | Study language | English |
Year of introduction | 2018/2019 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
The course is divided into several blocks, which are thematically focused on the following areas: theoretical introduction, which will explain the basic concepts and vocabulary of cyber security, the comparison of operating systems and explanation of the way how to exploit mistakes in such systems, a description of the behavior of specific attacks and their modifications (course focuses on 2 specific types of attacks- ransomware and denial of Service), creatinon of a network of Internet robots (botnet) and defence against attacks from these networks, the method for analyzing the behavior and structure of the virus, explaining the process of developing the virus and the antivirus, recommended user behavior when using the internet, which will be supplemented by real world use cases, forensic techniques.
Teaching methods
Lectures
Tutorials
Project work
Summary
The course will cover a wider range of defense techniques and attacks on computer systems. There will be mentioned both historically classic techniques and modern processes and algorithms. The course will include targeted (hacking) and spyware attacks, botnets, and so on. Part of the course will also be the basics of digital forensic analysis and penetration testing. After completing the course, the student should have a thorough knowledge of the above-mentioned areas, including the possibility of applying countermeasures and enhancing the security of computer systems. Part of the course will include separate assignments from lectures (or exercises). Their review and presentation will be part of lectures.
Course will include individual assignments (presentations or projects). Their review and presentation will be part of lectures.
Compulsory literature:
Recommended literature:
Additional study materials
Way of continuous check of knowledge in the course of semester
Students are checked based on course protocols, by which the student demonstrates not only an understanding of information from lectures, but also the ability to implement them in a given programming environment. To obtain the credit, it is necessary to submit to the instructor all required protocols and to have at least 80% physical participation in laboratories. Credit is a NECESSARY condition for admission to the oral exam.
E-learning
Other requirements
It is required the ability to create programs in arbitrary programming language and apply lecture knowledge into algorithms.
Additional requirements are not defined.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
1. Introduction
2. Comparison of operating systems and well-known vulnerabilities
3. Types of cyber attacks
4. Evolution of ransomware and defense against ransomware attacks (CryptoLocker, CryptoWall, CTB Locker, etc.)
5. Botnets and denial of service attacks (DOS, DDOS)
6. Analysis of virus source code, debugging methods and tools
7. Basic techniques for reducing the chances of virus detection
8. Antivirus and immunization methods
9. Abusing software bugs
10. Software penetration testing
11. User identity, analysis of behavior and social networks analysis
12. Forensic techniques 1: analyze seized equipment
13. Forensic techniques 2: reconstruction of user activities on seized equipment
Laboratories:
1. File inclusion: Introducing web attacks and getting familiar with the DVWA application that we will use in the next few exercises.
2. SQL Injection: Students will extract user passwords from database alongside with another useful information such as DB structure, name and version.
3. Password cracking: Cracking passwords using a brute force or dictionary attack algorithms.
4. XSS and Session hijacking: Exercise showing an interesting web attack - stealing a foreign session.
Try to steal a session of a user who visits a guestbook page in the DVWA application.
5. Drive-by download: Combination of malicious code delivery and its activation through JavaScript.
Windows script host usage and possibilities of remote communication and access to the power shell from JavaScript.
6. Denial of service: Students will perform denial of service attack on the prepared web servers.
Wireshark network analysis tool will be used to compare legitimate and malicious traffic.
7. Google hacking: Introduction to information gathering using available tools such as google search engine.
8. Hacking: Practical test of simple hacking. Learn basic hacking techniques using the www.hackthissite.org project.
9. Exploitation, Metasploit framework: Vulnerability exploitation using Metasploit framework.
Use the Metasploit framework to prepare the attack environment to allow the attacker to exploit through vulnerability in Adobe Flash Player.
10. Penetration testing: A final exercise where students recapitulate the acquired knowledge.
A fictitious company asked you to perform a security audit or penetration testing. On a theoretical level, simulate and write down the procedures and tools used.
11. Student presentations
Course will include individual assignments (presentations or projects). Their review and presentation will be part of lectures.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction