Skip to main content

5 mitos comuns sobre segurança de código aberto que todos precisam conhecer

Escrito por
Headshot of Karl Hopkinson-Turrell

Karl Hopkinson-Turrell

free annoucment feature

24 de abril de 2020

0 minutos de leitura

O código aberto é uma forma extremamente popular de grandes empresas, pequenos negócios — e até mesmo pessoas e entusiastas — obterem tecnologia. Basta encontrar as dependências de código aberto que parecem resolver um desafio de computação pessoal ou empresarial, baixar e instalar.

Até mesmo grandes empresas aproveitam programas de código aberto para ampliar seu portfólio de aplicações corporativas. Ainda assim, todos precisam conhecer os mitos e os fatos sobre a segurança de código aberto.

Várias autoridades levantam preocupações de que adotar o código aberto não seja o caminho certo para um modelo de negócios flexível e preparado para o futuro. 

O código aberto tem vantagens — e também gera equívocos

Um equívoco sobre o código aberto é que ele é gratuito. Isso pode ser verdade para muitos programas, mas outros exigem licenciamento.

O licenciamento permite que o verdadeiro proprietário do código saiba quem está usando o software e também possibilita avisar os usuários quando há mudanças ou atualizações disponíveis. Muitos softwares de código aberto são assinados pelo autor para que os usuários possam verificar a origem e a autenticidade do código.

Há muitos motivos para a popularidade do código aberto:

  • Desenvolvimento rápido com o uso de bibliotecas de código aberto existentes

  • Facilidade de implantação

  • Investimento mínimo em recursos de desenvolvimento

  • Comunidade que ajuda a resolver problemas e responder a dúvidas

Uma vantagem importante do código aberto é que os usuários podem consultar o código livremente, entender os detalhes de seu funcionamento e fazer as alterações necessárias para adaptá-lo ao uso que pretendem. Isso pode incluir atualizações para adicionar ou aprimorar a segurança oferecida pelo código.

5 mitos comuns sobre segurança de código aberto

Com a popularidade do código aberto, surgem muitas preocupações — nem sempre precisas — sobre a segurança das aplicações baseadas em programas e funções de código aberto disponíveis.

1. Programas de código aberto são menos seguros que softwares proprietários

Saber que qualquer pessoa pode ler o código aberto pode levar à ideia de que um hacker consegue analisar o código para encontrar vulnerabilidades e explorá-las à vontade.

Verdade: Na realidade, o fato de muitas pessoas terem lido o código em detalhes significa que qualquer falha ou possível ponto fraco tende a ser descoberto mais rapidamente. No caso de softwares proprietários, os usuários dependem do fornecedor e de seus parceiros para os processos de segurança que envolvem o código-fonte (por exemplo, ferramentas de análise estática, revisão manual de código etc.). Também dependem deles para receber correções em tempo hábil e medidas de mitigação provisórias.

No caso da segurança de código aberto, é possível argumentar que, com muitas pessoas revisando o código, as “brechas” de segurança são detectadas com mais facilidade. Como pode haver centenas de usuários de um mesmo programa de código aberto, basta uma pessoa descobrir um problema de segurança para alertar o autor ou a comunidade de código aberto.

2. A integridade do código aberto é questionável

Como muitos desenvolvedores contribuem para a criação de projetos de código aberto, pode-se esperar que o código seja confuso, desorganizado ou até mesmo fique abaixo dos padrões de qualidade ou desempenho. Isso tornaria futuras modificações mais difíceis ou demoradas.

Verdade: Na maioria das vezes, acontece o contrário. Com muitos desenvolvedores revisando os componentes dos programas de código aberto, o código recebe melhorias e aprimoramentos contínuos. A maioria dos desenvolvedores se orgulha de suas habilidades de programação e faz alterações com o objetivo de aprimorar o código e, sim, corrigir vulnerabilidades de segurança. Em vez de resultar em um código difícil de ler, o código aberto pode ganhar melhorias tanto na estrutura quanto no desempenho.

3. O código aberto é só uma moda passageira — a segurança fica em segundo plano

É verdade que, no início, não era óbvio que os softwares de código aberto se tornariam tão comuns, populares e importantes para as empresas, nem que elas aceitariam os riscos operacionais e de segurança de usar código externo em seus produtos. Mas as coisas aconteceram de outra forma.

Verdade: Além do enorme crescimento das bibliotecas de código aberto e da grande quantidade de projetos e comunidades, pesquisas indicam que a maioria das organizações já adotou ou está considerando usar softwares de código aberto. Porém, junto com o grande número de usuários, vem o escrutínio da confiabilidade, do desempenho e da segurança. Com a evolução do código aberto, o ecossistema também se expandiu para incluir fornecedores focados nessas questões, que oferecem soluções específicas.  Por exemplo, o objetivo da Snyk é ajudar desenvolvedores a usar código aberto com segurança — encontrando e corrigindo continuamente vulnerabilidades em npm, Maven, NuGet, RubyGems, PyPI e muito mais.

4. O código aberto tem menos suporte

Ao escolher um software para uso doméstico, empresarial ou em aplicações corporativas, é importante considerar o suporte e os aprimoramentos. Se o suporte for insuficiente, o código aberto pode não ser a melhor escolha. A resposta a vulnerabilidades ou falhas pode ser lenta, o que pode causar falhas nas aplicações ou indisponibilidade.

Verdade: É verdade que, em geral, o suporte a projetos de código aberto é oferecido por voluntários (mantenedores e comunidade) na medida do possível. No entanto, muitas empresas comercializam código aberto oferecendo planos de suporte pagos, para que as organizações recebam ajuda especializada, rápida e personalizada quando precisarem.

Código desenvolvido externamente é, por natureza, mais arriscado

Sem a participação ou a supervisão direta da empresa que adquire o código, a qualidade do código aberto é uma incógnita, sujeita a erros, ineficiências e brechas de segurança. Não há garantia de que as melhores práticas serão seguidas.

Verdade: A transparência do código aberto permite uma análise minuciosa da eficiência, da qualidade e das vulnerabilidades do código. Muitas pessoas avaliam a usabilidade do código aberto, a conformidade com as melhores práticas de programação e até possíveis problemas de lógica. Muitos programas de código aberto são escritos por amadores, mas uma simples revisão de código pode revelar algo inadequado ou inaceitável para uma organização. Isso pode acrescentar uma etapa ao processo de seleção e implantação, mas pode ser muito mais vantajoso do que desenvolver internamente.

Deixe para trás os mitos sobre segurança de código aberto

Os riscos de segurança do código aberto e as melhores práticas podem ser gerenciados com uma seleção e avaliação cuidadosas dos componentes antes de integrá-los ao portfólio de aplicações.

Se sua organização está pensando em investir em componentes de código aberto, crie uma conta gratuita na Snyk e veja como é fácil usar um scanner de vulnerabilidades de código aberto para detectar vulnerabilidades no seu código.  Com a Snyk, você pode reduzir ainda mais os riscos e promover a segurança das aplicações.

Comece a resolver desafios de capture the flag

Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.