Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024

Secure Code

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BIE-BEK.21 Z,ZK 5 2P+2C anglicky
Garant předmětu:
Viktor Fischer
Přednášející:
Viktor Fischer
Cvičící:
Viktor Fischer
Předmět zajišťuje:
katedra informační bezpečnosti
Anotace:

The students will learn how to assess security risks and how to take them into account in the design phase of their own code and solutions. After getting familiar with the threat modeling theory, students gain practical experience with running programs with reduced privileges and methods of specifying these privileges, since not every program needs to run with administrator privileges. Dangers inherent in buffer overflows will be practically demonstrated. Students will be introduced to the principles of securing data and the relationships of security and database systems, web, remote procedure calls, and sockets in general. The module concludes with Denial of Service attacks and the defense against them.

Požadavky:

Programming in C, knowledge of basic application interfaces and computer systems architectures, basic knowledge of SQL, basic knowledge of Javascript. It is recommended to also take the Cryptography and Security (BIE-KAB) course.

Osnova přednášek:

1. Introduction to debuggers

2. Code generation, structure of an executable file

3. Buffer overflow

4. Writing secure code in C

5. Security layers, access levels

6. Running with the least privileges

7. Data security and integrity

8. Data input, canonical representation and security

9. Security of databases

10. Security of web applications

11. Security of sockets

12. Denial-of-service attacks

Osnova cvičení:

1. Introduction to debuggers

2. Code generation, analysis of an existing application

3. Buffer overflow

4. Buffer overflow II

5. Writing secure code in C

6. Data security and integrity

7. Running with the least privileges

8. SQL injection

9. Secure programming of databases

10. Security of web applications

11. Buffer overflow on the heap

12. Malware

Cíle studia:

After he/she had completed the course, the student will understand security in the context of software development and will be able to apply this knowledge both when creating their own software and when analysis a third-party one.

Studijní materiály:

[1] Howard, M. - LeBlanc, D.: Writing Secure Code, 2nd Edition. Microsoft Press, 2003, 9780735617223.

[2] Howard, M. - LeBlanc, D.: Writing Secure Code for Windows Vista. Microsoft Press, 2007, 9780735623934.

[3] Seacord, R. C.: Secure Coding in C and C++, 2nd Edition. Addison-Wesley Professional, 2013, 9780321822130.

[4] Zhirkov, I.: Low-Level Programming: C, Assembly, and Program Execution on Intel 64 Architecture. Apress, 2017, 9781484224021.

[5] Shostack, A.: Threat Modeling: Designing for Security. Wiley, 2014, 9781118809990.

[6] Hoffman, A.: Web Application Security: Exploitation and Countermeasures for Modern Web Applications. O'Reilly Media, 2020, 9781492053118.

Poznámka:

Chybí některá textová pole,vyplněny mají být anotace, požadavky, osnova (sylabus), osnova cvičení, studijní materiály, klíčová slova, CZ i EN, webová strana předmětu

Rozvrh na zimní semestr 2023/2024:
Rozvrh není připraven
Rozvrh na letní semestr 2023/2024:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 28. 11. 2023
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6705906.html