domingo, 27 de fevereiro de 2011

sexta-feira, 18 de fevereiro de 2011

Vírus: Existe vírus para LÍNUX?

Este artigo abaixo foi produzido originalmente no Blog Análise da Ciência .

Uma das grandes perguntas dos iniciantes, no uso de sistemas operacionais Linux, é se estes sofrem a ação dos vírus de computador.

Para responder essa questão devemos analisar alguns pontos importantes.

Vírus de Computador

O que seria bem um vírus de computador?

Numa consideração ”lato sensu”, ou seja, ampla, qualquer programa com função maliciosa é um vírus. Entretanto, numa visão mais técnica e ”strictu sensu”, os vírus são programas maliciosos que têm técnicas de reprodução, explorando falhas nos sistemas, de forma que possam se replicar para outros computadores.

Assim, um vírus que se envia por e-mail para toda a sua lista de endereços, ou aquele que se replica no pen-drive etc, são programas que exploram falhas no sistema e procuram se replicar de um computador para o outro, além de efetuarem os estragos a que estão programados.

Um cavalo de Tróia, no modo estrito de responder o que é um vírus, pode não ser considerado, em última instância, como um vírus que se auto-replica (pois estes nem sempre têm mecanismo de reprodução, por vezes são apenas iscas para garantir invasões de intrusos em sua máquina): há aqui o efeito psicológico envolvido – o usuário, que é humano, pode ser ludibriado "psicologicamente" a executar tais códigos de forma que estes possam permitir danos por crackers invasores.
[você já deve ter recebido um e-mail  de algum conhecido no qual é pedido para clicar em um determinado link para ver uma foto da turma da escola, ou de uma festa que você não foi, ou de uma amiga que  há tempos você não vê, ou coisa parecida.
Na realidade, o seu conhecido deve estar com o computador dele "infectado" com vírus, o tal programa malicioso, que se multiplicou por meio da lista de e-mail dele tentando convencer a você,  ludibriá-lo psicologicamente, a executar o tal programa malicioso ao clicar no link para ver a foto.
Com certeza você já deve ter clicado pelo menos uma vez...  afinal, quem já não foi em festas, ou já teve ou têm a velha turma de amigos, da escola ou faculdade, ou aquela amiga que há tempos não vê?
Ao clicar no tal link da foto, vai executar o tal programa malicioso, o vírus, e este infectará o seu computador e ao mesmo tempo se multiplicará, via sua lista de e-mail de amigos, na Internet enviando a mesma mensagem.]
Entretanto, se pensarmos da forma ”lato sensu”, podemos considerar vários tipos de códigos maliciosos como vírus; mas para este intento deveríamos ter um leque enorme de tipos de vírus de computador.

O funcionamento do Windows

Em geral no Microsoft Windows (principalmente 3.x e 9.x) não há uma estrutura de permissões bem construída a respeito de cada arquivo, do sistema ou não.

Isso significa que no Windows 98 se, por exemplo (e ainda, infelizmente, nos mais atuais também) eu executar um arquivo com código malicioso este, por sua vez, pode alterar arquivos do sistema, pois eu tenho, a possibilidade de alterar diversos arquivos do sistema.

Apesar das versões mais recentes do Windows tentarem bloquear certos arquivos, esta política não é tão bem estruturada (na verdade não é um trabalho de escalonar permissões legítimas).

O funcionamento do Linux

A forma do funcionamento do Linux é toda voltada para usuários. Cada usuário pode ter diversas permissões para se trabalhar com os arquivos do sistema (em geral apenas o Super Usuário, root, ou administrador, tem a possibilidade de apagar certos arquivos do sistema). Assim para executar um vírus “letal” no Linux, eu o teria de executar como super usuário.

Outra coisa importante é a diferença entre EXECUTAR e ABRIR algum arquivo. No Windows essas nomenclaturas se confundem. No Linux isso é bem definido: executar é diferente de abrir um arquivo, e para executá-lo devemos atribuir permissão de execução.
Um código malicioso sem a permissão de apagar arquivos do sistema só poderia apagar arquivos do usuário (o que de uma certa forma reduz o poder de destruição). Para evitar essa destruição, basta saber o que se está executando.

O Sudo

Mas no linux existe um software chamado ”sudo”, que permite com que eu executa um comando de super usuário com a senha do usuário comum. Aqui, alguns dizem, pode residir a possibilidade de se executar um código malicioso (ou, se formos a modo ”lato sensu”, vírus).

Entretanto, mesmo assim um suposto vírus deveria estar com permissão de execução, e o usuário, na maioria das vezes, deveria que inserir sua senha para que este código efetuasse seu estrago.

Fator externo

Para um código de cunho malicioso efetuar algum estrago relevante no linux então ele deve explorar falhar muito sérias no sistema (que por ser código aberto poderiam ser corrigidos) e algumas artimanhas que poderiam beirar a manobras psicológicas (como oferecer algo em troca se for executado um script, etc). Apesar disto as alternativas de um vírus estão reduzidas, devido a estrutura do software, mas não impossível de que se crie um código malicioso.

É possível vírus no Linux?
Sim, é possível que exista códigos maliciosos, mas estes tem o escopo de ação reduzido e não tão grande como os que encontramos nos milhares e milhares existentes para o Windows.
Apesar de tecnicamente ser possível, não há registro de vírus “potentes” que tenham efetuado estragos enormes em sistemas linux.

Com toda essa estrutura do sistema linux, basta se ter cuidado para não executar códigos maliciosos que porventura venham a existir.