Segurança

11 mai, 2022

A segurança do software começa protegendo contas de desenvolvedor

Publicidade

A cadeia de fornecimento de software começa com o desenvolvedor. Por isso, as contas de desenvolvedores são alvos frequentes de ataques de engenharia social e roubo de contas, e proteger os desenvolvedores desses tipos de ataques é o primeiro e mais importante passo para proteger a cadeia de fornecimento de software. O GitHub tem um longo histórico de proteção de desenvolvedores por meio de esforços incluindo busca e invalidação de senhas de usuários comprometidasoferecendo suporte robusto a chaves de segurança WebAuthn e registrando todos os editores npm na verificação de login aprimorada. Hoje, como parte de um esforço em toda a plataforma para proteger o ecossistema de software por meio da melhoria da segurança da conta, estamos anunciando que o GitHub exigirá que todos os usuários que contribuem com código no GitHub.com habilitem uma ou mais formas de autenticação de dois fatores (2FA ) até o final de 2023.

O GitHub tem o compromisso de garantir que uma segurança forte de conta não prejudique uma ótima experiência para os desenvolvedores, e nossa meta para o final de 2023 nos dá a oportunidade de otimizar isso. Os desenvolvedores de todos os lugares podem esperar mais opções para autenticação segura e recuperação de contas, além de melhorias que ajudam a prevenir e recuperar o comprometimento da conta.

Por que a segurança da conta e o 2FA são importantes

Em novembro de 2021, o GitHub se comprometeu em investir na segurança de contas npm, após a invasão de contas de desenvolvedores que não tinham o 2FA habilitado. Continuamos a introduzir melhorias na segurança das contas npm e estamos igualmente comprometidos em proteger as contas dos desenvolvedores que usam o GitHub.

A maioria das violações de segurança não são produto de ataques exóticos de dia zero, mas na verdade envolvem ataques de baixo custo, como engenharia social, roubo ou vazamento de credenciais e outros caminhos que fornecem aos invasores uma ampla gama de acesso às contas das vítimas e aos recursos que eles têm acesso. As contas comprometidas podem ser usadas para roubar código privado ou enviar alterações maliciosas a esse código. Isso coloca em risco não apenas os indivíduos e organizações associados às contas comprometidas, mas também qualquer usuário do código afetado. Esses ataques têm um grande potencial de impacto em todo o ecossistema de software, assim como na sua cadeia de fornecimento.

A melhor defesa contra isso é ir além da autenticação básica baseada em senha. Já tomamos medidas nesse sentido, descontinuando a autenticação básica para operações git e nossa API e exigindo verificação de dispositivo baseada em e-mail, além de um nome de usuário e senha. A 2FA é uma poderosa linha de defesa; no entanto, apesar do sucesso demonstrado, a adoção de 2FA em todo o ecossistema de software permanece baixa em geral. Hoje, apenas aproximadamente 16,5% dos usuários ativos do GitHub e 6,44% dos usuários do npm usam uma ou mais formas de 2FA.

Em fevereiro, passamos a exigir o 2FA de todos os mantenedores dos 100 principais pacotes no registro npm e, em março, passamos a exigir o login aprimorado de todas as contas. Em 31 de maio, exigiremos o 2FA de todos os mantenedores dos 500 principais pacotes. O último grupo será de mantenedores de todos os pacotes de alto impacto, aqueles com mais de 500 dependentes ou um milhão de downloads semanais, que planejamos inscrever no terceiro trimestre deste ano. Aproveitaremos o que aprendemos ao exigir 2FA no npm e aplicaremos essas lições aos nossos esforços no GitHub.com.

No GitHub, acreditamos que nossa posição única como o lar de todos os desenvolvedores nos concede uma oportunidade e uma responsabilidade de elevar o nível de segurança em todo o ecossistema de desenvolvimento de software. Embora estejamos fazendo altos investimentos em nossa plataforma e em todo o setor para melhorar a segurança geral da cadeia de fornecimento de software, o valor desse investimento é fundamentalmente limitado se não abordarmos o risco contínuo de comprometimento de conta. Nossa resposta a esse desafio continua hoje com nosso compromisso de impulsionar a segurança aprimorada da cadeia de fornecimento de software por meio de práticas seguras para desenvolvedores individuais.

Comece hoje

Usuários individuais

Quer ter uma vantagem inicial? Recentemente, lançamos o 2FA para o GitHub Mobile no iOS e Android! Clique aqui para saber como configurar o GitHub Mobile 2FA. Para configurar o Mobile 2FA, você precisará ter pelo menos uma outra forma de 2FA habilitada.

Procurando uma chave de segurança WebAuthn contra phishing, ou outras opções?

Você pode começar aqui. Para dar impulsionar a adoção de chaves de segurança, distribuímos chaves de segurança para mantenedores de projetos open source essenciais e armazenamos chaves de segurança no GitHub Shop. SoloKeys ou Titan Security Keys também são ótimas opções.

Não se esqueça de salvar seus códigos de recuperação e configurar também um ou mais métodos de recuperação de conta!

Organizações e empresas

Os proprietários de organizações e empresas do GitHub.com também podem exigir 2FA dos membros de suas organizações e empresas. Observe que os membros e proprietários da organização e da empresa que não usam 2FA serão removidos da organização ou empresa quando essas configurações forem habilitadas.

Olhando para a frente

Nos próximos meses, compartilharemos mais detalhes e cronogramas para futuros requisitos de 2FA para usuários do GitHub.com. Embora acreditemos firmemente que a 2FA para contribuidores ativos (por exemplo, aqueles que fazem o commit de código, abrem ou fazem merge de pull requests, usam o Actions ou publicam pacotes) é a coisa certa a fazer, também queremos garantir uma experiência suave e acessível, portanto, fique atento a futuras melhorias e novos recursos projetados para ajudá-lo a proteger e recuperar suas contas.