Maneira conveniente de verificar o AUR PKGBUILD contra códigos maliciosos?

5

Como é bem sabido, deve-se tomar cuidado ao instalar pacotes do AUR, porque o PKGBUILD pode não fazer o que você espera e pode ser malicioso. Por esse motivo, meu fluxo de trabalho para instalar e atualizar pacotes do AUR é o seguinte (usando yaourt):

Verifique o PKGBUILD:

  • A parte source=(...) contém apenas URLs da fonte esperada?
  • Digitalize rapidamente a parte package(){...} se ela fizer apenas as operações normais de instalação / cópia

Eu assumo que usar este procedimento é tão seguro quanto baixar o software da fonte e instalá-lo manualmente. Note que não estou falando sobre se o software a ser instalado é seguro, quero considerar os problemas de segurança adicionais de um pacote.

As perguntas são:

  • Isso é tão seguro quanto eu suponho? Existem outros lugares (no PKGBUILD ou em outro lugar) onde um ataque poderia ser colocado?
  • É muito inconveniente verificar todo o PKGBUILD a cada atualização do pacote. Na maioria dos casos, somente números de versão ou URLs são alterados. Existe uma ferramenta ou uma maneira simples de apresentar / destacar as diferenças do último PKGBUILD?
  • Existe uma ferramenta que suporta o usuário com a verificação de arquivos PKGBUILD?
por user905686 22.09.2014 / 12:09

1 resposta

1

Perguntas respondidas

Is this as safe as I assume? Are there other places (in the PKGBUILD or elsewhere) where an attack could be placed?

Desde que você confie no software, é seguro para você. Se não houver um editor de software, o que você está fazendo é o mínimo de acordo com [Arch Wiki] porque você não verifica o código-fonte da (s) fonte (s) baixada (s) onde o código malicioso pode ser inserido.

Para citar o wiki:

Warning: Carefully check all files. Carefully check the PKGBUILD and any .install file for malicious commands. PKGBUILDs are bash scripts containing functions to be executed by makepkg: these functions can contain any valid commands or Bash syntax, so it is totally possible for a PKGBUILD to contain dangerous commands through malice or ignorance on the part of the author. Since makepkg uses fakeroot (and should never be run as root), there is some level of protection but you should never count on it. If in doubt, do not build the package and seek advice on the forums or mailing list.

It is very inconvenient to check the whole PKGBUILD at every update of the package. In most cases, only version numbers or URLs are changed. Is there a tool or simple way to present/highlight the differences from the last PKGBUILD?

Nunca é inconveniente verificar todo o PKGBUILD a cada atualização porque:

Weird bugs can do bad things.

AUR inclui Git para que você possa verifique as alterações feitas em um repositório AUR de https://aur.archlinux.org/cgit/aur.git/log/?h=yourPackageNameHere .

Is there a tool that supports the user with checking PKGBUILD files?

No momento em que escrevo isto, não há ferramenta para isso, mas vamos ver o que será o futuro!

Detecção / Evitar de mal-intencionado

Por favor, considere o seguinte como não completo e aberto a modificações .

Você não pode realmente verificar um PKGBUILD sem uma auditoria extensa do código e observá-lo em ação de imediato, por exemplo, com a ajuda de uma máquina virtual.

Não há nenhuma ferramenta e nenhuma maneira automatizada de encontrar pacotes maliciosos, mas você pode (não deve) evitar códigos maliciosos com a ajuda dos seguintes itens.

  • Baixe o pacote e sua origem, descompacte-o, mas não o instale.
  • Execute uma verificação de vírus nos arquivos descompactados / de origem. Isso ajudará você a encontrar alguns problemas ou hacks conhecidos.
  • Antes de usá-lo, instale-o em uma máquina virtual e verifique se ele não faz nada de errado, como tocar um arquivo que não deveria ou, por exemplo, comunicar-se com servidores. O uso de um detector de rootkit deve automatizar a detecção de tais coisas.
  • Instale-o em um ambiente restrito, como SELinux, cadeia chroot, máquina virtual, máquinas separadas ...
por 25.07.2017 / 11:28