Bezpečnost a bezpečné programování
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-BPR | Z,ZK | 4 | 2P+1C | česky |
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra počítačových systémů
- 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.
- 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. Generování kódu a rozbor existující aplikace
2. Přetečení bufferu
3. Psaní bezpečného kódu v C
4. Běh programu při nízkých oprávněních
5. Databáze a bezpečnost
6. Bezpečnost webových aplikací
- Cíle studia:
- 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.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://moodle-vyuka.cvut.cz/course/view.php?id=2036
- Další informace:
- https://moodle-vyuka.cvut.cz/course/view.php?id=2654
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Znalostní inženýrství, verze 2016 a 2017 (volitelný předmět)
- Počítačová bezpečnost, verze 2016 až 2019 (volitelný předmět)
- Počítačové systémy a sítě, verze 2016 až 2019 (volitelný předmět)
- Návrh a programování vestavných systémů, verze 2016 až 2019 (volitelný předmět)
- Zaměření Informační systémy a management, verze 2016 až 2019 (volitelný předmět)
- Zaměření Softwarové inženýrství, verze 2016 až 2019 (volitelný předmět)
- Zaměření Webové inženýrství, verze 2016 až 2019 (volitelný předmět)
- Společný magisterský plán před přiřazením do oboru, verze 2016 až 2019 (VO)
- Zaměření Teoretická informatika, verze 2016-2017 (volitelný předmět)
- Znalostní inženýrství, verze 2018 to 2019 (volitelný předmět)