2 pontos por GN⁺ 2023-08-29 | 1 comentários | Compartilhar no WhatsApp
  • Estudantes que, de boa-fé, avaliaram o popular app social anônimo Fizz no campus de Stanford descobriram acesso completo de leitura e escrita ao banco de dados, além de informações de usuários e posts sem anonimização adequada
  • Os pesquisadores enviaram um relatório de divulgação de vulnerabilidade com sugestões de correção e até concordaram com um embargo de divulgação para dar tempo ao Fizz de corrigir o problema, mas depois a resposta virou ameaças legais
  • O Fizz exigiu que eles não divulgassem o que encontraram, mencionando violações de leis estaduais e federais, responsabilidade civil e criminal e até a possibilidade de 20 anos de prisão
  • Os pesquisadores receberam representação jurídica gratuita de Kurt Opsahl e Andrew Crocker, da Electronic Frontier Foundation, e não cederam à exigência de silêncio
  • Mesmo em pesquisa de segurança feita de boa-fé, é mais seguro registrar objetivo, escopo e ações, evitar armazenar ou vazar dados e manipular contas, e não enfrentar ameaças legais sozinho

Problemas de segurança encontrados no Fizz

  • O app de mídia social anônima Fizz, uma startup estudantil de Stanford, estava ganhando popularidade no campus e divulgava uma mensagem próxima de “100% secure”
  • Como era um espaço em que usuários publicavam relatos sensíveis, estudantes interessados em segurança decidiram verificar se essas informações estavam realmente protegidas
  • Em poucas horas, foi possível obter acesso completo de leitura e escrita ao banco de dados do Fizz
    • O banco armazenava informações de usuários e de posts
    • Esses dados não estavam totalmente anonimizados
  • Os pesquisadores concluíram que o Fizz praticamente não tinha proteções de segurança

Da divulgação responsável às ameaças legais

  • Os pesquisadores organizaram o que encontraram em um relatório de divulgação de vulnerabilidade e enviaram por e-mail ao Fizz
  • O relatório incluía os problemas identificados e sugestões de correção, e eles concordaram antecipadamente em não falar publicamente até uma data específica de embargo para dar tempo ao Fizz de corrigir tudo
  • No início, o Fizz agradeceu pelo relatório, respondeu que corrigir os problemas era prioridade máxima e enviou algumas atualizações ao longo de algumas semanas
  • Depois, a postura mudou, e a empresa passou a enviar ameaças mencionando violações de leis estaduais e federais e responsabilidade civil e criminal
    • As ameaças incluíam até a possibilidade de 20 anos de prisão
    • O ponto central era a exigência de que eles não divulgassem o que haviam descoberto
    • A estrutura era: se concordassem em ficar em silêncio, a empresa não seguiria com medidas legais, e o prazo para resposta era de 5 dias
  • Os pesquisadores entenderam isso como uma tentativa de intimidá-los e silenciá-los

Apoio jurídico da EFF e desfecho

  • Os pesquisadores pediram ajuda à sua rede e, em poucos dias, foram conectados a Kurt Opsahl e Andrew Crocker, da Electronic Frontier Foundation
  • Os dois aceitaram representá-los gratuitamente, e os pesquisadores explicaram aos advogados o processo de divulgação e os documentos relacionados
  • Após receber orientação jurídica, os pesquisadores decidiram não ceder às ameaças do Fizz
  • Kurt e Andrew redigiram a resposta ao Fizz, e depois a equipe do Fizz pediu uma reunião
  • Os dois lados resolveram a situação de forma amigável, e os pesquisadores pressionaram o Fizz a divulgar proativamente o problema aos usuários
  • O Fizz acabou revelando o problema aos usuários

Princípios que pesquisadores de segurança devem seguir

  • Mantenha a pesquisa legítima e bem documentada
    • Antes da pesquisa, é preciso deixar claro o objetivo e verificar se os limites éticos não serão ultrapassados
    • Os pesquisadores não armazenaram nem vazaram dados aos quais tiveram acesso
    • Eles não manipularam contas de outras pessoas nem causaram danos
    • Todas as ações foram documentadas em detalhe, o que ajudou tanto na elaboração do relatório de vulnerabilidade quanto na resposta jurídica
  • É preciso reagir com calma
    • Mesmo diante de ameaças legais, a resposta deve ser profissional
    • O objetivo é resolver a situação sem aumentá-la
    • Respostas emocionais por e-mail podem prejudicar a chance de uma solução amigável
  • É preciso procurar um advogado

    • Tentar lidar sozinho com ameaças legais pode ser um grande erro
    • A avaliação é que o Fizz esperava que os pesquisadores, por ingenuidade, cedessem à intimidação
    • Nem todo mundo poderá contar com representação gratuita da EFF, mas vale usar os recursos cada vez mais disponíveis para pesquisadores de segurança que atuam de boa-fé

1 comentários

 
GN⁺ 2023-08-29
Opiniões do Hacker News
  • Não sou advogado, mas tenho interesse profissional nessa área estranha da lei, e parece que o advogado da equipe da EFF fez aqui uma alegação um pouco forçada
    O Fizz é uma aplicação cliente/servidor, provavelmente um app web, e o que os pesquisadores testaram foi o software que rodava nos servidores do Fizz
    Depois de encontrar a vulnerabilidade, os pesquisadores usaram a atividade de banco de dados que haviam obtido para criar uma conta de administrador, e nunca tiveram autorização para esse teste
    Se esses fatos estiverem corretos, a menos que haja alguma lei da Califórnia que eu desconheça — e, mesmo assim, acho que isso seria irrelevante por causa da prevalência da lei federal —, vejo isso como uma violação bastante direta da CFAA, ao contrário do que a resposta da EFF afirma
    Dito isso, há pelo menos três fatores que reduzem o risco jurídico: pelas divulgações e pelo comportamento posterior, fica claro que se tratava de pesquisa de segurança de boa-fé, o que não é um alvo atraente para acusação; não está claro se houve dano significativo; e, como a Fizz é pequena e recém-criada, parece improvável que tenha chegado a um acerto com uma empresa de perícia forense ou seguradora
    Além disso, como a EFF apontou, os advogados da Fizz violaram as regras da ordem dos advogados estadual ao ameaçar os pesquisadores com persecução criminal para tentar obter concessões valiosas deles
    Parece que, aqui, o lado bom venceu, mas eu teria cuidado em generalizar lições demais. Se não fosse a Fizz, mas sim o recurso social da Dunder Mifflin Infinity, o desfecho poderia ter sido muito mais feio

    • Como um amigo apontou, o “galho” em que a EFF se apoiou era bem resistente. Isso porque o DOJ publicou uma declaração de política dizendo que não processaria pesquisa de segurança de boa-fé
      https://www.justice.gov/opa/pr/department-justice-announces-...
    • Se funciona do tipo “pesquisa de segurança não solicitada pode facilmente acumular danos na casa de cinco ou seis dígitos”, então isso parece um problema da lei atual
      O tamanho dos “danos” fica nas mãos da vítima e dá a uma grande burocracia um incentivo distorcido para gastar, de forma arbitrária, recursos que são pequenos para ela, mas grandes em valor absoluto, a fim de impor uma punição severa a um agente imperfeito que a constrangeu
      Mesmo que tais medidas estejam dentro de um escopo legítimo, também é inadequado repassar o custo a quem informou sobre a necessidade delas. Se você operava um serviço público com uma vulnerabilidade grave, então, independentemente de essa pessoa ter agido de forma inadequada, seria preciso avaliar a possibilidade de outra pessoa tê-la explorado
      A causa desse custo é a sua própria conduta de operar um serviço vulnerável; é um custo que você teria de arcar depois da operação mesmo se tivesse descoberto a vulnerabilidade por conta própria
      Os danos atribuíveis ao réu deveriam se limitar ao prejuízo que ele de fato causou, por exemplo, casos em que usou o acesso para obter informações financeiras de clientes e cometer fraude com cartão de crédito
    • Acho que o “galho” em que o advogado da EFF se apoiou era, no fim das contas, um ponto que teria sido discutido no tribunal
      Se a configuração do app era tão ruim que simplesmente seguir o protocolo do Firebase dava permissão de escrita no banco de dados, é fácil argumentar que, na prática, não houve contorno de medidas de segurança. Porque não havia medida de segurança a contornar
      Isso me lembra o caso em que a AT&T simplesmente colocou informações de assinantes de dados do iPad em uma página web não listada. Não me lembro do resultado, mas, pelo que sei, naquele caso a pessoa tentou coletar o máximo possível de dados que conseguia obter, o que é diferente daqui
    • Boa análise. Realmente não entendo quem, nos anos 2020, acha que teste de intrusão não solicitado é uma atitude sensata e bem-vinda
      Não parece haver um “mea culpa” no texto original; mesmo que o post tenha um tom meio meme, tipo “dá para acreditar no que essas pessoas estavam tentando fazer?”, espero que tenham aprendido a lição
      A intenção parece boa, mas a lei parece ter sido violada de forma bastante clara
    • Uma ressalva importante é que, embora tecnicamente possa ser uma violação da CFAA, é muito improvável que o DOJ de fato apresente denúncia
      No ano passado, o DOJ atualizou sua política de acusações sob a CFAA para não processar pessoas que fazem “pesquisa de segurança de boa-fé” [1]
      A CFAA é notoriamente ampla, então a política do DOJ fica bem aquém de alterar a lei para tornar mais clara a legalidade da pesquisa de segurança
      A política ainda pode mudar em uma nova administração, portanto continua havendo risco, mas é menos arriscado do que antes de ela ser formalizada
      [1] https://www.justice.gov/opa/pr/department-justice-announces-...
  • É difícil entender por que, em contratos ou especialmente em comunicações jurídicas ameaçadoras, quem redige quase não sofre consequências por não escrever o conteúdo com precisão.
    Já vi em contratos de trabalho frases como “se uma parte deste contrato for inválida, o restante não será invalidado”. O empregador quer fazer cumprir suas próprias regras, e isso em si é razoável, mas não há penalidade por escrever algo que não é permitido. No máximo, o tribunal considera aquela cláusula inválida.
    O ônus fica com o leitor, que normalmente é a parte muito mais fraca.
    Também aqui, por que uma empresa pode enviar uma carta ameaçadora dizendo algo como “você pode pegar 20 anos de prisão federal por causa disso!”? Mesmo sendo claramente falso.
    Não deveria caber a quem redige garantir que o conteúdo seja razoável? Se for absurdo e comprovadamente errado, não deveria haver uma consequência negativa maior do que “ah, então deixa pra lá”?

    • O conceito de que “mesmo que parte do contrato seja inválida, o restante permanece em vigor” é a separabilidade; ele existe em praticamente todos os contratos e normalmente se limita a cláusulas que não são fundamentais para a essência do contrato.
      O que é fundamental, como você disse, é interpretado pelo tribunal.
      No exemplo do contrato de trabalho, a separabilidade na verdade também protege você, enquanto indivíduo. Isso porque, mesmo que algumas cláusulas sejam invalidadas, o restante do acordo — incluindo cláusulas que protegem você — continua válido.
      Se o contrato inteiro for invalidado, vocês teriam que recomeçar do zero sem nada, e talvez você até perdesse o emprego. Ter alguma proteção é melhor do que ter zero.
    • A separabilidade é o conceito que permite retirar uma parte de um contrato e manter o restante, desde que isso não altere fundamentalmente os termos do contrato; ela veio do direito constitucional para evitar que a jurisprudência fosse derrubada por completo a cada novo caso.
      Ela impede que ambos os lados escapem de todas as obrigações legais por motivos técnicos menores, ou que alguém insira deliberadamente cláusulas venenosas que não resistiriam a uma análise jurídica.
      Se uma parte do contrato é inválida, essa parte não pode ser usada. Se a invalidade dessa parte altera fundamentalmente o contrato, o contrato inteiro é invalidado. Não sei o que mais você quer além disso.
      Parece que você está propondo uma resposta punitiva contra quem redige contratos ruins, e isso me parece uma ideia bem ruim, porque poderia criar um efeito inibidor sobre a formação de todo tipo de relação jurídica e comercial.
      A parte mais fraca, que tem menos acesso a bons redatores jurídicos, provavelmente seria ainda mais prejudicada. Se até negociar mudanças na redação de um contrato virar um campo minado de responsabilidade para quem negocia, o peso da responsabilidade não ficaria ainda mais desproporcional para um pequeno ator diante de um departamento jurídico inteiro?
      Não vejo bem como o mundo que você imagina não criaria riscos maiores para as partes mais fracas do que os existentes hoje.
    • Certamente há casos excessivos, mas é difícil traçar uma linha clara.
      Em contextos de boa-fé, leis e precedentes mudam rapidamente, às vezes variam conforme o capricho do juiz, e há muitas áreas do direito sem precedentes claros ou com orientações nebulosas.
      Nesses casos, a separabilidade é importante para que o contrato inteiro não precise ser renegociado só porque uma pequena cláusula não se sustentou em juízo.
      Por exemplo, pense em um contrato de trabalho que contenha uma cláusula de não concorrência. A empresa pode usar o mesmo contrato em todas as regiões e, nos estados em que a não concorrência é ilegal, graças à cláusula de separabilidade ela não precisa criar um contrato separado para cada jurisdição.
      Se um estado antes permitia cláusulas de não concorrência e depois aprova uma lei proibindo-as, todos os contratos de trabalho que contenham uma cláusula de não concorrência deveriam subitamente se tornar inválidos? Claro que não. É esse o papel da separabilidade.
      Também é difícil saber o contexto da ameaça do texto original, mas a formulação poderia ter sido algo como “o acesso não autorizado à nossa rede de computadores é crime federal segundo a lei XYZ e pode resultar em até 20 anos de prisão”.
      Para uma pessoa comum isso é muito assustador, mas não é estritamente falso; a maioria dos advogados provavelmente reviraria os olhos e chamaria de bobagem, mas, se forem acrescentadas ressalvas suficientes, fica difícil saber onde traçar a linha.
      No fim, esses documentos são escritos por advogados, em juridiquês que não foi concebido para pessoas comuns. Fazer esse tipo de ameaça a estudantes universitários foi péssimo, e o advogado que escreveu e enviou essa carta em nome da empresa deu a ela um conselho tremendamente ruim.
      Dá para levar a questão à ordem dos advogados, mas acho que seria muito difícil transformar isso em um caso convincente nessa situação.
      Este é um dos motivos pelos quais a negociação coletiva é importante. Um sindicato consegue arcar com representação jurídica para enfrentar os advogados da empresa, mas um funcionário individual dificilmente consegue.
    • É uma questão de equilíbrio: por um lado, incentivar as pessoas a reivindicar seus direitos; por outro, desestimular a abertura de ações judiciais frívolas.
      O sistema americano, em que “cada um paga seus próprios custos jurídicos”, facilita que vítimas entrem com ações.
      Já no Reino Unido, em geral, “o perdedor paga os custos jurídicos dos dois lados”, o que faz muitos autores hesitarem em processar, mesmo quando sofreram danos significativos.
    • Pode haver consequências, mas é preciso provar que houve dano.
      Que dano você sofreu por causa dessa ameaça, e qual seria uma compensação justa? Quanto custaria contratar um advogado e processar para obter essa compensação, e qual seria a chance de ganhar?
      Quem enviou a carta ameaçadora provavelmente também se fez perguntas do mesmo tipo.
      Se parece injusto porque a outra parte tem mais recursos, isso é um problema social mais geral. Quem tem mais dinheiro consegue acesso melhor a todas as formas de justiça.
  • Este texto parece mostrar que a forma como a divulgação de vulnerabilidades é tratada hoje mudou de maneira geralmente positiva
    Nos anos 90, todas as empresas eram assim. As empresas ameaçavam com processos, e a própria divulgação parecia juridicamente suspeita. Em fóruns ou BBSs, discutia-se se era seguro divulgar em primeiro lugar, e circulavam sugestões como contas de e-mail anônimas
    Claro que algumas coisas ainda permanecem. Especialmente em empresas antiquadas ou, como aqui, quando se trata de universitários ingênuos, mas, no geral, houve uma mudança dramática a favor da divulgação
    Hoje há intermediários dedicados a proteger a identidade de pesquisadores de segurança, grandes empresas que incentivam e elogiam divulgações, bug bounties de seis dígitos e até leis que se tornaram mais favoráveis a pesquisadores de segurança
    Para o autor, deve ter sido uma experiência bem desagradável, mas é um bom reminder de que antigamente esse tipo de situação era o padrão, ou até pior, e agora ficou relativamente raro

    • O problema é que fazer esse tipo de hacking sem autorização ainda é totalmente ilegal
      Como muitas empresas aceitam bug bounties e incentivam esse tipo de atividade contra si mesmas, infelizmente acabam ensinando aos “garotos” que isso é totalmente legal, moral e ético
      Mas, como esta história mostra, na prática é jogar os dados, e desta vez deu certo
      Se você não obteve a cooperação do alvo por meio de um programa de bug bounty explicitamente definido, métodos como e-mail anônimo ainda podem ser uma ideia melhor. Só não ajudam o pesquisador de segurança a “construir nome”
      Na prática, isso também equivale a admitir uma invasão sem autorização. Fazendo uma analogia, é o mesmo ainda que você só tenha entrado por uma porta destrancada para verificar se conseguia olhar dentro da geladeira
      No tribunal da opinião pública, pode parecer que você ajudou a expor as mentiras de uma empresa, mas, em um tribunal de verdade, isso não muda o fato de que você é culpado de um crime
    • Também parece que os estudantes estavam tentando proteger suas futuras carreiras. Algo como “se vocês não deixarem isso quieto…”, especialmente se o problema foi corrigido rapidamente
      Nesse sentido, é diferente de uma retaliação típica dos anos 90. Do ponto de vista dos estudantes, deve ter sido bem assustador
      Eu também não descartaria a possibilidade de envolvimento de pais ricos, embora, claro, eu não saiba nada sobre a situação nem sobre as pessoas envolvidas
    • Métodos como contas de e-mail anônimas ainda são o caminho a seguir em muitos países ocidentais
  • História impressionante. O artigo do Stanford Daily tem cópias das cartas trocadas pelos advogados, e são bem intensas. Se a EFF não tivesse se envolvido, não conseguiríamos lê-las
    https://stanforddaily.com/2022/11/01/opinion-fizz-previously...

  • Segundo o artigo do Stanford Daily, “na época, a Fizz usava o produto de banco de dados Firestore, do Google, para armazenar informações de usuários, posts etc.… A Fizz não configurou as regras de segurança necessárias, permitindo que qualquer pessoa consultasse diretamente o banco de dados… havia acesso completo aos números de telefone e/ou endereços de e-mail de todos os usuários, e posts e upvotes podiam ser vinculados diretamente a essas informações identificadoras… além disso, todo o banco de dados era editável. Qualquer pessoa podia editar posts, valores de karma, status de moderador etc.”
    Isso é simplesmente absurdo

    • Infelizmente, é um problema muito comum em apps Firebase
      Como o cliente escreve diretamente no banco de dados, as pessoas geralmente se esquecem das verificações de permissão e confiam que o cliente só vai escrever em seus próprios objetos
      Muito tempo atrás, alterei um valor de usuário do Firebase para isAdmin=true e obtive acesso administrativo em uma empresa de patinetes elétricos; depois, acidentalmente apaguei do Firebase o patinete que eu estava alugando. Não sei o que aconteceu com aquele patinete depois disso
    • Alguns anos atrás, descobri que o HelloTalk, um app de pen pal para aprendizagem de idiomas, armazenava as coordenadas GPS reais dos usuários em um SQLite que podia ser encontrado em backups do iOS
      O mapa dentro do app mostrava apenas uma localização aproximada, e os pins desapareciam em certos níveis de zoom
      Reescrevendo as requisições com mitmproxy, também era possível contornar filtros que impediam menores de idade de pesquisar maiores de 18 anos, ou adultos de pesquisar menores, além de filtros exclusivos para pagantes, como localização e gênero. O status pago não era verificado no lado do servidor
    • Existe alguma ferramenta para auditar ou explorar bancos de dados Firebase/Firestore nesse contexto? Por exemplo, para verificar se é possível ler coleções ou documentos
      Imagino uma ferramenta web em que você coloca o app ID e os valores de API incluídos no frontend público, com suporte opcional a um session ID para também lidar com apps Firestore que usam regras de segurança leves visíveis apenas a usuários logados, e que aceite nomes de coleções encontrados no código JavaScript para explorá-las
  • Curiosamente, Ashton Cofer e Teddy Solomon, da Fizz, tentaram fazer controle de danos de RP quando seus erros vieram à tona https://stanforddaily.com/2022/11/01/opinion-fizz-previously...
    A resposta deles foi fraca, e parece que desde então eles têm se recusado a comentar sobre o caso

    • Segundo o artigo do Stanford Daily [0] linkado no texto original, a Fizz também removeu de seu site a declaração sobre o incidente e as supostas melhorias
      “A Fizz publicou uma declaração em 7 de dezembro de 2021, intitulada ‘Security Improvements Regarding Fizz’, mas, no momento da publicação deste texto, essa página não pode mais ser acessada pelo site da Fizz nem pela busca do Google”
      Além disso, parece bastante provável que o app ainda armazene informações de identificação pessoal sobre atividades “anônimas” dos usuários
      “Além disso, ainda não sabemos se nossos dados são anonimizados internamente. Os fundadores disseram ao The Daily no ano passado que os usuários eram identificáveis para os desenvolvedores, e a política de privacidade da Fizz ainda sugere que isso continua sendo verdade”
      Aqui, “desenvolvedores” pode incluir justamente aqueles fundadores que se recusaram a comentar sobre esse problema, removeram as comunicações relacionadas da empresa e, no início, comercializavam um balde totalmente furado como um “app de mídia social 100% seguro”, recorrendo a ameaças legais quando foram pegos
      Isso não me dá nenhuma vontade de colocar minhas informações na Fizz
  • Por que é possível fazer ameaças legais e evitar consequências, mas ameaçar violência física pode levar alguém à prisão?

    • Essa sensação é meio estranha. Em geral, embora haja nuances importantes que não vou destrinchar aqui, é claro que se pode ameaçar abrir um processo, que é uma ação lícita, mas não se pode ameaçar cometer uma agressão física, que é uma ação ilícita
    • Não sou advogado, mas pelo que sei, em algumas jurisdições e situações, ameaçar uma acusação criminal por si só pode configurar extorsão ou crime de abuso de processo
    • Não sou advogado, mas: 1) ameaças de violência são explicitamente crime 2) em um nível mais amplo, ameaças de violência são crime porque o ato subjacente, praticar violência, também é crime
      Ameaçar fazer algo lícito em geral é lícito. Por exemplo, ameaçar denunciar às autoridades não é ilegal
    • Ameaçar fazer algo totalmente lícito é totalmente lícito
    • https://en.wikipedia.org/wiki/Monopoly_on_violence
  • “No fim da ameaça havia uma exigência: que jamais falássemos publicamente sobre o que descobrimos. Essencialmente, se concordássemos em ficar em silêncio, eles não buscariam medidas legais”
    Legalmente, esse tipo de exigência pode impedir conversas com o promotor estadual ou com a polícia?
    Se eles afirmam ser “100% seguros”, mas sabem que na prática não são, e que os usuários não têm nenhuma proteção contra espionagem pela empresa ou por um hacker minimamente competente, isso é no mínimo fraude e se aproxima mais de interceptação criminosa. Afinal, trata-se de enganar deliberadamente usuários para que acreditem que é “100% seguro” e revelem segredos ao serviço
    O fato de isso ter terminado “amigavelmente” é, francamente, uma falha da justiça. A equipe do Fizz deveria ser acusada de fraude

    • É possível que o Fizz realmente não soubesse de suas vulnerabilidades de segurança. Nesse caso, pode estar mais para negligência do que para fraude
    • Não vejo a exigência do Fizz como juridicamente muito convincente
      Nos EUA, empresas são mais valorizadas do que cidadãos. A publicidade americana está cheia de alegações falsas
      Ignoramos isso fingindo que as palavras não têm significado
  • Interessante. Na minha escola também há uma plataforma muito parecida chamada SideChat, e imagino que não seja muito diferente
    No ano passado, fui banido permanentemente por questionar a validade da “terapia de afirmação de gênero”, então fiquei curioso para saber o quanto eles sabem sobre mim

  • Do ponto de vista jornalístico, foi excelente apontar publicamente o Fizz. “O Fizz não protegeu os dados dos usuários. O que aconteceu depois?”
    Isso não é “alguém hackeou”, e sim o Fizz não ter feito o que prometeu
    Ainda fico me perguntando se foi testado se a vulnerabilidade já foi corrigida

    • Acho que uma matéria posterior do Stanford Daily disse que os criadores do app receberam milhões de dólares em investimento e muita ajuda profissional, incluindo a correção dos problemas de segurança
      Ainda assim, os dados dos usuários não parecem ter sido completamente anonimizados internamente, como se afirmava antes