Já faz mais de um ano desde que o hack da cadeia de suprimentos da SolarWinds enviou ondas de choque a milhares de organizações em todo o mundo, mas esse terremoto de segurança cibernética ainda não acabou. Mais recentemente, vimos réplicas alimentadas pelas vulnerabilidades Log4Shell e Spring4Shell , que afetaram as organizações que usam a biblioteca Log4j e a estrutura Spring Core.
Como foi no caso dos ataques Spring4Shell e Log4j, o uso de soluções de código aberto aumentou o risco. Eles são onipresentes em quase todas as formas de desenvolvimento de software e geralmente desenvolvidos em velocidade, deixando lacunas na segurança. Isso significa que, se houver alguma vulnerabilidade nos componentes de código aberto, o impacto será enorme.
Na esteira do Log4Shell e do Spring4Shell, há três lições importantes que as organizações devem aprender para se manterem seguras ao utilizar software de código aberto:
Para desenvolver, gerenciar e manter com segurança uma cadeia de suprimentos de software, você deve entender e ter visibilidade de todos os links.
Para garantir a segurança, as empresas precisam de um inventário claro e um verdadeiro entendimento de todos os componentes de código aberto em uso. Você não pode confiar cegamente na procedência e segurança dos componentes de software. Se incidentes como Log4Shell, Spring4Shell e SolarWinds nos ensinaram alguma coisa, é que precisamos de mais conhecimento sobre todos os diferentes softwares usados em uma organização.
Isso inclui como e onde eles foram desenvolvidos, bem como onde estão sendo usados em toda a empresa, para que, se forem descobertas vulnerabilidades, o problema possa ser resolvido rapidamente para limitar os danos.
O número dois da lista é a necessidade de se tornar à prova de choque. Ao desenvolver frameworks ou bibliotecas, é importante fazê-lo bem. Mas também é importante adotar uma abordagem mais simplista para não introduzir vulnerabilidades inadvertidamente.
Concentrar-se em fazer algumas coisas bem é melhor do que introduzir muitos recursos mal. Quanto mais recursos houver, maior a probabilidade de haver uma vulnerabilidade crítica. Portanto, ao analisar quais novos recursos você gostaria de adicionar aos produtos e serviços, pense cuidadosamente se você precisa deles e ative apenas os recursos que você sabe que são essenciais.
Apesar da necessidade de desenvolvimento rápido, as empresas precisam ter certeza de que estão dedicando tempo para realmente pensar sobre quais recursos eles realmente precisam e por quê – já que qualquer coisa que seja excedente aos requisitos pode deixar a porta aberta para vulnerabilidades.
Em terceiro lugar, as organizações precisam estar cientes das preocupações transversais ao projetar e desenvolver diferentes aplicativos. Seja para registro, métricas, comunicações criptografadas ou armazenamento em cache, é importante pensar se essas preocupações contínuas precisam ser tratadas no aplicativo ou se podem ser externalizadas.
Vamos dar um exemplo. Com o log, muitas estruturas podem enviar logs para vários locais, incluindo arquivos de saída chamados stdout e serviços de alerta, pelos quais seu aplicativo é responsável. Mas há uma abordagem melhor e mais segura que você pode adotar. Em vez disso, pense em fazer com que seu aplicativo envie logs para stdout e, em seguida, aproveite um serviço de coletor de logs para enviar os logs para todos os locais finais necessários. Ao externalizar essas preocupações, há menos código e configuração para os desenvolvedores se preocuparem e, portanto, menos vulnerabilidades que podem surgir.
Log4Shell e Spring4Shell serviram apenas para enfatizar a necessidade de as organizações tomarem medidas proativas para proteger seus ambientes. No entanto, isso só vai se tornar mais difícil à medida que a inovação acelera, criando cada vez mais identidades de máquina para as empresas ficarem de olho.
Tentar monitorar e gerenciar todas essas identidades de máquina, mantendo o estoque de todos os componentes de software e garantindo que o desenvolvimento permaneça simples, não será tarefa fácil. Hoje em dia, as organizações simplesmente carecem de habilidades e recursos para garantir que possam marcar todas essas caixas. Em vez disso, eles devem utilizar ferramentas de automação e segurança para garantir que essas vulnerabilidades sejam reduzidas ao mínimo, de modo que as ondas de choque de ataques como os que atingiram o Log4j não sejam tão amplamente sentidas.
Falha permite que invasores manipulem o agente de um usuário por meio de um problema…
Um exploit de dia zero, dirigido aos firewalls FortiGate da Fortinet, foi descoberto à venda…
A família SHELBY mostra um exemplo preocupante de malware moderno com design modular, sofisticado e…
Hackers estão explorando o diretório mu-plugins do WordPress para injetar códigos maliciosos que não aparecem…
O Google implementou uma nova funcionalidade de "Detecção de Golpes" com inteligência artificial no aplicativo…
O grupo APT28, ligado à Rússia, está utilizando técnicas avançadas de ofuscação em seus ataques…