AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1856588
Accepted
NotGaeL
NotGaeL
Asked: 2024-09-23 14:42:39 +0800 CST2024-09-23 14:42:39 +0800 CST 2024-09-23 14:42:39 +0800 CST

Por que os mantenedores do Arch não assinam seus kernels/bootloaders?

  • 772

Acabei de terminar de configurar o secure boot em uma instalação do Arch. Ao contrário de outras distros, isso não está funcionando imediatamente. No entanto, o processo para criar suas próprias chaves e configurar a assinatura de cada atualização do kernel com elas automagicamente com a ajuda do sbctl e um hook pacman é relativamente simples.

No entanto, tenho um problema com essa abordagem: se eu tiver que manter minhas chaves na minha máquina e puder usá-las para assinar qualquer coisa com credenciais disponíveis para uma ferramenta que eu possa invocar no espaço do usuário... Como isso protege meu sistema?

Eu acharia muito mais conveniente e seguro se essas coisas já estivessem assinadas pelos mantenedores do Arch. Eu poderia então simplesmente adicionar a chave deles ao meu banco de dados de inicialização segura permitindo-a nas configurações do BIOS (ou banco de dados de shim assinado pela Microsoft como outras distros fazem, não me importo), uma vez. Mas não encontro nenhuma maneira de fazer isso. Por que todos os métodos de configuração que vejo online são tão complicados, quando essa solução parece tão óbvia e direta? Existe uma razão técnica, ideológica ou processual que eu esteja esquecendo?

boot
  • 1 1 respostas
  • 586 Views

1 respostas

  • Voted
  1. Best Answer
    grawity_u1686
    2024-09-23T15:15:36+08:002024-09-23T15:15:36+08:00

    Por que os mantenedores do Arch não assinam seus kernels/bootloaders?

    Principalmente porque eles não têm atualmente infraestrutura adequada para armazenar e acessar uma chave de assinatura.

    Diferentemente dessas outras distribuições, os pacotes Arch não são atualmente construídos em uma "build farm" central – a construção é feita manualmente, seja nas máquinas dos próprios desenvolvedores, ou descarregada para um servidor de construção comum via SSH. Os pacotes são então assinados usando a chave PGP do próprio desenvolvedor (e são entregues com essa assinatura, não assinados novamente).

    (As imagens .iso são criadas de forma semelhante – observe como elas são assinadas pela chave PGP de uma pessoa e não por uma chave genérica "Debian buildd" e, quando essa pessoa não está disponível, às vezes todo o processo é atrasado.)

    Até agora, isso atendeu às necessidades de assinatura de pacotes , porque o pacman tem um procedimento para revogação de chaves (chaves de desenvolvedor podem ser removidas, mantendo as mesmas CAs), bem como o modelo de confiança "M de N" nativo do PGP. Mas mapear esse modelo 1:1 para assinatura Secure Boot (assumindo que você só quer assinatura interna "Arch CA") não permitiria mais a revogação automática de certificados, pois as únicas atualizações 'dbx' que podem ser instaladas automaticamente são aquelas assinadas pela Microsoft (porque apenas a Microsoft está na sua lista 'KEK' e não há garantia de que o firmware da sua máquina permitirá que você registre uma KEK personalizada sem fazer totalmente sua própria assinatura Secure Boot a partir do PK de qualquer maneira).

    Ele também não atende aos requisitos para Secure Boot "completo" (como outras distribuições fazem), pois o kernel precisa ser assinado por uma única chave que precisa ser incorporada em uma compilação assinada pela Microsoft do carregador 'Shim'. Para evitar o risco de vazamentos de chaves (e revogações/reconstruções/novas assinaturas do Shim), precisa haver algum tipo de infraestrutura de compilação central, que ainda está em processo de ser construída, e idealmente algum tipo de armazenamento de chaves seguro (TPM ou smartcard ou Nitrokey ou HSM similar) que impediria que a chave fosse extraída, o que requer acordos com a empresa de hospedagem (o Arch não tem seus próprios datacenters).

    Se eu tiver que manter minhas chaves na minha máquina e puder usá-las para assinar qualquer coisa com credenciais disponíveis para uma ferramenta que eu possa invocar no espaço do usuário...

    Essa é a mesma situação do Ubuntu, por exemplo, que também faz com que você armazene uma chave na sua máquina – a MOK (Machine Owner Key) – que pode ser usada para assinar qualquer módulo do kernel, tanto legítimo (pacotes DKMS) quanto não.

    (Pelo que me lembro, ele também vem com um programa EFI que permite que alguém com acesso físico registre qualquer MOK que desejar, embora a maioria dos firmwares permita isso para inicialização segura de qualquer maneira.)

    Como isso protege meu sistema?

    O Secure Boot por si só não protege muito seu sistema (se é que protege), em primeiro lugar – especialmente considerando que ele nem mesmo valida a imagem initrd (na verdade, a menos que o processo de assinatura local 'UKI' seja usado). 90% de sua utilidade vem de ser usado em combinação com a criptografia do disco do sistema (o que também significa que suas chaves de assinatura também serão criptografadas).

    De fato, na maioria das distribuições Linux, a cadeia segura para no kernel e seus módulos e não faz nada para impedir a adulteração externa nem mesmo dos arquivos mais críticos do espaço do usuário — apenas o fato de o disco ser criptografado impede isso.

    Para ser mais útil, o Secure Boot precisa ser combinado com o measured boot – por exemplo, onde as chaves de criptografia de disco são seladas usando o TPM e vinculadas ao estado específico do sistema. É isso que o BitLocker faz; seu desbloqueio automático não quer "Secure Boot pass", ele quer "Secure Boot diz que o kernel do Windows foi assinado por este certificado MS especificamente", ou seja, ele se torna um ingrediente na atestação geral do estado do sistema.

    (Os sistemas DRM e anticheat também usam medições SB TPM sem criptografia de disco.)

    Existem alguns paralelos entre o funcionamento do TLS e do SSH: primeiro, as chaves de criptografia são trocadas de forma não autenticada (DH), e somente depois a chave privada do servidor é usada para vincular o certificado e a transcrição do processo anterior; isso significa que o DH é uma parte crítica do protocolo, mas seria quase inútil por si só.

    • 4

relate perguntas

  • Como limpar completamente o disco do laptop para uma nova instalação do Ubuntu?

  • Log de instalação do Windows 10 na máquina que não inicializa

  • Minha BIOS quebrou

  • Como posso saber em qual unidade o Windows está instalado?

  • A tela inicial do Maya 2018 desaparece - não inicia

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve