Programowanie defensywne
Strona z materiałami dydaktycznymi do przedmiotu Programowanie defensywne.
Uwaga: Zamieszczone tu materiały nie mają charakteru podręcznika akademickiego. Stanowią jedynie uzupełnienie wykładu i literatury wymienionej na stronie.
Wykład
- Wprowadzenie
- Podatność SQL Injection
- Podatności XSS i Path Traversal
- Podatność XXE i niebezpieczna deserializacja
- Podatności w dokumentach JSON
- Kryptografia, czyli co może pójść nie tak
- Modelowanie zagrożeń
Literatura i inne materiały
Literatura:
- David A. Wheeler, „Secure Programming HOWTO”, 2015
- SEI CERT Coding Standards, 2016
- Developing Secure Software (LFD121), 2024
- Ross Anderson, „Security Engineering: A Guide To Building Dependable Distributed Systems”, 3rd Edition, John Wiley & Sons, Inc., Indianapolis, Indiana, USA, 2020
- Safecode Training, 2023
- Michael Howard, David LeBlanc, John Viega, „24 Deadly Sins of Software Security: Programming Flaws and How to Fix Them”, The McGraw-Hill Companies, USA, 2010
- Loren Kohnfelder, „Po pierwsze: bezpieczeństwo, Przewodnik dla twórców oprogramowania”, Helion, Gliwice, 2022
- Michał Sajdak i inni, „Bezpieczeństwo aplikacji webowych”, Securitum, Kraków 2019
- Tomasz Surmacz, „Secure Systems and Networks”, PRINTPAP, Łódź 2011
Kody źródłowe:
- Kod źródłowy programu z pierwszego wykładu (buffer overflow)
- Kody źródłowe programów z drugiego wykładu (podatność sql injection)
- Kody źródłowe programów z trzeciego wykładu (podatności xss i path traversal)
- Kody źródłowe programów z czwartego wykładu (podatność xxe i niebezpieczna deserializacja)
- Kody źródłowe programów z piątego wykładu (podatności w dokumentach json)
Zasoby internetowe:
- HackTheBox, 2024
- Sekurak, 2024
- Open Source Security Foundation, 2024