O crescente risco do uso de códigos open source e bibliotecas abertas
As bibliotecas open source (código aberto) e APIs de uso livre têm sido amplamente adotadas pela comunidade de desenvolvedores devido a sua facilidade de acesso, flexibilidade e colaboração entre os membros do setor. Essas ferramentas fornecem uma ampla gama de funcionalidades pré-desenvolvidas, permitindo que os programadores economizem tempo e esforço em seus projetos. No entanto, a adoção generalizada desses recursos também tem gerado um aumento no número de riscos cibernéticos associados a eles.
De acordo com um levantamento realizado pela Synopsys, 97% das aplicações existentes adotam ao menos um trecho de um projeto de código aberto e 90% das corporações empregam esse tipo de recurso em produtos comerciais para o público final — seja ele B2B (corporativo) ou B2C (pessoa física). A ideia é acelerar o pipeline de desenvolvimento, automatizando grande parte do trabalho dos desenvolvedores ao utilizar funcionalidades e recursos já existentes.
Infelizmente, os criminosos cibernéticos também já identificaram essa tendência e estão tirando proveito deste cenário, ligando, assim, o sinal de alerta para um uso mais consciente de códigos abertos.
Envenenando o poço de água
Uma das principais preocupações com o uso de bibliotecas e APIs open source é a possibilidade de conterem vulnerabilidades e brechas de segurança desconhecidas. Por conta da natureza aberta desses recursos, qualquer pessoa pode contribuir com o código, o que significa que nem sempre há um controle rigoroso sobre sua qualidade e segurança. Uma vulnerabilidade não detectada em uma biblioteca de código aberto pode ser explorada por atacantes para comprometer a segurança de um sistema ou aplicativo que a utilize.
Outro ponto crítico é a complexidade das dependências entre bibliotecas e APIs. Muitas vezes, um software pode depender de várias bibliotecas de código aberto, que, por sua vez, podem depender de outras bibliotecas. Dessa maneira, cria-se uma cadeia de confiança na qual qualquer vulnerabilidade em uma biblioteca pode se propagar para outras partes do sistema. Além disso, é comum que os desenvolvedores não atualizem regularmente suas bibliotecas e dependências, tornando o sistema vulnerável a ameaças conhecidas e corrigidas.
Por fim, precisamos nos preocupar ainda com a possibilidade de inclusão de código malicioso. Embora a maioria das contribuições seja legítima e bem-intencionada, um desenvolvedor malicioso pode introduzir um código comprometido em uma biblioteca, que será distribuído amplamente aos usuários para envenenar projetos. Além disso, as APIs podem ser exploradas por criminosos para realizar ataques de injeção de código, como SQL injection ou cross-site scripting (XSS), comprometendo a integridade dos sistemas.
Dicas de boas práticas
Diante desses riscos, é fundamental adotar medidas de segurança para mitigar as ameaças cibernéticas. Algumas boas práticas incluem:
-
Avaliar a reputação e a comunidade de desenvolvedores da biblioteca ou API antes de adotá-la;
-
Manter todas as bibliotecas e dependências atualizadas, aplicando patches de segurança regularmente;
-
Realizar auditorias de segurança no código-fonte das bibliotecas de código aberto;
-
Implementar mecanismos de controle de acesso e autenticação adequados nas APIs abertas;
-
Utilizar ferramentas de análise estática de código e scanners de vulnerabilidades para identificar possíveis problemas de segurança;
-
Estabelecer políticas de revisão de código e testes rigorosos para todas as bibliotecas e APIs utilizadas.
Com algumas medidas simples, é possível aproveitar os benefícios desses recursos de maneira consciente e segura, sem colocar toda a sua esteira de desenvolvimento em risco.