Tudo começou com um artigo publicado pelo WinInformant.com (http://www.wininformant.com/Articles/Index.cfm?ArticleID=23958) que apontava o Windows como um sistema mais seguro que o Linux, baseado no número de vulnerabilidades encontradas em cada sistema durante os oito primeiros meses de 2001, segundo os números do BugTraq, mantido pelo Security Focus (http://securityfocus.com/vulns/stats.shtml). Este artigo foi reproduzido em várias publicações, inclusive algumas nacionais e causou discussões inflamadas no Slashdot (http://slashdot.org/articles/02/02/04/1629246.shtml), no Brasileiro .BR (http://pontobr.org/noticia.php3?nid=2608) e em inúmeros grupos de discussão.

Pelo publicado, foram encontradas 42 vulnerabilidades no Windows 2000, contra nada menos que 96 vulnerabilidades no Linux.

à primeira vista os números realmente impressionam, afinal o Linux tem fama de ser mais seguro que o Windows, graças ao código aberto e a toda uma política de segurança, que inclusive dificulta o uso do sistema graças ao complexo sistema de permissões adotado no Linux.

Mas, antes de chegar à mesma conclusão do artigo do WinInfo, cabem algumas ressalvas.

Em primeiro lugar, o fabuloso número de 96 vulnerabilidades é a soma de todas as diferentes vulnerabilidades encontradas em todas as distribuições linux. Mesmo que uma única distribuição inclua um pacote vulnerável, a vulnerabilidade é computada, embora apenas os usuários da distribuição estejam vulneráveis.

Naturalmente muitas vulnerabilidades se repetem entre as várias distribuições. O Red Hat sozinho conseguiu acumular 54 vulnerabilidades, o Mandrake acumulou 36, com mais 28 para o Debian, 27 para o Caldera, 21 para o SuSE, 10 para o Slack e 2 para o Turbo Linux. Em compensação, muitas distribuições conseguiram sair ilesas nas estatísticas, entre elas o Conectiva, que não teve nenhuma vulnerabilidade reportada pelo BugTraq no período.

Mesmo assim, o Windows 2000 poderia ser considerado mais seguro que o Red Hat. Mas, um aviso colocado na página do BugTraq inspira um pouco mais de cuidado no nosso julgamento:

"Existem diferenças na forma como as vulnerabilidades são contadas para o Microsoft Windows e outros sistemas operacionais. Por exemplo, aplicativos para Linux e BSD são geralmente agrupadas como sub-componentes do sistema operacional com o qual são distribuídos. Para o Windows, aplicativos e sub-componentes como o Explorer freqüentemente possuem seus próprios pacotes que são considerados vulneráveis ou não vulneráveis de forma externa ao Windows e por isso podem não ser incluídos na contagem. Isto pode distorcer os números."

Isto abre um grande porém. Os números de vulnerabilidades encontrados nas distribuições Linux incluem vulnerabilidades encontradas em todos os pacotes incluídos em cada uma. Qualquer uma das distribuições incluídas na estatísticas são formadas por um número muito grande de aplicativos, freqüentemente vários aplicativos diferentes para cada função: vários servidores de e-mail diferentes, mais de um servidor Web, vários servidores de FTP, Telnet, SSH, e assim por diante, enquanto os números do Windows incluem apenas os aplicativos básicos, distribuídos junto como o Windows, deixando de fora os problemas com o Office, o Outlook, e vários outros aplicativos comumente usados.

Levando isso em conta, o próprio BugTraq adverte:

"Os números apresentados abaixo não devem ser considerados uma medida para uma comparação precisa da vulnerabilidade de um sistema operacional em relação a outro."

Existem várias outras variáveis que precisariam ser levadas em conta para um comparação adequada entre o nível de vulnerabilidade de um determinado sistema. Por exemplo:

Qual a gravidade de cada vulnerabilidade encontrada? Uma vulnerabilidade que permitisse controle total do sistema via Web não deveria "contar mais pontos" do que outra que permitisse apenas ler os arquivos de cookies do usuário por exemplo?

Qual é a percentagem de usuários do sistema atingidos pela vulnerabilidade? Uma vulnerabilidade grave, encontrada em algum serviço do sistema usado pela maior parte dos usuários não é mais grave do que outra semelhante encontrada em um serviço utilizado por apenas uma pequena parcela dos usuários?

Muitas vulnerabilidades encontradas no Linux representam risco apenas caso o usuário esteja logado como root. Se a maior parte dos usuários segue a recomendação de utilizar o sistema logado como usuário normal, não deveria ser levada em conta apenas a parcela dos usuários realmente expostos ao problema?

Um vez descoberta a brecha de segurança, quanto tempo demora para surgir uma correção, qual é o nível de dificuldade para obtê-la e instala-la e qual é a percentagem de usuários que realmente chega a instalar o patch?

Para cada vulnerabilidade é necessário levar em conta também o grau de disseminação de ferramentas capazes de tirar proveito da brecha e o número de usuários que tiveram seus sistemas comprometidos. Uma brecha que é largamente explorada e causa danos em larga escala, como as exploradas pelo Code Red ou as exploradas pelas hordas de desfiguradores de sites devem receber um peso maior do que brechas que foram detectadas, mas nunca chegaram a ser exploradas em larga escala.

Qual é a política dentro de um sistema operacional para ativar serviços que podem ser vítimas de brechas de segurança? Por exemplo, o sistema ativa os servidores instalados por default, ou o usuário precisa ativar manualmente os que deseja utilizar depois da instalação? O sistema possui algum firewall embutido? Qual é o seu nível de eficiência e qual o nível de dificuldade para configurá-lo adequadamente? Além do firewall incluído com o sistema, existem outras opções de firewalls disponíveis?

Até que ponto cada sistema operacional incentiva os usuários a adotar hábitos saudáveis de segurança ou a tornarem-se negligentes neste aspecto? Dificultar o uso de senhas fracas, ou do uso da conta administrativa, onde o risco é maior, assim como outros pequenos detalhes que levem os usuários a serem mais cuidadosos também devem contar pontos.

Até que ponto o código aberto torna os sistemas mais seguros ou mais vulneráveis? Com mais pessoas examinando o código em busca de brechas, os problemas são resolvidos mais rapidamente ou, pelo contrário, o número de brechas descobertas e exploradas pode tornar-se maior?

Enfim, chegar à uma conclusão sobre qual sistema operacional é realmente mais seguro exige um estudo muito mais profundo, sobre cada sistema operacional, um trabalho que exigiria a participação de um número muito grande de especialistas e ainda assim existiria espaço para que cada um chegasse à sua própria conclusão.

Conclusões simplistas como a do artigo em questão servem apenas para causar polêmica, não acrescentam absolutamente nada e mostram a falta de cuidado como muitos jornalistas escrevem suas matérias hoje em dia. A conclusão é que devemos sempre procurar examinar os fatos antes de aceitar opiniões empacotadas. Normalmente os boatos conseguem se espalhar muito mais rapidamente que as informações verdadeiras.