Como encontramos as licenças de motorista dos usuários do TeaoRher em menos de 10 minutos
Para um aplicativo sobre derramar o feijão sobre quem você está namorando, é irônico que o Teaoher estivesse derramando as informações pessoais de milhares de seus usuários na web aberta. Teaoher foi projetado para os homens compartilharem fotos e informações sobre mulheres que afirmam estar namorando. Mas, assim como o chá, o aplicativo de fofocas de namoro para mulheres que estava tentando replicar, o TeaoRher tinha buracos em sua segurança que expuseram as informações pessoais de seus usuários, incluindo fotos de suas licenças de motorista e outros documentos de identidade emitidos pelo governo, como informou a TechCrunch na semana passada. Esses aplicativos fechados semelhantes à comunidade foram criados ostensivamente para permitir que os usuários compartilhem informações sobre seus relacionamentos sob o disfarce de segurança pessoal. No entanto, as falhas de codificação e segurança de má qualidade destacam os riscos de privacidade em andamento inerentes ao exigir que os usuários enviem informações confidenciais para usar aplicativos e sites. Tais riscos só vão piorar; Aplicativos populares e serviços da Web já estão tendo que cumprir as leis de verificação de idade que exigem que as pessoas enviem seus documentos de identidade antes que possam ter acesso ao conteúdo com tema adulto, apesar dos riscos de privacidade e segurança associados ao armazenamento de bancos de dados das informações pessoais das pessoas. Quando o TechCrunch publicou nossa história na semana passada, não publicamos detalhes específicos dos bugs que descobrimos em Teaoher, errando do lado da cautela para não ajudar os maus atores a explorar o bug. Em vez disso, decidimos publicar uma divulgação limitada, devido à crescente popularidade do aplicativo e aos riscos imediatos que os usuários enfrentaram ao usar o aplicativo. No momento da divulgação, o TeaoRher era o número 2 nos gráficos de aplicativos gratuitos na Apple App Store, uma posição ainda ocupada pelo aplicativo hoje. As falhas que encontramos parecem estar resolvidas. O TechCrunch agora pode compartilhar como conseguimos encontrar as licenças de motorista dos usuários dentro de 10 minutos após receber um link para o aplicativo na App Store, graças ao fácil de encontrar falhas no sistema de back-end que voltada para o público, ou API. O desenvolvedor do aplicativo, Xavier Lampkin, não respondeu a vários pedidos de comentário depois de enviarmos detalhes das falhas de segurança, nem o Lampkin se comprometeria a notificar usuários afetados do Teaoher ou reguladores estaduais do lapso de segurança. Também perguntamos a Lampkin se alguma revisão de segurança foi realizada antes do lançamento do aplicativo TeaoRher, mas não recebemos resposta. (Temos mais sobre a divulgação mais tarde.) Tudo bem, comece o relógio. O Teaoher expôs as credenciais de ‘painel de administração’ antes mesmo de baixarmos o aplicativo, primeiro queríamos descobrir onde o Teaoher estava hospedado na Internet, olhando para sua infraestrutura pública, como seu site e qualquer coisa hospedada em seu domínio. Geralmente, este é um bom lugar para começar, pois ajuda a entender quais outros serviços a que o domínio está conectado na Internet. Para encontrar o nome de domínio, primeiro procuramos (por acaso) na listagem do aplicativo na Apple App Store para encontrar o site do aplicativo. Isso geralmente pode ser encontrado em sua política de privacidade, que os aplicativos devem incluir antes da Apple listá -los. (A listagem de aplicativos também afirma que o desenvolvedor “não coleta nenhum dado deste aplicativo”, que é comprovadamente falso, portanto, aceite isso como quiser.) A política de privacidade do TeaoRher estava na forma de um documento publicado do Google, que incluía um endereço de email com um domínio teaoher.com, mas nenhum site. O site não era público na época; portanto, sem carregamento de sites, analisamos os registros DNS de DNS voltados para o domínio, o que pode ajudar a identificar o que mais é hospedado no domínio, como o tipo de servidor de email ou hospedagem na web. Também queríamos procurar quaisquer subdomínios públicos que o desenvolvedor pudesse usar para hospedar a funcionalidade para o aplicativo (ou hospedar outros recursos que provavelmente não deveriam ser públicos), como painéis de administração, bancos de dados ou outros serviços voltados para a Web. Mas quando analisamos os registros públicos da Internet do TeaoRHER, não tinha informações significativas além de um único subdomínio, appserver.teaone.com. Quando abrimos esta página em nosso navegador, o que carregou foi a página de destino da API do Teaoher (para os curiosos, enviamos uma cópia aqui). Uma API simplesmente permite que as coisas na Internet se comuniquem, como vincular um aplicativo ao seu banco de dados central. Foi nessa página de destino que encontramos o endereço de e -mail exposto e a senha de texto simples (que não estava tão longe de “senha”) para a conta de Lampkin acessar o “painel de administrador” do Teaoher. A página da API mostrou que o painel de administrador, usado para o sistema de verificação de documentos e gerenciamento de usuários, estava localizado em “localhost”, que simplesmente se refere ao computador físico executando o servidor e pode não ter sido diretamente acessível na Internet. Não está claro se alguém poderia ter usado as credenciais para acessar o painel de administração, mas isso foi por si só uma descoberta suficientemente alarmante. Nesse ponto, estávamos apenas cerca de dois minutos. Caso contrário, a página de destino da API não fez muito além de oferecer alguma indicação sobre o que a API pode fazer. A página listou vários pontos de extremidade da API, que o aplicativo precisa acessar para funcionar, como recuperar registros de usuários do banco de dados do Teaoher, para os usuários deixarem análises e envio de notificações. Com o conhecimento desses pontos de extremidade, pode ser mais fácil interagir diretamente com a API, como se estivéssemos imitando o próprio aplicativo. Toda API é diferente, portanto, aprender como uma API funciona e como se comunicar com alguém pode levar tempo para descobrir, como quais pontos de extremidade usam e os parâmetros necessários para falar efetivamente sua linguagem. Aplicativos como o Postman podem ser úteis para acessar e interagir diretamente com as APIs, mas isso requer tempo e um certo grau de tentativa e erro (e paciência) para fazer com que as APIs cuspiram dados quando não devem. Mas, neste caso, havia uma maneira ainda mais fácil. A API do TeaoRher permitiu acesso não autenticado aos dados do usuário. Esta página de destino da API incluía um terminal chamado /Docs, que continha a documentação gerada automaticamente da API (alimentada por um produto chamado Swagger UI) que continha a lista completa de comandos que podem ser executados na API. Esta página de documentação foi efetivamente uma planilha mestre de todas as ações que você pode executar na API do Teaoher como usuário regular de aplicativo e, mais importante, como administrador do aplicativo, como criar novos usuários, verificar documentos de identidade dos usuários, moderar comentários e muito mais. A documentação da API também contou com a capacidade de consultar a API do TeaoRher e retornar dados do usuário, essencialmente nos permitindo recuperar dados do servidor de back -end do aplicativo e exibi -los em nosso navegador. Embora não seja incomum que os desenvolvedores publiquem sua documentação da API, o problema aqui foi que algumas solicitações da API poderiam ser feitas sem qualquer autenticação – não foram necessárias senhas ou credenciais para retornar informações do banco de dados TeaoRHER. Em outras palavras, você pode executar comandos na API para acessar os dados privados dos usuários que não deveriam ter sido acessíveis a um usuário do aplicativo, muito menos qualquer pessoa na Internet. Tudo isso foi conveniente e publicamente documentado para qualquer pessoa ver. Solicitar uma lista de usuários atualmente na fila de verificação de identidade do TeaoRHER, por exemplo – não mais do que pressionar um botão na página da API, nada de sofisticado aqui – retornaria dezenas de registros de conta em pessoas que haviam se inscrito recentemente para o Teaoher. Os registros retornados do servidor do TeaoRher continham os identificadores exclusivos dos usuários no aplicativo (essencialmente uma sequência de letras e números aleatórios), seu nome de tela de perfil público e idade e localização autorreferidos, juntamente com seu endereço de e-mail privado. Os registros também incluíram links de endereço da web contendo fotos das licenças de driver dos usuários e selfies correspondentes. Pior, essas fotos de licenças de motorista, IDs emitidas pelo governo e selfies foram armazenadas em um servidor de nuvem S3 hospedado na Amazon, tão acessível ao público para qualquer pessoa com seus endereços da Web. Essa configuração pública permite que qualquer pessoa com um link para os documentos de identidade de alguém abra os arquivos de qualquer lugar, sem restrições. Duas licenças de motorista (redigidas pelo TechCrunch) expostas pelas falhas nos créditos do Appimage Teaoner: TechCrunch (Captura de tela) com esse identificador de usuário exclusivo, também poderíamos usar a página da API para procurar diretamente os registros de usuários individuais, que retornariam os dados da conta e qualquer um de seus documentos de identidade associados. Com acesso desinibido à API, um usuário malicioso poderia ter raspado enormes quantidades de dados do usuário do aplicativo, bem como o que aconteceu com o aplicativo de chá para começar. De feijão ao copo, isso foi de cerca de 10 minutos, e ainda não tínhamos logado no aplicativo. Os insetos foram tão fáceis de descobrir que seria pura sorte se ninguém mal -intencionado os encontrasse antes de nós. Perguntamos, mas Lampkin não diria se ele tem a capacidade técnica, como logs, para determinar se alguém havia usado (ou mal utilizado) a API a qualquer momento para obter acesso aos documentos de verificação dos usuários, como eliminando endereços da Web da API. Nos dias desde o nosso relatório para a Lampkin, a página de destino da API foi retirada, juntamente com sua página de documentação, e agora exibe apenas o estado do servidor em que a API do Teaoher está sendo “saudável”. Pelo menos em testes superficiais, a API agora parece confiar na autenticação, e as chamadas anteriores feitas usando a API não funcionam mais. Os endereços da Web que contêm documentos de identidade carregados dos usuários também foram restringidos à visualização pública. O desenvolvedor da Teaoher descartou os esforços para divulgar falhas, uma vez que a TeaoRher não tinha site oficial no momento de nossas descobertas, o TechCrunch entrou em contato com o endereço de e -mail listado na Política de Privacidade, em um esforço para divulgar os lapsos de segurança. Mas o email recuperou com um erro dizendo que o endereço de e -mail não foi encontrado. Também tentamos entrar em contato com Lampkin através do endereço de e -mail em seu site, Newville Media, mas nosso email recuperou com a mesma mensagem de erro. O TechCrunch chegou a Lampkin via mensagem do LinkedIn, pedindo que ele forneça um endereço de e -mail onde pudéssemos enviar detalhes das falhas de segurança. Lampkin respondeu com um endereço de e -mail geral de “suporte”. Quando o TechCrunch divulga uma falha de segurança, chegamos a confirmar primeiro que uma pessoa ou empresa é o destinatário correto. Caso contrário, enviar detalhes cegamente de um bug de segurança para a pessoa errada poderá criar um risco. Antes de compartilhar detalhes específicos das falhas, pedimos ao destinatário do endereço de e -mail de “suporte” se esse fosse o endereço correto para divulgar uma exposição à segurança envolvendo dados do usuário do TeaoRher. “Você deve nos confundir com ‘The Tea App'”, respondeu Lampkin por e -mail. (Não tínhamos.) “Não temos uma violação de segurança ou vazamento de dados”, disse ele. (Foi.) “Temos alguns bots no máximo, mas ainda não escalamos o suficiente para estar nessa conversa, desculpe que você tenha sido mal informado”. (Não ficamos satisfeitos por termos estabelecido contato com a pessoa correta (embora não com a resposta que recebemos), os detalhes compartilhados do TechCrunch das falhas de segurança, além de vários links para as licenças de motorista expostas e uma cópia dos dados de Lampkin para destacar a gravidade das questões de segurança. “Obrigado por essas informações. Isso é muito preocupante. Vamos pular sobre isso agora”, disse Lampkin. Apesar de vários e-mails de acompanhamento, não ouvimos de Lampkin desde que divulgamos as falhas de segurança. Não importa se você é uma loja de software de uma pessoa ou uma vibração bilionária de codificação durante um fim de semana: os desenvolvedores ainda têm a responsabilidade de manter os dados de seus usuários em segurança. Se você não conseguir manter os dados privados de seus usuários em segurança, não os crie para começar. Se você tiver evidências de um aplicativo ou serviço popular vazando ou expondo informações, entre em contato. Você pode entrar em contato com este repórter com segurança por mensagem criptografada em Zackwhittaker.1337 no sinal. Estamos sempre procurando evoluir e, ao fornecer algumas dicas sobre sua perspectiva e feedback sobre o TechCrunch e nossa cobertura e eventos, você pode nos ajudar! Preencha esta pesquisa para nos informar como estamos indo e ter a chance de ganhar um prêmio em troca!
Fonte
Publicar comentário