Michael Stanton

WirelessBrasil

Ano 2001       Página Inicial (Índice)    


17/11/2001
Revelação total de defeitos em software

Como reconhecido no artigo "As ordens da ignorância ..." publicado na semana passada por Sílvio Meira (silviomeira.no.com.br), defeitos em software são um acessório inevitável do processo do seu desenvolvimento. Isto significa que muitos dos produtos que usamos não vão funcionar corretamente, e, ainda mais, alguns destes defeitos podem introduzir sérios riscos à própria segurança dos nossos sistemas. Cada dia mais temos conhecimento da exploração por delinqüentes de defeitos encontrados em programas muito difundidos, como o Outlook Express, Internet Explorer, Internet Information Server e o próprio sistema operacional Windows, em todos seus sabores. Ouvimos falar mais sobre estes programas, primeiro, porque quase todos eles são muito mais usados do que seus alternativos, o que é um reflexo do domínio da Microsoft no mercado de software, mas também porque esta empresa sempre pareceu mostrar uma relativa despreocupação com a segurança do seu software, talvez pois ganhava mais dinheiro gerando e vendendo novas versões destes produtos, do que consertando os defeitos encontradas nas versões anteriores.

Estatísticas sobre o aumento contínuo de incidentes de segurança podem ser encontradas no sítio do CERT/CC- Computer Emergency Response Team/Coordination Center (www.cert.org/stats/cert_stats.html), criada em 1988 na esteira do verme de Robert Morris, Jr, o primeiro incidente sério de segurança da Internet. Hoje o CERT/CC atua como central de informações sobre tais incidentes, recebendo os relatos dos incidentes, e encaminhando-os para os fabricantes do software defeituoso.

Durante os primeiros anos do seu funcionamento, o CERT/CC mantinha sigilo sobre a natureza destes incidentes, apenas dando-lhes divulgação depois da publicação pelo fabricante de um conserto (em inglês, "patch", que significa "remendo"). Este sigilo deveria proteger os usuários do software defeituoso de ataques por exploradores das suas vulnerabilidades. Na prática, a prática de sigilo tirava dos fabricantes qualquer incentivo para encontrar uma solução rápida ao problema, e vários defeitos ficaram sem conserto durante anos. Pior, segundo a literatura especializada, alguns destes fabricantes pressionaram pesquisadores em segurança a não divulgar informação a respeito dos defeitos e vulnerabilidades encontrados.

Como resposta a esta situação lamentável nasceu o movimento de revelação total ("full disclosure") de vulnerabilidades. Ao ser descoberta uma vulnerabilidade, ela pode ser publicada através de uma lista de discussão especializada, como a Bugtraq (v. www.securityfocus.com), como o objetivo de pressionar diretamente o fabricante do software a consertá-lo rapidamente. É evidente que esta mudança de comportamento trouxe uma nova agilidade ao processo de análise e conserto de defeitos.

Porém, a revelação total tem seu lado negro. Além de ser lida pelos profissionais de segurança, interessados em diminuir a insegurança da Rede, a publicidade dada aos defeitos encontrados e ainda não consertados pode ser lida também por maliciosos, os criminosos e delinqüentes que procuram vulnerabilidades, justamente para explorá-las em benefício próprio, ou para se divertirem. Críticos de revelação total acusam seus proponentes de aumentar a insegurança da Internet, através de excessiva divulgação de vulnerabilidades. A questão posta é como achar o melhor caminho para uma Internet mais segura.

Recentemente este debate foi retomado por Scott Culp, da Microsoft, que publicou forte ataque aos defensores de revelação total de defeitos, e especialmente à prática de divulgação da maneira de explorá-los, que ele denominou de "anarquia informática" (www.microsoft.com/technet/treeview/default.asp?url=/technet/columns/security/noarch.asp). Ele também chamou à atenção o fato que, em muitos casos, consertos já estão disponíveis para os defeitos, mas simplesmente não são aplicados pelos responsáveis para o software vulnerável, talvez pelo trabalho envolvido. Afinal, há muitos anúncios de consertos, e para muitos dos nossos administradores de redes falta o tempo para dedicar a esta tarefa necessária, porém enfadonha. Face a estas realidades, ele termina fazendo um apela à comunidade de segurança para exercer autocontrole e agir "responsavelmente".

Uma resposta eloqüente foi dada por Elias Levy, antigo moderador da lista Bugtraq (www.securityfocus.com/news/270). Nela foi afirmada que há três requisitos para lançar um ataque contra um software vulnerável: a oportunidade, a capacidade e a motivação. A oportunidade de atacar depende da existência de uma vulnerabilidade e um caminho de acesso a ela. A capacidade de realizar o ataque depende do conhecimento da vulnerabilidade e de ferramentas para explorá-la. Levy argumenta que o Culp apenas se preocupa com a capacidade de lançar o ataque, esquecendo-se dos outros requisitos, e mostra que o cerceamento da discussão e divulgação de uma vulnerabilidade dificilmente impediria que a informação chegasse aos maliciosos, pela simples dificuldade, numa sociedade livre, de saber de antemão exatamente quem são os maliciosos. Conclui com a alegação que a solução indicada por Culp é meramente uma tentativa de desviar atenção da necessidade de muitos fabricantes de melhorar substancialmente a segurança dos seus produtos.

Reforço para a posição do Levy também veio de Bruce Schneier, através de artigo publicado no último número do seu boletim mensal, Cryptogram (www.counterpane.com/crypto-gram-0111.html#1). Neste artigo Schneier descreve a história de revelação total, e apresenta sua teoria de "janela de vulnerabilidade", que tenta quantificar o risco de sofrer exploração de uma vulnerabilidade. Em sua análise conclui que é mais importante agir rapidamente para consertar os defeitos do que limitar seu conhecimento.

Entretanto, ainda não é claro que o governo dos EUA não venha a se envolver mais na segurança da Internet depois dos ataques ao World Trade Center e ao Pentágono em 11 de setembro. Mês passado foi empossado Richard Clarke como Conselheiro Especial para Segurança de Ciberespaço, para coordenar esforços entre agências governamentais para segurar sistemas de informação. Adicionalmente, no evento de uma ruptura na infra-estrutura, será sua responsabilidade coordenar a restauração de sistemas críticos. Clarke, que vem trabalhando para os governos recentes de Bush (pai) e Clinton na área de segurança nacional, é conhecido por sua visão pessimista sobre os riscos aos EUA, tendo previsto há quase dois anos ataques em solo norte-americano montados por Ossama bin Laden. Desde sua posse, ele vem apontando a necessidade de pensar criativamente para reconhecer o efeito devastador que poderá produzir um ataque coordenado contra elementos críticos da infra-estrutura da Internet, explorando as vulnerabilidades já conhecidas (www.newsbytes.com/news/01/171829.html). Desde outubro, Clarke vem advogando a criação da GOVNET, uma rede segura para uso do governo, independente da Internet, embora esta proposta tenha sofrido críticas da comunidade de segurança, que apontam ser essencial a total separação entre as duas redes, o que acham quase impossível de ser garantida na prática, pelo imenso valor intrínseco de acesso à Internet.

Em todas estas iniciativas Clarke vem buscando o apoio ativo da indústria, e recentemente fez sua primeira aparência pública no evento anual, Trusted Computing Forum, promovido pela Microsoft (www.securityfocus.com/news/280). Conhecendo as simpatias do governo de Bush (filho) pelas grandes corporações, não seria surpresa ele tomar a parte da Microsoft no debate sobre revelação total.