Como recuperar com segurança o código fonte do kernel do Ubuntu?

4

De acordo com BuildYourOwnKernel , há duas maneiras de obter o código-fonte:

apt-get

  • O apt-get é assinado pela equipe do Ubuntu?
  • Quero dizer, meu computador verificará a assinatura quando eu fizer o download?
  • Existe uma maneira de verificar a assinatura com um método alternativo?

git

O código-fonte do Git não está assinado.

  • Existe um lugar onde eu possa encontrar a assinatura?
  • Eu posso ver que as tags git estão assinadas, mas não consigo as chaves públicas e nem posso verificar se essas chaves públicas são seguras (elas são assinadas pela equipe do Ubuntu?)
por Guerlando OCs 19.02.2018 / 13:24

1 resposta

9

  

O apt-get é assinado pela equipe do ubuntu?

Bem, o arquivo dsc é assinado e contém hashes dos arquivos a serem baixados:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.0
Source: linux
...
Checksums-Sha1:
 180ab617036593212274177eff3a67f437c1b5ea 132860730 linux_4.4.0.orig.tar.gz
 be23819008464f4aa49bed094d19aac086f16572 13880183 linux_4.4.0-112.135.diff.gz
Checksums-Sha256:
 730e75919b5d30a9bc934ccb300eaedfdf44994ca9ee1d07a46901c46c221357 132860730 linux_4.4.0.orig.tar.gz
 b5b6adc87ea98ffa48d31aee2ee5ec301a01c2b4fa64fa20d1564a4e95bdd6ad 13880183 linux_4.4.0-112.135.diff.gz
Files:
 2070b49688e8d7ee7ff4c33590afc698 132860730 linux_4.4.0.orig.tar.gz
 b349ae228d1659789e713b8ff2262eac 13880183 linux_4.4.0-112.135.diff.gz

Portanto, um arquivo dsc assinado com checksums dos tarballs nele ~ mais próximo do código-fonte assinado.

  

Quero dizer, meu computador verificará a assinatura quando eu fizer o download dela?

Ele tenta. apt-get tenta verificar:

$ apt-get source linux-image-4.4.0-87-generic
Reading package lists... Done
Picking 'linux' as source package instead of 'linux-image-4.4.0-87-generic'
NOTICE: 'linux' packaging is maintained in the 'Git' version control system at:
git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial
Please use:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 147 MB of source archives.
Get:1 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (dsc) [9,712 B]
Get:2 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (tar) [133 MB]
Get:3 ftp://ftp.iitb.ac.in//os/ubuntu/archives/ubuntu xenial-security/main linux 4.4.0-112.135 (diff) [13.9 MB]
Fetched 147 MB in 4s (31.8 MB/s)
gpgv: Signature made Fri 19 Jan 2018 17:14:04 IST using RSA key ID CBEECEA3
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./linux_4.4.0-112.135.dsc
dpkg-source: info: extracting linux in linux-4.4.0
dpkg-source: info: unpacking linux_4.4.0.orig.tar.gz
dpkg-source: info: applying linux_4.4.0-112.135.diff.gz
dpkg-source: info: upstream files that have been modified: 

Mas, no meu caso, não teve sucesso porque ainda não importei a chave correspondente. Os arquivos dsc geralmente são assinados pelo desenvolvedor que os criou, e AFAICT não existe um único local onde todas as chaves sejam listadas. Os vários desenvolvedores do Ubuntu são membros de vários grupos no Launchpad, e os perfis do Launchpad dos desenvolvedores devem listar suas chaves GPG. Por exemplo, veja a equipe de Uploaders do Kernel do Ubuntu , ou o combinada equipe de desenvolvedores do Ubuntu (que por sua vez inclui muitas outras equipes).

Neste caso específico, o signatário é funcionário da Canonia < a href="https://launchpad.net/~smb"> Stefan Bader . Você pode buscar a chave do servidor de chaves Ubuntu, mas você pode querer fazer isso usando o HKPS .

  

Existe uma maneira de verificar a assinatura com uma alternativa?   método?

A ferramenta dscverify pode ser usada para isso.

  

Eu posso ver que as tags do git estão assinadas, mas não consigo as chaves públicas   e nem eu posso verificar se essas chaves públicas são seguras (elas estão assinadas   pela equipe do Ubuntu?)

Bem, indo por Stefan Bader ou Andy Whitcroft (que parece ter assinado esta tag , por exemplo) listagens do servidor de chaves, sim.

    
por muru 19.02.2018 / 14:28