Os mitos sobre malware no Unix / Linux

142

É possível que minha caixa Linux seja infectada por um malware?

Eu nunca ouvi falar disso acontecendo com alguém que eu conheço, e ouvi várias vezes que isso não é possível. Isso é verdade?

Em caso afirmativo, o que há com o software Linux Anti-Virus (segurança)?

Stefan
fonte
1
Confira esta resposta do quora: goo.gl/UVCsgz, que aborda os principais motivos pelos quais o Linux / Unix é diferente do Windows em termos de chances de ser infectado aleatoriamente por malware.
Arielf
2
Outro artigo que achei informativo, embora não tão bom quanto o que a @arielf vinculou: linuxmafia.com/~rick/faq/#virus #
Wildcard

Respostas:

135

Primeiro, é certamente possível ter vírus nos sistemas operacionais Unix e Unix, como o Linux. O inventor do termo vírus de computador , Fred Cohen, fez seus primeiros experimentos sob 4.3BSD. Existe um documento de instruções para a criação de vírus Linux , embora pareça não ter sido atualizado desde 2003.

Segundo, o código fonte dos vírus de computador sh-script circula há mais de 20 anos. Veja o artigo de Tom Duff de 1988 e o artigo de Doug McIllroy de 1988 . Mais recentemente, um vírus LaTeX independente de plataforma foi desenvolvido para uma conferência. Executa no Windows e Linux e * BSD. Naturalmente, seus efeitos são piores no Windows ...

Terceiro, um punhado de vírus de computador reais e vivos para (pelo menos) Linux apareceu, embora não esteja claro se mais de 2 ou 3 deles (RST.a e RST.b) foram encontrados "em estado selvagem".

Portanto, a verdadeira questão não é Linux / Unix / BSD pode contrair vírus de computador? mas, considerando o tamanho da população de desktops e servidores Linux, por que essa população não tem o tipo de incrível praga de vírus que o Windows atrai?

Suspeito que o motivo tenha algo a ver com a proteção moderada oferecida pelas tradicionais proteções discricionárias de usuário / grupo / outras Unix e com a base de software fraturada que o Linux suporta. Quero dizer, meu servidor ainda executa o Slackware 12.1, mas com um kernel compilado personalizado e muitos pacotes recompilados. Minha área de trabalho executa o Arch, que é uma versão contínua. Mesmo que ambos rodem "Linux", eles não têm muito em comum.

O estado dos vírus no linux pode realmente ser o equilíbrio normal. A situação no Windows pode ser o "rei dos dragões", situação realmente incomum. A API do Windows é insanamente barroco, Win32, API NT-nativa, nomes de dispositivos mágicos como LPT, CON, AUXque podem trabalhar a partir de qualquer diretório, as ACLs que ninguém entende, a tradição de um único usuário, ou melhor, de usuário root única, máquinas, arquivos de marcação executável usando parte do nome do arquivo ( .exe), tudo isso provavelmente contribui para o estado do malware no Windows.

Bruce Ediger
fonte
35
Um problema que você ignorou e que vale a pena considerar é que a ABI do Windows permaneceu estável por anos. (Ou melhor, a MS se esforçou bastante para oferecer suporte a todas as várias ABIs lançadas de forma transparente. WoW64, por exemplo.) Isso significa que um executável executado no Windows 3.1 pode muito bem ser executado no Windows 7. Isso contribui para uma monocultura dentro de uma monocultura: os criadores de malware não precisam recriar seus programas para todas as versões do Windows, como costuma fazer no Linux.
Warren Young
50
Acho que outro motivo para o baixo nível de vírus nos sistemas Unix / Linux e Mac é a presença de sistemas globais de gerenciamento de pacotes, com repositórios confiáveis ​​configurados por padrão. Enquanto o Windows fica on-line para fazer o download de software de fornecedores malévolos diretos encontrados no Google, em um unix / linux / mac, você usa o software interno para navegar em um repositório no qual novas entradas são examinadas e removidas se forem detectados problemas.
haylem
33
Além disso, como o Windows é a terra dos proprietários (embora isso aconteça em outras plataformas, estou olhando para você, Mac OS), as pessoas tendem a procurar software quebrado para esta plataforma significativamente mais do que para outras. E entrar em becos escuros on-line não é diferente de ir a becos escuros na vida real: esperar problemas. Como você pode confiar em um traficante de drogas para fornecer o que ele anuncia? E de uma forma não modificada? Então, como você pode confiar nos revendedores de software rachados para fornecer o que eles anunciam? E sem o software ser modificado?
precisa saber é
5
Os dados também são separados dos arquivos de código e de configuração (var & home; bin & usr; etc). Procure no Windows - Arquivos de programas - binários, arquivos de configuração, dados (MS SQL). Você pode montar dirs sem exec para dados. Os aplicativos não executam todos os arquivos que você lança para eles (processadores de texto dos clientes de email). Código aberto para revisão. Correção rápida de problemas (verifique o tempo de resposta dos caras do RedHat e Debian após a ameaça encontrada no kernel). Quando um problema found- o Distro empurra alguma atualização (eu não percebi por exemplo- KDE está procurando + x bandeira no desktop atalhos por exemplo, para executá-los que recurso estava faltando em algum ponto)
jet
1
O comentário de Haylem acima está correto, seria interessante ver se isso é "revolucionário" para reduzir a imagem "muito segura" dos Mac OSX, agora alguns anos depois ... Vejo más condições no OSX quase todos os dias , porque os usuários têm baixado e software rachado instalado (a pessoa média nem mesmo se afastando de execução 'file.sh' que se abre no terminal, e digitando sua senha de administrador!)
forgotstackxpassword
49

Ajuda a impedir a propagação de vírus no Windows


Lembre-se de que o Linux é usado de várias maneiras, como servidores de arquivos e email.

Os arquivos nesses servidores (arquivos do MS Office, mensagens do Outlook, programas EXE) podem ser armazenados com uma infecção.

Mesmo que eles não devam afetar os próprios servidores, pode-se configurar o servidor para verificar todos os arquivos armazenados no momento, para garantir que estejam limpos e impedir a propagação futura quando forem movidos de volta para uma máquina Windows.

Eu mesmo o instalei para quando um amigo me pede para verificar por que a máquina Windows não está funcionando ou para quando eu conecto meu pen drive em uma máquina Windows.

lamcro
fonte
39
+1 a verdadeira razão da existência do software AV no Linux, não é tanto para procurar problemas que possam afetar o sistema, mas para problemas que podem afetar outros sistemas (como o Windows).
Xenoterracide
1
Esta deve ser uma resposta aceita. O resto da minha família usa o Windows. Eu acho que é mais seguro conectar drives flash estrangeiros na área de trabalho do Linux, digitalizá-los e depois declará-los seguros para conexão com outras máquinas em casa.
Johan
Esse é um ponto de vista muito legal; muitas pessoas usam linux como esse (usb), mas provavelmente nunca perceberam que também poderia haver uma verificação baseada em aplicativos de vírus do Windows no Linux.
forgotstackxpassword
1
Eu reinicializo semi-frequentemente o PC com Windows a partir de uma unidade USB Linux para executar varreduras AV.
Jesse Chisholm
23

Os vírus para Linux são possíveis em princípio e houve alguns; no entanto, na natureza, não existem vírus Linux generalizados. A base de usuários do Linux é muito pequena e, no Linux, é muito mais difícil para um vírus causar muito dano, pois o modelo do usuário é bastante restritivo em contraste com, por exemplo, o Windows XP. Portanto, os autores de vírus normalmente têm como alvo o Windows.

Existe o software Linux Anti-Virus, por exemplo, da McAfee, mas nenhum usuário do Linux que conheço utiliza esse software. É muito mais importante instalar apenas software de fontes confiáveis ​​e manter seu sistema sempre atualizado, instalando atualizações de segurança em tempo hábil.

fschmitt
fonte
3
Gostaria apenas de acrescentar que, mesmo que você consiga obter um vírus (nos meus 10 anos de Linux, nunca vi um), o pior cenário é que sua pasta de usuário estará comprometida.
Patkos Csaba
37
Não, o pior cenário é o comprometimento total do sistema. O pessoal do kernel acabou de fechar um enorme buraco no kernel cerca de seis semanas atrás, que permitiria que qualquer programa da GUI aumentasse seus privilégios para o nível raiz. Pesquise um pouco no Google e encontrará outros buracos do passado dessa natureza. É verdade que o Linux tem uma segurança melhor de várias maneiras em comparação ao Windows, mas, como qualquer outra base de código de milhões de linhas de código, você pode ter certeza de que existem outros buracos esperando para serem encontrados. Eu também defenderia manter os sistemas corrigidos em vez de antivírus, mas também mantenha sua cabeça fora da areia.
Warren Young
6
Eu tenho que diferir com o motivo "a base de usuários é bem pequena". O primeiro vírus de PC realmente disseminado foi "Brain", em 1988. Certamente, o Linux em 2010 tem mais usuários de desktop do que o MS-DOS em 1988. Por que o linux não tem mais vírus? Por que não possui um vírus? vírus "cérebro" generalizado?
Bruce Ediger
7
Os PCs alcançaram um domínio claro da plataforma por volta de 1988. A unha mais alta é batida, então como hoje.
Warren Young
6
echox está correto. Software antivírus para linux, não existe realmente para proteger o próprio sistema linux. está lá para verificar arquivos que o linux está servindo. É por isso que a maioria desses antivírus vê apenas os arquivos que eles são direcionados para varredura, em vez de qualquer arquivo acessado ou alterado no sistema.
Xenoterracide
21

Como uma nota histórica, o primeiro worm da Internet, o Morris Worm , se espalhou por vulnerabilidades nos utilitários Unix. Ele é anterior ao Linux, mas mostra que é possível infectar sistemas baseados em Unix.

KeithB
fonte
2
O worm Morris não era um vírus, no entanto. Um vírus deve se conectar a algum outro software, enquanto o software que Robert Morris escreveu era, nesse sentido, independente. Era auto-replicante, mas também auto-sustentável, e, portanto, um verme e não um vírus.
a CVn
@ Malware MichaelKjörling então?
Braiam 29/11
6

Na minha opinião, há mais um motivo, além dos mencionados em outras respostas, que a plataforma Linux não possui muitos vírus. O código fonte de quase todos os componentes do Linux está disponível gratuitamente.

Digamos, uma equipe de 5 membros desenvolva um aplicativo. Incluímos testadores e poucos outros na lista e no máximo 10 pessoas conhecerão o código. Desses dez, é provável que alguns não tenham conhecimento detalhado suficiente do código. Portanto, o número de pessoas que conhecem códigos bons o suficiente para apontar bugs, as falhas de segurança são muito menores.

Agora, se esse código for disponibilizado de código aberto / gratuito, o par de olhos que o revisará aumentará drasticamente. Portanto, a probabilidade de encontrar falhas de segurança também aumenta.

Esses novos colaboradores trazem sua experiência com eles e, muitas vezes, novos olhos são capazes de perceber brechas que originalmente os desenvolvedores ignoravam / consideravam um dado adquirido / perdido.

Quanto mais popular o aplicativo, mais contribuidores ele possui. Eu acho que essa liberdade / abertura contribui para um menor número de vulnerabilidades da plataforma Linux.

Andrew-Dufresne
fonte
5
Eu realmente odeio dizer isso, mas a natureza da fonte aberta ou fechada pode afetar apenas a velocidade na qual um estado de bug específico é atingido. Veja: "Milk or Wine", de Andy Ozment ( andyozment.com/papers/… ) e "Os sistemas abertos e fechados são equivalentes" ( cl.cam.ac.uk/~rja14/Papers/toulousebook.pdf )
Bruce Ediger
Obrigado Bruce por compartilhar os links. Definitivamente vai passar por eles.
Andrew-Dufresne 15/10
3
Qual usuário do Linux revisa todo o código-fonte antes de emitir um sudo make install?
Calmarius
5

Já existem boas respostas, mas eu ainda gostaria de contribuir com algo.

Incluindo as práticas simples de segurança que ainda são melhores que o Windows, mesmo depois de todo esse tempo, e todos esses vírus, também acredito que os problemas sejam amplamente sociais.

Eu acredito que o principal fator é a diversidade de distros. Isso aumenta o trabalho envolvido para garantir que um vírus tenha o que precisa para se espalhar. Isso combinado com a demografia dos usuários do Linux que não têm tanta probabilidade (imho) de clicar em um e-mail desonesto ou geralmente se arriscarem significa que o sucesso de um vírus é mais inibido.

As pessoas também estão indiscutivelmente mais motivadas a atacar janelas.

barrymac
fonte
4

Embora sim, existem alguns vírus para Linux, você não precisa se preocupar muito com eles. Eles são incomuns o suficiente para provavelmente sentir sua falta completamente.

O que você pode, e deve se preocupar, são os vermes . Esses programas, diferentemente dos vírus que geralmente levam a interação do usuário para infectar, se espalham sozinhos entre servidores, explorando vulnerabilidades em serviços e plataformas. Os worms procuram mais servidores para infectar, instalam-se em máquinas vulneráveis ​​e freqüentemente modificam seu comportamento - por exemplo, para servir vírus para visitar clientes Windows.

SF.
fonte
3

A resposta simples é que nenhum sistema operacional é 100% seguro, a menos que ele mesmo leia da mídia somente leitura na inicialização.

No entanto, o Windows tem mais vetores de infecções, esses vetores são mais facilmente acessíveis e, uma vez infectados, podem causar muito mais danos. Isso pode ser facilmente visto lendo o "RootKit Arsenal" ou outros livros.

O número de explorações em qualquer máquina é aproximadamente proporcional a (ganho da raiz de uma máquina) * número de máquinas / (custo para criar malware de raiz).

Como o número de explorações é proporcional ao número de computadores, faz sentido que a quantidade de malware seja maior no Windows.

Mas, é estúpido assumir a única razão. O Windows tem mais vírus é porque há mais computadores executando-o. Observe que no Linux infectar-se com malware é muito menos dispendioso do que no Windows porque o dano é mais contido. Por outro lado, o valor ganho por um enraizamento é menor). Observe também que o custo do enraizamento é mais alto devido às razões mencionadas no primeiro parágrafo.

Lembre-se de que isso é verdade a partir de agora. Neste ponto, o linux é um sistema arquitetado melhor que o Windows. No entanto, existem forças dizendo que precisamos de um desenvolvimento mais rápido de recursos amigáveis ​​ao usuário. Isso pode facilitar a existência de erros e a criação de vírus. Já acho o Ubuntu quase tão buggy quanto o Windows.

HandyGandy
fonte
A mídia de inicialização somente leitura reduz a superfície de ataque e não evita malware.
Symcbean #
re: Windows has more ... computers running it. Bem, mais computadores de usuário final executando-o. Acredito que existem mais servidores sem cabeça executando algum tipo de * Nix (variante Unix, variante Linux) do que o Windows. Os primeiros dias do DOS e do Windows com segurança zero foram um grande fator para a plataforma ser alvo.
Jesse Chisholm
1

Outras respostas forneceram boas referências históricas para vírus no Unix e Linux. Exemplos mais contemporâneos incluem as campanhas de malware "Windigo" e "Mayhem" . Estes infectaram muitos milhares de sistemas. Foi relatado que o Mayhem estava usando a vulnerabilidade do Shellshock para se espalhar.

Quanto ao software de detecção de malware do Linux, você tem alternativas comerciais e de código aberto. O mais eficaz, na minha opinião tendenciosa, é o Second Look . Ele usa análise forense de memória e verificação de integridade para detectar malware no Linux. Sou desenvolvedor do Second Look.

Andrew Tappert
fonte