OpenSSH se Divide Novamente: Novo Binário de Autenticação Revelado
O processo de separação do sshd avança com o sshd-auth, isolando a autenticação em um binário separado e reduzindo a superfície de ataque antes da autenticação no OpenSSH.
O esforço contínuo para aprimorar a segurança do OpenSSH, dividindo funcionalidades em binários separados, continua, com a mais recente novidade introduzindo um novo binário, sshd-auth.
Essa mudança faz parte da estratégia mais ampla do OpenBSD de tornar a implementação do OpenSSH ainda mais segura e eficiente.
Damien Miller, um desenvolvedor do OpenBSD, recentemente fez o commit desta nova atualização, que tem como objetivo segregar ainda mais a funcionalidade do sshd criando um binário dedicado para autenticação de usuários.
Conforme declarado na mensagem de commit, o objetivo é simples: "Separar este código em um executável separado garante que a superfície de ataque crítica durante a fase de pré-autenticação tenha um espaço de endereço completamente isolado do código usado para o restante da conexão."
Em outras palavras, isso minimiza efetivamente o risco ao isolar a fase de pré-autenticação e reduzir a superfície geral de ataque.
Além disso, essa abordagem oferece uma vantagem adicional: uma pequena economia de memória em tempo de execução. Uma vez concluída a fase de autenticação, o código de autenticação será descarregado, liberando memória para outras tarefas.
Essa mudança já foi integrada aos snapshots do OpenBSD e vem sendo testada desde a semana passada. Como acontece com outros componentes como sshd, ssh-session e ssh-agent, o novo binário sshd-auth será relinkado aleatoriamente na inicialização, adicionando mais uma camada de proteção.
Para mais informações, consulte o anúncio no OpenBSD Journal.
Como Isso Se Relaciona com Outras Implementações do OpenSSH
Como você provavelmente sabe, o OpenSSH faz parte do projeto OpenBSD e é amplamente utilizado em diferentes sistemas operacionais, incluindo Linux. Portanto, mudanças feitas na versão do OpenBSD do OpenSSH muitas vezes são refletidas em outras implementações, já que o código principal é compartilhado.
Isso significa que melhorias, como a segregação de funcionalidades em binários separados, eventualmente chegarão ao Linux e a outros sistemas que dependem do OpenSSH.
