Os programas do Ubuntu Software Center são livres de spyware?

35

No Ubuntu Software Center existem seções diferentes para programas

  • Fornecido pelo Ubuntu
  • Parceiros canônicos
  • Para compra

Eu sei que todos eles são de código aberto; mas existe algum processo de validação feito pela Canonical para garantir que eles estejam livres de qualquer spyware ou malware ?

Eu me pergunto se alguém terá tempo de olhar para todos estes (2355 programas ou até agora), código de software que também para cada lançamento !!

Estou preocupado porque instalo rotineiramente um software bastante impopular do centro de software:)

    
por AIB 17.06.2011 / 15:23

4 respostas

27

Existe um processo para garantir que não haja malware? Não. Não há garantias.

Existem, no entanto, vários mecanismos para tentar detectá-lo, mas embora eu não queira ficar muito pessimista, se formos honestos, provavelmente você não estará tão seguro quanto gostaria ser.

  1. Um projeto primeiro precisa ser adicionado ao Ubuntu. Como Rinzwind diz, as verificações são feitas nesta fase, mas isso é apenas a ponta do iceberg que é a vida de um pacote no Ubuntu.

  2. A primeira linha real de defesa para pacotes de longo prazo são os mantenedores do projeto. Essas pessoas cuidam de seus projetos e aceitam patches para melhorá-los. Eles são humanos. Eles cometem erros e perdem as coisas. E alguns podem ser preguiçosos.

    É possível que uma pessoa ruim possa passar algum malware por eles, incluindo melhorias genuínas junto com o malware.

    Se algo ruim for admitido em um projeto por seu mantenedor, exceto por uma auditoria bem-sucedida, é provável que o código acabe nas máquinas dos usuários do Ubuntu.

  3. As auditorias de segurança são o segundo passo. Isso é examinar o código e executá-lo nos monitores para detectar coisas ruins. Até onde sei, não existe uma equipe oficial da Canonical dedicada à segurança, mas há duas equipes da comunidade (Ubuntu Security e MOTU SWAT) que lidam com todos os pacotes entre eles.

    A auditoria realmente funciona se todas as linhas de código forem verificadas corretamente antes de serem enviadas aos usuários. Isso não é realmente prático para a quantidade de código e o número de atualizações que estamos falando. Seria preciso muito tempo e dinheiro para fazer isso dessa maneira.

    Existe uma suposição no mundo do código aberto de que só porque alguém pode visualizar a fonte, ele tem. Este é um ethos muito perigoso para manter.

    As correções de segurança são amplamente reacionárias para as pessoas que encontram e divulgam buracos. O que acontece se alguém revela um buraco que encontra?

  4. Outros problemas de geração de relatórios com "usuários finais" são os mecanismos reais de detecção e, sejamos honestos, um bom malware não permitirá que o usuário saiba que há um problema até que seja tarde demais para fazer a diferença. Bem escrito malware não vai virar sua tela ou roubar toda a sua largura de banda, ele vai ficar lá em segundo plano, registrando todos os seus dados bancários antes de publicá-los todos para algum lixo anônimo em algum lugar.

Todo o processo depende de projetos de upstream para manter seus próprios níveis de segurança. Se alguém escorregou algo além do mantenedor da calculadora Gnome, as chances são de que todo mundo faltará. Uma equipe de segurança nunca suspeitará disso.

Felizmente, os mais mantenedores são bons no que fazem. Eles conhecem sua base de código e, se não entenderem os patches, eles os rejeitarão com base no fato de que não são suficientemente claros.

Em termos de avaliação de risco, usando algo que é muito menos popular, provavelmente há menos olhos verificando o código. Mas da mesma forma, provavelmente há menos commits, então, desde que o mantenedor não seja preguiçoso (ou malvado), eles podem ter mais tempo para lidar com cada commit. É difícil dizer exatamente quanto você está correndo risco. A segurança do software de código aberto depende de pessoas capazes que observem o código.

Por outro lado, os itens de código fechado (nos repositórios de parceiros e de compras) não são totalmente auditados pela comunidade. A Canonical pode ter algum acesso à fonte, mas francamente duvido que eles tenham os recursos para dar auditorias completas, mesmo se tivessem acesso à fonte e quisessem.

Da mesma forma com os PPAs, você recebe muito pouca proteção, a menos que queira mergulhar na fonte. Os usuários podem adicionar o que quiserem ao código-fonte e, a menos que você faça o check-out (e você é capaz de detectar malware), você é uma ovelha cercada por lobos. As pessoas podem reportar PPAs ruins, mas algo acontecendo depende de outras pessoas verificando e confirmando o problema. Se um site grande (por exemplo, o OMGUbuntu) recomendou um PPA (como costuma fazer), muitos usuários podem ter problemas ao longo do processo.

Para agravar o problema, a menor participação de mercado do usuário do Linux significa que há menos software disponível para nós caçarmos códigos ruins. Eu odeio dizer isso, mas pelo menos com o Windows, você tem dezenas de empresas gastando todos os dias úteis, descobrindo como o software funciona mal, como detectá-lo e como removê-lo. Esse foi um mercado nascido da necessidade e, embora eu odeie dizer isso também, as coisas provavelmente vão piorar aqui antes de melhorarem.

Para os paranóicos de segurança, escrevi um pequeno artigo há pouco: O Linux não é invulnerável. Não diga que é. . Sneaking coisas no repositório provavelmente não vai ser o vetor de ataque primário para os asshats que distribuem malware.É muito mais provável (IMO) que eles joguem com a ganância e a estupidez dos usuários em fazer com que instalem o .debs infectado.

    
por Oli 17.06.2011 / 15:46
25

Sim. Os pacotes são verificados pela comunidade (portanto, é possível instalar alguns malwares, mas essas notícias se espalharão rapidamente entre todos os usuários).

Os apps precisam obedecer a regras muito rígidas descritas no licenciamento .

A página wiki para novos pacotes tem um pouco mais de informação:

  

Passando pelo MOTU

     

Pacotes que ainda não estão no Ubuntu, requerem escrutínio extra e passam por um processo de revisão especial, antes de serem carregados e obterem uma revisão final pelo administrador de arquivos . Mais informações sobre o processo de análise, incluindo os critérios que serão aplicados, podem ser encontradas na página de Revisores de Código . Os desenvolvedores são encorajados a examinar seus próprios pacotes usando essas diretrizes antes de enviá-los para revisão.

     

Para receber relatórios de bugs de maior qualidade, escreva um gancho de apoio para o seu pacote.

Dito isto: a ideia geral é. Se você encontrar algo suspeito, você o informará no launchpad, askubuntu, ubuntuforums e alguém irá buscá-lo.

O que pode acontecer é que um criador de malware faça um pacote válido, aceite-o e faça uma atualização que adicione o malware. Pelo menos um dos muitos muitos sempre pega isso e ele / ela relatará isso em algum lugar. Não vai entrar em muitas máquinas dessa maneira. (o esforço de colocá-lo em nossas máquinas é demais para a recompensa em potencial: o direcionamento de máquinas com Windows é muito mais fácil).

Exemplo de coisas terrivelmente erradas com o bumblebee . Alguém perdeu um espaço e / usr foi deletado ... algumas pessoas foram afetadas, 1 posta um aviso com bandeiras vermelhas e agora todos nós sabemos. O criador corrige (mais rápido que a velocidade da luz), mas o dano foi feito em vários sistemas. E isso foi um erro e não deliberado, por isso pode acontecer;)

    
por Rinzwind 17.06.2011 / 15:33
5

Eu assumo que ninguém pode garantir isso. Você teria que checar o que tem que acontecer para um pacote ser adicionado ao índice de pacotes Debian, mas eu acho que você deveria ser capaz de colocar algo mal lá.

Você pode configurar uma máquina virtual e experimentar o software lá, então você pode examinar o tráfego da rede com algo como iftop para ver se esses aplicativos falam com o usuário. As chances são de que você nunca verá nada porque está muito bem escondido.

Open Source não significa segurança, só porque você pode ver o código não significa que alguém o fez.

    
por Martin Ueding 17.06.2011 / 15:39
2

Para publicar código em um PPA no launchpad, você precisa configurar o openPGP e criar uma chave anexada a um endereço de email. Para assinar um pacote, você precisa de uma cópia da chave privada na máquina local e da senha (que não é armazenada em nenhum lugar). Se um pacote tiver problemas de segurança, deve ser relativamente fácil rastrear o autor. Estou assumindo que os repositórios principais para o Ubuntu e o Debian são pelo menos seguros.

A maioria dos projetos de código aberto tem um repositório central com pelo menos proteção de nível ssh (senha e / ou par de chaves pública / privada). Obtendo acesso não autorizado aqui é um pouco mais fácil do que o ppa, mas não é trivial. Os sistemas de controle de versão geralmente registram o usuário que faz cada commit e torna bastante fácil descobrir exatamente o que um commit faz.

Sempre se pode tentar colocar algo em um patch, mas essa é uma proposta arriscada. A maioria dos programadores não aceita um patch muito grande para ser lido com facilidade. Se você for pego, então é bem isso.

Ainda existe uma certa quantidade de confiança, por isso é possível que alguém consiga spyware no Ubuntu. Talvez seja algo com o qual teremos que nos preocupar se a participação de mercado do Ubuntu crescer significativamente.

    
por user20304 20.06.2011 / 13:06