Я много пишу про обнаружение свободно доступных баз данных практически во всех странах мира, но новостей про российские базы данных, оставленные в открытом доступе почти нет. Хотя недавно и писал про «руку Кремля», которую с перепугу обнаружил голландский исследователь в более чем 2000 открытых базах данных.
Может сложиться неверное представление, что в России все замечательно и владельцы крупных российских онлайн-проектов подходят ответственно к хранению данных пользователей. Спешу развенчать этот миф на данном примере.
Российский медицинский онлайн-сервис DOC+ судя по всему, умудрился оставить в открытом доступе базу данных ClickHouse с логами доступа. К сожалению, логи выглядят настолько детальными, что вероятной утечке могли подвергнуться персональные данные сотрудников, партнеров и клиентов сервиса.
Обо всем по порядку…
Дисклеймер: вся информация ниже публикуется исключительно в образовательных целях. Автор не получал доступа к персональным данным третьих лиц и компаний. Скриншоты взяты либо из открытых источников, либо были предоставлены автору анонимными доброжелателями.
Со мной, как с владельцем Telegram-канала «Утечки информации», на связь вышел читатель канала, пожелавший остаться неизвестным и сообщил буквально следующее:
В интернете был обнаружен открытый ClickHouse сервер, который принадлежит компании doc+. IP-адрес сервера совпадает с IP-адресом, на который настроен домен docplus.ru.
Из Википедии: DOC+ (ООО «Новая Медицина») это российская медицинская компания, оказывающая услуги в области телемедицины, вызова врача на дом, хранения и обработки персональных медицинских данных. Компания получила инвестиции от Яндекса.
Судя по собранной информации, база ClickHouse действительно была свободно доступна, и кто угодно, зная IP-адрес мог получить из нее данные. Этими данными предположительно оказались логи доступа к сервису.
Как видно из картинки выше, помимо веб-сервера www.docplus.ru и сервера ClickHouse (порт 9000), на том же IP-адресе «висит» открытая настежь база MongoDB (в которой, судя по всему, ничего интересного нет).
Насколько мне известно, для обнаружения сервера ClickHouse использовался поисковик Shodan.io (про то, как исследователи обнаруживают открытые базы данных я писал отдельно) в связке со специальным скриптом ClickDown, который проверил найденную базу на отсутствие аутентификации и перечислил все ее таблицы. На тот момент их вроде бы оказалось 474.
Из документации известно, что по умолчанию, сервер ClickHouse слушает HTTP на 8123 порту. Поэтому, чтобы посмотреть, что же содержится в таблицах, достаточно выполнить примерно такой SQL-запрос:
http://[IP-адрес]:8123?query=SELECT * FROM [название таблицы]
В результате выполнения запроса могло вернуться вероятно то, что указано на скриншоте ниже:
Из скриншота понятно, что информация в поле HEADERS содержит данные о местоположении (широту и долготу) пользователя, его IP-адрес, информацию об устройстве, с которого он подключался к сервису, версию ОС и т.п.
Если бы кому-то пришло в голову чуть-чуть модифицировать SQL-запрос, например, так:
http://[IP-адрес]:8123?query=SELECT * FROM [название таблицы] WHERE REQUEST LIKE ‘%25Profiles%25’
то могло бы вернуться что-то похожее на персональные данные сотрудников, а именно: ФИО, даты рождения, пол, ИНН, адреса прописки и фактического места проживания, телефоны, должности, адреса электронной почты и многое другое:
Вся эта информация из скриншота выше очень похожа на данные отдела кадров из 1С: Предприятие 8.3.
Присмотревшись к параметру API_USER_TOKEN можно подумать, что это «рабочий» токен с помощью которого можно выполнять различные действия от имени пользователя — в том числе получать его личные данные. Но утверждать я этого конечно не могу.
На данный момент нет информации о том, что сервер ClickHouse по-прежнему свободно доступен по тому же IP-адресу.
ООО «Новая Медицина» разродилось официальным заявлением по данному инциденту. В заявлении много букв, резюмируя кратко: “Незначительная утечка. Человеческий фактор. Менее 1%. Тестовая среда (на основном айпишнике!)”. Кому не лень читать привожу заявление целиком:
Компания ООО "Новая Медицина" (DOC+) является оператором персональных данных, в связи с чем принимает все требуемые законодательством меры защиты. В компании внедрены современные средства защиты, прошедшие необходимые процедуры сертификации со стороны ФСБ, ФСТЭК. Выстроены внутренние процессы управления и контроля за состоянием защищенности информационных систем, в которых обрабатываются персональные данные. Политика защиты и обработки персональных данных доступна к изучению на нашем сайте.
DOC+ использует сервис ClickHouse для отладки функционала доработок клиентских продуктов. В ClickHouse загружаются данные из тестовой и продуктивной среды. Сервис ClickHouse функционирует на серверах компании, доступ к которым жестко регламентирован и ограничен. Появление данных из ClickHouse в открытом доступе произошло из-за ошибки, связанной с человеческим фактором. Доступ к данным был оперативно закрыт 17.03.19 сразу после публикации об уязвимости. В компании регулярно проводится анализ уязвимостей системы защиты персональных данных, и данная ошибка была бы обязательно обнаружена и исправлена. К сожалению, мы не успели это сделать до обнаружения ошибки другими специалистами.
В открытом доступе временно оказался незначительный объем данных, который не может привести к негативным последствиям для сотрудников и пользователей сервиса DOC+. На момент инцидента в ClickHouse были данные в основном из тестовой среды. Медицинские данные клиентов, оказавшиеся в открытом доступе, являются обезличенными, идентифицировать субъект персональных данных по ним можно было бы только при получении всей базы данных целиком. Анализ истории обращений к базе данных и исходящего трафика с наших серверов позволяет утверждать, что утечка могла коснуться <1% всей информации.
По факту инцидента ведутся внутренние разбирательства. Мы разрабатываем и уже начали внедрять дополнительные меры, ещё более ужесточающие защиту данных. Мы сожалеем о произошедшем инциденте, но ещё раз подчеркиваем отсутствие негативных последствий для наших клиентов. Ваша безопасность и конфиденциальность являются приоритетом всей команды DOC+ с первых дней работы компании.
Комментарии (24)
youROCK
18.03.2019 10:34+1У меня больше технический вопрос: зачем авторы создавали по таблице в день? В ClickHouse ведь есть встроенное партиционирование с возможностью удалять отдельные партии при необходимости.
in_heb
18.03.2019 20:28Скорее всего, мигрировали с mysql и подобных БД, где создавать таблицы каждый день это типичный паттерн
ED-209
18.03.2019 10:59Может сложиться неверное представление, что в России все замечательно и владельцы крупных российских онлайн-проектов подходят ответственно к хранению данных пользователей.
Тут скорее складывается представление, что про открытые базы данных в РФ, не про все можно писать (а некоторые вообще лучше проходить мимо, прикрыв глаза рукой: «я ничего не видел»), иначе писать можно быстро перестать. Совсем :)
vilgeforce
18.03.2019 11:18Интересно, писали ли этим «кросафчегам» об обнаружении открытой базы и что они ответили?
И второй, несвязанный вопрос: чем такую красивую картинку с IP и сервисами рисовали?
Sad_Bro
18.03.2019 15:47-1Я правильно понял что если из статьи убрать 'ClickHouse' (или заменить на любую БД) ничего не изменится? И суть в том что кто то криво настроил безопасность? Тогда зачем тут упоминание ClickHouse в негативном ключе?
kemko
18.03.2019 16:06+2Когда находят открытую монгу — тоже говорят "нашли открытую монгу". Это же технический ресурс, если не написать без технических подробностей — обругают за слишком общие данные и запросят конкретику.
in_heb
18.03.2019 20:37+2>Тогда зачем тут упоминание ClickHouse в негативном ключе?
Это намёк на претензию к тем, кто опакечивает софт. К примеру, ставим mysql под ubuntu/debian, там с вас просят пароль root. Ставим clickhouse (из оф.репы) — после инсталляции имеем пустой пароль на дефолтном пользователем. Неопытные администраторы/девопсы его оставляют и имеем то, что имеемyouROCK
18.03.2019 23:37При этом ClickHouse должен слушать по умолчанию только localhost, так что нужно некоторое усилие для того, чтобы выставить его наружу. Впрочем, усилие нужно не очень большое, конечно.
Insurgent2018
18.03.2019 22:46+1Официальное заявление ООО «Новая Медицина» — прекрасно. Особенно предложение:
В открытом доступе временно оказался незначительный объем данных, который не может привести к негативным последствиям для сотрудников и пользователей сервиса DOC+.
Согласно сервису Shodan, дата 1 фиксации ClickHouse: 15.02.2019 03:08:00, дата последней фиксации:17.03.2019 09:52:00
Вообще, база фиксировалась:- 15.02.2019 03:08:00
- 16.02.2019 07:29:00
- 24.02.2019 02:03:00
- 24.02.2019 02:50:00
- 25.02.2019 20:39:00
- 27.02.2019 07:37:00
- 02.03.2019 14:08:00
- 06.03.2019 22:30:00
- 08.03.2019 00:23:00
- 08.03.2019 14:07:00
- 09.03.2019 05:27:00
- 09.03.2019 22:08:00
- 13.03.2019 03:58:00
- 15.03.2019 08:45:00
- 17.03.2019 09:52:00
Благодаря ООО «Новая Медицина» — у меня новое понимание «временного» — чуть больше 1 месяца,незначительный объем данных
— это около 40 GiB данных.ashotog Автор
18.03.2019 23:28там список (всех?) сотрудников, фрилансеров (признак фрилансера отдельно завели) и партнеров (юрлиц), с полными данными, включая телефоны, фактические адреса, ИННы и прочее. это разумеется «не может привести к негативным последствиям для сотрудников DOC+.» ;)
ashotog Автор
19.03.2019 10:08Insurgent2018, а как Вы из шодана статистику обхода по датам вытащили? что-то я туплю и не могу найти где он это пишет.
Insurgent2018
19.03.2019 13:48+1В Lampyre, request: Shodan host view. IP указываете тот, который нужен, а host history в True — Yes. Вернётся результат с историей по хосту. Так как окна плавающие, комбинируете сверху окно с графом результата, ниже окно с таблице по результату, то есть сразу два окна видите. Выделяете вершины-сервисы на графе с clickhouse(порт 9000 и порт 81… как-то там) и автоматом фильтруется таблица по выделенному на графе, в ней даты, колонку дат сортируете. И вот результат.
Ralari
19.03.2019 14:33-1Вот и про вас статья подоспела.
habr.com/ru/post/444390ashotog Автор
19.03.2019 14:45очередная статья ниочем. я вам говорил уже, что реализовать защиту от админа, находясь на одном уровне привилегий с ним нельзя. это вне идеологии Windows. сделана минимальная защита, чтобы было не так просто снести. писать свой гипервизор у нас задачи нет.
и самое главное — а зачем сюда каммент запостили? ;)
Ralari
19.03.2019 14:53-1На семинарах рекламных об этом скромно умалчиваете.
Удалить бесполезный файлик часто может и не админ. Да и сбой может случиться.
Система защиты от этого падать не должна, а уж если упала, не открывать доступ к защищаемой информации
Pas
Не ново. Скорее всего:
1) владелец сайта объявляет себя обработчиком ПД красиво юридически на бумаге, не вдаваясь в технические подробности безопасного хранения тех самых ПД.
2) скорее всего использование облачных сервисов (настрогали виртуалок с реальниками) и «стандартеых решений» без должного контроля
3) межсерверный firewall и разделение периметров? Что вы, мы же стартап, а не «кровавый энтэрпрайз»!
4) нормальный отдел эксплуатации с бородатыми админами, бьющими по рукам за странные подходы? Не, у нас несколько разработчиков на модном языке, девопс на полставки и горят сроки.
Хорошо, если хоть что-то не так.