A oracle quer que você parar de enviar-lhes os erros - é aqui porque isso é loucura

Oracle é em água quente esta semana sobre um post escrito por seu chefe de segurança, Mary Davidson. O poste, embora ele cobre uma variedade de tópicos, é principalmente sobre a prática de reporte de eventuais vulnerabilidades de segurança para Oracle. Especificamente, por que você não deve.

“Recentemente, eu vi um pequeno aumento grande ish em clientes engenharia reversa de nosso código para tentar encontrar vulnerabilidades de segurança nele.

código-fonte da Oracle não é público. A intenção é torná-lo mais difícil para os outros para roubar sua propriedade intelectual. No entanto, isso também significa que é muito difícil para os clientes para verificar se o código está seguro. Este é o lugar onde ‘decompilation` entra em jogo. Basicamente, de-compilação traduz na outra direção, a conversão de arquivos executáveis ​​de volta em código legível. Isso não entregar exatamente o código-fonte original, mas não entregar o código que funciona da mesma forma - embora muitas vezes é difícil de ler, devido à perda de comentários e estrutura organizacional.

Esta é a “engenharia reversa” que Davidson está se referindo. Oracle é contra, porque eles pensam que coloca sua propriedade intelectual em risco. Esta é pelo menos um pouco tola, porque o uso de um contrato de licença para proibir o roubo de IP é um pouco como usar um capacho severamente redigido para evitar invasão de domicílio. Os tipos de pessoas que vão tentar clonar seus produtos não se preocupam com acordos de licença, e muitas vezes não estão em jurisdições onde você poderia fazer cumprir esses acordos em qualquer caso.4 maneiras de ler & Entenda Uma End User License Agreement (EULA) Mais Facilmente4 maneiras de ler & Entenda Uma End User License Agreement (EULA) Mais FacilmenteEULAs, ou Contratos de licença do usuário final, é um dos males da vida moderna. Estes são acordos infinitamente prolixos, normalmente escritos em letras minúsculas. Estas são as coisas que você cegamente rolar para baixo, olhando para esse danado ...consulte Mais informação

A política realmente só afeta clientes legítimos. A situação é semelhante ao de DRM videogame, mas de alguma forma ainda mais ineficaz.6 lugares para comprar jogos DRM-Free [Gaming MUO]6 lugares para comprar jogos DRM-Free [Gaming MUO]Desde que eu decidi não comprar jogos do Steam, eu preciso encontrar outras fontes. Muitos deles são realmente pior do que o vapor em si. loja da Ubisoft é desconcertante e cheio de DRM irritante. Artes eletrônicas...consulte Mais informação

Por que os clientes querem decompor estes executável? É tudo sobre segurança. Ter acesso ao código-fonte permite que você cavar através dele à procura de bugs e problemas potenciais. Muitas vezes, isso é feito usando o software que realiza uma “análise estática de código” - uma leitura através automatizada do código, que identifica bugs conhecidos e práticas de software perigosas que tendem a levar a bugs. Embora existam ferramentas que analisam o arquivo executável diretamente, Decompiling que permite análises geralmente mais profundas. Este tipo de análise estática é uma ferramenta padrão do comércio de segurança, ea maioria das empresas preocupadas com segurança o uso desse software internamente, para produzir código que é menos provável que contêm erros graves.

política da Oracle sobre este tipo de análise é simplesmente “não”. Por quê? Vou deixá-Davidson explicar.

“Um cliente não pode analisar código para ver se há um controle que impede o ataque a ferramenta de verificação está gritando sobre (o que é mais provável um falso positivo) [...] Agora, devo observar que nós não apenas aceitar digitalizar relatórios como “prova que há um lá, lá”, em parte porque se você está falando análise estática ou dinâmica, um relatório de verificação não é prova de uma vulnerabilidade real. [...] Oh, e exigimos que os clientes / consultores para destruir os resultados de tal engenharia reversa e confirmar que eles fizeram.”

Em outras palavras, a ferramenta de transformar-se um resultado não é prova de um bug real - e, desde que a Oracle usa essas ferramentas internamente, não há nenhum ponto em clientes executá-los por conta própria.

O grande problema com isto é que estas ferramentas de análise estática de código não existem apenas para trazer os erros para a sua atenção. Eles também deve servir como um alvo para a qualidade do código e segurança. Se você despejar base de código da Oracle em uma ferramenta de análise estática padrão da indústria e ele cospe centenas de páginas de problemas, isso é um sinal muito ruim.

Video: Henrique e Juliano - Às Vezes - (DVD Ao vivo em Brasília) [Vídeo Oficial]

A resposta correta, quando uma ferramenta de análise estática de código cospe de volta um problema, não é olhar para a questão e dizer ‘oh, não, isso não causa um erro porque tal e tal.` A resposta correta é para entrar e corrigir o problema. As coisas sinalizadas por ferramentas de análise estática de código são geralmente más práticas em geral, e sua capacidade de determinar se ou não um determinado assunto realmente faz com que um erro é falível. Ao longo de milhares de problemas, você vai perder coisas. Você é melhor fora não ter essas coisas em sua base de código em primeiro lugar.

Aqui está Oculus CTO John Carmack cantando louvores a estas ferramentas de seu tempo em iD Software. (Sério, leia todo o ensaio, é algo interessante).

“Tivemos um período em que um dos projetos acidentalmente tem a opção de análise estática desligado por alguns meses, e quando notei e re-enabled-lo, havia pilhas de novos erros que tinham sido introduzidas no ínterim. [...] Eram manifestações que as operações de desenvolvimento normais foram continuamente produzindo estas classes de erros, e [análise de código estático] foi, efetivamente, nos protegendo de um monte deles “.

Em suma, é provável que muitos dos clientes da Oracle não eram necessariamente tentando reportar bugs específicos - eles estavam perguntando por práticas de codificação da Oracle eram tão pobres que a sua base de código foi crivado de milhares e milhares de questões tão básicas que poderiam ser escolhidos para fora por software automatizado.

Segurança por etiquetas

Então, o que deve aos clientes segurança preocupados fazer, em vez de usar ferramentas de análise estática? Felizmente, post de Davidson foi extremamente detalhadas sobre esse assunto. Além de defender práticas gerais de segurança básica, ela faz sugestões concretas para aqueles preocupados com a segurança do software que utilizam.

“[T] aqui estão um monte de coisas que um cliente pode fazer como, meu Deus, realmente conversando com fornecedores sobre os seus programas de garantia ou verificação de certificações para produtos relativamente aos quais existem selos de limpeza Bom para (ou‘bom código’selos) como Common Criteria certificações ou FIPS-140 certificações. A maioria dos fornecedores - pelo menos, a maioria dos mais grandes-ish que eu conheço - têm programas de garantia bastante robustos agora (sabemos isso porque todos nós comparar as notas em conferências) “.

Isto é um horripilante resposta de uma organização tão grande como Oracle. A segurança do computador é uma área que evolui rapidamente. Novas vulnerabilidades são encontradas todo o tempo, e formalizar os requisitos de segurança em uma certificação que é atualizado a cada poucos anos é um absurdo. Segurança não é um adesivo. Se você confiar em que um pedaço de software crucial é seguro na base de um selo na embalagem, você está sendo irresponsavelmente estúpido.



Heck, ferramentas de análise estática ficar atualizado com muito mais freqüência do que estas certificações fazer - em alguns casos, diariamente - e eliminando todos os problemas que aparecem ainda não é o suficiente para ter muita confiança na segurança de seu código, porque a maioria das vulnerabilidades são complexas demais para ser detectado por esses tipos de ferramentas automatizadas.

A única maneira de ter uma confiança em sua própria segurança é expor o seu código para o mundo, e pedir hackers para tentar quebrá-lo. Isto é como a maioria das grandes empresas de software operar-se: se você encontrar um problema com o seu código, eles não vão condescendingly snark em você por violar seu contrato de uso. Eles vão pagar-lhe dinheiro. Eles querem que as pessoas a tentar o seu melhor para quebrar o seu software o tempo todo. É a única maneira que eles podem ter qualquer confiança seu código é de todo segura.

Video: MC MM - Social, Narga e Piscina (KondZilla)

Estes programas são chamados programas de “bug de recompensa”, e eles são a melhor coisa que aconteceu para segurança de nível empresarial em um longo tempo. Eles são também, por coincidência, algo que Davidson tem opiniões muito fortes sobre.

“Bounties de bugs são a nova boy band (bem alliterative, não?) Muitas empresas estão gritando, desmaios, e jogando cueca na pesquisadores de segurança [...] para encontrar problemas em seu código e insistindo que este é o caminho, andai nele: se você não está fazendo bounties de bugs, seu código não é seguro.

Ah, bem, nós encontramos 87% das vulnerabilidades de segurança nos, pesquisadores de segurança encontrar cerca de 3% eo resto são encontrados pelos clientes. [...] Não estou sacaneando bounties de bugs, apenas observando que em uma base estritamente econômico, por que eu iria jogar um monte de dinheiro de 3% do problema.”

Video: Maiara e Maraisa - "Medo Bobo" #MaiaraeMaraisaAgoraéQueSaoElas

Para começar, com base nos resultados daqueles código estático análises, pode vir a ser muito mais do que 3% se você paga-los. Mas eu discordo. A verdadeira questão é esta: bug bounties não são para você, eles são para nós. você poderia encontrar bugs de forma mais eficiente se você gastar o mesmo dinheiro em especialistas de segurança interna? Bem, provavelmente não - mas vamos jogar a Oracle um osso e assumir que eles podiam. No entanto, eles também poderiam levar o dinheiro, banco, e depois não fazer absolutamente nada. Se a segurança resultante é sub-par, os clientes só vai descobrir mais sobre ele daqui a alguns anos, quando os seus números de segurança social misteriosamente acabar na web profunda.Como encontrar Sites cebola ativos & Por que você pode quererComo encontrar Sites cebola ativos & Por que você pode querersites de cebola, assim chamado porque eles acabam com ".cebola", Estão hospedados como serviços Tor escondidas - uma forma completamente anônima para hospedar sites.consulte Mais informação

bounties de bugs existem metade porque eles são uma forma verdadeiramente eficaz de erros de identificação, e metade porque eles são uma forma de segurança você não pode fingir. Uma recompensa bug credibilidade diz ao mundo que todos os erros deixados no código são mais caros de encontrar do que a recompensa afirmou.

bounties de bugs não existem para sua conveniência, Oracle, eles existem porque nós não confiar em você.

Nem devemos! A abundância de grandes empresas permitem segurança para cair no esquecimento, como a numerosos megabreaches mostram muito claramente. Você é a segunda maior fabricante de software do mundo. É absurdo pedir-nos que basta dar sua palavra de que seus produtos são seguros.Alvo Confirma até 40 milhões de clientes dos EU cartões de crédito potencialmente HackedAlvo Confirma até 40 milhões de clientes dos EU cartões de crédito potencialmente HackedAlvo acaba de confirmar que um hack pode ter comprometido as informações de cartão de crédito para até 40 milhões de clientes que fizeram compras em suas lojas nos Estados Unidos entre 27 de novembro e 15 de dezembro de 2013.consulte Mais informação

O que Davidson obtém direito

Para ser justo com Davidson, existem elementos desta que sejam razoáveis ​​no contexto. Provavelmente, muitos de seus clientes não embarcar em auditorias ambicioso de código da Oracle, sem tomar o tempo para eliminar problemas de segurança mais mundanos de seus sistemas.

“Ameaças Persistentes Avançadas” - organizações de hackers habilidosos que tentam obter acesso a organizações específicas para roubar dados - são certamente assustador, mas pelos números que são muito menos perigosos do que os milhões de hackers amadores oportunistas com ferramentas automatizadas. Fazendo esses tipos de análises estáticas de software comercial quando você não adoptaram medidas básicas de segurança é muito parecido com a instalação de um quarto do pânico quando você ainda não tem um cadeado na porta da frente.

Da mesma forma, ele provavelmente realmente é frustrante e inútil para ser apresentado com a mesma análise automatizada de novo e de novo e de novo.

No entanto, tomado como um todo, o artigo revela algumas idéias seriamente desatualizadas sobre a segurança do sistema, e a relação entre desenvolvedores e clientes. Eu aprecio que o trabalho de Davidson é frustrante, mas os usuários vão sair do seu caminho para verificar a segurança do software que eles usam não são o problema. Aqui é presidente da consciência de segurança, tomada de Ira Winkler sobre ele:

“A Oracle é uma empresa muito grande e rica, com produtos que são amplamente distribuídos e usados ​​para aplicações críticas. Período. Eles têm a responsabilidade de fazer o seu software tão forte quanto possível [...] Pode haver um monte de falsos positivos e custos associados, mas que é um fator de [sua venda] um monte de software que tem um grande número de usuários. É um custo de fazer negócios. Tenho certeza de que todas as empresas de software têm os mesmos relatórios falsos positivos. Eu não ouço Microsoft et al. reclamando.”

Se o Oracle não quer continuar recebendo milhares de problemas encontrados por ferramentas de segurança estática, talvez eles deveriam corrigir esses milhares de questões. Se eles estão incomodados com pessoas voltando nas mesmas não-erros uma e outra vez, talvez eles deveriam ter um programa de recompensas bug adequada que tem mecanismos para lidar com submissões repetidas de não-questões. Os clientes da Oracle estão clamando por um alto padrão de segurança, e envergonhar-los por isso é notthe resposta certa.

Mesmo que a Oracle tem tomado para baixo e, geralmente, desmentiu o post, que foi escrito em tudo revela uma cultura de segurança profundamente equivocada dentro Oracle. A estratégia da Oracle para a segurança prioriza proteger sua propriedade intelectual sobre a segurança ea paz de espírito de seus clientes - e se você confiar software Oracle com informações críticas, que deve assustar os bejeezus fora de você.

O que você acha? Você está preocupado com a filosofia de segurança da Oracle? Você acha Davidson está sendo tratado com muita severidade? Deixe-nos saber nos comentários!


Artigos relacionados