И снова здравствуйте! У меня опять нашлась для вас открытая база с медицинскими данными. Напомню, что совсем недавно тут было три моих статьи на эту тему: утечка персональных данных пациентов и врачей из медицинского онлайн-сервиса DOC+, уязвимость сервиса «Доктор рядом» и утечка данных станций скорой медицинской помощи.
На этот раз в открытом доступе оказался сервер Elasticsearch с логами медицинской IT-системы сети лабораторий «Центр молекулярной диагностики» (CMD, www.cmd-online.ru).
Дисклеймер: вся информация ниже публикуется исключительно в образовательных целях. Автор не получал доступа к персональным данным третьих лиц и компаний. Информация взята либо из открытых источников, либо была предоставлена автору анонимными доброжелателями.
Сервер был обнаружен утром 1-го апреля и это мне совсем не показалось смешным. Оповещение о проблеме ушло в CMD примерно в 10 утра (МСК) и около 15:00 база стала недоступной.
По данным поисковика Shodan данный сервер впервые попал в открытый доступ 09.03.2019. Про то, как обнаруживают открытые базы данных Elasticsearch, я писал отдельную статью.
Из логов можно было получить весьма чувствительную информацию, включая ФИО, пол, даты рождения пациентов, ФИО врачей, стоимость исследований, данные исследований, файлы с результатами скрининга и многое другое.
Пример лога с результатами анализов пациента:
"<Message FromSystem=\"CMDLis\" ToSystem=\"Any\" Date=\"2019-02-26T14:40:23.773\"><Patient ID=\"9663150\" Code=\"A18196930\" Family=\"XXX\" Name=\"XXX\" Patronymic=\"XXX\" BornDate=\"XXX-03-29\" SexType=\"F\"><Document>Паспорт</Document><Order ID=\"11616539\" Number=\"DWW9867570\" State=\"normal\" Date=\"2017-11-29T12:58:26.933\" Department=\"1513\" DepartmentAltey=\"13232\" DepartmentName=\"Смайл Элит\" FullPrice=\"1404.0000\" Price=\"1404.0000\" Debt=\"1404.0000\" NaprOrdered=\"2\" NaprCompleted=\"2\" ReadyDate=\"2017-12-01T07:30:01\" FinishDate=\"2017-11-29T20:39:52.870\" Registrator=\"A759\" Doctor=\"A75619\" DoctorFamily=\"XXX\" DoctorName=\"XXX\" DoctorPatronymic=\"XXX\"><OrderInfo Name=\"TEMP_CODE\">0423BF97FA5E</OrderInfo><OrderInfo Name=\"Беременность\">-1</OrderInfo><OrderInfo Name=\"Пин\">DWW98675708386841791</OrderInfo><OrderInfo Name=\"СкидкаНаЗаказ\">0</OrderInfo><OrderInfo Name=\"СМКдействителенДо\">18.03.2019</OrderInfo><OrderInfo Name=\"СМКсертификат\">РОСС RU.13СК03.00601</OrderInfo><Serv Link=\"1\" PathologyServ=\"1\" Code=\"110101\" Name=\"Общий анализ мочи (Urine test) с микроскопией осадка\" Priority=\"NORMAL\" FullPrice=\"98.0000\" Price=\"98.0000\" ReadyDate=\"2017-11-30T07:30:01\" FinishDate=\"2017-11-29T20:14:22.160\" State=\"normal\"/><Serv Link=\"2\" Code=\"300024\" Name=\"Пренатальный скрининг II триместра беременности, расчет риска хромосомных аномалий плода, программа LifeCycle (DELFIA)\" Priority=\"NORMAL\" FullPrice=\"1306.0000\" Price=\"1306.0000\" ReadyDate=\"2017-12-01T07:30:01\" FinishDate=\"2017-11-29T20:39:52.870\" State=\"normal\"/><Probe ID=\"64213791\" Number=\"3716965325\" Date=\"2017-11-29T00:00:00\" OuterNumber=\"66477805\" Barcode=\"3716965325\" Biomater=\"66\" BiomaterName=\"Кровь (сыворотка)\" Type=\"physical\"><Probe ID=\"64213796\" Number=\"P80V0018\" Date=\"2017-11-29T12:58:26.933\" Biomater=\"66\" BiomaterName=\"Кровь (сыворотка)\" WorkList=\"80\" WorkListName=\"Пренатальный скрининг\" Type=\"virtual\"><Param State=\"Valid\" User=\"A872\" UserFIO=\"XXX\" UserStaff=\"Врач КЛД\" Code=\"3005\" guid=\"7BA0745FD502A80C73C2CAD341610598\" Name=\"Пренатальный скрининг II триместра беременности, расчет риска хромосомных аномалий плода, программа LifeCycle (DELFIA)\" Group=\"ПРЕНАТАЛЬНЫЙ СКРИНИНГ\" GroupCode=\"80\" GroupSort=\"0\" Page=\"1\" Sort=\"2\"><LinkServ IsOptional=\"0\">2</LinkServ><Result Name=\"Пренатальный скрининг II триместра беременности, расчет риска хромосомных аномалий плода, программа LifeCycle (DELFIA)\" Value=\"Готов (см.приложение)\" User=\"A872\" UserFIO=\"XXX\" Date=\"2017-11-29T20:39:03.370\" isVisible=\"1\" HidePathology=\"0\" IsNew=\"0\"><File Name=\"Пренатальный скрининг 2 триместр_page1.png\" Type=\"image\" Format=\"png\" Title=\"3716965325_prenetal2_page1\" Description=\"Пренатальный скрининг 2 триместр_page1\" Sort=\"1\">iVBORw0KGgoAAAANSUhEUgAABfoAAAfuCAIAAAArOR8rAAD//0lEQVR4Xuy9P7BtQ7u+/e3oECF6iRAhQoQI0SZCtIkQIdpEiBCxI0SIECFiV50qRKg6VYgQIUKEiDfiRL7rnPtXz+nqHnPMsfb6s+cc61rBqjl79Oh++uoe/eceT/c8888///
Я забил все чувствительные данные символом «X». В реальности все хранилось в открытом виде.
Из таких логов легко (перекодировкой из Base64) можно было получить PNG-файлы с результатами скрининга, уже в удобном для чтения виде:
Общий размер логов превышал 400 Мб и суммарно в них содержалось более миллиона записей. Понятно, что не каждая запись представляла собой данные уникального пациента.
Официальный ответ от CMD:
Хотим поблагодарить Вас, за оперативно переданную 01.04.2019 информацию о наличии уязвимости в базе данных логирования и хранения ошибок Elasticsearch.
На основании этой информации, нашими сотрудниками совместно с профильными специалистами был ограничен доступ к указанной базе. Ошибка передачи конфиденциальной информации в техническую базу исправлена.
В ходе разбора инцидента удалось выяснить, что появление в открытом доступе указанной базы с логами ошибок произошло по причине, связанной с человеческим фактором. Доступ к данным был оперативно закрыт 01.04.2019.
На данный момент внутренними и привлеченными внешними специалистами проводятся мероприятия для дополнительного аудита ИТ-инфраструктуры на предмет защиты данных.
Нашей организацией разработан специальный регламент работы с персональными данными и системой уровневой ответственности персонала.
Текущая программная инфраструктура предполагает использование базы Elasticsearch для хранения ошибок. Для повышения надежности работы некоторых систем будет осуществлена миграция соответствующих серверов в ЦОД нашего партнера, на сертифицированное программно-аппаратное окружение.
Благодарим Вас за своевременно предоставленную информацию.
Новости про утечки информации и инсайдеров всегда можно найти на моем Telegram-канале «Утечки информации».
Комментарии (14)
fenst
14.05.2019 10:40+1Очень печальная новость для меня, как для их постоянного клиента.
А меж тем по персданным это стоит компании до 45 тыс. руб. (КоАП 13.11 ч5), а по нарушении врачебной тайны — до 200к руб \ до 4х месяцев ареста \ до 2х лет лишения свободы для сотрудника компании (УК РФ Ст137 ч2).
Интересно, понесут ли они хоть какую-то ответственность?Hardcoin
14.05.2019 16:45Если кто-то, например вы, напишет заявление в полицию, то да. Если никто не напишет, то нет.
fenst
14.05.2019 17:15Я б с радостью, не знаете случаем, как это сделать, не подставив автора?
Да и пруфы наверняка должны какие-то быть, хотя бы оригинал емейла от компании с признанием в утечке данных.Hardcoin
15.05.2019 02:32Нужен white hat с опытом юридического урегулирования. Он показывает утечку, вы на основании этой информации пишите заявление.
Второй вариант, это найти/дождаться размещения этой информации на постороннем сайте (когда сольют) и писать заявление на этом основании.
lehha
14.05.2019 15:44Информация взята либо из открытых источников, либо была предоставлена автору анонимными доброжелателями.
Увы, но это всё-равно 272 УК РФ.
nidalee
14.05.2019 16:04Почему? Ведь информации в посте нет, как и рабочего способа ее получения. Или вы про замазанные сканы?
lehha
14.05.2019 16:44+1Вы получили доступ к информации и написали об этом публично — этого достаточно для начала следственных действий. А если еще и выложили дальше — это отягчающее обстоятельство.
Вообще любые публичные сканеры портов и подключения к MongoDB и другим базам «в целях безопасности» — уже является статьей, как факт незаконного проникновения. А была ли там открыта дверь или вы взломали firewall пентагона — уже детали.Barafu_Albino_Cheetah
14.05.2019 20:16О! Бизнес-идея!
Создаём контору. Ставим сервер. По 80-му порту размещаем страницу со списком сотрудников, помечаем её "для служебного пользования". Регистрируем на левое лицо домен, привязываем его. Мониторим.
Все, кто зайдёт, не только несанкционированно просмотрели закрытую информацию, но и скопировали её себе. Находим, звоним, предлагаем урегулировать вопрос досудебно.
То есть как это — не пройдёт? С MongoDB пройдёт, а с Apache не пройдёт?Hardcoin
15.05.2019 02:3880 порт слишком стандартный, вам придется эксперту взятку дать. К тому же потенциальная жертва не поверит, поэтому денег до суда получить не удастся. Вот уже в суде да, он поверит, что срок явный, но придется делить деньги подсудимого на всех.
При небольшой модификации это рабочий (и крайне аморальный) способ посадить случайного человека, если у вас есть пара знакомых в органах и лишнее время. Иначе они не захотят возбуждаться.
pyrk2142
15.05.2019 00:36С новыми модными медицинскими сервисами все довольно весело: зачастую у них нет сотрудников, которые могут поддерживать нормальный уровень безопасности, плюс нет желания выплачивать адекватные вознаграждения за уязвимости. Один из схожих популярных сервисов не захотел со мной даже общаться, а другой — предложил за доступ к произвольному аккаунту 10000 рублей. На фоне других компаний это неплохо, но это явно не та сумма, которая мотивирует сообщать об уязвимости компании, а не продавать ее на черном рынке. Так что нас ждет куча чудных открытий и утечек (возможно, данные о здоровье — одни из самых ценных (ценнее банковских): после утечки их не изменить, они позволяют оказывать большое давление на людей).
Naves
Песец котёнку. Если база утекла на чёрный рынок, скоро пойдёт шквал звонков пациентам, которые делали анализы на онкомаркеры и схожие. В Москве уже лет пять есть некая группировка, которая за определенную мзду рядовым сотрудникам клиник платит за результаты таких анализов.
Через некоторое время после анализа пациенту от имени клиники делается звонок со страшным рассказом про результаты, далее начинается обработка про то, что прямо сейчас и только сейчас можно купить особое лекарство за сущие копейки, всего пара сотен тысяч рублей, и только оно поможет, но оплатить нужно прямо сейчас, ибо на весь город осталось всего несколько упаковок, а сейчас как вы знаете санкции, и когда следующая поставка неизвестно, давайте мы к вам сейчас подъедем, а вы пока перечисляете деньги, как вам удобно через Сбербанк или наличными, и далее все в таком духе.
По отдельным историям очевидцев работает грамотный психолог, который может разными тактиками удерживать и прессовать жертву по телефону около часа. После чего жертва добровольно перечисляет деньги в никуда.
ashotog Автор
Надеюсь, что не утекла.
vektory79
История про то, как один дятел всб профессию спалил. :trollface:
А вообще — что-то эта тема уж очень популярная стала. У нас местный коллцентр долго нанимали для массовых обзвонов подобного рода. Когда народ массово побанил этот коллцентр, то начали старички названивать с теми же текстовками. Когда спрашиваешь их: "А сама-то поняла, что сказала?" — сильно обижаются...