Úvod do počítačovej bezpečnosti

Prednášajúci:Pavol Zajac
Cvičiaci:Štefan Balogh
Kategória predmetu:,

Upozornenie

Upozornenie: Predmet I-UPB je možné pokúsiť sa absolvovať maximálne 2x, po druhom nezvládnutí predmetu bude študent vylúčený zo štúdia (žiadne odpisovanie po semestri).


 

Organizácia predmetu

Prednášky: Pavol Zajac
Cvičenia: Štefan Balogh, Peter Švec

AIS sylabus

Online aktivity

Prednášky online, v čase prednášky : Pondelok 13.00

Cvičenia: online v čase Pondelok od 15.00-16.00, TODO

Prednášky aj cvičenia na platforme MS Teams, Join code: 7tv2e5b

V rámci voľných časových kapacít cvičiacich  možnosť konzultácií aj mimo týchto časov na Discord-e: https://discord.gg/mCuN4yJC6B

Cvičenia

Cvičenia sú založené na riešení zadaní.

Hodnotenie

50 bodov za semester (min. 26 bodov podmienka absolovania)
10 bodov Peer review
40 bodov písomná skúška (prezenčná alebo dištančná, min. 25 bodov podmienka absolvovania)

Zadania na každý týždeň (10 týždňov, prvých 10 tém), individuálne, konzultácie cez Discord (prípadne osobne/Google Meet/MS Teams). Spolu max. 50 bodov za zadania.

Peer review, každý oboduje X = 3 zadania. Max. 10 bodov za peer review.
0-5 bodov per review (viď peer review). Minimum na absolvovanie 26 bodov.

Výsledné body zadávajú cvičici a majú právo ich korigovať. Kontrolujú review a v prípade objektívne nesprávneho hodnotenia (neodhalenie realných chýb, logický nesúlad, nedodržanie požiadaviek zadania, nedodržanie teoretických princípov a noriem uvedených v prednáškach, nedodržanie bezpečnostných princípov pre dané riešenie) body upravujú. Zaroveň za review znižujú hodnotenie študentovi (z 10 bodov za review).

V pripade zjavného kopírovania riešenia zadania bude pridelene 0 bodov za zadanie všetkým zučastneným. V prípade opakovania kopírovania nebude udelený zápočet.

Riadna skúška: prezenčná alebo dištančná, spolu 40 bodov, minimum 25 bodov dokopy podmienka na absolvovanie (a minimum 56 spolu so zadaniami a peer review, známka podľa klasifikačnej stupnice)

Opravná skúška: Ústna skúška zo všetkého, 100 bodov (priebežné body za testy, zadania, a peer review sa anulujú)

 

Obsah prednášok

Predpokladaný plán predmetu:

1. Pozvaná prednáška :Úvod do bezpečnosti, základné pojmy a koncepty, Access Control všeobecne
2. Bezpečnostné hrozby, STRIDE
3. Crypto, dôvernosť: symetrické a asymetrické šifrovanie
4. Crypto, integrita: hash, MAC, podpis
5. Crypto, autentizácia: PKI, PBKDF
6. Secure coding, buffer overflow: princíp, ROP, mitigation, príbuzné (double free)
7. Secure coding, evil input: format string, injection, non-canonical repre
8. Web, sieťová vrstva: linková bezpečnosť, bezpečný kanál, IPSec, VPN, TLS, TOR
9. Web, app vrstva: Client State manipulation, CSRF, Javascript (CSS, …)
10. OWASP Top 10
11. Bezpečnostné testovanie, DoS, …
12. Bitcoin, IoT, …

Obsah cvičení/zadania

Ak všetko pôjde podľa plánu:

1. Úvod (realizácia web útoku)
2. STRIDE, DFD, hrozby
3. aplikácia na šifrovanie/dešifrovanie podľa špecifikácie
4. aplikácia na podpis/overenie podľa špecifikácie
5. ukladanie hesiel podľa špecifikácie
6. overovanie hesiel
7. zraniteľnosti v C kóde
8. nakonfigurovať TLS (HTTPS) na serveri
9. OWASP (mini-pentest?)
10. OWASP top 10 zraniteľnosti

Materiály k prednáškam

Slajdy z prednášok budú pribúdať v sprievodnom  Moodle kurze  (aktuálne sú tam prednášky z roku 2015, môžu sa zmeniť).

Ostatné odkazy k prednáškam:

SimpleWebServer (v časti Source Code) a iné materiály ku knihe Christoph Kern, Anita Kesavan, Neil Daswani. Foundations of Security: What Every Programmer Needs to Know.

Java Cryptography Architecture

CERT coding standards
Testovací kód k buffer overflow, základná verzia [attachment:access1.c C kód]

OWASP SQL Injection Prevention Cheat Sheet

Odporúčaná literatúra

Základná literatúra:

Computer Security and the Internet: Tools and Jewels, by Paul C. van Oorschot. 2020, Springer. 365 pages plus frontmatter. ISBN: 978-3-030-33648-6 (hardcopy), 978-3-030-33649-3 (eBook)

Ďalšia odporučená literatúra:

[http://www.apress.com/9781590597842 Christoph Kern, Anita Kesavan, Neil Daswani. Foundations of Security: What Every Programmer Needs to Know. ISBN: 978-1-59059-784-2. Apress, 2007]

[http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470474246.html Niels Ferguson, Bruce Schneier, Tadayoshi Kohno. Cryptography Engineering: Design Principles and Practical Applications. ISBN: 978-0-470-47424-2. Wiley, 2010]

[http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118809998.html Adam Shostack. Threat Modeling: Designing for Security. ISBN: 978-1-118-80999-0. Wiley, 2014]

[https://www.microsoft.com/learning/en-us/book.aspx?id=5957 Michael Howard, David LeBlanc. Writing Secure Code, Second Edition. ISBN: 9780735617223. Microsoft Press, 2002]

[https://www.microsoft.com/learning/en-us/book.aspx?ID=6892 Frank Swiderski, Window Snyder. Threat Modeling. ISBN: 9780735619913. Microsoft Press, 2004]

[http://www.cert.org/secure-coding/publications/books/secure-coding-c-c-second-edition.cfm Robert C. Seacord. Secure Coding in C and C++, Second Edition. ISBN: 978-0-321-82213-0. Addison-Wesley, 2013]

[http://www.amazon.com/Cryptographic-Libraries-Developers-Charles-Programming/dp/1584504099 Ed Moyle, Diana Kelley. Cryptographic Libraries for Developers. ISBN: 978-1-584-50409-2. Charles River Media, 2005]

Odkazy

Zaujímavé čítanie k DOS útokom: https://krebsonsecurity.com/2016/09/the-democratization-of-censorship/ (plus veľa ďalších zaujímavých článkov o bezpečnosti)

https://msdn.microsoft.com/en-us/security/aa570401.aspx

http://www.cert.org/

https://www.csirt.org/

https://nvd.nist.gov/

http://csrc.nist.gov/

https://cve.mitre.org/

http://www.osvdb.org/

[https://www.youtube.com/watch?v=GqmQg-cszw4&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh MIT courseware Computer Systems Security]