Segurança no Linux (mais relacionados a formatos de pacote)

Boa noite. Estava curioso para saber mais sobre segurança no Linux. Eu tava pesquisando alguns videos que falam sobre alguns tópicos e fiquei com dúvida em algumas coisas.

1) Os programas precisam de permissão root para serem instalados.
2) Linux tem os package managers que são fontes seguras para instalar software
3) Linux possui muita gente olhando o código e isso faz com que conseguiam observar falhas de maneira mais efetiva
4) Linux desktop é usado em pequena quantidade se comparado com outros SO (Windows, principalmente), então não tem “grande” vantagem dos hacks utilizarem desse sistema que possui uma quantidade de usuário limitado

Links do Diolinux que já vi (antigões):

E outros videos da internet em inglês falando sobre, porém não fiquei satisfeito haha.

Okay, eu até entendo os pontos acima, mas minhas dúvidas são as seguintes:

Se eu instalar um programa via flatpak/snap/deb/rpm/ … Não é necessário usar um comando de sudo para instalar e isso não se tornaria perigoso quando instalado software de usuários provindos do flathub e AUR, por exemplo? Se qualquer um pode colocar algo lá não é muito perigoso?

Eu estou supondo um caso de uma falha de um programa “grande” que tenha sido infectado e possa infectar outros computadores, por exemplo spotify via flatpak;
Ou até mesmo alguns repositórios que não são alternativas da própria empresa para lidar com um driver, como o piper (logitech) que é desenvolvido por outras pessoas.
(OBS: são só exemplos, não estou dizendo que esses softwares tem problemas com relação a isso e quem ninguém deveria instalar QUALQUER coisa e de QUALQUER canto no seu computador)

1 curtida

Tem esse vídeo aqui com mais detalhes:

2 curtidas

Sim, já houve inclusive casos de malware no AUR e no Snap. Nesses repositórios, é preciso confiar em quem está upando o pacote (especialmente no AUR, onde não há sequer revisão automática).

Para o Flatpak e Snap, há duas camadas de proteção para compensar o fato de que se confia em terceiros para enviar os pacotes:

  • Sandbox, significando que aplicativos não conseguem fazer o que bem querem no sistema depois de instalados.
  • Revisão automática e, em algumas ocasiões, manual dos pacotes.

Mas, como no Android, vez ou outra algum pacote malicioso pode escapar, e se for paranoico, é preciso ficar atento se de uma atualização para a outra o aplicativo começou a pedir permissões suspeitas.


RPM e DEB pedem a senha para instalar, na verdade. Por um lado vão te pedir confirmação; por outro, eles podem rodar ganchos de pós-instalação maliciosos de modo que apenas instalar o pacote já compromete o sistema.

6 curtidas

Vamos dividir isso em partes:

  1. AUR é potencialmente perigoso por ser completamente manejado pela comunidade sem nenhum suporte da equipe de desenvolvedores do Arch Linux, mas todo helper do AUR que se preze deveria sim pedir a senha de sudo ao instalar um pacote dele, já que as instalações de pacotes por lá vão para a raíz do dispositivo (assim como instalações de pacotes DEB/RPM), e sim, já houveram casos de malware sendo distribuído lá, mas os mesmos foram descobertos e removidos extremamente rápido justamente por conta da revisão constante dessa comunidade.

  2. Já instalações em Flatpak são um pouco diferentes do AUR. Através do terminal você tem a opção de instalar um pacote apenas para o usuário atual (o que é o método padrão para o terminal e para as “lojas de apps”, como a GNOME Software ou o KDE Discover), que faz com que os apps sejam instalados na pasta home do usuário (similar aos snaps, se não me engano), ou instalar para o sistema todo, instalando os mesmos na raíz do dispositivo.

  3. Apps instalados do Flathub em geral são seguros pois eles passam por um processo de análise e revisão completos antes de serem publicados no Flathub, isso somado com o sandboxing dos mesmos torna eles bem seguros em geral. Não é a toa que esse formato é tratado por muitos como o futuro dos apps em Linux.

6 curtidas

@Daigo obrigado pelo link, essa equação da thumbnail é legal =)

@Capezotte não sabia desses casos (comecei final de 2020 acompanhar o mundo linux) e interessante que o do Snap foi até num jogo que facilmente poderia ser baixado por qualquer um né, obrigado.

@steiner Hmmm, eu estou começando a tentar usar tudo por flatpak caso a empresa não distribua o pacote .deb oficial, interessante saber essas camadas de seguranças e eu não tinha encontrado nada claro assim nas pesquisas. E você confirmou algo que tinha pensado de poder realmente instalar algo mal intencionado usando .deb e .rpm.

Eu fiquei super paranoico nesse fim de semana. Infelizmente, eu não vou ser nunca o cara que vai verificar código para saber algum software e comecei a pensar várias coisas como essa parte de segurança. Eu também sei que o kernel do linux não é algo simples que encontre falha facilmente.

2 curtidas

Aqui eu uso tudo que posso em Flatpak há algum tempo. Só deixo de usar em Flatpak se não houver uma versão disponível, rs. Vejo várias vantagens (sistema mais organizado, manter o “core” o mais inalterado possível, usar sandboxing, menor chance de quebras, aplicativos geralmente mais atualizados que aqueles distribuídos nos repositórios de distros LTS, etc.).

Acredito que você possa ficar tranquilo quanto a isso. A chance de ter problemas, ainda mais ao baixar pacotes bem conhecidos, é tão pequena que tende a zero. :wink:

6 curtidas

É tudo uma questão de confiança, no final das contas. A vantagem do open-source é justamente ter mais e mais pessoas auditando aquele código e verificando como ele opera para evitar código malicioso, isso pode criar uma camada a mais de confiança no usuário sem dúvidas, mas como um cético, você pode pensar

“Ok, mas o que me garante que o joao1337 que verificou o código, está realmente falando a verdade ?”

É válido, mas sejamos francos, alguém aqui que não esteja envolvido com a produção ou a audição de um software, clona o repositório do programa que quer instalar e vai verificar linha por linha se tem algo errado ?

Além de ser inviável, é impossível se você não tiver o conhecimento técnico pra isso, então você confia no joao1337 que tem como trabalho ou hobby auditar o código fonte de programas.

Você não questiona o médico se seu diagnóstico tá errado por você mesmo, se achou algum incongruência você procura outro médico, porquê você não tem a bagagem técnica de medicina para entender e verificar se realmente existe incongruência.

Pode acontecer, mas alguém querer por código malicioso no empacotamento do spotify e ninguém reparar é impossível, caso acontecesse algo desse tipo, em pouco tempo já estaria sendo corrigido. Além de que, não é qualquer pessoa que pode ir lá e alterar o código, sem antes esse código ser verificado.

Já tive essas preocupações antes, mas quando você analisa as coisas com calma e com um olhar mais cético, fica tudo mais claro.

Em síntese, só do fato de ter consciência desses pontos já te coloca numa visão muito mais ampla da realidade, se precisar baixar pacotes que não estejam em repo oficiais, verifica se aquele pacote tem reviews, se ele tá sendo mantido e etc. Não fica muito paranoico com isso, a maior parte das nossas vidas não está totalmente sob nosso controle hehe

4 curtidas