http://www.pedro.jmrezende.com.br/sd.htm > Vírus e malware: Virus no Linux?

Vírus no Linux?
Vida curta e difícil

Traduzido para o Português por
Pedro A. D. Rezende
do artigo publicado em Librenix por
Ray Yargin

Agosto de 2006


Por que é que vírus de Linux não é mais do que um assunto para rodas de ciberpapo?  Por que é que os vírus para Linux não nos afetam do jeito que os vírus para produtos Microsoft afetam, a usuários do Windows em particular, e aos cibernautas em geral?

Existem várias razões porque o assunto vírus-de-Linux é abobrinha. Quase todas elas já familiares para quem usa o kernel, quase todas elas ainda desprezadas por quem gosta de ser enganado (tagarelando abobrinhas tipo "é menos atacado porque é menos usado"). Mas há uma razão, muito importante, que estudiosos da evolução biológica podem apreciar. Antes, porém, devemos saber porque o Linux não dá mole para vírus. 

Para que um vírus infecte um programa executável num sistema com kernel Linux, numa distro GNU/Linux (Debian, Slackware, RedHat, Suse, Ubuntu, Kurumin, Mandriva, etc.) por exemplo, o executável precisa estar em arquivo com permissão de escrita para o usuário que esteja ativando o vírus. Tal situação é incomum. Numa instalação desktop, via de regra os arquivos executáveis têm como dono (owner) o administrador do sistema (root), e rodam em processo de usuário comum. Ou seja, a partir de uma conta não-privilegiada.

Além do que, quanto menos experiente for o usuário, menos provável que tenha ele mesmo feito a instalação do executável, e portanto, que seja o owner do arquivo correspondente. Assim, os usuários de Linux que menos entendem dos perigos de infecção viral são os que têm pastas pessoais (diretório home) menos férteis para isso.

Prosseguindo, ainda que um vírus consiga infectar um programa executável, sua missão de proliferar-se esbarra em dificuldades das quais os limites nas permissões do dono do arquivo infectado são apenas o começo (para neófitos, em sistemas com um só usuário, esses limites podem desaparecer se a conta root for usada descuidadamente). As dificuldades continuam nos programas para conectividade, por serem esses no Linux construídos conservadoramente, sem os recursos de macros em alto nível que têm permitido, por exemplo, a recentes vírus de Windows propagarem-se tão rapidamente.

Esse conservadorismo não é uma característica do Linux, mas reflete diretamente importantes diferenças na base de usuários de plataformas livres e proprietárias. Diferenças na forma como essas bases atuam no processo de desenvolvimento, e na forma como a robustez e a popularidade dos programas é afetada por essa atuação, através dos respectivos modelos de licença e de negócio. Na forma, por exemplo, em que vacinas atuam. As lições aprendidas pela observação do que acontece no outro modelo servem, no modelo colaborativo, para vacinar não o software em si, mas o processo e a estratégia de desenvolvimento dos softwares livres, livres inclusive das estratégias de negócio de interessados que lhes sejam confiltantes. 

Aplicativos e sistemas baseados em Linux são quase todos de código fonte aberto. Devido à quase totalidade desse mercado estar acostumado à disponibilidade do código-fonte, produtos distribuídos apenas em formato executável são ali raros, e encontram mais dificuldade para firmar presença. Isso tem dois efeitos no ecosistema viral, se considerarmos que a propagação ocorre em formato executável. Primeiro, programas com código fonte aberto são lugares difíceis para vírus se esconderem. Segundo, a (re)instalação por compilação do código-fonte corta completamente um dos principais vetores de propagação dos vírus. 

Cada um desses obstáculos representa uma barreira significativa. Porém, é quando essas barreiras atuam em conjunto que a vida do vírus se complica. Um vírus de computador, da mesma forma que o biológico, precisa de uma taxa de reprodução maior do que a taxa de erradicação (morte), para se proliferar. Na plataforma Linux, cada um desses obstáculos reduz significativamente a taxa de reprodução. E se a taxa de reprodução cai abaixo do nível necessário para substituir a população erradicada, o vírus está condenado à extinção, nesse ambiente -- mesmo antes das notícias alarmistas sobre o potencial de dano às vítimas.

A razão pela qual nunca vimos uma epidemia de verdade com vírus de Linux é simplesmente porque nenhum vírus conseguiu, até hoje, prosperar no ambiente que o Linux propicia. Os que já surgiram com esse alvo não são mais do que curiosidades técnicas (Staog foi o primeiro deles, e o único observado à solta, até 2005, foi o Bliss). A realidade é que não existe vírus viável para Linux.

Isso, é claro, não significa que nunca possa haver uma epidemia viral envolvendo o Linux. Por outro lado, isso significa que o vírus precisaria ser muito inovador e bem arquitetado para ter sucesso prosperando nesse ecosistema (do Linux), que é hostil para código furtivo. E também, que outros especialistas possam entender a questão de maneira diferente (para outra perspectiva sobre o tema, tente esse artigo).