A era da aplicação nativa da nuvem está bem e verdadeiramente sobre nós: os pesquisadores da IDC previram que até 2023, mais de 500 milhões de aplicativos serão desenvolvidos usando abordagens nativas da nuvem!
Enquanto alguns aplicativos ainda estão sendo construídos sobre uma arquitetura monolítica (all-in-one) – ou seja, todos os componentes em uma única base de código, em um único servidor, conectados à internet – um número crescente deles agora é baseado na arquitetura de microsserviços, com cada aplicativo de microserviço uma funcionalidade auto-contida, “abrigada” em um contêiner gerenciado por um orquestrador como Kubernetes, implantado na nuvem (público ou privado) e comunicando-se com outros microsserviços de aplicativos pela rede em tempo de execução.
Mas com aplicativos não mais independentes, as vulnerabilidades de segurança não estão mais presentes apenas no código; vulnerabilidades podem “iniciar” em um microserviço, passar por vários componentes e “terminar” em um microsserviço diferente.
“Não estamos mais lidando apenas com vulnerabilidades, mas também com fluxos vulneráveis entre microsserviços. Além disso, à medida que as aplicações nativas da nuvem são construídas em várias camadas de infraestrutura – o contêiner, o cluster e a nuvem – a forma como essas camadas são configuradas afeta o que um hacker pode fazer com essas vulnerabilidades”, observa Ron Vider, um dos co-fundadores e CTO de Oxeye.
Arquiteturas modernas exigem soluções modernas de teste appSec
Essa mudança drástica na forma como os aplicativos são estruturados tornou as abordagens tradicionais para a segurança do aplicativo ineficazes e criou pontos cegos de segurança para as equipes appsec e devOps.
As ferramentas de análise de composição de software “old-school” (SCA) e testes de segurança de aplicativos estáticos, dinâmicos e interativos (SAST, DAST, IAST) são executadas de forma independente, não são sincronizadas entre si e não são capazes de cruzar e usar dados enriquecidos de outras camadas de código no ambiente. Os resultados incompletos e imprecisos que eles fornecem ao testar aplicativos nativos da nuvem tornaram óbvio que uma nova abordagem e novas ferramentas melhores são necessárias.
Oxeye é uma dessas ferramentas. Ele essencialmente combina todas as metodologias AST com uma nova geração de recursos de avaliação de controle de segurança e, como resultado, se destaca em encontrar e priorizar corretamente vulnerabilidades em aplicativos nativos da nuvem que precisam ser abordados. Ele ajuda a limpar o ruído de falsos positivos/negativos entregues por soluções legadas e permite que desenvolvedores e equipes do AppSec se concentrem em vulnerabilidades críticas e de alto risco.
Começar com o Oxeye é fantasticamente fácil: você precisa implantar um único componente (Oxeye Observer) em seu ambiente de preparação ou teste, e você faz isso usando um único arquivo YAML contendo suas definições.
“O Oxeye Observer imediatamente começa a funcionar dentro do cluster e inicia o processo de detecção automática”, disse Vider ao Help Net Security.
“Primeiro ele analisa a infraestrutura para entender como o aplicativo está configurado, e faz isso comunicando-se com a API do Docker, a API em contêineres, a API kubernetes e a API do provedor de nuvem, e buscando a configuração relevante. Em seguida, detecta potenciais vulnerabilidades no código (o código do aplicativo e os componentes de terceiros). Em seguida, analisa a comunicação entre os diferentes componentes e traça seu fluxo. Finalmente, valida as vulnerabilidades encontradas enviando cargas para o aplicativo e analisando seu comportamento, para entender se é explorável ou não.”
A análise acontece em tempo de execução, e as informações coletadas são enviadas para a plataforma SaaS da empresa, que a correlaciona, fornece avaliação contextual de risco para cada vulnerabilidade encontrada, e as prioriza levando em consideração como elas acontecem em tempo de execução e quais oportunidades eles proporcionam para os atacantes.
“Um bom exemplo de como a avaliação de risco contextual proporciona uma melhor priorização em um cenário da vida real é a vulnerabilidade recente do Log4Shell”, explicou Vider.
Uma solução que distribui a propriedade de segurança de aplicativos
Uma boa e eficaz ferramenta de teste de segurança de aplicativos deve realizar análises automatizadas e abrangentes e deve ser útil para todos os profissionais responsáveis pela segurança do aplicativo na organização: os desenvolvedores, o AppSec e as equipes de DevOps.
Embora o painel da Oxeye possa ser acessado pelos desenvolvedores, é principalmente uma ferramenta para as equipes do AppSec e do DevOps examinarem e avaliarem as descobertas de Oxeye.
O painel mapeia os aplicativos testados, os fluxos vulneráveis, as vulnerabilidades descobertas e informações adicionais sobre eles. Ele explica como esse tipo de vulnerabilidade surge e como isso pode ser evitado, ele informa ao usuário se o componente vulnerável é acessível da internet e se há fatores de risco adicionais. Ele também identifica o arquivo onde a vulnerabilidade está localizada, mostra o stacktrace para apontar para a linha exata no código onde a vulnerabilidade ocorre e cria o código que pode ser usado para reproduzi-la.
Em última análise, porém, os desenvolvedores são os que acabam resolvendo os problemas descobertos. Para tornar o processo o mais fácil possível para eles, a Oxeye funciona como parte integrante do pipeline CI/CD: os desenvolvedores testam o código que escrevem, a Oxeye detecta automaticamente vulnerabilidades no tempo de execução, avisa-as sobre elas (por exemplo, via Slack) e fornece tudo o que precisam para corrigi-las diretamente em seu software de rastreamento de problemas (por exemplo, Jira).
“Converso com muitos desenvolvedores – alguns deles na Oxeye – e quando pergunto sobre quais informações eles precisam para corrigir vulnerabilidades, a resposta é sempre a mesma: ‘Preciso entender onde está a vulnerabilidade no aplicativo – a linha exata de código – e como reproduzi-las’. Então, trabalhamos para dar a eles exatamente o que eles precisam para corrigir rapidamente e efetivamente as fraquezas de código, de uma maneira que está perfeitamente integrada com suas ferramentas e sua abordagem para corrigir bugs”, observou Vider.
Oxeye é uma ferramenta centrada em desenvolvimento que torna possível deslocar a segurança para a esquerda e colocar parte da propriedade da segurança do aplicativo nos desenvolvedores, mas sem sobrecarregá-los e impactar sua capacidade de liberar código em um ritmo rápido.
Tornando mais fácil fazer a coisa certa é como progresso constante pode ser feito. A Oxeye permite que as equipes do AppSec encontrem vulnerabilidades muito antes de chegarem à produção, e a orientação clara de remediação é o que permite que os desenvolvedores priorizem a segurança para aplicativos nativos da nuvem.
“Os desenvolvedores sabem escrever código, mas não são necessariamente conhecedores quando se trata de segurança. Especialistas em segurança de aplicativos sabem de segurança, mas não necessariamente como escrever código. A tecnologia avançada de teste da Oxeye simplifica os processos de segurança nativos da nuvem, auxiliando equipes outrora isoladas em seu esforço de colaboração e provando-as com um espaço comum onde eles podem se comunicar em uma linguagem comum sobre questões de segurança que precisam ser corrigidas”, concluiu Vider.
FONTE: HELPNET SECURITY


