Testy bezpieczeństwa dla QA/testerów
Jednym z elementów definiujących jakość wytwarzanego oprogramowania jest zapewniany przez nie poziom bezpieczeństwa. Warsztaty Testy bezpieczeństwa dla QA mają na celu pokazanie testerom w jaki sposób, nieznacznie poszerzając zakres wykonywanych testów, mogą wykrywać występujące w oprogramowaniu podstawowe podatności. W ramach warsztatu uczestnicy poznają teorię dotyczącą zagadnień związanych z testowaniem bezpieczeństwa aplikacji webowych oraz wykonają ćwiczenia, które pozwolą w praktyce zapoznać się z omawianymi atakami i narzędziami.
Podczas warsztatu zapewniamy dostęp do kawy, herbaty, wody i ciastek. W porze obiadowej zapewniamy pizzę w wersji mięsnej i wegetariańskiej.
Czego się nauczysz?
- poznasz narzędzia przydatne w przeprowadzaniu testów bezpieczeństwa,
- dowiesz się, czym jest OWASP,
- zdobędziesz wiedzę umożliwiającą przeprowadzanie podstawowych ataków,
- poznasz sposoby klasyfikacji rangi zagrożenia i zasady tworzenia dobrych raportów z testów bezpieczeństwa.
Wymagania wstępne
2. doświadczenie w przeprowadzaniu testów manualnych
Podczas warsztatu uczestnicy korzystają z własnych komputerów z systemem Linux, Windows lub MacOS. Wymagana jest instalacja wirtualnej maszyny z systemem Kali Linux w dowolnym menadżerze maszyn wirtualnych. Oprócz tego, każdy z użytkowników jest proszony o zainstalowanie aplikacji webowej Web Goat, która posłuży do przećwiczenia omawianych ataków. Instrukcja instalacji Web Goat oraz Kali Linux zostanie przekazana uczestnikom szkolenia drogą mailową.
Prowadzący
Tester z doświadczeniem w zakresie testów bezpieczeństwa aplikacji webowych. Wykonywał testy bezpieczeństwa dużych aplikacji bankowych, sklepów internetowych, systemów SCADA oraz oprogramowania open-source. Entuzjasta wolnego oprogramowania oraz prywatności w sieci.
Program warsztatów
- Wprowadzenie(10 min)
- Omnie
- Jaki jest cel testów bezpieczeństwa?
- Standardy w testach bezpieczeństwa (20 min)
- OWASP Top10 – na tym się skupiamy
- OWASP Testing Guide
- OWASP ASVS – minimum
- PTES – minimum
- OSSTMM – minimum
- Przypomnienie niezbędnych wiadomości (30 min)
- Http
- Metody http
- Nagłówki http
- Odpowiedzi http
- Demonstracja jak podglądać w przeglądarce żądania http
- Http
- Narzędzia przydatne w testach bezpieczeństwa(1.5h)
- Kali Linux jako system zawierający mnóstwo narzędzi przydatnych w testach (20 min)
- Omówienie najważniejszych narzędzi: nmap, sqlmap, Metasploit.
- Wykonanie prostego skanu przy użyciu nmap’a
- Burp Suite
- Burp Suite jako: Proxy, Repeater, narzędzie z możliwością wgrywania dużej ilości darmowych wtyczek
- Skonfigurowanie Proxy http z użyciem Burp + Firefox, używanie Repeater’a
- Materiały dostarczane przez OWASP
- Narzędzia deweloperskie przeglądarki
- Wykorzystywanie logów konsoli i zakładki Network jako źródła informacji
- Kali Linux jako system zawierający mnóstwo narzędzi przydatnych w testach (20 min)
- Etapy (fazy) przeprowadzenia testów bezpieczeństwa – teoretyczne omówienie (40 min)
- Rozpoznanie testowanego systemu (rekonesans / OSINT)
- Modelowanie i identyfikacja zagrożeń oraz podatności
- Exploitacja
- Analiza ryzka
- Raportowanie
- Podatności (20 min)
- Czym jest podatność?
- Klasyfikacja podatności.
- Bazy podatności.
- Przegląd najważniejszych podatności: (3h) (połączony z samodzielnym wykorzystaniem podatności przez uczestników szkolenia w aplikacji WebGoat)
- Wstrzyknięcia (SQL Injection, XXE)
- Niepoprawna obsługa uwierzytelnienia
- Ujawnienie danych wrażliwych
- XXE
- Nieprawidłowa kontrola dostępu
- Niepoprawna konfiguracja mechanizmów bezpieczeństwa
- XSS
- Niepoprawna deserializacja
- Używanie komponentów ze znanymi podatnościami
- Niedostateczne monitorowanie i tworzenie logów
- Tworzenie dobrego raportu z testów bezpieczeństwa
Uwaga
Zapisy na wybrany warsztat zostały zakończone.