Executive Summary
Najważniejsze ryzyka językiem biznesowym: które dane pacjentów były zagrożone, jakie są skutki i co naprawić najpierw.
Testy penetracyjne · Ochrona zdrowia
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
Najwięcej ryzyka dla danych pacjentów niosą systemy wystawione do internetu i integracje między placówkami.
| 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
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:
03NIS2/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
Fikcyjna przychodnia, fikcyjny portal - mechanizm błędu możliwy w systemach wydawania wyników.
MED-02
High CVSS 3.1 7.5
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.
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
Najważniejsze ryzyka językiem biznesowym: które dane pacjentów były zagrożone, jakie są skutki i co naprawić najpierw.
Każda podatność z dowodem technicznym, oceną CVSS 3.1 z kontekstem biznesowym i rekomendacją naprawy dla zespołu lub dostawcy.
Zalecane terminy według poziomu ryzyka: Critical 14 dni, High 30 dni, Medium 90 dni, Low 180 dni.
Opis potwierdzonych ryzyk dla danych o zdrowiu, który inspektor ochrony danych może wykorzystać w ocenie skutków i rejestrze ryzyk.
Dokument pokazujący, że zabezpieczenia sprawdzono w praktyce - do dokumentacji KSC, dla audytora i dla zarządu.
Po naprawach sprawdzamy każdą podatność ponownie z nowym dowodem; raport przygotowujemy po polsku i po angielsku.
06Przebieg
Sześć kroków od zakresu do retestu. Prace zaczynamy po pisemnej zgodzie na test; na życzenie najpierw podpisujemy NDA.
Lista systemów, pisemna zgoda placówki, a dla systemów utrzymywanych przez dostawcę - uwzględnienie jego zasad testów.
Środowisko testowe z danymi syntetycznymi albo uzgodnione zasady pracy na produkcji; konta pacjenta, opiekuna, rejestracji i personelu.
Terminy poza szczytem rejestracji i wydawania wyników, kontakt awaryjny po obu stronach, tryb nieinwazyjny bez DoS.
Aplikacje, portale, integracje i API według uzgodnionej metodyki; pilne ustalenia zgłaszamy od razu, nie dopiero w raporcie.
Omówienie z zespołem IT i dostawcami oraz krótki briefing dla dyrekcji i działu compliance.
Sprawdzenie poprawek, także w nowej wersji aplikacji pacjenta w sklepach, i aktualizacja raportu.
07Dostawcy
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.
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ć.
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.
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.
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.
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.
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.
NIS2/KSC · Ochrona zdrowia
NIS2 dla szpitali: kiedy SP ZOZ i szpital-spółka są podmiotem kluczowym lub ważnym, organ, CSIRT CeZ, terminy 3.04.2027 i 3.04.2028 i przygotowanie do audytu.
Testy penetracyjne · Aplikacje mobilne
Audyt bezpieczeństwa i testy penetracyjne aplikacji iOS i Android według OWASP MASVS: dane na telefonie, API, SDK i dane o zdrowiu. Raport i retest.
Branże · Ochrona zdrowia
Oprogramowanie dla ochrony zdrowia: dane szczególnej kategorii (RODO), tajemnica i dokumentacja medyczna, integracje z EDM i SIM, NIS2/KSC i dostępność.
Opisz krótko, czego potrzebujesz - wrócimy z propozycją kolejnych kroków.
lub zadzwoń pod numer +48 575 621 877