Другий польський постачальник медичного програмного забезпечення зазнав атаки протягом кількох тижнів. Зловмисники використали вразливість SQL-ін'єкції, щоб викрасти дані пацієнтів з Medyc — платформи, яку QBUSoft продає медичним кабінетам і клінікам. Витік даних Medyc у Польщі з розкриттям номерів PESEL стався після значно більшого інциденту в серпні, і разом вони показують, наскільки великий ризик несуть постачальники програмного забезпечення для клінік, а не пацієнти, чиї записи вони зберігають.

Деталі нижче базуються на репортажі Help Net Security. Деякі частини оригінального резюме були обрізані, тому цей допис обмежується лише підтвердженою інформацією.

Що було викрадено з Medyc

Medyc — це платформа, яку медичні кабінети та клініки використовують для управління реєстрацією пацієнтів, записами та рецептами. Згідно зі звітом, хакери викрали дані пацієнтів у постачальника, використавши вразливість SQL-ін'єкції.

У звіті зазначається, що викрадена інформація включає контактні дані та номери PESEL — національні ідентифікаційні номери, які використовуються в Польщі. Повний обсяг крадіжки даних з Medyc, включаючи кількість постраждалих пацієнтів, не був доступний у наданому уривку, тому ми не будемо вгадувати цифру.

Номери PESEL важливі, оскільки це довготривалий ідентифікатор. На відміну від пароля, людина не може легко його змінити. Коли він поєднується з ім'ям та контактною інформацією, його можна використати, щоб спроби видати себе за іншу особу виглядали переконливіше.

Як витік MyDr підготував ґрунт

Інцидент з Medyc не стався ізольовано. У серпні зловмисники викрали дані майже 19 мільйонів людей з MyDr — варшавської компанії, програмне забезпечення якої використовують близько 12 000 медичних закладів. Витік бази даних там також містив номери PESEL.

Саме масштаб є важливим. Один постачальник, що обслуговує тисячі закладів, зберігає записи значної частки населення країни в одному місці. Коли цей постачальник скомпрометований, кожна клініка, яка на нього покладається, страждає одночасно, і пацієнти часто не мають уявлення, яке програмне забезпечення використовує кабінет їхнього лікаря.

Випадок Medyc додає другу точку даних. Два різних постачальники, два витоки, і обидва стосуються одного й того ж типу чутливих ідентифікаторів. Ця закономірність свідчить про те, що зловмисники розглядають постачальників медичного програмного забезпечення як ефективні цілі, оскільки один успішний злом може дати записи з багатьох клінік.

Чому SQL-ін'єкції продовжують вражати медичних постачальників

SQL-ін'єкція — одна з найстаріших і найбільш вивчених веб-вразливостей. Вона виникає, коли застосунок передає введені користувачем дані в запит до бази даних без належного відокремлення даних від команд. Зловмисник може тоді створити введення, яке змінює запит і змушує базу даних повертати інформацію, яку вона не повинна повертати.

Виправлення добре відоме: параметризовані запити, валідація введення, облікові записи бази даних з найменшими привілеями та регулярне тестування. Проте ця вразливість продовжує з'являтися, особливо в програмному забезпеченні, яке розвивалося протягом багатьох років або обробляє безліч інтеграцій. Медичні платформи часто відповідають цьому опису, оскільки вони обробляють реєстраційні форми, рецепти та пошук записів через веб-компоненти.

Той самий клас вразливостей зустрічається далеко за межами медицини. Наше висвітлення атак, що використовують невиправлену SQL-ін'єкцію нульового дня в GeoServer показує, як один тип вразливості може бути використаний проти дуже різних платформ. Урок послідовний: коли застосунок, доступний з інтернету, взаємодіє з базою даних, небезпечні запити є серйозним ризиком.

Що це означає для вас

Якщо ви пацієнт у Польщі, ви, ймовірно, не можете визначити, чи ваша клініка використовує Medyc, MyDr чи іншу систему. Це основна проблема. Ваші дані зберігаються у третьої сторони, яку ви не обирали, і ваші власні звички безпеки мало впливають на те, як ця третя сторона пише свій код.

VPN шифрує трафік між вашим пристроєм і сервером. Він не захищає базу даних, яку зберігає постачальник і до якої зловмисник потрапляє через вразливість у власному застосунку постачальника. Те саме стосується шифрування пристрою та надійних паролів: вони корисні, але не зупиняють витік на боці постачальника.

Що ви можете зробити — це зменшити шкоду, якщо ваші дані були використані неналежним чином:

  • Ставтеся з підозрою до неочікуваних дзвінків, повідомлень або електронних листів, які згадують ваше здоров'я, рецепти або PESEL, навіть якщо здається, що вони знають особисті деталі.
  • Не діліться своїм номером PESEL або медичною інформацією під час незапланованого контакту. Зв'яжіться з клінікою за номером, який ви знайдете самостійно.
  • Слідкуйте за офіційними повідомленнями від вашої клініки або регуляторів про те, чи були задіяні ваші дані.
  • Використовуйте надійні, унікальні паролі та двофакторну автентифікацію для електронної пошти та фінансових акаунтів, оскільки вони є частими цілями після витоків даних ідентифікації.
  • Перевіряйте свої фінансові та кредитні записи на наявність активності, яку ви не впізнаєте.

Ключові висновки

Витік даних Medyc у Польщі з розкриттям номерів PESEL, що стався після витоку MyDr, який торкнувся майже 19 мільйонів людей, показує, що концентровані постачальники медичного програмного забезпечення є єдиними точками відмови. Особисті інструменти, як-от VPN, варто використовувати для приватного перегляду, але вони не можуть виправити вразливість у базі даних постачальника. Відповідальність за це лежить на постачальниках, яким потрібно виправити базові проблеми, як-от SQL-ін'єкція, та на регуляторах, які їх наглядають.

Для читачів практичний крок — пильність щодо видавання себе за інших та фішингу, який використовує викрадені ідентифікатори. Щоб побачити, як той самий тип вразливості використовується в інших місцях, прочитайте наш звіт про SQL-ін'єкцію нульового дня в GeoServer.