Github: 5 dicas para ter um código mais seguro no mundo open source

Tecnologia Jan 23, 2020

Softwares open source permitem que qualquer desenvolvedor possa executar, copiar, distribuir, estudar, mudar e melhorar seu código, já que ele é disponibilizado de maneira pública. Desta forma, aqueles que têm acesso ao código podem incrementar o programa, adicionando novas features ou corrigindo bugs. O exemplo mais conhecido é o Linux, um sistema operacional open source que permite que seus usuários o modifiquem e customizem do seu jeito.

Com o aumento dos casos de falhas de segurança e ataques virtuais - só no Brasil houve 15 bilhões de tentativas de ataques cibernéticos no segundo trimestre de 2019 -, que buscam explorar vulnerabilidades de configuração de ambiente e de softwares, surgiram muitas dúvidas sobre como desenvolver código aberto com qualidade e baixo número de vulnerabilidades, evitando esses ataques.

Pensando nisso, a Caiena, em parceria com a Kryptus, uma solution provider no mercado de segurança da informação com 16 anos de experiência, trouxe cinco dicas dos seus especialistas em cibersegurança de como tornar seu código mais seguro.

1.Princípios de projeto

Existe um conjunto de 32 princípios de projeto que podem ser levados em consideração durante a especificação e todo o ciclo de vida do software para que ele se torne mais seguro. O especialista de cibersegurança da Kryptus, André Osti, destaca um deles: o princípio de menor privilégio.

O princípio de menor privilégio recomenda que cada componente de um sistema - inclusive seus usuários - tenha o menor privilégio necessário para executar as suas responsabilidades. Isso resulta na adequada distribuição das permissões de uso de certas funcionalidades. Por exemplo, contas administrativas, permissões de leitura e escrita, acesso a tokens, entre outras que devem ser pensadas de acordo com as necessidades da tarefa em execução.

2.Não forneça ou use código PoC (Proof of Concept) em sistemas de produção

Como o mundo de desenvolvimento evolui rapidamente e é sempre necessário utilizar novas bibliotecas e frameworks, os desenvolvedores acabam recorrendo a buscas, no Google e no StackOverflow, para resolver problemas específicos. Porém, os trechos de código e configurações de software encontrados nesse e em outros fóruns não costumam adotar as melhores práticas de segurança, resultando em ambientes ou softwares vulneráveis.

Por conta disso, busque sempre códigos que adotem as melhores práticas de segurança. Caso seja o seu código, dê exemplos seguros, ao invés de somente incluir avisos para não utilizar o exemplo em produção.

3.Não utilize software de procedência duvidosa

Atente-se ao passado do software e do repositório que está pensando em utilizar. Observe o seu histórico de vulnerabilidades e explorações. Por exemplo, o repositório SourceForge, em sua história, já adotou práticas duvidosas de negócio, como a inclusão de software e instaladores próprios em cima de projetos open source famosos.

Você corre o mesmo risco quando realiza o download de aplicações piratas, pacotes não oficiais da distribuição ou de desenvolvedoras ou desenvolvedores desconhecidos. Mantenha-se sempre alerta quando se trata desses tipos de sistemas.

4.Use linguagens e frameworks seguros

Outra dica é enquanto estiver desenvolvendo seu software ou aplicação, utilize linguagens e frameworks seguros, que dificultem o uso incorreto ou descuidado. Alguns exemplos de linguagens são o Ruby, o Go e o Rust e de frameworks para front-end são Vue.js, Angular e ReactJS.

Vale destacar, no entanto, que mesmo utilizando linguagens e frameworks seguros, o desenvolvedor precisa ser cuidadoso e utilizar as boas práticas destacadas nos demais itens deste texto.

5.Adote as melhores práticas do ciclo de desenvolvimento seguro

A Microsoft uniu em um documento 12 práticas de Segurança no Ciclo de Vida do Desenvolvimento (SDL, em inglês), que ajudam a  reduzir  a quantidade e a criticidade das vulnerabilidades, aumentando a segurança do seu código.

As práticas envolvem desde promover treinamento para os desenvolvedores - para garantir que todos entendam as melhores práticas de segurança -, definir requisitos de segurança e utilizar ferramentas aprovadas, até realizar diversos testes, como o pentest e a revisão de código por um analista de cibersegurança.

Claro que essas dicas são as melhores práticas de uma maneira geral e podem não ser aplicáveis em alguns casos, como quando se desconhece uma tecnologia ou o software já foi completamente desenvolvido. Porém, tenha em mente as melhores práticas e adote aquilo que é compatível com a sua realidade.

Sabendo da importância do open source, como você aproveita essa cultura e garante a segurança dos seus códigos? Compartilhe suas práticas e pensamentos conosco em nossas redes sociais e nas redes sociais da Kryptus!

Caiena – Tecnologia e Design

Usamos a tecnologia e o design para solucionar problemas complexos – levando em consideração, desde o início, o ponto mais importante do processo: as pessoas.

LinkedIn icon Instagram icon Facebook icon Twitter icon
Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
manage cookies