Zestaw 10 zadań laboratoryjnych poświęconych audytowi bezpieczeństwa aplikacji internetowych według metodyki OWASP Top 10. Studenci analizują wektory podatności, błędy konfiguracji i mechanizmy ochrony danych w platformach webowych. Praca kończy się referatem opisowym z wykazem uchybień i rekomendacjami zaleceń inżynierskich.
Przedmiotem ćwiczenia jest Audyt bezpieczeństwa informacji – Laboratorium 7 (kod Lab7): audyt aplikacji webowych pod kątem podatności OWASP Top 10 (edycja 2021) – poziom oceny 3.0. Kierunek: Informatyka i ekonometria, specjalność Bezpieczeństwo informacji, studia pierwszego stopnia (PRK 6), semestr 7, profil praktyczny. Wymiar: wykład 15 godz., laboratorium 24 godz., 5 pkt ECTS.
Zgodnie z sylabusem przedmiotu zaliczenie zadania laboratoryjnego na ocenę 3.0 (dostateczną) wymaga wykazania podstawowej wiedzy z zakresu audytu bezpieczeństwa aplikacji webowych w oparciu o zestawienie OWASP Top 10. Student musi poddać krytycznej ocenie stan zabezpieczeń badanej aplikacji internetowej, wskazać oczywiste uchybienia (m.in. brak autoryzacji obiektowej IDOR/BOLA, brak szyfrowania transmisji HTTPS i nagłówka HSTS, podatności na wstrzyknięcia SQL Injection, błędy logiki w koszyku zakupowym, domyślne hasła administratora, nieaktualne komponenty z lukami CVE, brak blokady kont po nieudanych logowaniach, brak weryfikacji integralności skryptów CDN czy brak rejestrowania zdarzeń bezpieczeństwa) oraz rozbieżności z aktualnymi przepisami prawa (RODO, KRI, KSC/NIS2, DORA, normy ISO/IEC 27001). Student formułuje trafne propozycje rozwiązań programistycznych, architektonicznych i konfiguracyjnych.
Stan aplikacji poddany analizie należy skonfrontować z wymaganiami standardu OWASP Top 10:2021, wytycznymi OWASP ASVS (Application Security Verification Standard), normą PN-EN ISO/IEC 27001:2022 (w tym Załącznika A normy ISO/IEC 27002:2022 – A.8.25 Bezpieczny cykl życia rozwoju, A.8.26 Wymagania bezpieczeństwa aplikacji, A.8.28 Bezpieczne kodowanie, A.8.29 Testowanie bezpieczeństwa, A.8.8 Zarządzanie podatnościami technicznymi) oraz przepisami prawnymi (art. 25 i 32 RODO, § 20 KRI, ustawa o KSC, dyrektywa NIS2, rozporządzenie DORA).
Poziom 3.0 koncentruje się na analizie jakościowej studium przypadku i poprawnym zdiagnozowaniu podatności z listy OWASP Top 10 oraz zaproponowaniu koncepcyjnych metod ich neutralizacji. Na ocenę 4.0 wymagane jest opracowanie szczegółowych fragmentów bezpiecznego kodu (Prepared Statements, reguły walidacji) oraz konfiguracji nagłówków HTTP (CSP, HSTS). Na ocenę 5.0 student projektuje kompleksowy model Secure SDLC z integracją narzędzi SAST/DAST i automatycznymi testami penetracyjnymi.
Zadania wykonuje się w zespołach 2–3 osobowych jako studium przypadku, a efektem prac jest referat opisowy oraz ustna prezentacja i obrona koncepcji podczas zajęć laboratoryjnych. Podział ról analityczno-audytowych:
Pisemny referat w formacie PDF (objętość 4–6 stron znormalizowanego maszynopisu A4) zawierający stronę tytułową (nazwa uczelni, wydział, kierunek, nazwa przedmiotu, kod Lab7, numer i pełny tytuł zadania, skład zespołu z przydzielonymi rolami analitycznymi) oraz obowiązkowe rozdziały merytoryczne: wprowadzenie i charakterystyka badanej aplikacji, szczegółowa diagnoza podatności w relacji do OWASP Top 10, zestawienie ustaleń (karty NC1, NC2, NC3 oraz szanse doskonalenia OFI), wzorcowy projekt docelowych mechanizmów obronnych (bezpieczne kodowanie, nagłówki, parametryzacja, walidacja, autoryzacja), analiza zalet, wad i ograniczeń przyjętej koncepcji naprawczej oraz wykaz źródeł normatywnych i literaturowych. Referat przekazywany jest prowadzącemu najpóźniej na 24 godziny przed zajęciami i kończy się ustną obroną – dokładnie 10-minutowym wystąpieniem zespołowym, w którym każdy członek zespołu zabiera głos, oraz odpowiedzią na 2–3 pytania kontrolne prowadzącego.
Poprawność identyfikacji podatności (precyzyjne przyporządkowanie uchybienia do kategorii OWASP Top 10:2021, wskazanie wektora ataku i warunków podatności), jakość wzorcowego rozwiązania (spójna koncepcja naprawcza: parametryzacja zapytań, filtry wejściowe, nagłówki CSP/HSTS, MFA, bezpieczna deserializacja, ochrona SSRF), prawidłowość powołania podstaw prawnych i standardów (OWASP Top 10, ASVS, ISO/IEC 27001 – A.8.26-A.8.29, RODO art. 32, KRI § 20), a także samodzielność i krytycyzm w ocenie skutków biznesowych i prawnych luki.
Mylenie podatności webowych (np. utożsamianie SQL Injection z XSS lub XSS z CSRF); brak powiązania diagnozy z konkretnym studium przypadku; proponowanie zabezpieczeń iluzorycznych (np. usuwanie znaków specjalnych zamiast stosowania zapytań parametryzowanych); brak podziału ról w zespole; ignorowanie wymogów prawa w kontekście danych przetwarzanych w aplikacji (art. 9 RODO w zdrowiu, KRI w samorządzie, DORA w bankowości).
Zegar odlicza 180 minut zajęć laboratoryjnych i podświetla aktualny etap pracy zespołu audytowego. Harmonogram jest wspólny dla wszystkich zadań tego modułu; zmienia się wyłącznie badana podatność i aplikacja webowa w analizowanym studium przypadku.
| Przedział | Etap pracy zespołu | Artefakt wyjściowy | Wiodąca rola |
|---|---|---|---|
| Minuty 00-45 | Rozpoznanie aplikacji: profil serwisu, architektura technologiczna, punkty wejścia (formularze, API, parametry URL), inwentaryzacja przetwarzanych danych oraz podział ról w zespole audytorskim. | Karta inwentaryzacji aplikacji, schemat punktów wejścia, podział zadań. | Rola 1 |
| Minuty 45-90 | Krytyczna ocena stanu aplikacji: analiza zapytań HTTP, badanie podatności z listy OWASP Top 10, weryfikacja nagłówków bezpieczeństwa, sesji, uwierzytelniania oraz szacowanie ryzyka eksploatacji. | Rejestr podatności aplikacji webowej, ocena ryzyka (P × S). | Rola 2 |
| Minuty 90-135 | Gradacja ustaleń: niezgodności NC1 (krytyczne/wysokie), NC2 (średnie), NC3 (niskie) i szanse doskonalenia OFI. Opracowanie wzorcowych zabezpieczeń w kodzie (Secure SDLC) i konfiguracji serwera. | Karty klasyfikacji ustaleń, projekt zaleceń inżynierskich i naprawczych. | Rola 3 |
| Minuty 135-180 | Uzupełnienie referatu poaudytowego, analiza zalet, wad i ograniczeń przyjętej koncepcji zabezpieczeń, wykaz standardów OWASP/ISO oraz próbna obrona ustna przed audytorem prowadzącym. | Kompletny referat (4-6 stron A4) i prezentacja obrony referatu. | Rola 1 i Rola 2 |
Wskaż, który członek zespołu prowadzi każdy z czterech etapów ćwiczenia, a następnie sprawdź kompletność podziału. W zespole dwuosobowym Rolę 3 realizują wspólnie osoby pełniące Rolę 1 i Rolę 2.
Analiza formalna polityki bezpieczeństwa aplikacji, wymagań Secure SDLC, zgodności z RODO (ochrona prywatności), KRI i NIS2, ocena profilu biznesowego aplikacji oraz koordynacja wystąpienia referatowego.
Bezpośrednia inspekcja techniczna aplikacji webowej, badanie podatności OWASP Top 10, analiza ruchu HTTP, weryfikacja mechanizmów sanityzacji, walidacji wejścia, kodowania wyjścia oraz testów podatności.
Analiza bezpieczeństwa bazy danych, kryptografii, logowania zdarzeń, ocena skutków wycieku danych, klasyfikacja ustaleń w skali NC1/NC2/NC3/OFI oraz formułowanie zaleceń inżynierskich.
Wpisz zidentyfikowaną podatność aplikacji webowej (zgodnie z OWASP Top 10:2021) oraz dobierz prawdopodobieństwo (P) i skutek (S) w skali 1-5. Kalkulator wylicza iloczyn P × S, wskazuje strefę ryzyka i aktualizuje statystyki rejestru. Pozycje dodane tutaj są automatycznie zaznaczane w interaktywnej matrycy ryzyka.
| Lp. | Podatność aplikacji webowej (OWASP Top 10) | Kategoria ustalenia | P | S | P × S | Strefa | Akcja |
|---|---|---|---|---|---|---|---|
| Rejestr jest pusty. Dodaj pierwszą podatność zidentyfikowaną w audycie aplikacji webowej. | |||||||
Dobierz wartości P i S suwakami albo kliknij komórkę macierzy, aby odczytać poziom ryzyka (P × S) zdiagnozowanej podatności aplikacji webowej w relacji do standardu OWASP Top 10:2021. Moduł zawiera trzy dodatkowe suwaki, które pozwalają dopasować skalę do własnej metodologii: granice stref zielonej, żółtej i czerwonej oraz próg akceptacji ryzyka (tolerancję organizacji). Pola w karcie podatności można uzupełnić i skopiować do referatu. Gwiazdka oznacza pozycję wprowadzoną wcześniej w interaktywnym kalkulatorze ryzyka.
| Wartość P × S | Strefa | Znaczenie dla decyzji audytowej | Wymagane postępowanie |
|---|---|---|---|
| 1–7 | zielona | Ryzyko niskie / akceptowalne. | Odnotować w rejestrze jako zalecenie doskonalenia OFI lub NC3; uwzględnić przy refaktoryzacji kodu. |
| 8–14 | żółta | Ryzyko średnie / warunkowo akceptowalne. | Zakwalifikować jako NC2; zaplanować poprawkę w kolejnym sprincie deweloperskim i zweryfikować testem jednostkowym. |
| 15–25 | czerwona | Ryzyko krytyczne / wysokie. | Nie przyjmuje się ryzyka. Kwalifikacja NC1; natychmiastowy hotfix w kodzie, wdrożenie reguły WAF lub tymczasowe wyłączenie podatnej funkcji. |
Wybierz zadanie laboratoryjne i uzupełnij pola. Wygenerowany szkic uporządkuje treść referatu zgodnie z wymogami formalnymi modułu (4-6 stron A4, PDF) i może zostać przeniesiony do edytora tekstu.
Checklista porządkuje pracę zespołu w czterech etapach ćwiczenia. Zaznaczone punkty przechowują się w przeglądarce; pasek postępu pokazuje gotowość analizy do obrony. Licznik objętości sprawdza, czy tekst referatu mieści się w wymaganych 4-6 stronach A4.
Wklej treść opracowanego referatu, aby zweryfikować liczbę słów, znaków i stron.
Krótkie charakteryzystyki aplikacji webowych oraz badanych podatności według klasyfikacji OWASP Top 10:2021. Wybierz sektor, aby zawęzić listę, i kliknij kartę, aby przejść do właściwego zadania. Kliknięcie nagłówka karty zadania rozwija lub zwija jego pełną treść.
Kliknij nagłówek zadania, aby je rozwinąć lub zwinąć. Przyciski poniżej rozwijają lub zwijają wszystkie karty. Numery w kolorze czerwonym odsyłają do poszczególnych zadań.
Temat: Audyt Podatności Naruszenia Kontroli Dostępu (A01:2021 - Broken Access Control / IDOR) w Portalu Wyników Badań Laboratoryjnych Pacjenta w Świetle RODO art. 9 i art. 32
Głównym celem zadania jest opanowanie przez studentów praktycznych umiejętności identyfikacji, analizy i oceny uchybień w mechanizmach kontroli dostępu w aplikacji internetowej (kategoria OWASP Top 10:2021 - A01:2021 Broken Access Control) na przykładzie podatności bezpośredniego odwołania do obiektów (Insecure Direct Object References - IDOR) w szpitalnym portalu pacjenta. Studenci badają mechanizm autoryzacji żądań HTTP pobierania dokumentacji medycznej w formacie PDF, oceniają skutki prawne nieautoryzowanego dostępu do danych szczególnych kategorii (art. 9 RODO) oraz projektują procedury bezpiecznej kontroli uprawnień oparte na weryfikacji tożsamości użytkownika w sesji serwerowej i identyfikatorach pośrednich (kryptograficzne tokeny UUID v4).
Powiązanie z sylabusem i treściami programowymi:
Szpital Miejski w Zgierzu (SPZOZ) uruchomił dla pacjentów internetowy portal 'e-Pacjent Zgierz' umożliwiający zdalne sprawdzanie wyników badań laboratoryjnych (m.in. morfologii krwi, markerów onkologicznych, testów wirusologicznych) oraz pobieranie wypisów szpitalnych w formacie PDF.
Stan faktyczny w obszarze architektury i bezpieczeństwa aplikacji webowej:
Dyrekcja Szpitala, zaalarmowana przez Inspektora Ochrony Danych po zgłoszeniu od zaniepokojonego pacjenta, zleca zespołowi audytorskiemu pilne zbadanie aplikacji webowej, ocenę zgodności z OWASP Top 10 i RODO oraz opracowanie zaleceń naprawczych.
Praca w zespole 2-3 osobowym polega na zbadaniu podatności IDOR, przeanalizowaniu mechanizmów kontroli dostępu w aplikacji oraz sformułowaniu zaleceń inżynierskich i proceduralnych:
Student 1 (Audytor Wiodący / Governance i SDLC): Dokonuje analizy umowy wdrożeniowej z dostawcą oprogramowania portalu, weryfikuje procedury odbioru aplikacji pod kątem testów bezpieczeństwa, przeprowadza wywiad z Inspektorem Ochrony Danych oraz koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Bezpieczeństwa Aplikacji Web / OWASP): Analizuje schemat żądań HTTP GET/POST, dekonstruuje podatność IDOR w oparciu o kategorię A01:2021 OWASP Top 10 oraz wytyczne WSTG-ATHZ-04, bada brak walidacji sesji serwerowej i projektuje architekturę bezpiecznych identyfikatorów (UUID v4 / hash sesyjny).
Student 3 (Audytor Zgodności Regulacyjnej i Ochrony Danych Medycznych): Bada naruszenie art. 9 i art. 32 RODO (poufność danych szczególnej kategorii), szacuje ryzyko sankcji finansowych i zadośćuczynień cywilnych, weryfikuje wymogi zgłoszenia naruszenia do Prezesa UODO w terminie 72 godzin oraz ocenia spełnienie kontroli ISO 27001 (A.8.2, A.8.3, A.8.28). W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Porównajcie strukturę parametrów URL w kodzie aplikacji z logami serwera WWW (`access.log`), zapisami w bazie danych pacjentów oraz wymogami specyfikacji projektowej portalu. Wskażcie, w którym miejscu występuje rozbieżność między deklarowanym bezpieczeństwem a rzeczywistym działaniem skryptu `pobierz_badanie.php`.
Sformułujcie kartę niezgodności krytycznej (NC1) w oparciu o kontrolę A.8.2 i A.8.28 Załącznika A normy ISO/IEC 27001:2022 oraz art. 32 ust. 1 lit. b RODO. Wskażcie szanse na doskonalenie (OFI) w zakresie wdrożenia automatycznych testów DAST w potoku wytwórczym oprogramowania.
Zaprojektujcie dwustopniowy mechanizm naprawczy:
1. Poziom architektury kodu: powiązanie każdego żądania pobrania pliku z identyfikatorem użytkownika zapisanym w bezpiecznej sesji serwerowej (`$_SESSION['user_id']`) oraz weryfikacja relacji w bazie danych: `SELECT plik FROM badania WHERE id_badania = ? AND pacjent_id = ?`.
2. Poziom identyfikatorów zasobów: odejście od sekwencyjnych liczb całkowitych w parametrach publicznych na rzecz losowych, nieprzewidywalnych tokenów UUID v4 (np. `b4a2c918-7f3e-4b6a-9124-5d9c28e10452`).
Sformułujcie wnioski z audytu, wskażcie wady i zalety proponowanego rozwiązania (np. narzut na wydajność zapytań SQL vs. pełna poufność danych) oraz przygotujcie referat seminaryjny do obrony przed grupą.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis sytuacyjny i przebieg prac audytorskich w Szpitalu Miejskim w Zgierzu.
3. Karta niezgodności audytowej z powołaniem na normę ISO/IEC 27001:2022 oraz art. 9 i 32 RODO.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do aktów prawnych (RODO, Ustawa o prawach pacjenta, standardy OWASP, ISO 27001).
W referacie seminaryjnym przedstawcie na czytelnym schemacie różnicę między podatnym zapytaniem bazującym na parametrze z paska adresu a bezpiecznym zapytaniem parametryzowanym powiązanym ze zmienną sesyjną serwera.
Temat: Audyt Błędów Kryptograficznych (A02:2021 - Cryptographic Failures) w Internetowym Portalu Podatnika i Opłat Lokalnych: Transmisja HTTP, Hasła MD5 bez Soli i Brak HSTS w Świetle KRI i RODO
Głównym celem zadania jest wykształcenie u studentów umiejętności identyfikowania, analizowania i dokumentowania błędów kryptograficznych w aplikacjach internetowych (kategoria OWASP Top 10:2021 - A02:2021 Cryptographic Failures). Studenci badają samorządowy portal podatkowy, w którym stwierdzono transmisję danych identyfikacyjnych i finansowych mieszkańców przez otwarty protokół HTTP, składowanie haseł w relacyjnej bazie danych z użyciem przestarzałej i podatnej na kolizje funkcji skrótu MD5 bez soli kryptograficznej oraz brak mechanizmów wymuszenia bezpiecznego połączenia (HTTP Strict Transport Security - HSTS). Zadanie wymaga oceny naruszenia Krajowych Ram Interoperacyjności (KRI) oraz art. 32 RODO, a także sformułowania kompleksowego planu naprawczego opartego na protokole TLS 1.3, algorytmach odpornych na ataki sprzętowe (Argon2id/bcrypt) oraz poprawnie skonfigurowanych nagłówkach bezpieczeństwa.
Powiązanie z sylabusem i treściami programowymi:
Urząd Miejski w Tarnowie udostępnił dla mieszkańców portal 'e-Podatki Tarnów', za pośrednictwem którego obywatele mogą składać deklaracje podatku od nieruchomości, podatku od środków transportowych, wnosić opłaty za gospodarowanie odpadami komunalnymi oraz sprawdzać historię swoich zobowiązań wobec gminy.
Stan faktyczny w obszarze kryptografii i ochrony danych:
Prezydent Miasta Tarnowa nakazuje przeprowadzenie audytu bezpieczeństwa i przedstawienie rekomendacji naprawczych przed wdrożeniem integracji z Węzłem Krajowym (Login.gov.pl).
Praca w zespole 2-3 osobowym polega na kompleksowej ocenie stanu zabezpieczeń kryptograficznych i zaprojektowaniu standardu ochrony danych mieszkańców:
Student 1 (Audytor Wiodący / Prawo i Standardy KRI): Bada zgodność stanu zabezpieczeń z § 20 Rozporządzenia ws. KRI, art. 32 RODO, weryfikuje procedury nadzoru nad portalem urzędowym oraz koordynuje opracowanie referatu.
Student 2 (Audytor Techniczny ds. Kryptografii i Serwerów WWW): Analizuje konfigurację protokołu TLS na serwerze Apache, weryfikuje brak nagłówka HSTS, demonstruje słabość funkcji skrótu MD5 i tablic tęczowych oraz projektuje konfigurację bezpiecznego szyfrowania (TLS 1.3, nagłówki bezpieczeństwa, algorytm Argon2id/bcrypt z soleniem).
Student 3 (Audytor Bezpieczeństwa Baz Danych i Danych Podatkowych): Ocenia ryzyko wycieku bazy danych podatników, brak szyfrowania danych w spoczynku (Encryption at Rest) w bazie MySQL, przygotowuje zestawienie konsekwencji naruszenia tajemnicy skarbowej i prawnej odpowiedzialności urzędu. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Zestawcie wyniki skanowania konfiguracji SSL serwera WWW, zrzut nagłówków żądań HTTP rejestrowanych podczas logowania oraz fragment schematu bazy danych z tabelą haseł. Wykażcie brak elementarnej ochrony poufności danych w tranzycie i w spoczynku.
Sformułujcie kartę niezgodności krytycznej (NC1) z odwołaniem do kontroli ISO/IEC 27001:2022 A.8.24 (Krypto-zabezpieczenia) oraz § 19 ust. 2 pkt 12 lit. d KRI. Sformułujcie zalecenie doskonalące (OFI) dotyczące okresowego audytu siły stosowanych mechanizmów kryptograficznych.
Zaprojektujcie trójfazowy plan naprawczy:
1. Wymuszenie HTTPS: konfiguracja reguły przekierowania `RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]` oraz dodanie nagłówka `Strict-Transport-Security: max-age=31536000; includeSubDomains; preload`. Wyłączenie protokołów SSLv3, TLS 1.0 i TLS 1.1 z pozostawieniem wyłącznie TLS 1.2 i TLS 1.3 z bezpiecznymi szyframi (np. ECDHE-ECDSA-AES256-GCM-SHA384).
2. Bezpieczne haszowanie haseł: migracja bazy haseł z MD5 na algorytm Argon2id lub bcrypt (z kosztem pracy min. 12 i unikalną, kryptograficzną solą dla każdego użytkownika). Opracowanie procedury płynnej wymiany skrótów podczas kolejnego logowania mieszkańców.
3. Ochrona danych w spoczynku: wdrożenie szyfrowania tabeli wrażliwej (Transparent Data Encryption - TDE) w MySQL lub szyfrowania kolumnowego numerów PESEL i kont bankowych.
Zestawcie wady i zalety wdrożenia silnej kryptografii (np. obciążenie procesora serwera vs. odporność na ataki brute-force) i przedstawcie wnioski w referacie.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego portalu 'e-Podatki Tarnów' i wykrytych luk kryptograficznych.
3. Karta niezgodności audytowej z powołaniem na kontrolę A.8.24 ISO 27001, art. 32 RODO oraz § 20 KRI.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawa.
Podczas wystąpienia seminaryjnego zaprezentujcie słuchaczom czas potrzebny na złamanie niesolonego hasła MD5 przy użyciu współczesnej karty graficznej w porównaniu z kosztem obliczeniowym funkcji bcrypt lub Argon2id.
Temat: Audyt Podatności na Wstrzyknięcia (A03:2021 - Injection / SQL Injection) w Wirtualnym Dziekanacie: Formularze Wyszukiwania, Zrzut Bazy Danych i Ochrona przed Atakami Injection w Świetle KRI i RODO
Głównym celem zadania jest nabycie przez studentów praktycznych umiejętności wykrywania, analizowania i eliminowania podatności na wstrzykiwanie kodu (kategoria OWASP Top 10:2021 - A03:2021 Injection) ze szczególnym uwzględnieniem wstrzyknięć kodu SQL (SQL Injection - SQLi) w internetowym systemie obsługi toku studiów (Wirtualny Dziekanat). Studenci analizują mechanizm dynamicznego sklejania zapytań SQL z niezaufanych danych wejściowych w module wyszukiwania planu zajęć i ocen studentów, badają wektory ataku umożliwiające obejście logowania, kradzież bazy danych użytkowników oraz modyfikację ocen, a następnie projektują standard bezpiecznego programowania oparty na zapytaniach parametryzowanych (Prepared Statements / Parameterized Queries), walidacji danych wejściowych oraz zasadzie najniższych uprawnień (Least Privilege) w relacyjnej bazie danych.
Powiązanie z sylabusem i treściami programowymi:
Państwowa Akademia Nauk Stosowanych w Chełmie eksploatuje autorski system informatyczny 'Wirtualny Dziekanat PANS' służący do ewidencji toku studiów dla 3 500 studentów i 250 wykładowców. System obsługuje elektroniczne protokoły ocen, zapisy na przedmioty, składanie wniosków o stypendia oraz archiwum prac dyplomowych.
Stan faktyczny w obszarze implementacji modułów aplikacji webowej:
`$sql = "SELECT id, przedmiot, wykladowca, sala FROM zajecia WHERE wykladowca LIKE '%" . $_GET['szukaj'] . "%'";`
Rektor Uczelni powołuje zespół audytorski w celu natychmiastowego zbadania podatności Wirtualnego Dziekanatu, oceny skali zagrożenia i przygotowania wytycznych programistycznych eliminujących ryzyko SQL Injection.
Praca w zespole 2-3 osobowym polega na analizie podatności SQL Injection, zbadaniu uprawnień konta bazodanowego oraz opracowaniu wzorca bezpiecznego programowania:
Student 1 (Audytor Wiodący / Organizacja i Standardy Uczelniane): Analizuje strukturę organizacyjną Działu IT uczelni, procedury weryfikacji oprogramowania przed wdrożeniem, wytyczne KRI i politykę ochrony danych studentów oraz koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Bezpieczeństwa Kodu i SQL): Analizuje mechanizm wstrzyknięcia SQL w skrypcie `harmonogram.php`, wektory ataku UNION-based SQLi i Error-based SQLi, bada brak zapytań parametryzowanych i projektuje implementację Prepared Statements w bibliotece PDO PHP.
Student 3 (Audytor Bezpieczeństwa Baz Danych i Oceny Skutków Naruszeń): Bada uprawnienia konta bazodanowego (naruszenie zasady Least Privilege), analizuje ryzyko sfałszowania ocen w rejestrze dyplomów oraz ryzyko naruszenia RODO w przypadku wycieku danych studentów. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Powiążcie fragment podatnego kodu PHP ze strukturą zapytania SQL, logami błędów serwera PostgreSQL oraz zrzutem danych z testu podatności. Wykażcie, że bezpośrednie sklejanie ciągów znaków stanowi bezpośrednią przyczynę podatności.
Sformułujcie kartę niezgodności krytycznej (NC1) z odwołaniem do kontroli ISO/IEC 27001:2022 A.8.28 (Bezpieczne kodowanie) oraz A.8.26 (Wymagania bezpieczeństwa aplikacji). Sformułujcie szansę na doskonalenie (OFI) dotyczącą wdrożenia narzędzi SAST (Static Application Security Testing) do automatycznej analizy kodu w repozytorium git.
Zaprojektujcie kompleksowe rozwiązanie techniczne:
1. Zastosowanie mechanizmu Prepared Statements z użyciem biblioteki PHP PDO:
`$stmt = $pdo->prepare('SELECT id, przedmiot, wykladowca, sala FROM zajecia WHERE wykladowca LIKE :wykladowca');`
`$stmt->execute(['wykladowca' => '%' . $szukaj . '%']);`
2. Wdrożenie rygorystycznej zasady najniższych uprawnień (Least Privilege) w bazie danych: utworzenie dedykowanego użytkownika `dziekanat_web` z uprawnieniami ograniczonymi wyłącznie do `SELECT`, `INSERT`, `UPDATE` na wybranych tabelach, z bezwzględnym zakazem uprawnień administracyjnych (`SUPERUSER`) i modyfikacji schematu.
3. Walidacja danych wejściowych: zastosowanie białej listy znaków (White-listing) oraz sanityzacji parametrów wejściowych.
Zestawcie wady i zalety przygotowanych rozwiązań (np. konieczność refaktoryzacji całego kodu aplikacji vs. całkowita odporność na SQLi) i opracujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego w Wirtualnym Dziekanacie i przebiegu testów audytowych.
3. Karta niezgodności audytowej z powołaniem na kontrolę A.8.28 ISO 27001 oraz art. 32 RODO.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawa (KRI, RODO, Prawo o szkolnictwie wyższym, OWASP).
W referacie przedstawcie porównanie podatnego fragmentu kodu sklejanego ze zoptymalizowanym kodem PDO, objaśniając mechanizm oddzielenia fazy kompilacji zapytania SQL od fazy przekazywania parametrów użytkownika.
Temat: Audyt Niezabezpieczonego Projektu i Błędów Logiki Biznesowej (A04:2021 - Insecure Design) w Koszyku Zakupowym i Systemie Rabatowym: Manipulacja Cenami, Ujemna Wartość Zamówienia w Świetle Prawa Konsumenckiego
Głównym celem zadania jest wykształcenie u studentów umiejętności badania, analizowania i diagnozowania błędów projektowych i podatności logiki biznesowej w aplikacjach internetowych (kategoria OWASP Top 10:2021 - A04:2021 Insecure Design). Studenci badają sklep internetowy e-commerce, w którym wdrożono wadliwy model przetwarzania zamówień polegający na przekazywaniu cen towarów i wartości rabatów bezpośrednio z przeglądarki klienta w ukrytych polach formularza HTTP POST oraz braku serwerowej weryfikacji warunków brzegowych transakcji (możliwość zakupu za ujemną lub zerową kwotę, wielokrotne użycie jednorazowych kodów promocyjnych). Zadanie koncentruje się na odróżnieniu błędów implementacyjnych od wad architektury i projektu (Design Flaws), ocenie strat finansowych przedsiębiorstwa oraz opracowaniu wzorcowego modelu bezpiecznego projektowania oprogramowania (Threat Modeling, serwerowa kalkulacja cen, asynchroniczna blokada kuponów).
Powiązanie z sylabusem i treściami programowymi:
TatrySport.pl jest dynamicznie rozwijającym się polskim sklepem internetowym oferującym odzież górską, sprzęt wspinaczkowy i akcesoria outdoorowe. Platforma obsługuje miesięcznie ponad 25 000 zamówień i jest zintegrowana z popularnymi bramkami płatności online (PayU, BLIK).
Stan faktyczny w obszarze logiki biznesowej i architektury koszyka:
Zarząd TatrySport.pl, po wykryciu przez dział księgowości zamówień z anomaliami kwotowymi, zleca przeprowadzenie niezależnego audytu procesu projektowania i logiki aplikacji webowej.
Praca w zespole 2-3 osobowym polega na zbadaniu wad logiki biznesowej, analizie modelu zagrożeń oraz opracowaniu bezpiecznej architektury przetwarzania koszyka zakupowego:
Student 1 (Audytor Wiodący / Biznes i Prawne Aspekty E-commerce): Analizuje regulamin sklepu, procedury reklamacyjne, skutki prawne wynikające z art. 66 i art. 84 Kodeksu Cywilnego (błąd w oświadczeniu woli a zawarcie umowy sprzedaży po zaniżonej cenie), koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Architektury Aplikacji i Testów Logiki): Analizuje mechanizm żądań HTTP w koszyku, podatności parametrów `price` i `quantity`, podatność wyścigu (Race Condition) w kuponach rabatowych oraz projektuje bezpieczny schemat kalkulacji serwerowej.
Student 3 (Audytor Jakości SDLC i Modelowania Zagrożeń): Przeprowadza uproszczone modelowanie zagrożeń (metodyka STRIDE dla procesu zamówienia), weryfikuje brak kontroli A.8.25 i A.8.27 normy ISO 27001 oraz opracowuje procedury testów jednostkowych i integracyjnych weryfikujących warunki brzegowe. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Zestawcie zrzuty ekranu żądań HTTP z modyfikacją parametru `price`, rekordy transakcji w bazie danych sklepu oraz logi transakcyjne bramki płatności wskazujące na autoryzację zaniżonych kwot. Wskażcie brak architektury Zero-Trust w relacji klient-serwer.
Sformułujcie kartę niezgodności krytycznej (NC1) z powołaniem na kontrolę ISO/IEC 27001:2022 A.8.25 (Bezpieczny cykl życia rozwoju) oraz A.8.27 (Inżynieria bezpiecznych systemów). Sformułujcie szansę na doskonalenie (OFI) dotyczącą wprowadzenia warsztatów Threat Modeling na etapie projektowania funkcjonalności sklepu.
Zaprojektujcie architekturę bezpiecznego koszyka zakupowego:
1. Całkowite usunięcie cen z parametrów wejściowych klienta: formularz przekazuje wyłącznie identyfikator produktu (`product_id`) oraz żądaną liczbę sztuk (`quantity`). Cena jednostkowa, stawka VAT oraz dostępność magazynowa są każdorazowo pobierane z bazy danych przez serwer w momencie obliczania sumy koszyka.
2. Walidacja wartości brzegowych: wymuszenie po stronie serwera zasady, że `quantity` musi być liczbą całkowitą dodatnią (quantity >= 1), a łączna wartość zamówienia po uwzględnieniu rabatów nie może być mniejsza od zera (suma >= 0).
3. Atomowość transakcji i blokada kuponów: zastosowanie transakcji bazodanowych z blokadą wierszy (`SELECT ... FOR UPDATE`) podczas weryfikacji i oznaczania kuponu rabatowego jako 'wykorzystany', co eliminuje podatność Race Condition.
Zestawcie wady i zalety proponowanego podejścia (np. dodatkowe zapytania do bazy przy kalkulacji vs. całkowita ochrona przed oszustwami cenowymi) i przygotujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego w sklepie TatrySport.pl i przebiegu symulacji nadużyć koszyka.
3. Karta niezgodności audytowej z powołaniem na kontrole A.8.25 i A.8.27 ISO 27001 oraz standardy e-commerce.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawnych (Kodeks Cywilny, Ustawa o prawach konsumenta, OWASP Insecure Design).
Podczas wystąpienia seminaryjnego przedstawcie schemat sekwencji żądań HTTP pomiędzy przeglądarką klienta, serwerem sklepu a bramką płatności, wskazując kluczowy punkt kontrolny, w którym musi nastąpić serwerowa weryfikacja ceny pobranej z bazy danych.
Temat: Audyt Błędnej Konfiguracji Zabezpieczeń (A05:2021 - Security Misconfiguration) w Portalu Informacyjnym BIP i E-bok: Domyślne Hasła, Tryb Debug, Brak Nagłówków CSP/HSTS i Clickjacking w Świetle KRI i KSC
Głównym celem zadania jest opanowanie przez studentów praktycznych umiejętności wykrywania, weryfikacji i eliminacji błędów konfiguracji zabezpieczeń w środowiskach aplikacji internetowych (kategoria OWASP Top 10:2021 - A05:2021 Security Misconfiguration). Studenci badają portal internetowy komunalnego przedsiębiorstwa wodociągowo-kanalizacyjnego (obejmujący Biuletyn Informacji Publicznej oraz Elektroniczne Biuro Obsługi Klienta e-BOK), w którym zidentyfikowano pozostawienie domyślnych haseł administracyjnych, włączony produkcyjny tryb debugowania ze zrzutami ścieżek serwera i zapytań SQL (Stack Trace), brak nagłówków ochronnych (Content Security Policy, X-Frame-Options, X-Content-Type-Options) oraz podatność na atak podszywania pod interfejs (Clickjacking). Zadanie wymaga oceny zgodności z wymogami Ustawy o Krajowym Systemie Cyberbezpieczeństwa (KSC), Rozporządzenia ws. KRI oraz normy ISO/IEC 27001, a także opracowania sformalizowanej procedury utwardzania konfiguracji (Hardening Guide) dla serwerów WWW i aplikacji webowych.
Powiązanie z sylabusem i treściami programowymi:
Miejskie Przedsiębiorstwo Wodociągów i Kanalizacji w Piotrkowie Trybunalskim (MPWiK Sp. z o.o.) zarządza siecią wodno-kanalizacyjną zaopatrującą w wodę pitną ponad 70 000 mieszkańców. Spółka utrzymuje portal informacyjny z Biuletynem Informacji Publicznej (BIP) oraz portal e-BOK umożliwiający podawanie stanów wodomierzy i opłacanie faktur.
Stan faktyczny w obszarze konfiguracji systemów i aplikacji webowej:
Kierownik Zespołu Bezpieczeństwa MPWiK powołuje zespół audytorski z zadaniem kompleksowego audytu konfiguracji środowiska webowego i przygotowania wytycznych hardeningowych.
Praca w zespole 2-3 osobowym polega na analizie podatności konfiguracyjnych, weryfikacji nagłówków HTTP oraz przygotowaniu formalnej procedury utwardzania serwera i aplikacji:
Student 1 (Audytor Wiodący / Polityka i Nadzór Wdrożeniowy): Dokonuje przeglądu procedur odbioru systemów od dostawców zewnętrznych, weryfikuje spełnienie wymagań KSC i KRI w zakresie zarządzania konfiguracją, przeprowadza wywiady z administratorem systemów i koordynuje przygotowanie referatu.
Student 2 (Audytor Techniczny ds. Konfiguracji Serwerów WWW i CMS): Analizuje ustawienia serwera Apache (`httpd.conf`), konfigurację PHP (`php.ini` - wyłączenie `display_errors`), bada brak nagłówków bezpieczeństwa HTTP, podatność Clickjacking i przygotowuje reguły konfiguracyjne dla nagłówków `Content-Security-Policy`, `X-Frame-Options` oraz flag ciasteczek.
Student 3 (Audytor Bezpieczeństwa Środowiskowego i Haseł Domyślnych): Bada procedury zarządzania hasłami domyślnymi, analizuje ryzyko wynikające z ujawnienia poświadczeń bazy danych w zrzucie stosu debugowania, weryfikuje zgodność z kontrolą A.8.9 normy ISO/IEC 27001 i standardami CIS Benchmarks. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Zestawcie zrzuty ekranu panelu CMS zalogowanego na koncie domyślnym, pełną treść ekranu błędu w trybie debugowania oraz listę nagłówków odpowiedzi HTTP pobraną poleceniem `curl -I https://bip.mpwik-piotrkow.pl`. Wykażcie kumulację błędów konfiguracyjnych na różnych warstwach systemu.
Sformułujcie kartę niezgodności krytycznej (NC1) dotyczącą domyślnych haseł oraz wycieku danych w trybie debugowania w świetle kontroli ISO/IEC 27001:2022 A.8.9 (Zarządzanie konfiguracją) oraz § 20 KRI. Sformułujcie szansę na doskonalenie (OFI) w zakresie regularnego skanowania podatności serwerów.
Zaprojektujcie standard utwardzania (Hardening Guide) dla portali MPWiK:
1. Eliminacja kont domyślnych: bezwzględna zmiana hasła konta administratora na unikalne, minimum 16-znakowe, zmiana domyślnego adresu panelu z `/admin` na unikalny alias oraz wdrożenie uwierzytelniania dwuskładnikowego (2FA) dla redaktorów BIP.
2. Konfiguracja środowiska produkcyjnego: ustawienie w pliku konfiguracyjnym aplikacji zmiennej `APP_DEBUG=false`, a w pliku `php.ini` dyrektyw `display_errors = Off` oraz `log_errors = On` z zapisem błędów do chronionego pliku dziennika poza katalogiem publicznym serwera WWW.
3. Wdrożenie nagłówków bezpieczeństwa w pliku `.htaccess` lub konfiguracji Apache:
Zestawcie wady i zalety wdrożenia restrykcyjnej konfiguracji (np. ryzyko zablokowania zewnętrznych skryptów przez CSP vs. wysoki poziom cyberodporności) i przygotujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego w systemach webowych MPWiK i zidentyfikowanych uchybień konfiguracyjnych.
3. Karta niezgodności audytowej z powołaniem na kontrolę A.8.9 normy ISO/IEC 27001:2022 oraz § 20 KRI.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawa (KSC, KRI, CIS Benchmarks, OWASP).
Podczas prezentacji seminaryjnej zaprezentujcie słuchaczom analizę nagłówków HTTP pobranych z podatnego portalu oraz wskażcie, w jaki sposób nagłówek Content-Security-Policy blokuje wykonanie obcego kodu w przeglądarce użytkownika.
Temat: Audyt Podatnych i Przestarzałych Komponentów Oprogramowania (A06:2021 - Vulnerable and Outdated Components) w Systemie Sprzedaży Biletów Kolejowych: Biblioteka LOG4J / Apache Struts, Brak SBOM i Skanowania Zależności w Świetle KSC i NIS2
Głównym celem zadania jest opanowanie przez studentów praktycznych umiejętności identyfikacji, inwentaryzacji i oceny ryzyka związanego ze stosowaniem podatnych i przestarzałych komponentów oprogramowania (kategoria OWASP Top 10:2021 - A06:2021 Vulnerable and Outdated Components) w krytycznych systemach obsługi pasażerów. Studenci badają portal sprzedaży biletów kolejowych, w którym wykorzystywano niewspierane i nieaktualizowane od lat wersje bibliotek open-source (w tym framework Apache Struts oraz podatną na zdalne wykonanie kodu wersję biblioteki Apache Log4j - podatność Log4Shell / CVE-2021-44228). Zadanie koncentruje się na analizie braku systemowego zarządzania podatnościami (Vulnerability Management), braku ewidencji komponentów oprogramowania (Software Bill of Materials - SBOM) oraz braku narzędzi automatycznego skanowania zależności (Software Composition Analysis - SCA). W ramach zadania studenci szacują ryzyko paraliżu sprzedaży biletów i kompromitacji infrastruktury przewoźnika w świetle Ustawy o KSC i Dyrektywy NIS2 oraz projektują kompleksową procedurę zarządzania cyklem życia komponentów zewnętrznych.
Powiązanie z sylabusem i treściami programowymi:
Koleje Regionalne Sp. z o.o. są jednym z największych pasażerskich przewoźników kolejowych w Polsce, przewożącym ponad 50 milionów pasażerów rocznie. Spółka eksploatuje internetowy system sprzedaży biletów 'e-Pociąg', obsługujący transakcje zakupu biletów jednorazowych i okresowych przez stronę WWW oraz aplikację mobilną.
Stan faktyczny w obszarze zarządzania bibliotekami i komponentami zewnętrznymi:
Prezes Zarządu Kolei Regionalnych zleca pilny audyt zarządzania komponentami aplikacji i przedstawienie planu eliminacji podatności w oparciu o zalecenia OWASP i KSC.
Praca w zespole 2-3 osobowym polega na analizie podatności przestarzałych komponentów, weryfikacji wektorów RCE oraz zaprojektowaniu procesu ciągłego zarządzania podatnościami oprogramowania:
Student 1 (Audytor Wiodący / Umowy SLA i Zarządzanie Łańcuchem Dostaw): Bada zapisy umów serwisowych z dostawcą oprogramowania pod kątem odpowiedzialności za aktualizację komponentów, weryfikuje spełnienie wymogów Ustawy o KSC i Dyrektywy NIS2 w sektorze transportowym oraz koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Komponentów Open-Source i CVE): Analizuje architekturę aplikacji Java EE, bada pliki zależności Maven/Gradle, weryfikuje podatność Log4Shell (CVE-2021-44228) oraz dekonstruuje mechanizm ataku JNDI Injection w oparciu o kategorię A06:2021 OWASP Top 10.
Student 3 (Audytor Bezpieczeństwa SDLC i Narzędzi SCA/SBOM): Projektuje procedurę automatycznego generowania SBOM (standard CycloneDX), dobiera i konfiguruje narzędzia Software Composition Analysis (OWASP Dependency-Check, Trivy) oraz weryfikuje kontrolę A.8.8 i A.8.19 normy ISO/IEC 27001. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Powiążcie listę plików JAR z katalogu `WEB-INF/lib`, zapisy w bazie podatności National Vulnerability Database (NVD) dotyczące CVE-2021-44228 oraz wpisy ze złośliwymi ciągami JNDI w logach serwera Tomcat (`catalina.out`). Wykażcie obecność podatności o maksymalnym poziomie ryzyka.
Sformułujcie kartę niezgodności krytycznej (NC1) z powołaniem na kontrolę ISO/IEC 27001:2022 A.8.8 (Zarządzanie podatnościami technicznymi) oraz art. 8 Ustawy o KSC (obowiązek obsługi incydentów i podatności). Sformułujcie szansę na doskonalenie (OFI) dotyczącą zintegrowania skanera zależności w potoku CI/CD.
Zaprojektujcie dwufazowy program naprawczy:
1. Działania natychmiastowe mitygujące (Emergency Patching): awaryjna aktualizacja biblioteki Log4j do bezpiecznej wersji 2.17.1+ lub tymczasowe uruchomienie serwera JVM z parametrem `-Dlog4j2.formatMsgNoLookups=true` oraz usunięcie klasy `JndiLookup` z pliku JAR poleceniem `zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class`.
2. Działania systemowe procesowe:
Zestawcie wady i zalety proponowanego podejścia (np. konieczność testów regresyjnych po aktualizacji bibliotek vs. eliminacja podatności RCE) i opracujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego w systemie 'e-Pociąg' oraz wykazu zidentyfikowanych przestarzałych bibliotek.
3. Karta niezgodności audytowej z powołaniem na kontrolę A.8.8 ISO/IEC 27001:2022 oraz art. 8 Ustawy o KSC.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawnych (KSC, NIS2, ISO 27001, bazy CVE/NVD, OWASP).
Podczas referatu zilustrujcie słuchaczom mechanizm podatności Log4Shell na czytelnym schemacie interakcji: wysłanie złośliwego ciągu przez klienta -> rejestracja w logu przez Log4j -> odpytanie serwera JNDI/LDAP -> załadowanie i wykonanie obcego kodu w procesie Javy.
Temat: Audyt Błędów Identyfikacji i Uwierzytelniania (A07:2021 - Identification and Authentication Failures) w Bankowości Elektronicznej: Podatność na Brute-force i Credential Stuffing, Brak Blokady Kont, Przechwytywanie Sesji w Świetle Rekomendacji D KNF i DORA
Głównym celem zadania jest nabycie przez studentów praktycznych umiejętności badania, analizowania i audytowania mechanizmów identyfikacji, uwierzytelniania i zarządzania sesją w aplikacjach internetowych (kategoria OWASP Top 10:2021 - A07:2021 Identification and Authentication Failures). Studenci badają system bankowości elektronicznej banku spółdzielczego, w którym stwierdzono podatność formularza logowania na zautomatyzowane ataki siłowe (Brute-Force) oraz ataki wykorzystujące wycieki poświadczeń z innych serwisów (Credential Stuffing) z powodu braku blokady kont po serii nieudanych prób logowania, braku mechanizmów CAPTCHA, braku wymuszenia uwierzytelniania wieloskładnikowego (MFA) przy logowaniu do panelu podglądu salda oraz podatności identyfikatorów sesji (brak unieważnienia identyfikatora sesji po wylogowaniu - Session Fixation / Zombie Session). Zadanie koncentruje się na ocenie zgodności z Rekomendacją D i M Komisji Nadzoru Finansowego (KNF), Rozporządzeniem DORA oraz standardem PSD2/EBA, a także na opracowaniu standardu silnego uwierzytelniania i bezpiecznego cyklu życia sesji użytkownika.
Powiązanie z sylabusem i treściami programowymi:
Mazowiecki Bank Spółdzielczy w Otwocku obsługuje ponad 40 000 klientów indywidualnych oraz lokalnych przedsiębiorców i rolników. Podstawowym kanałem obsługi klienta jest portal bankowości internetowej 'e-Spółdzielca'.
Stan faktyczny w obszarze procedur uwierzytelniania i zarządzania sesją:
Prezes Zarządu Banku zleca zespołowi audytorskiemu przeprowadzenie natychmiastowego audytu bezpieczeństwa procedur uwierzytelniania i dostosowanie portalu do rygorów KNF i DORA.
Praca w zespole 2-3 osobowym polega na zbadaniu mechanizmów uwierzytelniania, analizie podatności sesyjnych i opracowaniu standardu bezpiecznej autoryzacji w banku:
Student 1 (Audytor Wiodący / Regulacje Bankowe KNF i DORA): Dokonuje analizy procedur bankowych pod kątem zgodności z Rekomendacją D i M KNF, wymogami silnego uwierzytelniania (SCA) w dyrektywie PSD2, przepisami Rozporządzenia DORA oraz koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Bezpieczeństwa Uwierzytelniania i Sesji): Analizuje podatność formularza na ataki Brute-Force/Credential Stuffing, bada cykl życia identyfikatora sesji, podatność Session Fixation i zjawisko aktywnej sesji po wylogowaniu, projektuje reguły regeneracji sesji (`session_regenerate_id()`) oraz bezpieczne unieważnianie po stronie serwera.
Student 3 (Audytor Ryzyka Finansowego i Bezpieczeństwa Tożsamości): Szacuje ryzyko strat finansowych klientów, kradzieży tożsamości, kar KNF, weryfikuje brak kontroli A.5.17 i A.8.5 normy ISO/IEC 27001 oraz projektuje mechanizm blokady kont i adaptacyjnego MFA. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Zestawcie zrzuty logów z wielokrotnymi nieudanymi próbami logowania bez blokady konta, analizę nagłówków `Set-Cookie` przed i po zalogowaniu oraz zapisy żądań HTTP potwierdzające działanie sesji po wylogowaniu. Wykażcie naruszenie elementarnych zasad higieny sesyjnej.
Sformułujcie kartę niezgodności krytycznej (NC1) z odwołaniem do kontroli ISO/IEC 27001:2022 A.8.5 (Bezpieczne uwierzytelnianie), Rekomendacji D KNF (obszar zarządzania tożsamością i dostępem) oraz art. 9 Rozporządzenia DORA. Sformułujcie szansę na doskonalenie (OFI) dotyczącą wdrożenia analizy behawioralnej logowań.
Zaprojektujcie wzorcowy proces uwierzytelniania bankowego:
1. Ochrona przed atakami siłowymi: wprowadzenie blokady konta po 3 nieudanych próbach logowania (czasowa blokada na 15 minut z możliwością odblokowania przez infolinię lub SMS), wdrożenie mechanizmu CAPTCHA po 2 błędnej próbie oraz ograniczenie liczby zapytań z jednego adresu IP (Rate Limiting na poziomie WAF).
2. Wymuszenie silnego uwierzytelniania (MFA): wprowadzenie dwuskładnikowego uwierzytelniania (hasło + powiadomienie PUSH w aplikacji mobilnej lub kod SMS) już na etapie logowania do systemu.
3. Bezpieczne zarządzanie sesją:
Zestawcie wady i zalety proponowanego rozwiązania (np. konieczność dodatkowego kroku przy każdym logowaniu klienta vs. całkowita ochrona przed kradzieżą konta) i przygotujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego portalu 'e-Spółdzielca' i zidentyfikowanych uchybień w procesie uwierzytelniania.
3. Karta niezgodności audytowej z powołaniem na kontrolę A.8.5 normy ISO/IEC 27001:2022, Rekomendację D KNF oraz Rozporządzenie DORA.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawnych (Prawo bankowe, Rekomendacja D KNF, PSD2, DORA, OWASP).
W referacie seminaryjnym przedstawcie różnicę w bezpieczeństwie sesji przy użyciu analizy nagłówków HTTP przed i po wylogowaniu, demonstrując dlaczego samo skasowanie ciasteczka w przeglądarce bez usunięcia sesji na serwerze stwarza ryzyko przejęcia konta.
Temat: Audyt Błędów Integralności Oprogramowania i Danych (A08:2021 - Software and Data Integrity Failures) w Systemie Zamówień Publicznych: Niezabezpieczone Zasoby CDN bez Subresource Integrity (SRI), Podatna Deserializacja w Świetle KRI i PZP
Głównym celem zadania jest wykształcenie u studentów umiejętności badania, weryfikacji i oceny podatności związanych z naruszeniem integralności kodu, danych i łańcucha dostaw oprogramowania (kategoria OWASP Top 10:2021 - A08:2021 Software and Data Integrity Failures). Studenci badają samorządowy portal elektronicznych zamówień publicznych (e-Przetargi), w którym zidentyfikowano ładowanie zewnętrznych bibliotek JavaScript z publicznych sieci dostarczania treści (CDN) bez weryfikacji ich integralności za pomocą mechanizmu Subresource Integrity (SRI) oraz stosowanie niebezpiecznej deserializacji obiektów Java w module przesyłania załączników ofertowych przez wykonawców. Zadanie koncentruje się na analizie ryzyka wstrzyknięcia złośliwego kodu przez przejętą sieć CDN (atak Supply Chain / Magecart), ryzyka zdalnego wykonania kodu (RCE) poprzez deserializację niezaufanych danych oraz naruszenia zasad uczciwej konkurencji i tajemnicy ofert w świetle Ustawy - Prawo zamówień publicznych (PZP) i Rozporządzenia ws. KRI.
Powiązanie z sylabusem i treściami programowymi:
Urząd Marszałkowski Województwa Lubelskiego prowadzi platformę 'e-Przetargi Lubelskie', za pośrednictwem której samorządy, szpitale i instytucje wojewódzkie publikują ogłoszenia o przetargach publicznych, a wykonawcy składają zaszyfrowane oferty na roboty budowlane, dostawy sprzętu medycznego i usługi IT o łącznej wartości przekraczającej 1,2 mld PLN rocznie.
Stan faktyczny w obszarze integralności kodu i modułów aplikacji:
`<script src="https://cdn.niezweryfikowany-dostawca.org/jquery-3.5.1.min.js"></script>`
Marszałek Województwa powołuje zespół audytorski z zadaniem wyjaśnienia luk integralności i opracowania standardu zabezpieczeń portalu e-Zamówień.
Praca w zespole 2-3 osobowym polega na analizie podatności integralności oprogramowania, dekonstrukcji zagrożeń łańcucha dostaw i niebezpiecznej deserializacji oraz zaprojektowaniu szczelnych kontroli:
Student 1 (Audytor Wiodący / Prawo Zamówień Publicznych i Zgodność KRI): Analizuje regulamin platformy przetargowej, wymogi Ustawy - Prawo zamówień publicznych w zakresie integralności i nienaruszalności ofert, przepisy KRI oraz koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Bezpieczeństwa Front-End i W3C SRI): Analizuje strukturę odwołań do zasobów CDN w kodzie HTML, bada brak mechanizmu Subresource Integrity (SRI), ryzyko ataków Supply Chain / XSS oraz generuje poprawne znaczniki ze skrótami SHA-384.
Student 3 (Audytor Bezpieczeństwa Back-End i Deserializacji): Analizuje mechanizm przetwarzania załączników Java, dekonstruuje podatność Insecure Deserialization (`readObject()`), bada obecność podatnych bibliotek (gadżetów) i projektuje bezpieczną alternatywę opartą na formacie JSON z restrykcyjnym schematem walidacji. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Zestawcie wycinki kodu HTML z odwołaniami do CDN bez atrybutów SRI, fragmenty kodu Javy z wywołaniem `readObject()` na niezaufanym strumieniu danych oraz wynik testu wykonania polecenia systemowego (RCE). Wykażcie naruszenie integralności aplikacji na poziomie front-endu i back-endu.
Sformułujcie kartę niezgodności krytycznej (NC1) z odwołaniem do kontroli ISO/IEC 27001:2022 A.8.28 (Bezpieczne kodowanie) oraz § 19 ust. 2 pkt 12 lit. c KRI (ochrona przed utrata, uszkodzeniem i nieuprawniona modyfikacja przetwarzanych informacji). Sformułujcie szansę na doskonalenie (OFI) dotyczącą lokalnego hostowania wszystkich bibliotek skryptowych.
Zaprojektujcie kompleksowe zabezpieczenie integralności:
1. Zabezpieczenie zasobów zewnętrznych: lokalne hostowanie krytycznych bibliotek JavaScript na własnym, zabezpieczonym serwerze urzędowym lub obligatoryjne stosowanie atrybutu SRI z silnym skrótem kryptograficznym:
`<script src="https://cdn.zaufany.pl/jquery-3.7.1.min.js" integrity="sha384-1H217gw2762qsGpbMVZSn1373eSlSh80kbB7OqEfZ5bStQ5MBgpKaUWGnCdCj6Dz" crossorigin="anonymous"></script>`
2. Całkowite wyeliminowanie natywnej deserializacji Java: zastąpienie przesyłania serializowanych obiektów binarnych formatem tekstowym JSON ze ścisłą walidacją schematu (JSON Schema Validation) lub stosowanie bibliotek filtrujących klasy (np. `SerialFilter` wprowadzony w Java 9+ / JEP 290) dopuszczających wyłącznie bezpieczną białą listę typów danych.
3. Weryfikacja integralności ofert: automatyczne obliczanie i rejestrowanie skrótu SHA-256 każdego załącznika przetargowego w momencie wgrania wraz z potwierdzeniem urzędowym UPO (Urzędowe Poświadczenie Odbioru).
Zestawcie wady i zalety proponowanych rozwiązań (np. konieczność aktualizacji skrótów SRI przy każdej zmianie wersji biblioteki vs. gwarancja integralności kodu) i opracujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego na platformie 'e-Przetargi Lubelskie' i wykrytych luk integralności.
3. Karta niezgodności audytowej z powołaniem na kontrolę A.8.28 ISO 27001 oraz § 20 KRI.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawnych (Prawo zamówień publicznych, KRI, wytyczne W3C SRI, OWASP).
W referacie zaprezentujcie praktyczny przykład generowania skrótu SRI poleceniem `openssl dgst -sha384 -binary biblioteka.js | openssl base64 -A` i objaśnijcie, jak przeglądarka odrzuca plik w przypadku niezgodności choćby jednego bitu.
Temat: Audyt Błędów Rejestrowania i Monitorowania Zdarzeń Bezpieczeństwa (A09:2021 - Security Logging and Monitoring Failures) w Centralnej Bazie Ofert Pracy i Wniosków Stypendialnych: Brak Logów Sesji, Brak Detekcji Anomalii w Świetle RODO art. 33 i KRI
Głównym celem zadania jest opanowanie przez studentów praktycznych umiejętności oceny, badania i projektowania systemów rejestrowania zdarzeń, analizy logów audytowych oraz monitorowania incydentów w aplikacjach internetowych (kategoria OWASP Top 10:2021 - A09:2021 Security Logging and Monitoring Failures). Studenci badają portal usług rynku pracy i stypendiów unijnych, w którym stwierdzono całkowity brak rejestrowania prób nieautoryzowanego dostępu, brak monitorowania modyfikacji profili bezrobotnych i wypłat środków, brak centralizacji logów oraz brak powiadamiania administratorów o anomaliach w czasie rzeczywistym. W efekcie tych zaniechań masowe wykradanie danych osobowych 80 000 osób bezrobotnych trwało nieprzerwanie przez 6 miesięcy i zostało wykryte dopiero po zawiadomieniu z państwowego zespołu reagowania na incydenty CSIRT NASK / CERT Polska. Zadanie wymaga przeprowadzenia oceny naruszenia art. 33 RODO (zgłaszanie naruszeń w reżimie 72h), § 20 KRI oraz normy ISO/IEC 27001, a także opracowania zintegrowanego modelu rejestrowania zdarzeń zgodnego z zasadami rozliczalności i wytycznymi OWASP.
Powiązanie z sylabusem i treściami programowymi:
Wojewódzki Urząd Pracy w Kielcach zarządza portalem 'Świętokrzyski Rynek Pracy', który obsługuje rejestrację osób bezrobotnych, wypłaty stypendiów stażowych finansowanych z funduszy europejskich oraz bazę ofert pracodawców. W systemie przetwarzane są dane osobowe ponad 80 000 mieszkańców regionu (w tym numery PESEL, adresy zamieszkania, informacje o stanie zdrowia, wykształceniu i numerach rachunków bankowych).
Stan faktyczny w obszarze logowania i monitorowania aplikacji:
Dyrektor WUP w Kielcach powołuje zespół audytorski z zadaniem wyjaśnienia luk w rejestrowaniu zdarzeń i zaprojektowania kompleksowego systemu monitorowania.
Praca w zespole 2-3 osobowym polega na zbadaniu uchybień w logowaniu zdarzeń, analizie braku rozliczalności i opracowaniu kompleksowej polityki audytowej:
Student 1 (Audytor Wiodący / Prawne Aspekty Zgłaszania Incydentów i RODO): Analizuje naruszenie art. 33 RODO (obowiązek zgłoszenia naruszenia w 72h) oraz zasady rozliczalności (art. 5 ust. 2 RODO), bada procedury wewnętrzne WUP oraz koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Systemów Logowania i Telemetrii): Bada konfigurację serwera Apache, format logów, brak rejestrowania zdarzeń aplikacyjnych, projektuje strukturę bezpiecznego wpisu logu (kto, kiedy, co, z jakiego IP, jaki wynik) oraz zasady integralności logów (Write-Once).
Student 3 (Audytor Architektury Monitorowania i SIEM): Projektuje architekturę centralnego gromadzenia logów (Syslog over TLS do serwera SIEM), reguły korelacji zdarzeń w czasie rzeczywistym, reguły alertowania oraz weryfikuje spełnienie kontroli A.8.15 i A.8.16 normy ISO/IEC 27001. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Zestawcie zrzuty konfiguracji rotacji logów (`logrotate.conf` wskazujący 14-dniowy okres retencji), puste pliki dzienników aplikacyjnych oraz oficjalne pismo z CERT Polska o sprzedaży bazy. Wykażcie, że brak logowania uniemożliwił realizację obowiązków prawnych i dochodzenie powłamaniowe.
Sformułujcie kartę niezgodności krytycznej (NC1) z powołaniem na kontrolę ISO/IEC 27001:2022 A.8.15 (Rejestrowanie zdarzeń) i A.8.16 (Monitorowanie aktywności) oraz art. 32 ust. 1 lit. d RODO (regularne testowanie i ocenianie skuteczności środków technicznych). Sformułujcie szansę na doskonalenie (OFI) w zakresie wdrożenia reguł wykrywania anomalii behawioralnych.
Zaprojektujcie kompleksowy model rejestrowania i monitorowania:
1. Standard wpisu logu aplikacyjnego: każde zdarzenie uwierzytelniania, modyfikacji danych wrażliwych i eksportu danych musi generować ustrukturyzowany rekord JSON zawierający: timestamp w formacie ISO 8601, unikalny identyfikator zdarzenia, identyfikator użytkownika, źródłowy adres IP, nazwę akcji oraz status operacji (Success/Failure). Zakaz wpisywania haseł i numerów kart w treści logu!
2. Centralizacja i retencja: przesyłanie logów w czasie rzeczywistym szyfrowanym kanałem Syslog (TLS) do dedykowanego, odseparowanego klastra logowania (np. Graylog / Elasticsearch) z czasem retencji minimum 12 miesięcy (zgodnie z wytycznymi KRI i KSC).
3. Automatyczne alertowanie: zdefiniowanie reguł natychmiastowego powiadamiania zespołu bezpieczeństwa (SMS/e-mail) w przypadku: >5 nieudanych logowań w ciągu 1 minuty, pobrania >100 rekordów przez jednego użytkownika w ciągu godziny lub logowania spoza terytorium RP.
Zestawcie wady i zalety proponowanego rozwiązania (np. koszty pamięci masowej na logi vs. pełna rozliczalność i wczesne wykrywanie włamań) i opracujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego w systemie WUP w Kielcach i chronologia wykrycia wycieku przez CERT Polska.
3. Karta niezgodności audytowej z powołaniem na kontrole A.8.15 i A.8.16 ISO 27001 oraz art. 33 RODO.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawnych (RODO, KRI, KSC, NIST SP 800-92, OWASP).
Podczas wystąpienia seminaryjnego przedstawcie przykładową strukturę rekordu logu w formacie JSON oraz wyjaśnijcie słuchaczom pojęcie 'Mean Time to Detect' (MTTD) i dlaczego brak monitoringu drastycznie wydłuża czas trwania ataku w organizacji.
Temat: Audyt Podatności Fałszowania Żądań po Stronie Serwera (A10:2021 - Server-side Request Forgery / SSRF) w Systemie Rozliczeń i Generowania Dokumentów Przewozowych: Odpytanie Usługi Metadanych Chmurowych AWS oraz Skanowanie Sieci Intranetowej w Świetle NIS2
Głównym celem zadania jest wykształcenie u studentów umiejętności badania, wykrywania i neutralizowania zaawansowanych podatności fałszowania żądań po stronie serwera (kategoria OWASP Top 10:2021 - A10:2021 Server-Side Request Forgery - SSRF) w nowoczesnych architekturach webowych hostowanych w chmurze obliczeniowej. Studenci analizują internetową platformę logistyczną służącą do generowania listów przewozowych i faktur, w której zaimplementowano funkcjonalność automatycznego pobierania logo kontrahenta oraz załączników z zewnętrznego adresu URL podanego w formularzu. Z powodu braku walidacji adresu docelowego serwer aplikacji może zostać zmuszony do wysłania żądania HTTP do zasobów wewnętrznych niedostępnych z publicznego internetu: odpytania chmurowej usługi metadanych instancji AWS EC2 (`http://169.254.169.254/latest/meta-data/`) w celu kradzieży tymczasowych poświadczeń ról IAM, a także przeskanowania wewnętrznej sieci lokalnej (Intranet) i portów administracyjnych innych serwerów bazodanowych. Zadanie koncentruje się na analizie wektora ataku SSRF, ocenie ryzyka przejęcia chmury organizacji w świetle Dyrektywy NIS2 i normy ISO/IEC 27001 oraz opracowaniu skutecznych mechanizmów obronnych (białe listy domen, walidacja adresów IP z blokadą adresów prywatnych RFC 1918 i pętli zwrotnej, migracja na AWS IMDSv2).
Powiązanie z sylabusem i treściami programowymi:
PolLogistyka S.A. jest ogólnopolskim operatorem logistycznym zarządzającym flotą 800 pojazdów ciężarowych oraz 12 centrami dystrybucyjnymi. Spółka utrzymuje w chmurze Amazon Web Services (AWS) platformę webową 'LogiPort', za pośrednictwem której klienci biznesowi generują międzynarodowe listy przewozowe (CMR), etykiety adresowe oraz rozliczają usługi transportowe.
Stan faktyczny w obszarze implementacji funkcji sieciowych aplikacji:
`$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $_POST['logo_url']); $img = curl_exec($ch);`
`http://169.254.169.254/latest/meta-data/iam/security-credentials/RolaAplikacjiLogiPort`
Jest to adres lokalnej usługi metadanych instancji AWS (Instance Metadata Service - IMDSv1).
Zarząd PolLogistyka S.A. zleca zespołowi audytorskiemu natychmiastowe zbadanie podatności SSRF, ocenę ryzyka chmurowego i wdrożenie wielowarstwowych zabezpieczeń.
Praca w zespole 2-3 osobowym polega na zbadaniu podatności SSRF, przeanalizowaniu wektorów kompromitacji chmury oraz zaprojektowaniu architektury obronnej:
Student 1 (Audytor Wiodący / Bezpieczeństwo Łańcucha Dostaw i Dyrektywa NIS2): Analizuje rolę spółki w łańcuchu dostaw, skutki wycieku danych kontrahentów w świetle NIS2 i RODO, procedury zarządzania ryzykiem chmurowym oraz koordynuje strukturę referatu.
Student 2 (Audytor Techniczny ds. Bezpieczeństwa Aplikacji Webowych i SSRF): Analizuje podatny kod cURL w skrypcie `generuj_cmr.php`, dekonstruuje podatność A10:2021 SSRF według wytycznych WSTG-INPV-19, bada wektory eksfiltracji metadanych IMDSv1 i projektuje bibliotekę walidującą adresy URL z blokadą prywatnych zakresów IP.
Student 3 (Audytor Bezpieczeństwa Chmury AWS i Sieci): Bada konfigurację instancji AWS EC2, rolę IAM, projektuje wymuszenie protokołu IMDSv2 (Session-oriented token), konfigurację reguł Security Groups / WAF oraz weryfikuje spełnienie kontroli A.8.20 i A.8.22 normy ISO/IEC 27001. W zespole 2-osobowym obowiązki te dzielą Studenci 1 i 2.
Powiążcie fragment kodu źródłowego z wywołaniem cURL, treść wygenerowanego dokumentu PDF zawierającego klucze AWS IAM oraz logi AWS CloudTrail rejestrujące zapytania z pobranymi poświadczeniami. Wykażcie, że podatność aplikacji webowej doprowadziła do całkowitej kompromitacji tożsamości chmurowej.
Sformułujcie kartę niezgodności krytycznej (NC1) z powołaniem na kontrolę ISO/IEC 27001:2022 A.8.28 (Bezpieczne kodowanie) oraz A.8.20 (Bezpieczeństwo sieci). Sformułujcie szansę na doskonalenie (OFI) dotyczącą cyklicznego audytu uprawnień ról IAM (Least Privilege).
Zaprojektujcie trójwarstwową obronę przed SSRF:
1. Walidacja aplikacji webowej:
2. Utwardzenie środowiska chmurowego AWS:
3. Segmentacja sieciowa: reguły zapory sieciowej (iptables / AWS Security Groups) uniemożliwiające serwerowi WWW nawiązywanie połączeń do wewnętrznych portów administracyjnych baz danych (np. 6379 Redis, 5432 PostgreSQL).
Zestawcie wady i zalety wielowarstwowej ochrony przed SSRF (np. konieczność wstępnego odpytania DNS i ryzyko ataku DNS Rebinding vs. pełna ochrona zasobów chmurowych) i opracujcie referat seminaryjny.
Plan prezentacji referatu seminaryjnego (10-15 minut):
Wymagana treść pisemnego raportu i referatu studenckiego:
1. Odpowiedzi na pytania problemowe:
2. Opis stanu faktycznego na platformie 'LogiPort' i przebiegu symulacji wycieku kluczy AWS IAM.
3. Karta niezgodności audytowej z powołaniem na kontrolę A.8.28 normy ISO/IEC 27001:2022 oraz wymogi Dyrektywy NIS2.
4. Szczegółowe rozwiązanie problemu:
5. Analiza zalet i wad wybranego rozwiązania:
6. Bibliografia, netografia i odnośniki do norm i przepisów prawnych (NIS2, RODO, dokumentacja AWS Security, OWASP SSRF).
W referacie seminaryjnym zademonstrujcie mechanizm działania IMDSv2 i wyjaśnijcie, dlaczego wymuszenie nagłówka 'X-aws-ec2-metadata-token' blokuje klasyczne ataki SSRF realizowane przez proste żądania HTTP GET w aplikacjach webowych.