O intervalo
O argumento de que não existe código perfeito diz que os defeitos são a constante e a resposta é a variável. Esta página trata de um trecho dessa resposta: a distância entre alguém saber e todo mundo saber.
É a parte menos técnica do trabalho de segurança e a que mais frequentemente decide quanto do estrago cai sobre pessoas que não participaram da decisão. Os casos abaixo estão organizados pelo que cada um estabeleceu.
Coordenação nessa escala é possível, e é rara
Oitenta fabricantes corrigiram uma falha de protocolo num único dia em julho de 2008, tendo sido informados em sigilo por meses, porque uma falha de resolvedor era grave o bastante para que nenhum deles pudesse consertá-la sozinho. A falha de Kaminsky é o caso que a indústria cita quando quer provar que coordenação funciona, e é citado tantas vezes em parte por não ter sido repetido nessa escala.
Seu companheiro é o KRACK: submetido a revisão em maio, fabricantes notificados por um órgão coordenador em agosto, público em outubro com as correções já distribuídas - e um conserto retrocompatível, de modo que um cliente corrigido ficava seguro num ponto de acesso não corrigido. Essa propriedade é a razão de a resposta ter funcionado, e nem sempre está disponível.
Um embargo protege o intervalo antes do conserto, não depois
Uma correção é uma descrição da vulnerabilidade. Qualquer pessoa competente compara o código novo com o velho e trabalha de trás para frente. Pesquisadores extraíram uma senha embutida do ScreenOS da Juniper em seis horas depois de a correção ser pública. Um responsável da Microsoft disse o mesmo sobre o Conficker dez anos depois: uma vez lançada a correção, muito mais gente consegue revertê-la. E o mês de silêncio de Kaminsky entre a correção e a palestra nunca ia ser silencioso.
A consequência prática é que o relógio que o defensor corre depois de a correção sair é acertado por quem lê diferenças de código mais rápido, não pelo embargo.
Reter não compra nada se outra pessoa pode achar
No GCHQ, a criptografia de chave pública fora concebida até 1970 e implementada em 1973. Nada disso chegou a ninguém, e portanto nada disso protegeu ninguém; o trabalho publicado em 1976 mudou tudo. O Diffie-Hellman é essa comparação num único dado.
O SATAN é o mesmo argumento sobre ferramentas em vez de matemática. Um pesquisador foi demitido por publicar um scanner em 1995; a indústria então passou trinta anos adotando a posição dele como modelo de negócio. Se as objeções de 1995 eram irracionais é pergunta viva de novo, com a descoberta automatizada de vulnerabilidades, e o artigo diz isso - mas reter uma capacidade que outros podem construir ainda não foi o que protegeu ninguém.
Consertar em silêncio tem prazo de validade
A Intel achou a falha aritmética internamente, julgou que nem errata era, revisou a circuitaria sem divulgar, e então pediu aos clientes que provassem estar afetados usando informação que a Intel não publicara. O defeito FDIV do Pentium custou cerca de 475 milhões de dólares, quase nada disso por causa do defeito.
A DigiNotar revogou certificados em silêncio por mais de um mês e foi descoberta por um cidadão comum fazendo uma pergunta num fórum, enquanto os certificados fraudulentos eram usados contra umas trezentas mil pessoas. Sua companheira, a RSA, disse aos clientes que houvera uma invasão sem dizer o que fora levado - então ninguém conseguia decidir se trocava tokens, mudava PINs ou isolava servidores administrativos.
Contra esses, o contraexemplo: a Juniper anunciou código não autorizado no próprio , o que é quase a pior coisa que um fabricante de rede pode dizer de si mesmo, e foi amplamente elogiada por isso.
Dizer às pessoas o que fazer é o produto
O scanner que importou não foi o que achou mais coisas; foi o que explicava cada achado - o que era o problema, o que ele podia causar, e qual das quatro coisas fazer a respeito. O SATAN estabeleceu esse modelo em 1995 e um bom número de ferramentas modernas ainda o faz pior. Uma lista de achados cria trabalho; uma explicação cria capacidade.
A mesma distinção decide os avisos. A Fortinet publicou um artefato nomeado e verificável - um link simbólico deixado depois da exploração - para que os clientes pudessem determinar se corrigir tinha bastado. A maioria dos fabricantes não faz isso, e o cliente fica sem poder responder à única pergunta que importa.
Quem acha costuma ser um estranho que suspeitou de si primeiro
Um professor de matemática passou quatro meses culpando o próprio código antes de culpar o chip da Intel. Um usuário de Gmail em Teerã postou uma pergunta num fórum. Um departamento de estatística produziu um mapa. Uma paciente insistiu que fora queimada por uma máquina que, segundo o fabricante, não podia queimar ninguém - e o Therac-25 é onde esse relato não acreditado custou vidas.
A instrução transferível é curta: um relato de incidente que contradiz seu modelo do sistema é dado sobre o seu modelo. O instinto de explicá-lo para longe é o modo de falha.
Às vezes o registro não resolve
Dois casos aqui terminam sem resposta, e estão escritos assim de propósito. O ataque ao STJ tem um relato oficial dizendo que os backups sobreviveram e a cobertura de segurança dizendo que foram destruídos; os dois estão no registro público e não podem ser os dois completos. A Silk Road tem um relato do governo sobre como o servidor foi achado, uma refutação técnica, e um tribunal que encerrou a questão por regra processual em vez de decidi-la.
Registrar uma contradição e dizer com todas as letras que ela está sem solução não é falha do texto. É o estado honesto da evidência, e o leitor é mais bem servido por ele do que por uma história limpa.
Para onde isto leva
A outra metade do quadro - não o que foi dito, mas o que quebrou - é como os sistemas falham. O que os dois defendem, em práticas e não em casos, é decidido de antemão.