A ascensão no número de usuários Linux e softwares de código aberto tem revelado a importância no investimento em segurança, já que sistemas assim podem apresentar vulnerabilidades difíceis de serem detectadas.
Você deve se recordar do fato recente envolvendo uma falha de segurança com a biblioteca de código-fonte aberto Apache Log4j que colocou em risco inúmeros serviços, como Twitter, Minecraft, Amazon e tantos outros. Confira a matéria aqui.
Com o crescimento na utilização de softwares do tipo open source, não são apenas as falhas que tendem aparecer, mas também a necessidade de mais profissionais para realizar as varreduras constantes a procura de problemas. Será que estão todos preparados e cientes do esforço a ser executado?
Crescimento na utilização de softwares de código aberto
De acordo com o relatório Gartner Hype Cycle to Open-Source Software, 2021, até 2025, mais de 70% das empresas aumentarão seus gastos com TI em software de código aberto e 75% das equipes de desenvolvimento de aplicativos implementarão ferramentas de análise de composição de software para minimizar os riscos de segurança e licenciamento associados a sua utilização.
Para se ter uma ideia, afirma-se que grande parte dos softwares do mundo depende da infraestrutura, bibliotecas e estruturas de software de fonte aberta. Um ótimo exemplo é o Linux.
Devido a sua estrutura de desenvolvimento de código aberto, possibilita a execução de programas em computador e outros dispositivos, podendo ser livremente modificado e distribuído. Hoje existem vários sistemas operacionais baseados em Linux, como Ubuntu, Pop!_OS, Manjaro, Fedora, entre outros.
Será que os desenvolvedores podem contar com alguma ferramenta ou mecanismo que facilita as buscas por vulnerabilidades?
SBOM e compilações reproduzíveis verificadas
Para responder à questão anterior, vejamos conceitos importantes, como SBOM, uma lista de materiais que constituem os componentes de software, responsável por especificar quais bibliotecas de software, rotinas e códigos foram utilizados em um programa. Através desta lista uma falha de segurança pode ser localizada mais facilmente pelos desenvolvedores.
Um processo viável para usuários Linux que provavelmente será adotado, consiste em reescrever o sistema para a linguagem de programação Rust, que promete ser mais segura, principalmente quanto às falhas na memória.
Já, as compilações reproduzíveis verificadas consistem em um conjunto de práticas de desenvolvimento de software que criam um caminho verificável de forma independente da fonte ao código binário. Assim, é possível verificar vulnerabilidades e backdoors (portas de acesso não documentadas) introduzidas durante o processo de compilação evitando possíveis ataques.
E aí? Conta pra gente: Está preparado para lidar com as possíveis vulnerabilidades apresentadas no Linux e em softwares de código aberto?
