Malwares nos Sistemas Baseados em UNIX

Como malwares afetam sistemas baseados em UNIX como o Linux, o macOS, o BSD e outros; e de onde vem toda a segurança desses sistemas?


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

Segurança da informação é um assunto intensamente debatido. Não é pra menos, esse nosso mundo virtual é cada dia mais infestado por malwares diversos, estes cada vez mais agressivos e sofisticados. Nesse contexto, um dos pontos polêmicos é sobre a parte dos ataques de malwares nos sistemas baseados em UNIX e até que ponto estes sistemas são realmente seguros.

Pensando nisso, vendo as dúvidas surgindo nos fóruns e buscando esclarecer alguns pontos, levando as questões:

  1. Afinal, sistemas baseados em UNIX correm o risco de pegar malwares?
  2. Quais os tipos de malwares disponíveis para esses sistemas?
  3. Como me infecto?
  4. De que maneiras um malware pode afetar meu sistema e meu computador?
  5. Como posso curar meu PC de uma infecção dessas?
  6. E o Android?
  7. Como me proteger de tais ameaças?
  8. Conclusão

Observação:
Quando digo malwares, me refiro a toda sorte de programa maliciosos que podem infectar um computador, sejam eles um vírus, um trojan, um ransonware ou mesmo um spyware.

1) Afinal, sistemas baseados em UNIX correm o risco de pegar malwares?

Sim. Sistemas baseados em UNIX podem pegar vírus!

Tenha em mente que nenhum sistema é 100% seguro. Enquanto houver segurança, haverão aqueles que tentarão penetrar essa segurança. De maneira grossa, os malwares desses sistemas são como filhotes de pombo: todos sabem que existem mas ninguém vê no dia a dia.

Filhote de Pombo – A História de uma Goiabeira | Cenas da Cidade

Bom, aqui temos imagens de filhotes de pombo! Portanto acreditem quando digo que também existem malwares.

Eu ouso questionar: QUEM aqui, que ler este post e possui um sistema FreeBSD, utiliza alguma versão do ArchLinux ou mesmo trabalha com macOS como sistema principal, conseguiu a proeza de pegar algum malware que causou graves danos á sua vida virtual, a softwares e/ou ao hardware de seu computador, para nos dar seu depoimento?

Estou torcendo pra não aparecer ninguém nos comentários xD

Ou se alguém lembra de algum ataque massivo, como o recente WannaCry, que tenha afetado sistemas Linux/BSD/macOS e causado um pandemônio nas comunidades desses sistemas?

Continuo torcendo pra não aparecer ninguém nos comentários xD

Primeiramente, trago um fato: considerando os históricos, no caso do Linux, ele é um dos sistemas mais usados em data centers ao redor do mundo: Google, Twitter, Facebook, Amazon, IBM, McDonald’s, submarinos diversos, NASA, Bolsa de Valores de New York, OLX, PizzaHut, Wikipedia, Industria da Aviação como um todo, dentre outros, são exemplos práticos do tamanho do poder de presença do Linux e o quanto estaremos numa situação crítica caso esses sistemas sejam hackeados. – Fontes no fim do post

“Segundamente”, outro fato: da lista dos 500 melhores e mais poderosos supercomputadores mundiais, os 500 rodam alguma versão do Linux, customizada, CentOS, Ubuntu, etc.

Terceiramente“, levanto a questão: Apesar dessa massiva presença no mundo, mal existem ataques massivos a esses sistemas (se comparado ao que ocorre no Windows); Mas por quê o Linux e o BSD possuem mais segurança e poucos índices de infecção por malwares? Invada o linux ou mesmo o BSD e domine o mundo, simples assim; Não vemos um WannaCry de Linux causando o pandemônio. Vamos descobrir a seguir

2) O por quê!

Os sistemas baseados em UNIX possuem uma série de aspectos de segurança que os tornam “impenetráveis”, dentre elas, cito:

a) Privilégios de Usuário – Alterações agressivas nas pastas de sistema só podem ser feitas com acesso root (super usuário, como o do Android). E isso vale para os malwares, qualquer um que quiser se instalar vai pedir senha de administrador ao usuário. Mesmo um backdoor, só pode ser instalado num Linux ou BSD se o usuario reinserir a senha de administrador, ao contrário do que ocorre no sistema da Microsoft, onde um simples OK confirma a instalação do mesmo (caso você faça uma instalação default sem senha).

b) A arquitetura do sistema – Por ser um sistema projetado para ser modular, os “blocos” dos programas, por assim dizer, são isolados uns dos outros e, caso uma falha grave ocorra, essa falha dificilmente faz o restante do sistema entrar em colapso.
Parte disso se deve ao fato dos sistemas baseados em UNIX trabalharem com servidores dentro do cliente: Servidor do desktop, servidor do terminal, servidor de impressão, servidor de documento de texto…. se esse “servidor” parar, é facil reinicia-lo sem precisar reiniciar todo o sistema operacional. Isso explica por quê os sistemas baseados em UNIX raramente exigem reboot para aplicar alguma atualização ou instalar algum programa.
Levando isso em conta, um malware se infectar o sistema, será objetivo fazendo um “servidor” parar mas não o sistema todo; ele continuará operando lhe permitindo agir para remediar e remover o vírus. (Mais sobre como remover um malware, abaixo no post)

c) Usuários avançados – De certa maneira isso tambem é um fator: Um usuário de um sistema baseado em UNIX tende a possuir mais conhecimento técnico que um usuário do sistema de Redmond e será mais cuidadoso ao utilizar o computador; Pela sua forma de ser aberto, o BSD e o Linux podem ser facilmente debugados levando um simples usuário mais curioso a encontrar a solução para seus problemas inclusive sanando por si mesmo possíveis falhas de segurança que possam existir. (Eu mesmo troco o kernel para ter a versão mais atual e mais segura possivel)

d) O Firewall – Os sistemas UNIX possuem por padrão (mesmo que desabilitado no Ubuntu) um eficiente firewall casado com o sistema de hierarquia de usuários, sendo este, simples na gestão de acessos via rede LAN e WAN bloqueando uma série de processos considerados não autorizados.

e) O Linux possui diversos ambientes com uma grande gama de pacotes: Fedora com RPM, Ubuntu com DEB, Arch com PACMAN; um malware projetado para Arch dificilmente infectará o Debian e vice versa. A menos que você lance a source desse virus e faça a compilação dele sistema por sistema. Isso dificulta a propagação de qualquer virus entre as diferentes comunidades linux. Nesse caso um perigo maior poderia ser um virus em formato .configure/make/install (compilável) mas isso afasta do perigo boa parte dos usuários comuns do Linux, que não sabendo compilar, podem se manter distantes desse tipo de virus.

O pessoal do macOS é instruído a usar os aplicativos da AppStore, da mesma maneira que usuários do Linux são instruídos a usarem as lojinhas embutidas em seus sistemas ou mesmo o BSD, que possui um sistema de repositórios tão completo quanto o Linux. Isso desestimula os usuários a se aventurarem em um “Softsonic” ou “Baixaki”, correndo riscos de se infectar ao baixar programas de fontes suspeitas. (mais abaixo explico o problema do Android)

f) Auditoria – Os sistemas baseados em UNIX possuem nativamente um complexo sistema de geração de Logs para qualquer fato ocorrido na máquina, seja desde um acesso não autorizado a uma instalação efetuada. Esse “cão de vigilância” ajuda a informar o administrador o que aconteceu, quando, porquê, por quem e de onde. Tudo registrado na /var/logs, que obviamente, tambem é isolada do resto do sistema, exige privilégios de administrador para ser lido e não é alvo de ataques por serem apenas texto plano sem valor para hackers.

Você mesmo pode verificar isso com 2 comandos basicos do terminal:

 $ dmesg
 $ journalctl

Eles exibem status de processos do usuário, do sistema e até do kernel.
Logs de acesso não autorizado barrados pelo Firewall aparecem no Journalctl como [UFW BLOCK]. E se algum for bem sucedido, você também verá o usuário que conseguiu conectar, quando, como e vindo de onde.

g) SELinux e AppArmor:
São diretrizes de segurança do GNU/Linux Fedora e Ubuntu (aplicável aos demais sistemas Linux sendo o SELinux também disponivel pra BSD) que diminuem o controle do usuário root! Caso um virus consiga acesso root, este ainda não terá 100% do dominio se ele não for proprietário da pasta alvo. O usuário comum deve logar como root e deste, logar como o usuário dono da pasta; só assim pode, em tese, ter acesso.
Esse sistema de segurança evita malwares que exploram escalada de privilégios de usuário. Você até pode se infectar (com o DirtyCOW ou o Shellshock) mas o sistema impede que um programa explore inadequadamente privilégios que não lhe foram permitidos.

Além disso, ainda temos os privilégios especiais que existem nativamente em sistemas de arquivos como o EXT4 (padrão em boa parte dos sistemas). Dentre as opções, existe uma que simplesmente proíbe o usuário Root de alterar drasticamente um determinado arquivo.

h) Mais olhos encontram problemas e soluções mais rapidamente!
Os sistemas UNIX costumam ter código aberto e são constantemente monitorados. O código fonte do BSD e do Linux é aberto e permite que possa ser vistoriado, modificado e trocado. Caso um sistema como o OpenSUSE um dia venha a ter códigos maliciosos, a comunidade rapidamente percebe o problema e lança alertas, patchs, tutoriais e atualizações de correção até no próprio GitHub. E empresas como a Canonical e a RedHat estão atentas ao feedback do público pra manter seus sistemas atualizados e seguros! Eles nos ouvem e isso por si só afasta boa parte dos que tentam desenvolver malwares para esses sistemas!

A questão é comparável á metodologia da Microsoft com o Windows totalmente fechado, apenas seus engenheiros podem ver o código e corrigir as falhas. No caso particular do Windows 10, spywares da própria Microsoft mandam dados sensíveis do usuário para um data center terceirizado e estes dados podem ser roubados ou vendidos por outras empresas e hackers. Aqui mais detalhes!

i) Incompatibilidade!
Se tudo acima falhar, temos ainda as limitações de que boa parte dos malwares existentes são em formato .exe voltados para Windows e portanto não rodam no Linux. Mas isso é subjetivo, já que os maiores data centers mundiais rodam sob Linux, estes deveriam ser o alvo principal e mais virus deveriam existir para eles. A própria incompatibilidade entre os diversos sistemas que operam sob o kernel Linux impede que um malware se propague com facilidade.

j) Reforço de usuário – A exemplo do BSD, este possui um usuário extra conhecido como TOOR que possui acessos restritivos a uma determinada área do sistema, servindo para manutenção em caso de alguma pane nos arquivos de gestão do root do shell padrão. Mesmo que um virus consiga, teoricamente, destruir o usuário root, o usuário toor pode recuperar o sistema. Mas essa hipótese é tão remota que na maioria das distros BSD atuais, o usuário toor fica inativo por padrão.

3) Quais os tipos de malwares disponíveis para esses sistemas?

No momento existem modelos baseados em Java (.jar), pacotes .deb de repositórios não oficiais (hospedados por hackers Black Hat no PirateBay) e até mesmo pacotes compilados de fontes desconhecidas (./configure).

Pacotes .deb podem ter código malicioso injetado mas estes ainda vão requerer a senha de administrador; enquanto no Windows, por padrão, um simples Ok confirma a instalação do malware, no Linux um hacker que ataque localmente não terá acesso se não usar de engenharia social para roubar a senha de administrador.

Os principais virus do Linux se resumem a pacotes que podem ser executados por plugins do sistema conhecidos por serem vulneráveis, como o Java e o Flash Player. (tal qual no Windows). Nesse caso a vulnerabilidade está na execução de codigo já infectado, pois o AppArmor/SELInux impedem escalada de privilegios por quem tentar entrar forçadamente com exploit nesses plugins.

Um caso mais raro, porém real e letal de infecção que um sistema desses pode ter, é quando este é infectado com o chamado rootkit. É um malware que se instala como um módulo no kernel, faz o que bem entender possuindo privilégios elevados. São dificeis de encontrar e dificeis de remover em caso de infecção.

Historicamente o primeiro malware que se tem notícia se alastrou entre sistemas UNIX. É o caso de Robert Tappan Morris, mais conhecido como “Morris Worm”. No dia 2 de novembro de 1988, mais precisamente ás 18h, o professor do MIT lançou um worm que inutilizou aprox. 10% dos 60 mil computadores que compunham a web na época. Ele infectava máquinas executando o BSD 4 e o SunOS 3 (hoje Solaris) se aproveitando de brechas no sendmail (responsável pelo envio de correio eletrônico) e o fingerd (um fornecedor de informações de usuários. O ultimo grande worm UNIX que se tem noticia foi o Slapper, disseminado em 2002.

4) Como me infecto?

  1.  Por exploits, que exploram falhas do servidor SAMBA ou mesmo do Firewall, falhas das partes que protegem o sistema de ataques do tipo passivo.
    Nesse caso o sistema deve estar desatualizado.
  2. Por instalação arbitrária de pacotes infectados vindos de procedência duvidosa, no caso, sendo um ataque do tipo ativo.

Ambos métodos são comuns para o Windows e para os sistemas UNIX-like.
A diferença está no pós infecção. Devido ás características únicas dos sistemas baseados em UNIX, um vírus tem pouco poder de penetração e raramente vai causar danos de sistema, se limitando a acessos a arquivos de usuário.
Um malware, como um ransomware, pode muito bem ser executado via WINE e infectar o Linux! Mas igualmente limitado a atacar e criptografar apenas o conteúdo de /Home; enquanto que o SambaCRY, o WannaCry do Linux que penetra pelo Samba, fica restrito á pastas do usuário ativo, no caso, /home tambem.

Lembrando que estou mencionando ataques causados de maneira passiva, quando um malware numa rede LAN explora falhas de rede do sistema e penetra de maneira que o usuário nem se dá conta, sem estar sequer navegando na internet.

Obviamente que um usuário descuidado, despreparado que arbitrariamente instale um pacote .deb/Flatpack/.rpm/script/pkg infectado vai infectar seu sistema UNIX-like.
O usuário root tem poder até para destruir o proprio sistema, por quê não teria poder de instalar um malware?
No caso o sucesso da infecção vem do script do malware, que consiga explorar falhas e penetrar no sistema após ser executado. A maioria dos malwares de UNIX podem até entrar no sistema mas continuam sem poder de penetração e essa realidade dificilmente vai mudar.

5) De que maneiras um malware pode afetar meu sistema e meu computador?

Utilizando o sistema concorrente de exemplo, no Windows um vírus poderá causar o terror: Deletar DLL’s, corrompendo programas, modificar o Registro de Sistema e deixar o sistema lento/instável (ou corrompido) e afetar outros programas, roubar seus dados e, no caso de ransomwares, criptografa seus arquivos numa pasta compactada pedindo resgate em dinheiro para liberá-los.
Virus de Windows costumam ter vida própria, como o parite.B que ativamente deleta todos os executáveis encontrados na máquina (principalmente atalhos). Dado momento ele apagará o explorer.exe (algumas falhas dele demoram de 1 semana a 1 década para serem corrigidas, uma antiga falha do Windows XP perdurou mais que isso) e o desktop não vai abrir mais.

No sistema baseado em UNIX, em arquivos de sistema sem acesso root o virus não põe a mão. Não vai apagar repositórios, não vai deletar bibliotecas ou modificar arquivos sensíveis a menos que você autorize quando ele te pedir. No máximo, roubar dados pessoais que estejam na pasta Home. Mesmo assim você pode criptografá-la e deixar o virus sem ação. Não há como o virus destruir o servidor gráfico (como o explorer.exe do Windows) porque ele é um servidor de interface. Mesmo que pare-o, você ainda terá o terminal TTY para acesso e manutenção do sistema. Sem uso você não fica.

CASO um vírus entre e tenha acesso Root, ele vai bagunçar as “DLLs” do sistema, conhecidas como Libraries, que ficam na pasta /libs. Elas são depedencias importantes para os daemons e demais serviços do sistema.

Ainda temos os vírus como rootkits, são mais raros que exploram falhas do Kernel Linux e penetram o sistema, ganhando acesso root e alterando a máquina. São virus complexos difíceis de detectar ou remover.
Mas são TÃO raros que mal ouvimos falar de hackers que fizeram uso das falhas e/ou de pessoas sendo atacadas por eles. (Todos aqui ja devem ter lido sobre os ransomwares atacando Windows, todos os dias aprox. 8.000 computadores são infectados. Quantos são sistemas baseados em UNIX?)

Outra coisa, temos milhares de olhos no código do BSD e do GNU/Linux, é fácil alguém encontrar uma falha e reportá-la. (da mesma forma que hackers podem procurar por falhas e explorá-las, normalmente não dá tempo, a falha é corrigida bem antes.)

No caso do DirtyCOW no linux, um exemplo, a falha existiu por 10 anos e não se tem informações de alguém infectado que foi afetado diretamente por ela.
E no caso do Shellshock, que durou 22 anos, por mais que tenhamos uma bela dezena de milhar de máquinas que foram constatadamente afetadas pela falha, a proporção de infecções foi menor que de maquinas Windows afetadas pelo WannaCry, por exemplo.

Como o sistema é livre, ainda mais o BSD e o Linux, rapidamente a falha é corrigida após descoberta e a correção é lançada para todos algumas horas depois. (A Microsoft demorou dias para corrigir o WannaCry quando ele foi detectado pela primeira vez. Devido ás negligencias típicas do mercado de TI, muitos sistemas estavam desatualizados.)

Não existem burocracias que atrasam a correção de determinadas falhas, como ocorre num sistema Windows. Ok, o DirtyCOW demorou 10 anos pra ser corrigido no Linux. Mas quem foi afetado por ela de fato?
OK, o Shellshock existiu por 22 anos… e não afetou tantas máquinas tal qual poderia e/ou que os hackers gostariam devido ás demais diretrizes de segurança que o sistema possui por padrão.

Pessoal, vou ser sincero agora: é dificil para mim falar desse assunto uma vez que nunca fui vitima nem conheci vitimas de malwares no Linux. Você poderia me dizer:
– Mas um malware poderia infectar seu sistema; pelo Linux e o BSD serem estáveis e operarem como servidor local, o virus vai agir e você nem vai se dar conta! É como um processo fantasma sem que você tenha conhecimento.

Verdade. Nesses 2 anos que uso Linux eu poderia ter sido infectado e não percebi.
Mas ninguém roubou minha conta do Facebook, não perdi meus emails, documentos não desapareceram ou foram criptografados, não senti o sistema lento ou rodando processos pesados desnecessários/suspeitos, não sumiu dinheiro na minha conta bancária, nem pop-ups estranhas aparecem.
Enquanto está tudo perfeito, continuarei acreditando que estou invicto. Um vírus pode ter entrado mas não conseguiu ir longe e ficou encubado ou morto.

Bom, a essa altura você pensa:
Mas a Apple é composta por burocratas e também pode demorar pra liberar correções…. CURIOSAMENTE, a Apple mantem boa parte do código fonte do macOS disponível em ‘https://opensource.apple.com/‘ então os usuários mais avançados também podem explorar os códigos atrás de falhas e outras moléstias enquanto desenvolvedores também criam seus programas com partes desse código fonte disponibilizado gratuitamente.
Como dito antes, a Apple teve inspiração no código do BSD e também segue parte da filosofia de código livre; Ponto para a Apple, de qualquer maneira. A Apple também prioriza a estabilidade e a segurança de seus sistemas, ainda mais que o Windows.

As falhas que a Apple possui podem ser, no caso do iCloud, quando ocorrem vazamentos de dados de usuários. Mas isso engloba uma questão maior, até funcionários podem ter acesso a determinadas áreas e facilitar o acesso a hackers. Engenharia Social pode fazer os próprios clientes da Apple serem vitimas, não necessariamente a empresa.

6) Como posso curar meu PC de uma infecção dessas?

Uma das maneiras é utilizando recursos como o Log de eventos citado acima ou mesmo vistoriando processos estranhos em execução, terminar tais processos e remover o pacote infectado, que o malware sai junto.

Dependendo do malware, se for um rootkit, trocar o kernel por um limpo será mais rápido e fácil.

Outra maneira é com o ClamAV! Falamos mais dele nesse post!
Sim, ele é para partições Windows MAS pode ser usado para escanear sistemas UNIX sem problemas.

7) E o Android?

O caso do Android é curioso. Ele é popular (superou o numero de usuários do Windows comparando quem possui aparelhos eletrônicos para acesso á internet), é baseado em Linux e recheado de malwares!

Mas o caso é que a Google faz vista grossa e permitiu todo tipo de lixo na PlayStore, muitos apps lá estão infectados. O erro é da Google que não tem uma restrição na publicação de aplicativos tal qual ocorre na AppleStore ou na loja do Windows Store. (Fonte no fim do post) Mais: Como o Android se tornou extremamente popular, qualquer empresa cria celular e casa o sistema com ele. Infelizmente cada empresa criou uma versão customizada do Android e assim fica dificil controlar os updates de segurança.

O que aconteceu com o Android se compara a caso qualquer tipo de programa malicioso fosse facilmente hospedado nos repositórios das distribuições. Assim qualquer usuário Linux que fosse baixar um programa estaria sujeito a essas moléstias.

O Android 4.4 por exemplo, um dos mais populares, pode ter recebido uns 50 updates de segurança ao longo do tempo mas a Samsung, por exemplo, não tem interesse em liberar eles em seus aparelhos por precisar passar pela burocracia do sistema ser ajustado conforme suas exigências internas. (Custom ROM com aplicativos próprios da marca). Idem para LG, Motorola e etc. Os Linux do Desktop ainda são unificados nesse aspecto. Pense, os sistemas baseados em Debian recebem os updates do Debian; um problema seria se o Ubuntu só recebesse updates do Ubuntu, Linux Mint só recebesse da equipe do Mint e etc. Ai cada sistema seria única com falhas únicas e dificil de controlar/melhorar/proteger. A ausência de uma unificação no ambiente mobile, tal qual vista nos Desktops, é que atrapalha o Android.

Root no aparelho Android cria vulnerabilidades tal qual acessos root do Linux de desktop. Evite fazer Root do Android e instalar aplicativos de procedência duvidosa e/ou crackeados, mesmo que prometam fazer muita coisa.

8) Como me proteger?

Seja um bom usuário. Acima de tudo, não importando o sistema, a falha maior pode estar entra a cadeira e o PC.

  • Evite clicar em qualquer pop-up do filmesonlinehd.net e afins. Não é porque você usa um sistema mais seguro que você vai abusar da sorte.
  • Evite clicar em qualquer email por mais tentador que seja. Ainda mais se o arquivo for no formato .jar, .run ou .configure. A menos que você deliberadamente tenha requisitado ele, será um virus.
  • Evite usar seu sistema com usuario root ativo o tempo todo, é chato digitar a senha pra qualquer coisa mas isso é uma segurança extra que não tem preço. Se fizer isso estará tão inseguro como o Windows com usuário administrativo. Um virus sem acesso ao root não tem poderes.
  • Evite o uso de sites como Baixaki ou Softsonic, parecem bonzinhos mas são cheios de malwares. Foque nos repositórios de sua distro, foque na lojinha do seu sistema e ainda use somente links dos sites oficiais. Nada de genéricos, torrents e afins.
  • Mantenha seu sistema atualizado. A maior parte dos ataques ocorrem em sistemas sem proteções atualizadas. Os hackers/crackers se empenham em atualizar suas pragas, por quê você não pode atualizar sua segurança?
  • Se for usuário do Ubuntu, ative o firewall que vem desativado por padrão!
    $ sudo ufw enable
    Reforço á segurança nunca é demais.
  • Aos usuários que mantém acesso remoto como SSH ou RDP, use senhas mais difíceis de quebrar, assim você evita problemas com ataques de força bruta que tentarem invadir seu sistema adivinhando suas credenciais.

9) Conclusão

Nenhum sistema está livre de sofrer da ameaça constante de malwares; mas os sistemas baseados em UNIX possuem uma série de motivos que os tornam um pouco mais seguros que os demais!
De permissão restritiva de uso dos apps até

#UrbanCompassPony

Fontes:
Definição do que é Malware
Top 500 supercomputadores mundiais:
Wikipedia sobre SELinux:
Adaptação do Artigo do Viva O Linux – Os Virus e o Linux, de 2003:
Spyware no Windows 10
Android: PlayStore possuia mais de 500 apps infectados.
30 grandes empresas que usam Linux
O primeiro Worm que se tem noticia
Arte de FSocietyBrasil
Depoimentos de conhecidos e análises recentes do cotidiano de usuários.

Deixe um comentário