Quão ruim foi a vulnerabilidade do Log4j para a reputação do código aberto ? Uma das explorações de maior destaque nos últimos anos, até levou a um aviso do governo do Centro Nacional de Segurança Cibernética do Reino Unido a ser emitido depois que hackers do estado iraniano se aproveitaram disso. É difícil dizer quanto impacto esse incidente teve, mas um relatório recente da VMware descobriu que uma em cada dez empresas diz que não usará mais software de código aberto.
Essa será uma regra difícil de cumprir — o software de código aberto e as comunidades que o suportam são essenciais para a TI moderna e é altamente improvável que a dependência de projetos de código aberto diminua. Enquanto algumas equipes de segurança estão começando a avaliar sua própria segurança de código aberto implementando SBOMs , muitas empresas estão considerando abandonar completamente o software de código aberto. Em vez de usar relutantemente o código aberto e culpar os desenvolvedores quando algo dá errado, as empresas devem trabalhar com a comunidade de código aberto com o objetivo de melhorar a segurança e trabalhar para minimizar as consequências da próxima vulnerabilidade.
Uma comunidade dedicada
O código aberto não significa ser capaz de fornecer soluções rápidas para os desenvolvedores; é uma comunidade dinâmica que existe para ajudar empresas e pessoas a resolver problemas. Infelizmente, o código aberto tem uma má reputação, pois é visto como povoado por amadores. Isso é agravado pela descoberta de vulnerabilidades que podem afetar empresas em todo o mundo (por exemplo, Log4Shell ). A vulnerabilidade do Log4j destacou o quanto o software moderno depende de projetos de código aberto e o que pode dar errado quando uma grande vulnerabilidade é descoberta.
Projetos de código aberto estão em toda parte, o que significa que não há solução rápida para o problema de segurança de código aberto. Os desenvolvedores e mantenedores do Log4j são uma equipe da Apache Software Foundation sem fins lucrativos, composta por apenas 16 voluntários não remunerados distribuídos por todo o mundo. Sua motivação não é fama ou lucro, eles fazem isso porque têm paixão por escrever software e resolver problemas em seu tempo livre. Após o incidente, a equipe dedicou fins de semana de horas não pagas para garantir que os patches estivessem disponíveis para manter as empresas seguras. Fora desse grupo, desenvolvedores e equipes de segurança em todo o mundo também trabalharam horas intermináveis para garantir que seu próprio código fosse protegido e corrigido. Mas o problema poderia ter sido descoberto e corrigido com bastante antecedência se a equipe tivesse desfrutado de uma fração desse nível de suporte.
A vulnerabilidade do Log4j foi tão devastadora porque tocou em muitos aplicativos diferentes. A lição para os CSOs não é que o código aberto carece de segurança, mas sim que eles devem ter uma maior apreciação pela comunidade de desenvolvedores e se perguntar como eles podem apoiar o desenvolvimento do código aberto na medida em que, quando a próxima vulnerabilidade aparecer, o tempo para entregar patches é o mais curto possível.
Como as empresas podem ajudar?
Os desenvolvedores não vão parar de usar recursos de código aberto e seria tolice esperar que desenvolvedores internos começassem a escrever ferramentas do zero, especialmente porque os desenvolvedores são um recurso tão escasso. As ferramentas de código aberto continuarão sendo um recurso fundamental para o futuro do desenvolvimento web. Em vez de pensar em desenvolver ferramentas para remover elementos de código aberto, as empresas devem apoiar o futuro de projetos de código aberto e incentivar o foco na segurança. É assim:
1. Invista na comunidade : Muitos projetos de código aberto gratuitos são gerenciados por uma única pessoa com alguns membros da comunidade interessados. As empresas que procuram talentos podem empregar esses desenvolvedores líderes e ajudá-los a estabelecer sua própria base, que é um investimento na vida útil geral do software. Onde isso não for possível, as empresas podem fazer contribuições mais amplas, como investir em conferências e acesso a hardware para diferentes grupos de desenvolvedores. Em última análise, isso ajuda a fortalecer a comunidade, dando-lhes acesso a ferramentas e recursos que proporcionarão maior inovação em projetos futuros.
2. Melhorias na comissão : Se uma empresa é altamente dependente de uma solução de código aberto, ela tem alguma responsabilidade de contribuir para seu sucesso e investir em maneiras de melhorá-la. Isso pode ser um recurso ausente ou uma oportunidade de melhorá-lo. As empresas podem implementar programas de recompensa de bugs para identificar quaisquer vulnerabilidades em seus softwares, mas também podem solicitar melhorias aos desenvolvedores de código aberto. Pagar para melhorar o software de código aberto não é incompatível com seu ethos se continuar sendo de código aberto. Isso é especialmente importante se forem necessárias atualizações de segurança.
3. Promova projetos : Projetos de código aberto não funcionam da mesma forma que produtos comerciais. Eles não têm marketing ou qualquer orçamento por trás deles. No entanto, se uma empresa promove um conjunto específico de soluções de código aberto, isso ajuda a aumentar a conscientização sobre as ferramentas, tanto interna quanto externamente. Também incentiva as pessoas a compartilhar suas próprias experiências e contribuir para a comunidade em geral, possivelmente até mesmo contribuindo para projetos.
4. Trabalhe de forma mais colaborativa : se houver uma ferramenta da qual uma empresa depende muito, ela deve fazer suas próprias contribuições ao software ou incentivar a equipe a se envolver diretamente com a comunidade. Isso pode ser feito por meio do patrocínio de desenvolvedores a redes em conferências de código aberto ou incentivando-os a trabalhar diretamente com comunidades de código aberto. Isso dá a uma empresa mais supervisão das ferramentas que está usando, bem como mais poderes para incentivar a segurança ou outros aplicativos. Em todos os momentos, é importante permanecer colaborativo, não importa o quanto seja contribuído.
Além de beneficiar os negócios, o engajamento de código aberto melhora a moral e o desempenho do desenvolvedor. Isso mostra que seu trabalho tem significado e valor. Muitas vezes, os desenvolvedores líderes abandonam projetos por causa da carga de trabalho, drama e discórdia. Por que um desenvolvedor iria querer passar um tempo longe de amigos e familiares para fazer algo que ninguém agradece? Ao fornecer suporte tangível, não apenas melhora o ambiente geral de trabalho, mas também mantém os desenvolvedores motivados.
A segurança de código aberto continuará sendo um tópico importante para muitos – afinal, os desenvolvedores ainda estão corrigindo a vulnerabilidade do Log4j. Mas, em vez de procurar alternativas ao código aberto, devemos trabalhar com código aberto — colaborar com a comunidade significa que as empresas obtêm todos os benefícios do software de código aberto, oferecem suporte a um recurso valioso e sabem que são seguros.
FONTE: HELPNET SECURITY