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

Bezpečný kód

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-BEK.21 Z,ZK 5 2P+2C česky
Přednášející:
Róbert Lórencz, Josef Kokeš (gar.)
Cvičící:
Josef Kokeš (gar.)
Předmět zajišťuje:
katedra informační bezpečnosti
Anotace:

Studenti se naučí posuzovat a zohledňovat bezpečnostní rizika při návrhu svého kódu a řešení v běžné inženýrské praxi. Od teorie modelování bezpečnostních rizik přistoupí k praxi, ve které si vyzkouší běh programů pod nižšími oprávněními a jak tato oprávnění stanovovat, protože ne každý program musí nutně běžet s administrátorským oprávněním. Budou také prakticky demonstrována rizika spojená s přetečením bufferu. Dále se studenti budou krátce věnovat zabezpečení dat a jak toto zabezpečení souvisí s databázovými systémy a webem. V závěru se budou věnovat útokům typu DoS (Denial of Service) a obraně proti nim.

Požadavky:

Programování v C, znalost základních programových rozhraní a architektur počítačových systémů, základní znalost SQL, základní znalost Javascriptu. Je doporučeno souběžné studium předmětu Kryptografie a bezpečnost (BI-KAB).

Osnova přednášek:

1. Úvod do bezpečného programování, modelování bezpečnostních rizik

2. Generování kódu a struktura spustitelného souboru

3. Přetečení bufferu

4. Psaní bezpečného kódu v C

5. Úrovně bezpečnostních oprávnění, ACL

6. Běh programu při nízkých oprávněních

7. Zabezpečení a integrita dat

8. Datový vstup, kanonická reprezentace a bezpečnost

9. Databáze a bezpečnost

10. Bezpečnost webových aplikací

11. Bezpečnost socketů

12. Útoky typu denial-of-service

Osnova cvičení:

1. Úvod do nástrojů pro ladění

2. Generování kódu a rozbor existující aplikace

3. Přetečení bufferu

4. Přetečení bufferu II

5. Psaní bezpečného kódu v C

6. Zabezpečení a integrita dat

7. Běh při nízkých oprávněních

8. SQL injection

9. Bezpečné programování pro databázové systémy

10. Bezpečnost webových aplikací

11. Přetečení bufferu na haldě

12. Malware

Cíle studia:

Po absolvování předmětu bude student rozumět bezpečnosti v kontextu vývoje softwaru a bude schopen uplatnit tyto znalosti jak při vývoji vlastního softwaru, tak při analýze softwaru cizího.

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 2022/2023:
Rozvrh není připraven
Rozvrh na letní semestr 2022/2023:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
St
místnost TK:BS
Kokeš J.
16:15–17:45
(přednášková par. 1)
Dejvice
NTK Ballingův sál
místnost T9:345
Kokeš J.
18:00–19:30
(přednášková par. 1
paralelka 101)

Dejvice
NBFIT BOU ucebna
Čt
místnost T9:345
Kokeš J.
09:15–10:45
(přednášková par. 1
paralelka 102)

Dejvice
NBFIT BOU ucebna
místnost T9:345
Kokeš J.
11:00–12:30
(přednášková par. 1
paralelka 103)

Dejvice
NBFIT BOU ucebna
místnost T9:345
Kokeš J.
12:45–14:15
(přednášková par. 1
paralelka 104)

Dejvice
NBFIT BOU ucebna
místnost T9:345
Kokeš J.
14:30–16:00
(přednášková par. 1
paralelka 105)

Dejvice
NBFIT BOU ucebna
místnost T9:345
Kokeš J.
16:15–17:45
(přednášková par. 1
paralelka 106)

Dejvice
NBFIT BOU ucebna

Předmět je součástí následujících studijních plánů:
Platnost dat k 29. 1. 2023
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6702806.html