Penetračné testovanie a zdravotnícke systémy
Lukáš Naď, Cybersecurity Specialist – Siemens Healthineers Tím zo Siemens Healthineers sa venuje testovaniu aplikácií, ktoré denne používajú nemocnice po celom svete. V zdravotníctve totiž aj malá chyba v kóde môže mať veľký dopad – nespôsobí síce pád systému, ale môže otvoriť dvere niekomu, kto tam nemá čo hľadať.

Ak vyvíjaš aplikácie, určite poznáš ten moment: nasadíš novú funkcionalitu, prejde testami, všetko vyzerá v poriadku… a zrazu ti v hlave preblikne otázka:
„Funguje to, ale je to bezpečné?“
Presne tu prichádza na scénu penetračné testovanie – nie ako buzzword, ale ako nástroj, ktorý ti ukáže, ako by tvoj softvér obstál pod reálnym útokom. V prostredí, kde ide o citlivé dáta a dostupnosť 24/7, je to nevyhnutný krok.Prečo je pentest v zdravotníctve iný?
Zdravotnícke aplikácie bežia v zložitom ekosystéme:
- hybridné siete (on-prem, cloud, VPN),
- API komunikácia s osobnými a medicínskymi údajmi,
- dlhé životné cykly (patchovanie nie je vždy rýchle),
- integrácia s externými systémami (poisťovne, laboratóriá, EHR…).
V takomto prostredí:
- aj malá chyba v autorizácii môže spôsobiť únik dát,
- zle nastavený firewall otvorí prístup k interným systémom,
- zabudnuté heslo alebo API kľúč v kóde sa môže stať časovanou bombou.
Na čo si dať pozor? 6 typických chýb v zdravotníckych systémoch
1. Slabá autentifikácia a prístupové kontroly
- Defaultné heslá (napr. admin/admin123) v PACS, analyzátoroch či routeroch.
- Zdieľané účty bez možnosti auditu.
- Chýbajúca MFA.
- Overenie len na úrovni frontendu, bez kontroly na serveri.
2. Autorizačné chyby (Broken Access Control)
- Prístup k dátam iných pacientov cez manipuláciu s ID v URL (IDOR, BOLA).
- Nesprávne definované roly.
- Zle zvládnuté prechody medzi oddeleniami (zachovanie predošlého prístupu).
3. Zverejnené služby bez ochrany
- Admin rozhrania prístupné z internetu.
- Zle nakonfigurované VPN/firewally.
- Otvorené porty s protokolmi zraniteľné na verejne známe zraniteľnosti (napr. SMBv1).
4. Slabá kryptografia
- Neúplné HTTPS nasadenie.
- Self-signed certifikáty v produkcii.
- Hashovanie hesiel cez MD5 alebo SHA-1.
- Citlivé kryptografické údaje v kóde (napr. kryptografické kľúče).
5. Zraniteľnosti vo webových aplikáciách a API
- XSS, CSRF, SQLi, neautorizovaný prístup cez nezdokumentované endpointy.
- CORS chyby, chýbajúce rate limitery.
6. Údaje tam, kde nemajú byť
- Heslá a tokeny v .env, JSON alebo XML konfiguráciách.
- Citlivé dáta v logoch.
- Session tokeny v URL namiesto zabezpečených cookies.
Reálny príklad: pacient videl záznamy všetkých ostatných
Pri testovaní portálu na zobrazovanie laboratórnych výsledkov sme zistili, že po prihlásení bolo možné zmeniť patient_id v URL a získať prístup k výsledkom iných pacientov – vrátane ich osobných údajov a lekárskych nálezov.
Problém?
Autorizácia bola riešená len na strane klienta – server nič nekontroloval. Typická chyba Broken Object Level Authorization (BOLA), ktorá v zdravotníctve znamená vážny problém.
Bezpečnosť nie je bonus, je to základ
Útoky ako ransomware, úniky údajov alebo manipulácia s výsledkami sú reálne. Penetračné testovanie ti ukáže, čo nevieš – a čo by si mal vedieť skôr, než to urobí niekto iný.