Posso obter um vírus usando o "sudo apt-get install"?

74

Gostaria de garantir que seja seguro fazer o download de software usando sudo apt-get install. Os pacotes são verificados em algum lugar? Todos os pacotes baixados usando este comando estão livres de vírus?

Se não houver garantia de que eles não estejam livres de vírus, após a instalação de um pacote que contém vírus, o invasor poderá controlar totalmente minha máquina? Existe alguma maneira de verificar todos os pacotes que foram instalados no meu computador por mim? (não pelo sistema automaticamente. Gostaria de filtrá-los para ver todos os pacotes que foram instalados manualmente por mim, não pelo sistema.)

Tomas
fonte
8
A pergunta é válida, mas contém conceitos errôneos sobre vírus. Uma lista negra como o único meio de evitar a infecção é um método muito ruim , apesar de sua onipresença graças ao modelo de segurança invertido do Windows. "Verificar" um pacote de software é uma maneira horrível de impedir ações maliciosas.
Curinga
2
Tomas, seu comentário foi removido por um moderador. Por favor, NÃO publique repetidamente.
jokerdino

Respostas:

108

aptem um sistema Ubuntu padrão, é muito improvável que haja vírus. No entanto, isso não significa que não é possível:

  • PPA mal-intencionado
    Um dos recursos do APT é a capacidade dos administradores de adicionar PPAs (Personal Package Archives) ou outras fontes de software ao cache do APT. Essas fontes de APT de terceiros não são necessariamente confiáveis ​​e podem transmitir vírus. No entanto, seria necessário uma ação intencional do administrador da máquina para adicionar uma dessas fontes infectadas, dificultando a adição de uma delas.
  • Repositório invadido
    Em teoria, um repositório de software pode ser invadido por uma parte maliciosa, fazendo com que os .debarquivos baixados carreguem cargas úteis maliciosas. No entanto, os repositórios oficiais de software são monitorados com muito cuidado e a segurança desses repositórios é bastante rígida. Um hacker seria pressionado a derrubar uma das fontes oficiais de software Ubuntu, mas fontes de software de terceiros (veja acima) podem ser comprometidas muito mais facilmente.
  • Ataques ativos de MITM / rede
    Se uma rede estiver comprometida mais alto (por, por exemplo, seu ISP), é possível obter um vírus de fontes oficiais de software. No entanto, um ataque desse calibre exigiria uma quantidade extrema de esforço e a capacidade de gerenciar muitos sites como o Man-In-The-Middle, incluindo servidores de distribuição de chaves GPG e repositórios oficiais.
  • As
    vulnerabilidades de código mal escrito / mal-intencionado existem no código-fonte aberto, revisado por pares e mantido. Embora essas coisas não sejam tecnicamente consideradas "vírus" por definição, certas explorações ocultas ou nunca reveladas no código podem permitir que um invasor mal-intencionado coloque um vírus no seu sistema ou o ataque a ele. Um exemplo desse tipo de problema seria o Heartbleed do OpenSSL, ou o Dirty CoW, muito mais recente. Observe que os programas do universeou multiverserepos são ameaças em potencial desse calibre, conforme explicado aqui .

apt(devido à sua importância nos sistemas Linux) é bastante protegido contra quase todos esses tipos de ataques no lado do cliente e do servidor. Enquanto possível, um administrador que sabe o que está fazendo e sabe ler logs de erros poderá impedir que qualquer um desses ataques ocorra.

Além disso, apttambém impõe a verificação de assinaturas para garantir que os arquivos baixados sejam legítimos (e baixados corretamente ), dificultando ainda mais a detecção de malware apt, pois essas assinaturas digitais não podem ser falsificadas.


Quanto a responder a um incidente de infecção por malware, o caminho mais fácil é gravar o sistema no chão e começar de novo a partir de um backup recente (e limpo). Devido à natureza do Linux, pode ser muito fácil o malware se manifestar tão profundamente no sistema que nunca pode ser encontrado ou extraído. No entanto, pacotes como clamave rkhunterpodem ser usados ​​para verificar se há infecções no sistema.

Kaz Wolfe
fonte
6
"queime o sistema até o chão" - para um vírus realmente bem escrito, isso é quase literalmente verdade. A destruição física do hardware será segura; qualquer coisa menos será um trabalho árduo (por exemplo, se o firmware do disco rígido tiver sido enraizado).
Martin Bonner
2
Vale a pena notar que esses três exemplos não são mutuamente exclusivos. Você pode adicionar PPA de terceiros que foram invadidos por meio do MITM.
el.pescado
11
Como é (3) possível? Os pacotes são assinados e a chave pública dos repositórios oficiais do Ubuntu vem da mídia de instalação do Ubuntu. Não acho que você possa ser infectado, a menos que comece com uma mídia de instalação falsa.
Federico Poloni
6
Você deve adicionar a opção número 4: Código secreto em um pacote oficial. Erros como o heartbleed mostram, que erros graves podem existir por anos, mesmo abertamente, em softwares de código aberto com manutenção pesada. Portanto, sempre existe a possibilidade de um invasor injetar código malicioso em um repositório de uma maneira que possa sobreviver à revisão por pares. Nesse caso, você apenas baixaria o backdoor como um pacote totalmente assinado do servidor original.
Falco
22
Observe que a situação certamente não é melhor do que isso em sistemas não Linux. Muito pelo contrário, realmente. A maneira padrão de obter software no Windows é literalmente baixá-lo de algum site aleatório e esperar que nada de ruim tenha acontecido. O que você descreve é ​​o melhor que você pode fazer em termos de instalação segura de software. (Acho que isso vale a pena mencionar explicitamente na resposta, como alguém que faz esta pergunta está no nível iniciante e pode não perceber isso.)
jpmc26
16

apt-getinstalará apenas a partir dos repositórios oficiais do Ubuntu que foram verificados ou dos repositórios que você adicionou às suas fontes. Se você adicionar todos os repositórios que encontrar, poderá acabar instalando algo desagradável. Não faça isso.

Marc
fonte
1
Há casos em que você precisa instalar o * .deb de outros sites, mas eles também têm somas de verificação / somas de hash, acredito. Há momentos em que você precisa adicionar um ppa para fazer o download de outros repositórios, mas o comando apt-get ainda é usado. Seria bom checar o ppa contra uma lista de "sites ruins" conhecidos, se isso fosse possível ...
WinEunuuchs2Unix 29/08/16
8
Uma soma de verificação protege contra corrupção acidental, mas não a violação intencional - são as assinaturas do OpenPGP que protegem contra a violação.
Charles Duffy
1
Supondo que você confie na pessoa que assinou o pacote e que você pode verificar a chave de maneira confiável. Honestamente, porém, toda pessoa às vezes baixa software da web. Os repositórios são grandes, mas não infinitos. Segurança e confiança perfeitas são um sonho.
Andrea Lazzarotto
Mas você não pode adicionar repositórios adicionais?
21417 Jeremy
"Se você adicionar todos os repositórios que encontrar, poderá acabar instalando algo desagradável. Não faça isso."
Marc
5

Os arquivos baixados por sudo apt-getsão comparados a uma soma de verificação / soma de hash para esse arquivo para garantir que ele não tenha sido violado e esteja livre de vírus.

De fato, os problemas encontrados pelas pessoas quando você pesquisa no Google "sudo apt get hash sum" são muita segurança contra vírus.

O Linux não está completamente livre de vírus, por qualquer meio, no entanto, os incidentes são provavelmente 1000 vezes menos que o Windows.

Então, novamente, a julgar pelo meu nome de tela, posso ser tendencioso :)

O comentário em 28 de novembro de 2017 menciona como o Windows tem mais 1.000 estações de trabalho que o Linux, por que se preocupar em invadir o Linux. Isso mostra que o Linux está sendo executado em todos os 500 supercomputadores mais rápidos agora e a maioria dos servidores Web está executando o Linux, o que torna a melhor maneira de invadir todas as estações de trabalho Windows conectadas à Internet.

O Google Chrome, Android e Windows 10 oferece aos usuários uma ampla oportunidade de abrir mão de sua privacidade e provavelmente de alguma segurança ao mesmo tempo.

WinEunuuchs2Unix
fonte
4
Eh? Os problemas de soma de verificação não são tanto sobre evitar modificações intencionais quanto corrupção acidental - a menos que haja uma assinatura (e sim, os pacotes Debian também possuem assinaturas OpenPGP), uma soma de verificação pode ser modificada tanto quanto os dados brutos em si. . Se uma soma de verificação em um pacote não corresponder ao que estava presente no momento da construção, não há expectativa razoável de que esse pacote possa ser extraído para obter o conteúdo original desejado.
Charles Duffy
@ Jeremy No entanto, o Linux está executando os 500 principais supercomputadores e a maioria dos servidores web, o que é uma ótima maneira de invadir todos os clientes Windows conectados.
WinEunuuchs2Unix
3

Embora o apt-get seja instalado apenas a partir dos repositórios oficiais do Ubuntu, ele não garante 100% do pacote que você recebeu está limpo.

Se o repositório for invadido, o hacker pode injetar código de dano nos pacotes. O servidor Linux Mint, por exemplo, foi hackeado e o hacker injetou malware em seus arquivos ISO. http://www.theregister.co.uk/2016/02/21/linux_mint_hacked_malwareinfected_isos_linked_from_official_site/

PT Huynh
fonte
3
Até as trocas de NSA, DNC e bitcoin foram invadidas recentemente. Eu acho que é seguro dizer que os repositórios do Ubuntu são 99.99999% livres de vírus, que é o espírito da pergunta e de nossas respostas. De fato, ninguém realmente apresentou um vírus Ubuntu nesta sessão de perguntas e respostas. Existe o vírus / malware Linux de longa data que o KASLR corrige que a maioria das pessoas nem conhece e eu só leio em um site alternativo que não seja MSM que não seja Linux e que seja apenas baseado em notícias globais. Eu gostaria de dizer que o Linux tem muito menos vírus do que o Windows e o Ubuntu Update são seguros. No entanto, como sempre, tenha cuidado com os sites.
WinEunuuchs2Unix 29/08/16
2
Há uma grande diferença entre injetar código malicioso em um ISO e nos servidores apt. Os ISOs não estão totalmente assinados - há ferramentas modernas disponíveis que poderiam ser usadas para essa assinatura (assinatura EFI para proteger o carregador de inicialização, validação GRUB OpenPGP para proteger o kernel e o initrd, dm-verity para proteger o sistema de arquivos raiz), mas dm -verity ainda não é amplamente usado fora do ChromeOS. O conteúdo dos servidores apt, por outro lado, todos têm assinaturas OpenPGP - você precisaria entrar na estação de trabalho de um dos desenvolvedores confiáveis ​​para forjá-los.
Charles Duffy
1
Injetar ISO e atender pacotes apt infectados são completamente diferentes. Um servidor pode ser hackeado e o iso infectado pode ser servido, mas o apt não pode ser distribuído dessa maneira. existem assinaturas que vai impedi-lo
Anwar
-4

depende de quais são suas permissões de sudo. acesso root? todas as apostas estão fora - você está, de fato, confiando no ecossistema apt-get, que pode ou não ser seguro. Eu acho que é uma péssima idéia, mas faço isso o tempo todo, porque é a única escolha. Se você estiver executando uma instalação sensível em que a segurança é superior, executar o sudo em algo que você não controla inteiramente é provavelmente insano. se você é apenas um idiota comum, provavelmente está bem.

mobileink
fonte
A questão aqui é se e até que ponto o ecossistema apt-get é de fato seguro, o que não tenho certeza de que esta resposta seja direta. Quanto à "péssima idéia" - além de distribuir chaves OpenPGP de propriedade de desenvolvedores confiáveis ​​com o sistema operacional (como já foi feito) e exigir ação explícita do usuário para habilitar chaves adicionais (como ao adicionar um PPA), que medidas adicionais poderiam ou poderiam você adiciona se estava construindo seu próprio sistema de distribuição de software?
Charles Duffy
não, a questão é muito explícita. basta ler o op. "Posso pegar um vírus?" sim, inequivocamente. construir seu próprio sistema de distribuição de software é uma questão completamente diferente.
mobileink
ps. Eu disse "eu acho" que é uma péssima idéia, que não pode ser contestada. Na verdade, é uma péssima idéia que os sistemas de distribuição de software exijam sudo.
mobileink
6
Eu diria que é uma idéia ainda mais terrível permitir que um usuário sem privilégios instale software em locais onde está no PATH padrão para outros usuários sem privilégios. O Homebrew é um grande ofensor aqui - assim que executa sua configuração, qualquer processo comprometido em execução no uid relevante pode instalar o software /usr/local/binsem exigir que o usuário afirme que pretende permitir atividades administrativas.
Charles Duffy
3
Teoricamente possível, mas muito menos provável. E este não é o Security SE, onde estamos no negócio do teórico - é o Ask Ubuntu, focado nos usuários finais com perguntas fundamentadas na prática.
Charles Duffy