Zo štátneho IT systému eZdravie unikli informácie o viac ako 390 000 testovaných osobách na COVID-19!

V aplikácii Moje eZdravie sme identifikovali triviálnu zraniteľnosť, ktorá nám umožnila získať osobné informácie o viac ako 390 000 pacientoch, ktorí boli na Slovensku testovaní na COVID-19 (na demonštráciu sa nám podarilo získať osobné informácie o viac ako 130 000 pacientoch, z toho viac ako 1600 COVID-19 pozitívnych).

Medzi získané osobné informácie každého pacienta patrí meno, priezvisko, rodné číslo, dátum narodenia, pohlavie, mobilné číslo, miesto pobytu, informácie o klinických príznakoch (pneumónia, teplota, kašeľ, malátnosť, nádcha, bolesť hlavy, bolesť kĺbov a svalov), kód vzorky, dátum presného odberu, laboratórium, ktoré daný test vykonalo, lekár žiadateľ, číslo protokolu, dátum prijatia a vyšetrenia, druhy testu a samozrejme jeho výsledok.

POPIS ZRANITEĽNOSTI

Zneužitie uvedenej zraniteľnosti vedúce k úniku viac ako štvrť milióna osobných údajov a výsledkov COVID-19 testov slovenských občanoch bolo možné vďaka nasledujúcim faktorom:

  • Únik formátu API volaní verejným vyhľadávačom (ktoré ho zaindexovali)
  • Umožnenie neautorizovaného prístupu k samotným volaniam API, ktoré umožňovalo prístup k citlivým informáciám a to bez akejkoľvek autentifikácie
  • Možnosť získať informácie o všetkých pacientoch jednoduchou enumeráciou číselného identifikátora
  • Absencia akýchkoľvek mechanizmov, ktoré by znemožňovali masívne sťahovanie uvedených údajov
  • Všetky dáta boli v nešifrovanej, teda úplne nezabezpečenej forme (v „plaintext“)

ZÍSKANIE DATABÁZY PACIENTOV TESTOVANÝCH NA COVID-19

Útočník dokázal k uvedeným údajom všetkých pacientov pristúpiť bez akejkoľvek autentifikácie a tiež bez špeciálnych technických znalostí. Skript na získanie údajov o všetkých pacientov v XML formáte je úplne triviálny:

#!/bin/bash
for (( i=8966; i < 391000; i++ )); do 
wget https://mojeezdravie.nczisk.sk/api/cntnt.dnld.php/$i
done

Na získanie celej databázy testovaných pacientov nebol teda potrebný žiadny špeciálny exploit.

INFORMÁCIE O DÁTACH A POTENCIÁLNE ZNEUŽITIE

  • Stiahli sme dostatočne veľkú vzorku náhodných dát a analyzovali, že ide o skutočne unikátne záznamy
  • Na základe numerických identifikátorov sme odhalili minimálne 391250 validných záznamov (podľa https://korona.gov.sk/ je ich momentálne 393486)
  • Identifikovali sme úplne čerstvé záznamy o testovaných pacientoch (pár hodín predtým ako uvedená zraniteľnosť bola opravená)
  • Prvý záznam mal identifikátor 8966
  • Uniknuté informácie ako meno, priezvisko, rodné číslo, dátum narodenia, pohlavie, mobilné číslo, miesto pobytu či email dokážu byť zneužité na sofistikované cielené útoky sociálneho inžinierstva (phishing, vishing a iné). Využitím ďalších dostupných informácií ako výsledok testu, informácia o zdravotnej poisťovni či názvu laboratória, ktoré vykonalo testy, je možné realizovať sofistikované cielené „scam“ útoky.

 

Celý článok si môžete prečítať na https://nethemba.com/sk/kriticka-zranitelnost-v-aplikacii-moje-ezdravie-unik-databazy-pacientov-testovanych-na-covid-19/

 

Autor: Peter Sooky

Zdroj: nethemba.sk

Foto: fotolia.com