Há alguns dias, escrevi para Habrir sobre como o serviço online médico russo DOC + conseguiu deixar em domínio público um banco de dados com logs de acesso detalhados, dos quais era possível obter dados de pacientes e funcionários de serviços. E aqui está um novo incidente, com outro serviço russo fornecendo aos pacientes consultas on-line com médicos - "O médico está próximo" (www.drclinics.ru).
Escreverei imediatamente que, devido à adequação dos funcionários do Doctor Near, a vulnerabilidade foi rapidamente (2 horas a partir do momento da notificação à noite!) Eliminada e provavelmente não houve vazamento de dados pessoais e médicos. Em contraste com o incidente com o DOC +, onde tenho certeza de que pelo menos um arquivo json com dados de tamanho de 3,5 GB caiu no "mundo aberto", enquanto a posição oficial se parece com a seguinte: " Uma pequena quantidade de dados foi temporariamente disponibilizada ao público, o que não pode levar a consequências negativas para funcionários e usuários do serviço DOC + ".

Um assinante anônimo entrou em contato comigo como proprietário do canal Telegram " Vazamento de informações " e relatou uma potencial vulnerabilidade no site www.drclinics.ru.
A essência da vulnerabilidade era que, conhecendo a URL e estando no sistema em sua conta, você podia visualizar os dados de outros pacientes.
Para registrar uma nova conta no sistema Doctor Near, na verdade, você só precisa de um número de celular para o qual recebe um SMS de confirmação, para que ninguém possa ter tido problemas para acessar sua conta pessoal.
Depois que um usuário entra em sua conta pessoal, ele pode, imediatamente, alterando o URL na barra de endereços do navegador, visualizar relatórios contendo dados pessoais de pacientes e até diagnósticos médicos.

Um problema significativo foi que o serviço usa a numeração de ponta a ponta dos relatórios e já gera URLs a partir desses números:
https://[ ]/…/…/40261/…
Portanto, bastava definir o número mínimo aceitável (7911) e máximo (42926 - no momento da vulnerabilidade) para calcular o número total (35015) de relatórios no sistema e até mesmo (se houvesse intenção maliciosa) fazer o download de todos eles com um script simples.

Entre os dados disponíveis para visualização estavam: nome do médico e paciente, datas de nascimento do médico e do paciente, número de telefone do médico e paciente, sexo do médico e paciente, endereço de e-mail do médico e do paciente, especialização do médico, data da consulta, custo da consulta e, em alguns casos, até o diagnóstico ( como um comentário ao relatório).
Essa vulnerabilidade é essencialmente muito semelhante à descoberta em dezembro de 2017 no servidor da organização de microfinanças Zaimograd. Em seguida, a pesquisa poderia obter 36763 contratos contendo os dados completos do passaporte dos clientes da organização.
Como indiquei desde o início, os funcionários do Doctor Near mostraram um verdadeiro profissionalismo e, apesar de eu os informar sobre a vulnerabilidade às 23:00 (horário de Moscou), o acesso à minha conta pessoal foi imediatamente fechado para todos e às 13:00 ( Msk) esta vulnerabilidade foi corrigida.
Não posso deixar de chutar novamente o departamento de relações públicas do mesmo DOC + (New Medicine LLC). Declarando que " uma quantidade insignificante de dados se revelou temporariamente em acesso aberto ", eles perdem de vista o fato de termos à disposição os dados do "controle objetivo", ou seja, o mecanismo de busca Shodan. Conforme corretamente observado nos comentários desse artigo, de acordo com Shodan, a data do primeiro commit do servidor ClickHouse aberto no endereço DOC + IP: 02.15.2019 03:08:00, data do último commit: 17/03/2019 09:52:00. O tamanho do banco de dados é de aproximadamente 40 GB.
E houve 15 fixações no total:
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
Da declaração, verifica-se que temporariamente é um pouco mais de um mês, e uma pequena quantidade de dados é de cerca de 40 gigabytes. Bem, eu não sei ...
Mas voltando ao "Médico está próximo".
No momento, minha paranóia profissional é assombrada por apenas um pequeno problema restante - pela resposta do servidor, você pode descobrir o número de relatórios no sistema. Quando você tenta obter um relatório por um URL ao qual não tem acesso (mas o próprio relatório está lá), o servidor retorna ACCESS_DENIED e, quando você tenta obter um relatório que não existe, NOT_FOUND é retornado. Ao monitorar o aumento no número de relatórios no sistema em dinâmica (uma vez por semana, mês etc.), é possível avaliar a carga do serviço e o volume de serviços fornecidos. Obviamente, isso não viola os dados pessoais de pacientes e médicos, mas pode ser uma violação dos segredos comerciais da empresa.