W tej prezentacji porozmawiamy o różnych aspektach związanych z bezpieczeństwem w cyklu życia oprogramowania (SSDLC) oraz o najczęstszych zagrożeniach i sposobach ich unikania.
Zaczniemy od SSDLC, czyli podejścia, które integruje praktyki bezpieczeństwa na każdym etapie tworzenia oprogramowania. Następnie przejdziemy do XSS, czyli ataków polegających na wstrzykiwaniu złośliwego kodu do aplikacji internetowych. Omówimy, jak unikać takich zagrożeń poprzez odpowiednie filtrowanie i walidację danych.
Kolejnym tematem będzie CSRF, czyli ataki, w których atakujący nakłania użytkownika do wykonania niechcianych działań na stronie, na której jest zalogowany. Przedstawię techniki ochrony przed CSRF, takie jak tokeny CSRF i weryfikacja źródła żądań.
Porozmawiamy też o IDOR, czyli lukach pozwalających na dostęp do danych lub zasobów, do których nie powinno się mieć dostępu. Omówimy, jak zabezpieczyć aplikacje przed tego typu atakami poprzez odpowiednie mechanizmy kontroli dostępu.
Następnie przejdziemy do SQLi, czyli ataków polegających na wstrzykiwaniu złośliwych zapytań SQL do bazy danych aplikacji. Przedstawię metody ochrony przed SQLi, takie jak używanie zapytań parametryzowanych i ORM.
Nie zapomnimy też o bezpieczeństwie kontenerów, które stają się coraz bardziej popularne. Omówimy najlepsze praktyki zabezpieczania kontenerów typu Docker, takie jak skanowanie obrazów, zarządzanie tajemnicami i monitorowanie.
Zasada najmniejszych uprawnień to kolejny ważny temat – polega ona na przyznawaniu użytkownikom i procesom tylko tych uprawnień, które są niezbędne do wykonania ich zadań. Przedstawię, jak wdrożyć tę zasadę w praktyce, aby minimalizować ryzyko nadużyć.
Bezpieczne obsługiwanie błędów to kluczowy element zabezpieczania aplikacji. Omówimy, jak unikać ujawniania wrażliwych informacji w komunikatach o błędach i jak logować błędy w sposób bezpieczny.
Na koniec porozmawiamy o strategii polegającej na stosowaniu wielu warstw zabezpieczeń, aby zwiększyć odporność systemu na ataki. Przedstawię, jak wdrożyć tę strategię, aby zapewnić kompleksową ochronę aplikacji.