DICOM: medicínské obrázky s citlivými daty a škatulkou pro malware

27. 5. 2020
Doba čtení: 5 minut

Sdílet

Už jsme si zvykli: občas uniknou nějaká data pacientů, sem tam nemocnice chytí ransomware a někdy vidíte na obrazovce u lékaře logo Windows XP. O obrazových datech v medicíně se mluví méně, o to více dokáží překvapit.

DICOM (Digital Imaging and Communications in Medicine) je standard pro komunikaci a zpracování obrazových dat v medicíně. Jeho historie je dlouhá a počíná v osmdesátých letech minulého století. Léta letoucí byl standard DICOM z pohledu bezpečnosti dat jaksi stranou zájmu. A ukázalo se, že neprávem.

V užším smyslu se pojmem DICOM označuje samotný formát souboru obrazové dokumentace v medicíně. Můžeme jej považovat za specializovaný formát vytvořený přímo pro lékařské účely. Soubor DICOM může obsahovat obrázky z rentgenových vyšetření, výpočetní tomografie, magnetické rezonance, ultrazvukové snímky, dokonce také nahrané EKG a další. Kromě toho ale formát DICOM obsahuje jakási metadata, která zahrnují jméno a příjmení pacienta, základní demografické údaje a pak spoustu dalších položek, jako je typ, modalita a účel vyšetření, diagnóza, dávka záření a podobně. Získáním dat ve formátu DICOM může útočník získat dosti podrobný obraz pacienta a celou škálu cenných citlivých údajů.

V článku si ukážeme tři neduhy. DICOM může být šikovným nositelem škodlivého kódu, obrazová data mohou být relativně snadno upravena útočníkem a databáze DICOM mohou být volně přístupné na webu.

Než se zcela ponoříme do tématu obrazových dat, bude dobře si udělat přehled o únicích dat ve zdravotnictví.

Úniky dat ve zdravotnictví v USA

Podrobná a veřejná česká data bohužel nemáme, proto se musíme pro ilustraci spokojit s daty americkými. V USA je nutné hlásit každý bezpečnostní incident, který postihne více než 500 klientů či pacientů, do systému Office for Civil Rights: Breach Portal. Díky tomu můžeme mít představu, jak se situace okolo úniků pacientských dat vyvíjí v čase.

Následující graf ukazuje počet incidentů týkajících se úniků pacientských dat v USA v letech 2010–2019. Jedná se o počet hlášených incidentů, proto jsou na ose y zdánlivě nízká čísla; ve skutečnosti se únik dat ze zdravotnictví v USA týká řádově desítek milionů lidí ročně.


Graf typů úniků pacientských dat v USA v letech 2010–2019

Jasně vidíme, že v posledních letech stoupá počet incidentů okolo síťových služeb a e-mailů, jedná se o nárůst neautorizovaných přístupů k datům, případně hackerských útoků. Před necelými dvěma lety tento nárůst teprve začínal (viz tehdejší analýza na blogu), nyní je již převaha těchto útoků zcela zřejmá.

Zranitelnosti formátu DICOM

Přestože se o nějakých zranitelnostech formátu DICOM, systémů PACS a podobně docela vědělo, zůstávala tato problematika lehce stranou ve stínu jiných, větších potíží zdravotnictví: zastaralé a nedostatečně zabezpečené informační systémy, nutnost udržování již nepodporovaných operačních systémů kvůli kompatibilitě se starými zdravotnickými přístroji, liknavost výrobců zařízení a další, o kterých jsme zde na Rootu již mnohokrát psali.

Rok 2019 se zdá být v určitém smyslu přelomovým, protože se ukázalo, že DICOM může být také velkým problémem. Jednak při nesprávném nastavení může docházet k přenosu nešifrovaných dat, která lze snadno přečíst a případně upravit, a jednak samotný formát DICOM má určité zranitelnosti zabudované.

Výzkumníci okolo Yisroela Mirského například dokázali upravit snímky z výpočetní tomografie pomocí strojového učení. Ve svém článku upozorňují, že do snímků pacientů lze rychlým a vcelku snadným zásahem vpašovat např. nádor, nebo naopak nádor odstranit. Dopady pro pacienty jsou v obou případech zřejmé a tuto metodu by mohli útočníci využít nejen k útoku na pacienty samotné, ale také například na nemocnice. Třeba ve formě vydírání: byly pozměněny některé snímky z CT některých pacientů a teprve po zaplacení výkupného dostane vaše organizace neupravené, tj. správné snímky.

Zdrojové kódy k tomuto husarskému kousku jsou na GitHubu a praktická ukázka je zde na videu:

Jako druhou potíž jsem zmiňoval zranitelnosti samotného formátu DICOM. Bylo by předem vhodné zmínit strukturu tohoto formátu.

Struktura DICOM

Podotýkám, že jsem pouhý lékař, takže si nedovolím zacházet do technických detailů a snad i následující řádky berte s rezervou.

Nuže samotný DICOM objekt obsahuje nějaká metadata (veřejné atributy jako jméno a příjmení pacienta, nějaké biografické údaje, údaje o vyšetření atd., a privátní atributy, které si může určit daný výrobce zařízení či softwaru) a obrazová data (tj. třeba rentgenový snímek plic). Nicméně nemusí jít jen o obrazová data, objekt může obsahovat i jiný formát dat, například PDF.


DICOM object

Už z tohoto je zřejmé, že nejde jen o obrázek plic, ale o spousty citlivých dat pacienta s tímto snímkem uložených. To je důvodem, proč je formát DICOM tak výživným zdrojem citlivých údajů.

No a tento DICOM objekt je pak obalen dalšími bloky dat podle toho, co se s ním zrovna děje. Pokud je odesílán sítí, je součástí tzv. DICOM zprávy blok s příkazy, co se s DICOM objektem má dělat (například uložit). Pokud je DICOM objekt uložen ve formátu souboru na nějakém úložišti,tak mu předchází bloky tzv. preambule o délce 128 bytů, která je obvykle prázdná a snad má sloužit k instrukcím pro software, který neumí číst přímo DICOM objekt, pak následuje sada indikátorů DICM a nakonec samotný DICOM objekt popsaný výše.

Jak ukazuje článek Cylera Labs, právě preambule spolu s možností uložit do DICOM objektu i jiná data než obrazová umožňuje, aby byl spolu se snímkem pacienta přenášen i nějaký malware. Stačí do preambule vložit příslušné instrukce a do objektu DICOM kromě obrazové dokumentace pacienta i nějaký spustitelný kód (třeba do oblasti privátních atributů). Preambule zařídí spuštění škodlivého kódu, zatímco zbytek DICOM objektu bude správně fungovat a zobrazovat lékaři žádaný rentgenový snímek.

bitcoin_skoleni

Otevřené DICOM servery

Situaci zranitelností ještě zhoršují další okolnosti. Pro komunikaci s DICOM serverem se většinou používají porty 104, 11112, 2761, 2762. První dva jsou nezabezpečené, druhé dva používají ISCL resp. TLS. V době psaní tohoto článku dává jednoduchý vyhledávací dotaz na Shodanu (článek na Rootu) děsivý výsledek okolo dvou tisíc dostupných DICOM serverů. Ty by přitom měly být skryty ve vnitřní síti a chráněny autentizací, aby nebylo možné se těchto serverů dotazovat např. na databáze pacientů a podobně.


Shodan: vyhledávání DICOM serverů

I na obrazová data se musí myslet

Ukázali jsme si tři scénáře, kdy je nutné myslet na důsledné zabezpečení obrazových dat v medicíně: jednak integrita obrazových dat, kdy je možné nezabezpečená data prakticky v reálném čase upravovat a přikreslovat či odmazávat nádory skoro dle libosti, jednak možnost vpašování malwaru přímo do struktury DICOM souboru a jednak dostupnost DICOM serverů na webu.

Zdroje, literatura, nástroje

Autor článku