Ricerca nel sito web

Le 10 principali vulnerabilità di Java e come risolverle


Java ha sempre una cattiva reputazione quando si tratta di sicurezza, ma considerando che la metà delle applicazioni aziendali negli ultimi 15 anni sono state scritte con questo linguaggio, la sua pervasività (e i vettori di attacco comunemente noti) potrebbero essere più da biasimare delle sole debolezze di sicurezza intrinseche di Java. Detto questo, sono in fase di sviluppo nuovi approcci (ad esempio, Rask, Waratek) per migliorare la sicurezza delle applicazioni Web Java a livello di Java Virtual Machine (JVM), ma per la maggior parte delle organizzazioni, l'istituzione di difese di sicurezza tradizionali per le applicazioni Java può aiutare a proteggere dalla maggior parte degli exploit correlati a Java.

A causa dell'ubiquità di Java, la gestione completa delle vulnerabilità degli strumenti e delle tecnologie relative a Java è fondamentale per mantenere una sicurezza elevata, sia che si stia eseguendo una pipeline CI/CD completa o un paio di applicazioni Web aziendali interne. Di seguito sono riportate le 10 principali vulnerabilità della tecnologia Java, tra cui strumenti e applicazioni popolari per supportare lo sviluppo di applicazioni basate su Java.

Le 10 principali vulnerabilità di Java

1. GIUGNO

Questo framework di unit test è un elemento standard nella maggior parte dei toolkit degli sviluppatori Java e consente di eseguire test rapidi e automatizzati della base di codice. Tuttavia, i file JUnit forniti con altre applicazioni possono contenere vulnerabilità. Ad esempio, le versioni di Google Web Toolkit (GWT) precedenti alla 2.5.1 RC contengono diverse vulnerabilità di cross-site scripting (XSS).

2. Jenkins

Essendo il server di integrazione continua (CI) più comunemente utilizzato sul mercato, Jenkins ha un ampio seguito tra gli sviluppatori Java. Sfortunatamente, la popolarità come strumento di integrazione continua di solito significa più vulnerabilità ed exploit e, nel caso di Jenkins, esistono più vulnerabilità XSS, cross-site request forgery (CSRF) e denial-of-service (Dos).

3. Ibernazione

Il popolare framework ORM Hibernate è comunemente usato tra gli sviluppatori Java per mappare oggetti di database relazionali come le tabelle alle classi Java. Le versioni 4.1.0 precedenti alla 4.2.1, 4.3.x prima della 4.3.2 e 5.x prima della 5.1.2 dello strumento open source contengono una vulnerabilità che può consentire agli utenti malintenzionati di aggirare Java Security Manager (JSM).

4. Esperto

Apache Maven è un build manager ampiamente utilizzato per i progetti Java, che consente la gestione centralizzata della compilazione, della reportistica e della documentazione di un progetto. Una vulnerabilità in Apache Maven 3.0.4 consente agli hacker remoti di falsificare i server in un attacco man-in-the-middle.

5. Gatto

Questo popolare server di applicazioni Web Java è stato uno dei preferiti dagli sviluppatori per la creazione di servlet e applicazioni con JavaServer Pages. Con oltre un decennio di vita, Tomcat ha accumulato una gamma relativamente impressionante di lacune di sicurezza, dalle vulnerabilità XSS a quelle CSRF, molte delle quali sono state sfruttate in natura.

6. Giava 7

Nonostante l'ingresso di Java 8 lo scorso anno, Java 7 è ancora in uso predominante, anche se si prevede che entro il 2016 la versione 8 sarà in testa al gruppo. Va da sé che qualsiasi versione di Java inferiore alla 7 dovrebbe essere aggiornata immediatamente: anche la versione 7 necessita di una correzione significativa per la sua flotta di vulnerabilità.

7. Struttura primaverile

Spring è un framework applicativo con il proprio framework model-view-controller per Java, che consente la separazione della logica di input, business e interfaccia utente. Un progetto open source, Spring non è privo di una buona dose di vulnerabilità documentate.

8. Facce del server Java

JavaServer Faces (JSF) è un framework di presentazione per Java che facilita lo sviluppo di elementi dell'interfaccia utente riutilizzabili. Una vulnerabilità in Apache MyFaces Core 2.0.x prima della 2.0.12 e 2.1.x prima della 2.1.6 può dare agli aggressori remoti la possibilità di leggere file arbitrari.

9. IDE Eclipse

Eclipse è un popolare strumento desktop per la creazione di applicazioni Web in Java ed è stato per anni l'ambiente di sviluppo integrato (IDE) preferito dagli sviluppatori Java. Sfortunatamente, alcune versioni dei suoi file di aiuto, tra tutte le cose, sono vulnerabili agli exploit relativi a XSS.

10. Vaadin

Vaadin è un popolare framework Java per la creazione di applicazioni Web Java contemporanee, ad esempio le moderne app Web a pagina singola basate su Java. Una vulnerabilità XSS nel framework può consentire agli aggressori remoti di iniettare script arbitrari nelle pagine.

Bonifica

Per correggere le vulnerabilità di cui sopra, è necessario identificare quali di queste tecnologie vengono utilizzate nel proprio ambiente e visitare il sito Web del rispettivo fornitore/progetto per informazioni su aggiornamenti/patch. UpGuard può trovare automaticamente tutti questi elementi con pochi clic del mouse. Inoltre, la nostra politica di vulnerabilità Java modificabile può crescere per adattarsi a eventuali controlli personalizzati per strumenti Java aggiuntivi. Provalo oggi stesso: è gratuito.

Infografica sulle vulnerabilità di Java

Articoli correlati