Java consistentemente recebe um mau rap quando se trata de segurança – mas considerando que metade das aplicações empresariais nos últimos 15 anos foram escritas com a linguagem, sua omnipresença (e vetores de ataque comumente conhecidos) pode ser mais culpada do que as fraquezas inerentes à segurança do Java por si só. Dito isto, novas abordagens estão sendo desenvolvidas (por exemplo, Rask, Waratek) para melhorar a segurança das aplicações web Java no nível da Máquina Virtual Java (JVM), mas para a maioria das organizações – instituindo defesas de segurança tradicionais para aplicações Java pode ajudar a proteger contra a maioria das explorações relacionadas ao Java.

Por causa da onipresença do Java, o gerenciamento abrangente de vulnerabilidades de ferramentas e tecnologias relacionadas ao Java é crucial para manter uma forte segurança – quer você esteja executando um pipeline CI/CD completo ou um par de aplicações web empresariais internas. A seguir estão as 10 principais vulnerabilidades da tecnologia Java, para incluir ferramentas e aplicativos populares para suportar o desenvolvimento de aplicativos baseados em Java.

JUnit

Esta estrutura de teste de unidade é um item padrão na maioria dos kits de ferramentas dos desenvolvedores Java, permitindo testes rápidos e automatizados da base de código. Entretanto, arquivos JUnit que vêm com outras aplicações podem abrigar vulnerabilidades. Por exemplo, versões do Google Web Toolkit (GWT) antes do 2.5.1 RC contêm várias vulnerabilidades de scripts cross-site (XSS).

Jenkins

Como o servidor de integração contínua (CI) mais usado no mercado, Jenkins tem um grande número de seguidores entre os desenvolvedores Java de acordo. Infelizmente, a popularidade como ferramenta de integração contínua geralmente significa mais vulnerabilidades e explorações – e no caso de Jenkins, múltiplos XSS, falsificação de requisição entre sites (CSRF), e vulnerabilidades de negação de serviço (Dos) existem.

Hibernate

Quadro ORM popular Hibernate é comumente usado entre desenvolvedores Java para mapear objetos de bancos de dados relacionais como tabelas para classes Java. As versões 4.1.0 antes da 4.2.1, 4.3.x antes da 4.3.2, e 5.x antes da 5.1.2 da ferramenta de código aberto contêm uma vulnerabilidade que pode permitir aos atacantes contornar o Java Security Manager (JSM).

Maven

Apache Maven é um gerenciador de construção amplamente utilizado para projetos Java, permitindo o gerenciamento central da construção, relatórios e documentação de um projeto. Uma vulnerabilidade no Apache Maven 3.0.4 permite aos hackers remotos falsificar servidores em um ataque man-in-the-middle.

Tomcat

Este popular servidor de aplicações web Java tem sido um favorito perene entre os desenvolvedores para a construção de servlets e aplicações com JavaServer Pages. Bem mais de uma década, Tomcat acumulou uma gama relativamente impressionante de falhas de segurança desde XSS até vulnerabilidades CSRF – muitas das quais foram exploradas na natureza.

Java 7

Embora o Java 8 tenha entrado no ano passado, o Java 7 ainda está em uso predominante – embora seja esperado que até 2016 a versão 8 liderará o pacote. Escusado será dizer que qualquer versão do Java abaixo da 7 deve ser atualizada imediatamente – mesmo a versão 7 precisa de correção significativa para sua frota de vulnerabilidades.

Spring Framework

Spring é um framework aplicativo com seu próprio framework model-view-controller para Java, permitindo a separação de entrada, negócios e lógica UI. Um projeto de código aberto, Spring não está sem sua justa parcela de vulnerabilidades documentadas.

JavaServer Faces

JavaServer Faces (JSF) é um framework de apresentação para Java que facilita o desenvolvimento de elementos reutilizáveis de interface com o usuário. Uma vulnerabilidade no Apache MyFaces Core 2.0.x antes da 2.0.12 e 2.1.x antes da 2.1.6 pode dar aos atacantes remotos a capacidade de ler arquivos arbitrários.

Eclipse IDE

Eclipse é uma ferramenta desktop popular para construir aplicações Web em Java, e tem servido como o ambiente de desenvolvimento integrado (IDE) preferido dos desenvolvedores Java por anos. Infelizmente, certas versões de seus arquivos de ajuda – de todas as coisas – são vulneráveis a explorações relacionadas ao XSS.

Vaadin

Vaadin é um framework Java popular para construir aplicações web Java contemporâneas – pense em aplicações web modernas, de página única, alimentadas por Java. Uma vulnerabilidade XSS no framework pode permitir que atacantes remotos injetam scripts arbitrários nas páginas.

Remediação

Para corrigir as vulnerabilidades acima, você precisará identificar quais dessas tecnologias estão sendo usadas em seu ambiente, e visitar o site do respectivo fornecedor/projeto para informações de atualização/patch. O UpGuard pode encontrar todos estes itens automaticamente com alguns cliques do mouse. Além disso, nossa política de vulnerabilidade Java editável pode crescer para acomodar qualquer verificação personalizada para ferramentas Java adicionais. Dê-lhe um test drive hoje mesmo – é grátis.

Articles

Deixe uma resposta

O seu endereço de email não será publicado.