Testy penetracyjne · Ochrona zdrowia

Testy bezpieczeństwa systemów medycznych i aplikacji pacjenta

Testy bezpieczeństwa systemów medycznych to testy penetracyjne aplikacji pacjenta, portali wyników badań, systemów laboratoryjnych i interfejsów wymiany danych, prowadzone za pisemną zgodą i w trybie nieinwazyjnym. Innovix z Wrocławia oferuje je szpitalom, przychodniom, laboratoriom i ich dostawcom w całej Polsce - zdalnie, a test sieci wewnętrznej także na miejscu. Raport pokazuje, czy dane o zdrowiu może odczytać ktoś niepowołany, i daje działowi compliance dowód testowania, którego oczekują ogólne rozporządzenie o ochronie danych (RODO, rozporządzenie (UE) 2016/679) i ustawa o KSC.

01Zakres

Jakie systemy medyczne testujemy?

Najwięcej ryzyka dla danych pacjentów niosą systemy wystawione do internetu i integracje między placówkami.

Systemy medyczne, które testujemy, i zakres testu
System Co sprawdzamy Podejście
Aplikacja pacjenta (iOS i Android) Dane o zdrowiu zapisane na telefonie, logowanie i sesja, komunikacja z API, przekazywanie danych do bibliotek analitycznych i usług zewnętrznych Grey box według OWASP MASVS 2.1 i procedur MASTG, każda platforma osobno
Portal wyników badań Dostęp do wyniku innego pacjenta przez numer zlecenia lub link, pobieranie plików PDF, konta opiekunów i osób upoważnionych, wygasanie linków wysyłanych SMS-em i e-mailem Grey box z kontami pacjenta, opiekuna i personelu
Rejestracja online i wideokonsultacje Przejęcie konta i odzyskiwanie dostępu, rezerwacja lub odwołanie cudzej wizyty, załączniki dodawane przez pacjentów, dostęp do nagrań i czatu Black box i grey box przed uruchomieniem
System laboratoryjny i jego integracje Interfejsy przyjmowania zleceń i wydawania wyników, konta punktów pobrań i zleceniodawców, konta techniczne integracji, rozdzielenie danych między placówkami Grey box, a przy dostępie do kodu - audyt white box
API wymiany danych Autoryzacja obiektów, tokeny OAuth 2.0 i JWT, klucze partnerów, weryfikacja webhooków, limity zapytań OWASP API Security Top 10 2023
Sieć placówki Usługi widoczne z internetu, dostęp zdalny dostawców, segmentacja sieci aparatury, administracji i gości Test zewnętrzny i wewnętrzny według NIST SP 800-115 - przez VPN albo na miejscu

Szczegółowe zakresy opisujemy na stronach: testy penetracyjne aplikacji mobilnych, aplikacje webowe, API, infrastruktura i sieci oraz audyt kodu źródłowego. Jeśli przygotowujesz aplikację pacjenta do testu, zacznij od checklisty bezpieczeństwa aplikacji mobilnej.

02Dane o zdrowiu

Dlaczego dane o zdrowiu wymagają innego testu?

RODO zalicza dane dotyczące zdrowia do szczególnych kategorii danych osobowych; zakazu ich przetwarzania z art. 9 ust. 1 nie stosuje się tylko wtedy, gdy spełniony jest jeden z warunków z ust. 2. Dla testu ważne są dwa przepisy: przy przetwarzaniu takich danych na dużą skalę wymagana jest ocena skutków dla ochrony danych (art. 35 ust. 3 lit. b), a wśród środków bezpieczeństwa, które administrator i podmiot przetwarzający dobierają do ryzyka, art. 32 ust. 1 lit. d wymienia - w stosownym przypadku - regularne testowanie, mierzenie i ocenianie skuteczności zabezpieczeń. Raport z testu daje do oceny skutków i do dokumentacji środków bezpieczeństwa sprawdzone fakty zamiast deklaracji.

Z perspektywy testera zmienia to dwie rzeczy:

  • ocenę wpływu - odczyt cudzego wyniku badania to technicznie często prosty błąd autoryzacji, ale w raporcie opisujemy go razem z kategorią danych i liczbą rekordów, do których prowadzi,
  • dane, na których pracujemy - najlepiej środowisko testowe z danymi syntetycznymi lub zanonimizowanymi i kontami testowymi każdej roli; tak samo postępujemy w systemach, które sami budujemy dla ochrony zdrowia.

03NIS2/KSC

Czy test penetracyjny pomaga spełnić wymagania ustawy o KSC?

Ochrona zdrowia jest sektorem kluczowym z załącznika nr 1 do ustawy o krajowym systemie cyberbezpieczeństwa. Samodzielny publiczny zakład opieki zdrowotnej i inny podmiot leczniczy, który nie jest przedsiębiorcą, jest podmiotem ważnym przy 50-249 zatrudnionych, a kluczowym od 250 osób (art. 5 ust. 8). Szpital-spółka, przychodnia w formie spółki czy laboratorium działające jako podwykonawca podlegają regule wielkości: średni podmiot jest ważny, duży - kluczowy.

System zarządzania bezpieczeństwem informacji, który ustawa nakłada na podmioty kluczowe i ważne, ma obejmować m.in. bezpieczeństwo przy nabywaniu, rozwoju, utrzymaniu i eksploatacji systemu informacyjnego - z jego testowaniem włącznie - oraz polityki i procedury oceny, czy środki techniczne i organizacyjne są skuteczne (art. 8 ust. 1 pkt 2 lit. b i h ustawy o KSC). Obowiązki z rozdziału 3 ustawy trzeba wdrożyć do 3 kwietnia 2027 r. Raport z testu portalu, aplikacji pacjenta czy sieci placówki pokazuje, jak te środki działają w praktyce: z dowodem przy każdej podatności i wynikiem retestu.

Status placówki, organ, CSIRT Centrum e-Zdrowia i terminy opisujemy na stronie NIS2 i KSC w szpitalach, a szybko sprawdzisz go w kwalifikatorze NIS2/KSC.

Test przydaje się też przy incydencie. Incydent poważny szpital zgłasza przez system S46: wczesne ostrzeżenie w ciągu 24 godzin od wykrycia, zgłoszenie w ciągu 72 godzin, sprawozdanie końcowe w ciągu miesiąca (art. 11 ustawy o KSC). Zespół, który zna swoje podatności z raportu i ich status po reteście, szybciej oceni, którędy mógł wejść atakujący. Procedurę opisujemy w artykule o zgłaszaniu incydentów w KSC.

04Przykład

Jak wygląda ustalenie z testu portalu wyników?

Fikcyjna przychodnia, fikcyjny portal - mechanizm błędu możliwy w systemach wydawania wyników.

MED-02

Wynik badania w PDF dostępny bez logowania po zmianie numeru w linku

High CVSS 3.1 7.5

Miejsce
GET /wyniki/pobierz?nr=<numer zlecenia>
CWE
CWE-639: Authorization Bypass Through User-Controlled Key
Wektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Opis

Portal wysyła pacjentowi SMS z linkiem do wyniku. Link zawiera kolejny numer zlecenia, a serwer nie sprawdza ani sesji, ani jednorazowego tokenu - zwraca plik każdemu, kto zna numer. Zmieniając numer o jeden, można pobrać wyniki badań innych pacjentów razem z imieniem, nazwiskiem i numerem PESEL z nagłówka dokumentu.

Dowód

GET /wyniki/pobierz?nr=2026104718 HTTP/1.1
Host: wyniki.przychodnia.example
(brak ciasteczka sesji i nagłówka Authorization)

HTTP/1.1 200 OK
Content-Type: application/pdf
(plik z wynikiem pacjenta testowego nr 2 - dostęp potwierdzony na koncie testowym)

Rekomendacja

Link w wiadomości powinien zawierać losowy, jednorazowy token o ograniczonej ważności, a pobranie pliku - wymagać zalogowania albo potwierdzenia tożsamości. Serwer musi sprawdzać, czy wynik należy do zalogowanego pacjenta lub osoby przez niego upoważnionej. Po poprawce sprawdzamy w reteście także stare linki i warianty adresu.

Przykładowa podatność z raportu - dane demonstracyjne

To ustalenie jest fikcyjne, ale pokazuje mechanizm, którego skutki w ochronie zdrowia są szczególnie poważne: wygodna ścieżka dla pacjenta (link w SMS-ie) omija kontrolę dostępu, którą ma główna aplikacja. W raporcie przy takim błędzie podajemy też, jakie kategorie danych były osiągalne i jakie zdarzenia warto sprawdzić w logach. Jeśli logi wskażą, że ktoś wcześniej wykorzystał podatność, administrator ocenia, czy doszło do naruszenia ochrony danych osobowych. Takie naruszenie zgłasza organowi nadzorczemu bez zbędnej zwłoki - w miarę możliwości w ciągu 72 godzin po jego stwierdzeniu - chyba że jest mało prawdopodobne, by skutkowało ono ryzykiem naruszenia praw lub wolności osób fizycznych (art. 33 ust. 1 RODO).

Pełną strukturę raportu na danych demonstracyjnych pokazujemy na stronie przykładowy raport z testu penetracyjnego.

05Co dostajesz

Co dostaje dział compliance i inspektor ochrony danych?

Executive Summary

Najważniejsze ryzyka językiem biznesowym: które dane pacjentów były zagrożone, jakie są skutki i co naprawić najpierw.

Ustalenia z dowodami

Każda podatność z dowodem technicznym, oceną CVSS 3.1 z kontekstem biznesowym i rekomendacją naprawy dla zespołu lub dostawcy.

Harmonogram remediacji

Zalecane terminy według poziomu ryzyka: Critical 14 dni, High 30 dni, Medium 90 dni, Low 180 dni.

Materiał dla IOD

Opis potwierdzonych ryzyk dla danych o zdrowiu, który inspektor ochrony danych może wykorzystać w ocenie skutków i rejestrze ryzyk.

Dowód testowania

Dokument pokazujący, że zabezpieczenia sprawdzono w praktyce - do dokumentacji KSC, dla audytora i dla zarządu.

Retest i wersje językowe

Po naprawach sprawdzamy każdą podatność ponownie z nowym dowodem; raport przygotowujemy po polsku i po angielsku.

06Przebieg

Jak przebiega test w placówce medycznej?

Sześć kroków od zakresu do retestu. Prace zaczynamy po pisemnej zgodzie na test; na życzenie najpierw podpisujemy NDA.

  1. Zakres i zgoda

    Lista systemów, pisemna zgoda placówki, a dla systemów utrzymywanych przez dostawcę - uwzględnienie jego zasad testów.

  2. Dane i konta

    Środowisko testowe z danymi syntetycznymi albo uzgodnione zasady pracy na produkcji; konta pacjenta, opiekuna, rejestracji i personelu.

  3. Okna czasowe

    Terminy poza szczytem rejestracji i wydawania wyników, kontakt awaryjny po obu stronach, tryb nieinwazyjny bez DoS.

  4. Testy

    Aplikacje, portale, integracje i API według uzgodnionej metodyki; pilne ustalenia zgłaszamy od razu, nie dopiero w raporcie.

  5. Raport i omówienie

    Omówienie z zespołem IT i dostawcami oraz krótki briefing dla dyrekcji i działu compliance.

  6. Retest

    Sprawdzenie poprawek, także w nowej wersji aplikacji pacjenta w sklepach, i aktualizacja raportu.

07Dostawcy

Tworzysz oprogramowanie dla placówek medycznych?

Placówka objęta ustawą o KSC ocenia bezpieczeństwo systemów dostawców jako część łańcucha dostaw. Producent portalu pacjenta, systemu laboratoryjnego czy aplikacji do wideokonsultacji może zostać poproszony o aktualny raport z niezależnego testu - przed podpisaniem umowy, przed wdrożeniem albo po dużej zmianie.

Testujemy też systemy, których nie budowaliśmy. Jeśli dopiero planujesz system dla placówek, zobacz, jak budujemy oprogramowanie dla ochrony zdrowia - z testem penetracyjnym przed wdrożeniem i po większych zmianach.

Najczęściej zadawane pytania

Czy możecie przetestować portal wyników, który utrzymuje zewnętrzny dostawca?

Tak, ale test środowiska dostawcy wymaga jego zgody albo zmieszczenia się w zasadach testów, które dostawca określa dla klientów. Bez tego testujemy to, czym dysponuje placówka: konfigurację jej konta w usłudze, integracje i API po jej stronie oraz aplikacje, z których korzystają pacjenci. Zakres i zgody ustalamy przed startem, a pismo do dostawcy pomagamy przygotować.

Czy test wymaga dostępu do prawdziwych danych pacjentów?

Nie. Odczyt cudzego wyniku wykazujemy na dwóch fikcyjnych pacjentach: z konta pierwszego pobieramy wynik drugiego, więc nie trzeba otwierać rekordu żadnej prawdziwej osoby. Jeśli zakres obejmuje produkcję, podatność potwierdzamy minimalnym, bezpiecznym dowodem.

Czy raport z testu portalu pacjenta przyda się w audycie z art. 15 szpitala?

Tak, jako dowód, że zabezpieczenia techniczne portalu i jego API sprawdzono w praktyce: raport pokazuje, jakie podatności znaleziono, kiedy je usunięto i czy retest to potwierdził. Audyt z art. 15 dotyczy jednak bezpieczeństwa systemu informacyjnego wykorzystywanego w procesie świadczenia usługi (art. 15 ust. 1), a portal jest tylko jego częścią - raport z testu to dla audytora jeden z materiałów, a nie zamiennik audytu. Więcej: NIS2 i KSC w szpitalach.

Czy podatność z raportu trzeba zgłosić jako naruszenie ochrony danych?

Nie, sama podatność znaleziona w teście nie jest jeszcze naruszeniem. Pytanie o zgłoszenie pojawia się dopiero wtedy, gdy ślady w logach wskazują, że ktoś wykorzystał lukę przed testem - termin 72 godzin liczy się wtedy od stwierdzenia naruszenia (art. 33 ust. 1 RODO). W raporcie wskazujemy okres, za który warto przejrzeć logi, i zdarzenia świadczące o wykorzystaniu luki, a decyzję o zgłoszeniu podejmuje administrator danych.

Czy sprawdzacie, co widzi opiekun albo osoba upoważniona przez pacjenta?

Tak. Konto opiekuna, rodzica małoletniego pacjenta albo osoby upoważnionej to w teście osobna rola. Sprawdzamy, czy widzi ono wyłącznie wyniki i wizyty swoich podopiecznych, czy zmiana identyfikatora podopiecznego w żądaniu nie otwiera danych innego pacjenta i czy cofnięcie upoważnienia w placówce od razu odcina dostęp w portalu i w aplikacji. Do testu potrzebne są co najmniej dwie pary kont testowych - opiekun A z podopiecznym A oraz opiekun B z podopiecznym B - tak aby sprawdzić, czy opiekun B nie dotrze do danych podopiecznego A.

Jak zaplanować test, żeby nie zakłócić pracy przychodni, laboratorium i portalu wyników?

Termin dopasowujemy do rytmu placówki. Portal wyników i e-rejestrację sprawdzamy na środowisku testowym albo poza godzinami, w których pacjenci najczęściej pobierają wyniki, a prace przy systemie laboratoryjnym i jego integracjach - w oknie serwisowym uzgodnionym z dostawcą. Daty startu, testów, raportu i retestu wpisujemy do oferty.

Źródła

  1. Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (ogólne rozporządzenie o ochronie danych, RODO), Dz.Urz. UE L 119 z 4.05.2016, ze sprostowaniami: L 127 z 23.05.2018, L 74 z 4.03.2021 - tekst skonsolidowany ()
  2. Ustawa z dnia 23 stycznia 2026 r. o zmianie ustawy o krajowym systemie cyberbezpieczeństwa oraz niektórych innych ustaw (Dz.U. 2026 poz. 252) ()
  3. Ustawa z dnia 5 lipca 2018 r. o krajowym systemie cyberbezpieczeństwa - tekst ujednolicony Kancelarii Sejmu (Dz.U. 2026 poz. 20, 252, 815, 1003, 1206) - art. 5, 8, 11 i 15 ()
  4. Ustawa z dnia 6 listopada 2008 r. o prawach pacjenta i Rzeczniku Praw Pacjenta (t.j. Dz.U. z 2024 r. poz. 581 ze zm.) ()
  5. Ustawa z dnia 6 czerwca 1997 r. - Kodeks karny (tekst jednolity Dz.U. 2026 poz. 1342) - art. 267-269c ()
  6. OWASP Mobile Application Security Verification Standard (MASVS) 2.1 ()
  7. OWASP MASVS - wydania w repozytorium projektu (v2.1.0 oznaczone jako najnowsze) ()
  8. OWASP Mobile Application Security Testing Guide (MASTG) ()
  9. OWASP API Security Top 10 2023 ()
  10. OWASP Web Security Testing Guide (WSTG) v4.2 ()
  11. NIST SP 800-115 - Technical Guide to Information Security Testing and Assessment ()
  12. FIRST - Common Vulnerability Scoring System (CVSS) v3.1 i v4.0 ()

Stan prawny na: Aktualizacja:

Powiązane usługi

Porozmawiajmy o Twoim projekcie lub audycie

Opisz krótko, czego potrzebujesz - wrócimy z propozycją kolejnych kroków.

lub zadzwoń pod numer +48 575 621 877