Socket – Protegendo o software de código aberto contra ataques da cadeia de suprimentos com análise de pacotes de última geração

Publicados: 2022-05-30

Com o advento e a onipresença da Internet, as empresas dependem cada vez mais da digitalização para sobreviver e prosperar no ambiente de negócios atual. Mas com as vantagens trazidas pelos avanços tecnológicos, há problemas que essas empresas precisam enfrentar. A violação da segurança cibernética é um problema significativo para as empresas, que pode causar muitos danos. Então, para resolver esse problema, a Socket lançou sua plataforma de segurança cibernética para ajudar as empresas a se protegerem contra ataques à cadeia de suprimentos de software. Essas empresas usam a plataforma de segurança cibernética para proteger seus aplicativos de software e serviços críticos contra malware e ameaças de segurança originadas em código-fonte aberto.

Leia também: 7 razões pelas quais o gerenciamento de recursos é importante para pequenas empresas

Fundada por Feross Aboukhadijeh, a empresa foi fundada em 2021 com a visão de proteger ecossistemas de código aberto para empresas. Seu foco estava em software de código aberto, que permite que as equipes criem aplicativos poderosos em menos tempo. Além disso, qualquer pessoa do grupo pode inspecionar e contribuir com o código. Aboukhadijeh percebeu que, como uma comunidade geralmente confiável, alguns invasores aproveitam essa confiança e abertura para realizar ataques descarados à cadeia de suprimentos. Houve um crescimento sem precedentes na escala de malware de código aberto. Essa é a taxa de aumento que as preocupações circularam sobre o uso contínuo de software de código aberto.

Existem razões pelas quais as abordagens testadas e confiáveis ​​não funcionaram para proteger o código aberto. Todo o setor de segurança sempre se preocupou com a verificação de vulnerabilidades conhecidas, uma abordagem muito reativa para interromper um ataque ativo à cadeia de suprimentos. As exposições podem levar semanas ou meses para serem descobertas.

Na cultura atual de desenvolvimento rápido, uma dependência maliciosa pode ser atualizada, mesclada e executada em produção em dias ou até horas. Não é tempo suficiente para que um CVE seja criado e chegue às ferramentas de verificação de vulnerabilidade que as equipes usam.

Os ataques e vulnerabilidades da cadeia de suprimentos são muito diferentes e precisam de soluções muito diferentes:

️ Vulnerabilidades são acidentalmente introduzidas por um mantenedor de código aberto. Às vezes, não há problema em enviar uma vulnerabilidade para produção se for de baixo impacto.

️ Os ataques da cadeia de suprimentos são introduzidos intencionalmente por um invasor. NUNCA está certo enviar malware para mostrar. Você deve pegá-lo ANTES de instalá-lo ou depender dele.

As equipes que desejam abordar ataques à cadeia de suprimentos atualmente têm duas opções:

  • Faça uma auditoria completa – Leia cada linha de código em todas as dependências. Muito poucas empresas fazem isso, mas é o padrão-ouro para evitar ataques à cadeia de suprimentos. É preciso uma equipe em tempo integral para gerenciar esse processo – as auditorias, as atualizações, a lista de permissões e a aplicação de patches de segurança críticos. Essa abordagem está fora do alcance de todos, exceto das empresas mais proeminentes ou dos aplicativos mais críticos para a segurança. É muito trabalho, é lento e é caro.
  • Não faça nada – Cruze os dedos e espere o melhor. Esta é a opção que a maioria das equipes toma. Na maioria das unidades, qualquer desenvolvedor pode instalar qualquer dependência para realizar o trabalho, e ninguém sequer verifica o código nessas dependências antes de aprovar a solicitação pull. Como você pode esperar, essa abordagem deixa as empresas totalmente vulneráveis ​​a ataques à cadeia de suprimentos.

Nenhuma das abordagens é ideal.

Leia também: 10 razões pelas quais o teste de software é um campo de carreira em crescimento hoje

Ao desenvolver o aplicativo Wormhole (uma ferramenta de transferência de arquivos criptografados de ponta a ponta), a empresa enfrentou os desafios de selecionar, gerenciar e atualizar dependências de código aberto em meio a um ataque constante de ataques à cadeia de suprimentos. Isso levou à necessidade de uma solução terrível para o problema. E assim, a empresa investigou o que os invasores realmente fazem quando comprometem um pacote. Quase todos os ataques à cadeia de suprimentos no ecossistema JavaScript seguiram um padrão familiar. Uma vez que o invasor obteve o controle de um pacote, ele adicionou scripts de instalação, conexões de rede, comandos de shell, acesso ao sistema de arquivos ou código ofuscado. Outros usaram engenharia social, como typosquatting; isso forneceu a direção certa para uma solução. A solução inovadora assume que todos os pacotes de código aberto podem ser maliciosos e funcionam para trás para detectar proativamente sinais de pacotes comprometidos. A empresa buscou a forma mais simples de mitigar esse risco sem prejudicar a usabilidade. E assim, eles decidiram ajudar os desenvolvedores a usar o código aberto com segurança sem sacrificar a velocidade de desenvolvimento. Nos meses seguintes, o Socket surgiu com seus populares pacotes de código aberto.

A empresa pode detectar os sinais indicadores de um ataque à cadeia de suprimentos analisando estaticamente os pacotes de código aberto e suas dependências. Em seguida, ele alerta os desenvolvedores quando os pacotes são alterados de maneira relevante à segurança, destacando eventos como a introdução de scripts de instalação, código ofuscado ou uso de APIs privilegiadas, como shell, rede, sistema de arquivos e variáveis ​​de ambiente. Por exemplo, para detectar se um pacote usa a rede, o Socket verifica se os módulos fetch(), Node's net, dgram, DNS, HTTP ou HTTPS são usados ​​no pacote ou em qualquer uma de suas dependências. Se uma nova versão de um pacote – especialmente uma versão secundária ou de patch – adiciona código para se comunicar com a rede, isso é uma grande bandeira vermelha. E assim, os problemas do pacote são detectados.

A resposta do cliente aos produtos e serviços digitais da empresa tem sido excelente! A empresa protege milhares de organizações e dezenas de milhares de repositórios em dois meses desde o seu lançamento.

Os clientes da empresa são empresas que desejam se proteger de ataques. Leva apenas alguns minutos para se proteger contra ataques da cadeia de suprimentos instalando o aplicativo da empresa.

Próxima história: Kaaruka – Uma marca de roupas frescas para os aficionados por arte!

Mensagem para clientes e espectadores:

“As bibliotecas de código aberto estão mais populares do que nunca. Com o código-fonte aberto representando 80-90% da maioria das bases de código, é fundamental gerenciá-lo de forma eficaz para reduzir o risco de segurança de uma organização. Os ataques à cadeia de suprimentos de software explodiram no ano passado e os componentes de código aberto são cada vez mais usados ​​como vetores. O uso de dependências de terceiros sem a devida verificação pode levar a hackers, violações e vários problemas de segurança. O Socket detecta ataques à cadeia de suprimentos antes que ocorram desastres, evitando problemas de segurança causados ​​por código-fonte aberto em tempo real. O Socket oferece muito mais do que uma varredura básica de vulnerabilidades. Ao integrar-se diretamente ao fluxo de trabalho do desenvolvedor, o Socket evita ataques inesperados – malware, código oculto, erros de digitação e pacotes enganosos. O Socket ajuda os desenvolvedores a cuidar da integridade de suas dependências, informando a eles qual código aberto eles estão usando, o que está fazendo (ou poderia fazer) e quais componentes estão em maior risco. Ao exibir informações de segurança diretamente no GitHub e em outros sistemas de controle de origem, os desenvolvedores podem evitar problemas de segurança antes de colocá-los em produção.”