Conheça o Pal. O Pal é um desenvolvedor sênior que trabalha no PalBank. Nos próximos 6 meses, o Pal ficará responsável por liderar o desenvolvimento do cliente de aplicativos web do banco, que será usado diariamente por milhões de consumidores.
O Pal investe um esforço considerável para projetar e implementar o aplicativo mais seguro possível: desenvolvimento seguro e controlado com rigidez, pipelines de construção e implantação, análise de código estático, teste de penetração por partes externas, autenticação multifatorial para acessar o aplicativo e criptografia de dados em repouso. E a lista continua!
O Pal é o melhor, não é? Infelizmente, embora esses esforços sejam essenciais, eles não são suficientes! Inclusive, podemos supor, por argumentação e brincadeira, que se o aplicativo web cliente do PalBank estiver completamente livre de todas as vulnerabilidades de software conhecidas e desconhecidas, as garantias de segurança do aplicativo ainda ficariam ameaçadas assim que os consumidores o executassem em seus dispositivos terminais. Elas ficarão ameaçadas pelas milhões de linhas de código que compõem o software de sistema privilegiado da plataforma, caso ele se torne malicioso ou comprometido. Nesse contexto, o software do sistema contém o sistema operacional, o gerenciador de máquinas virtuais e todos os firmwares integrados nas plataformas.
Em outras palavras, pouco importa se um usuário escolhe uma senha exclusiva e forte, quando seu sistema operacional está infectado por um keylogger que a vaza para terceiros mal-intencionados. Da mesma forma, pouco importa se o seu código não tiver estouros de buffer se o seu sistema operacional for backdoor e simplesmente decidir vazar todos os dados dos seus clientes para terceiros mal-intencionados.
Então por que a segurança dos aplicativos no nível de usuário depende da segurança do seu software de sistema subjacente? O motivo é a arquitetura hierárquica dos dispositivos comuns: o software de sistema privilegiado obtém acesso irrestrito a todos os recursos de aplicativos não privilegiados no nível do usuário, porque controla sua execução, memória e acesso ao hardware subjacente. Na verdade, é um recurso, e não um bug!
Foto de regularguy.eth no Unsplash
Portanto, é extremamente importante considerar o estado de segurança do sistema operacional dos dispositivos de ponto final, e usar o sistema operacional mais seguro possível.
Entre no Linux
O Linux é um grupo de sistemas operacionais construídos a partir de softwares de código aberto e do kernel Linux, agrupados em uma distribuição Linux. Em 2004, Mark Shuttleworth fundou a Canonical para produzir a distribuição do Ubuntu, e a Canonical publicou uma nova versão do Ubuntu a cada 6 meses desde então.
Código aberto significa que o software é publicado com uma licença que permite a qualquer pessoa ver o código-fonte, modificá-lo e distribuí-lo como quiser. Normalmente, é desenvolvido de forma colaborativa por codificadores de todo o mundo. Existem inúmeras variações de licenças de código aberto, mas geralmente todas permitem esse modelo de colaboração e distribuição aberta.
O Linux se sente tão à vontade alimentando um laptop quanto executando um aplicativo de missão crítica na nuvem ou em seus servidores. O kernel do Linux é o coração do sistema operacional, mas é executado nos bastidores – todos os aplicativos que usamos todos os dias, como navegador de Internet, programa de e-mail, jogos de cartas, ferramentas de desenvolvedores, etc., são executados no kernel. Eles são desenvolvidos por grupos separados, e cabe a um editor como a Canonical agrupar todos os softwares que as pessoas possam precisar em uma única distribuição; o Ubuntu fornece dezenas de milhares dos aplicativos e pacotes de softwares populares na versão mais recente do Jammy Jellyfish.
O Ubuntu ganha uma nova versão a cada 6 meses, em abril e outubro, com um nome amigável (Bionic Beaver, que significa “Castor Biônico”, por exemplo), com um número de lançamento que reflete o ano e o mês em que foi produzida. A cada dois anos, a versão de abril é designada como versão de suporte de longo prazo, o que significa que a Canonical fornecerá atualizações e correções de segurança para pacotes de software por 5 anos. A Canonical oferece suporte ao Ubuntu dessa maneira desde 2004.
O Ubuntu é publicado em 3 edições: Desktop, Server e Core (para dispositivos IoT e robôs). Mais de 3 milhões de pessoas usam o Ubuntu Desktop, e mais de 100.000 novas instâncias do Ubuntu são lançadas todos os dias na nuvem pública.
E a segurança?
Uma vulnerabilidade de segurança é uma falha ou um bug de software que pode ser explorado para permitir que um adversário obtenha acesso não intencional a um sistema ou prejudique a sua operação de alguma forma. As vulnerabilidades de segurança são um fato inevitável da vida, mas o que faz toda a diferença é como lidamos com elas. Nenhum sistema de software está imune a vulnerabilidades de segurança, e cada sistema que usamos hoje precisa ser atualizado com as correções mais recentes.
No mundo do código aberto, podemos ser totalmente transparentes sobre quais problemas foram corrigidos e quando, porque o código-fonte está aberto para a inspeção de todos. A grande maioria das vulnerabilidades de segurança é descoberta por pesquisadores que estudam softwares e relatam problemas para corrigi-los e melhorá-los para todos. Usa-se um modelo de divulgação responsável, em que o pesquisador relata a vulnerabilidade ao editor do software, que tem tempo suficiente para implementar uma correção para o problema e lançar uma versão atualizada do software antes que o pesquisador conte ao mundo inteiro sobre aquela vulnerabilidade. Mas nem todo mundo trabalha assim, e há alguns agentes mal-intencionados que descobrem vulnerabilidades pensando em propósitos nefastos, ou para vender a outros para uso em ataques de “dia zero” (chamado assim porque o desenvolvedor de software recebeu um aviso de zero dias para corrigir o problema e lançar uma correção).
Corrigindo vulnerabilidades conhecidas
Como as vulnerabilidades conhecidas podem prejudicar você? Afinal, se soubermos de uma falha de segurança e a correção que garante resolvê-la estiver disponível, com certeza corrigimos imediatamente os sistemas afetados. Certo? Infelizmente isso está longe da realidade! Em um relatório publicado na Verizon 2022, apenas 25% das organizações verificadas corrigiram vulnerabilidades conhecidas dentro de dois meses após sua divulgação pública.
Foto de Sajad Nori no Unsplash
Mas por que alguém deixaria sua organização vulnerável a ataques cibernéticos de forma voluntária e consciente? Mais uma vez, a resposta está na eterna tensão entre segurança e usabilidade. Pergunte a qualquer administrador de sistema e ele lhe dirá que o trabalho extra necessário para corrigir vulnerabilidades é demorado, caro e, às vezes, simplesmente impossível, porque eles precisam manter o servidor funcionando.
Livepatch: corrija o seu kernel enquanto ele está em execução
Faça outra pergunta a esses mesmos administradores e eles também dirão que adorariam uma solução que lhes permitisse corrigir vulnerabilidades enquanto o sistema é executado, sem precisar de reinicialização. Problema resolvido! É exatamente isso que o Livepatch oferece para o kernel do Ubuntu.
O Livepatch permite corrigir as vulnerabilidades críticas e de alta gravidade do kernel em tempo de execução. Como o kernel representa 40% de todas as vulnerabilidades graves e críticas, o Livepatch trará à sua organização benefícios mensuráveis e um incomparável retorno do investimento.
O Livepatch é perfeito para as nossas necessidades. Não há outra solução como essa, e ela é altamente econômica. A migração manual de máquinas virtuais, a aplicação de atualizações de kernel e a reinicialização levaram em média 32 horas por servidor. Multiplicado por 80 servidores, foram mais de 2.500 horas de trabalho.
Leia o estudo de caso da OGM Pepabo ›
Mais uma vantagem de segurança
Mas e as outras vulnerabilidades não relacionadas ao kernel, comuns nos negócios, que não são atendidas pelo Livepatch? É exatamente aqui que o ecossistema da Canonical aparece! Com cada lançamento do Suporte de Longo Prazo (LTS) do Ubuntu, você sempre se beneficia de 5 anos de manutenção de segurança padrão para o sistema operacional básico, pacotes de software críticos e componentes de infraestrutura. E se, por algum motivo, você não puder fazer um upgrade para a próxima versão do LTS depois de 5 anos, você pode usar a Manutenção de Segurança Estendida da Canonical para continuar seguro por um total de 10 anos. Essa manutenção está disponível através da assinatura do Ubuntu Pro com uma licença gratuita para uso pessoal.
Essa abordagem inovadora fornece não apenas uma atrativa proposta de valor de segurança, mas também uma proposta comercial tão atraente quanto. O Pal pode dizer como isso permitiu que ele habilitasse um ecossistema de código aberto seguro e estável para o Palbank e acabasse com a obrigação da manutenção constante. Como ele não precisa mais se preocupar em verificar, aplicar e testar as atualizações de segurança upstream mais recentes, ele pode usar todo o tempo necessário para fornecer o melhor aplicativo bancário para seus clientes e até tirar umas férias.
E as ameaças desconhecidas?
Se soubermos de uma vulnerabilidade de segurança, podemos corrigi-la, mas e quando um invasor está usando algo que ainda não foi corrigido? É aqui que o ecossistema Ubuntu ajuda. A natureza dos softwares de código aberto dificulta muito a possibilidade de os malfeitores inserirem backdoors nos softwares. O código-fonte está disponível gratuitamente para todos lerem, e a Canonical analisa e monitora o código de cada pacote incluído no Ubuntu, o que significa que você pode instalar todos os softwares necessários a partir de uma fonte confiável, contanto com o histórico de décadas de correção e suporte da Canonical, sem recorrer ao download de códigos aleatórios da Internet.Outro benefício de usar pacotes do Ubuntu é que todo o código que a Canonical compila em pacotes é configurado para usar as contramedidas de segurança mais recentes do compilador. Essas opções do compilador focam nas verificações de proteção de memória e ajudam a garantir que o software fique protegido contra ataques na memória, como estouros de buffer e corrupção de heap, que atormentam o código nativo há muitos anos.
O Ubuntu é configurado para ser seguro por padrão. Uma instalação nova do Ubuntu Desktop não abre nenhuma porta de rede que possa ser abusada por um invasor e tem um firewall já ativado. Para limitar o possível dano de ataques desconhecidos, o Ubuntu usa o AppArmor, que é um mecanismo de sandbox embutido no kernel do Linux que define restrições predefinidas sobre o que os aplicativos podem fazer no sistema. Então, por exemplo, se um site malicioso tentasse explorar uma vulnerabilidade no navegador Firefox, o AppArmor impediria que o código de exploração comprometesse todo o sistema.
E então, o Linux é seguro?
O kernel do Linux e todo o seu ecossistema de distribuições de sistemas operacionais são construídos em torno dos valores de abertura, transparência, agilidade e confiabilidade. Esses valores são os pilares da moderna segurança de software em que a Canonical se baseia!Como o Ubuntu está nos ombros de gigantes, ele pode se dar ao luxo de olhar em volta e ouvir o que as empresas modernas precisam: manutenção e suporte de segurança a nível empresarial, entregues de forma confiável dia após dia por uma entidade comercial robusta, na qual você pode confiar para ser seu parceiro digital, hoje e amanhã.
O que milhões de clientes e o Pal descobriram é que o lançamento do Ubuntu LTS com a ativação de uma assinatura de Ubuntu Pro e do LivePatch é o sistema operacional mais razoavelmente seguro no qual você pode apostar! É por isso que eles continuam escolhendo o Ubuntu da Canonical todos os dias, para alimentar seus desktops, dispositivos IoT, data centers e cargas de trabalho de nuvem pública.