Java krijgt steevast een slechte naam als het gaat om beveiliging – maar aangezien de helft van de bedrijfsapplicaties in de afgelopen 15 jaar met deze taal is geschreven, is de alomtegenwoordigheid ervan (en algemeen bekende aanvalsvectoren) misschien wel meer de schuldige dan de inherente beveiligingszwakheden van Java alleen. Dat gezegd hebbende, worden er nieuwe benaderingen ontwikkeld (bijv. Rask, Waratek) om de beveiliging van Java-webapplicaties op het niveau van de Java Virtual Machine (JVM) te verbeteren, maar voor de meeste organisaties kan het instellen van traditionele beveiligingsverdedigingen voor Java-applicaties helpen bescherming te bieden tegen de meerderheid van Java-gerelateerde exploits.

Omdat Java alomtegenwoordig is, is uitgebreid kwetsbaarheidsbeheer van Java-gerelateerde tooling en technologieën cruciaal voor het handhaven van een sterke beveiliging – of je nu een complete CI/CD-pijplijn draait of een paar interne bedrijfswebapplicaties. Hieronder volgt een top 10 van kwetsbaarheden in Java-technologieën, inclusief tooling en populaire applicaties ter ondersteuning van Java-gebaseerde applicatieontwikkeling.

JUnit

Dit unit testing framework is een standaardonderdeel in de toolkits van de meeste Java-ontwikkelaars, waarmee snel en geautomatiseerd testen van de codebase mogelijk is. Echter, JUnit bestanden die bij andere applicaties worden geleverd kunnen kwetsbaarheden bevatten. Bijvoorbeeld, versies van de Google Web Toolkit (GWT) voor 2.5.1 RC bevatten meerdere cross-site scripting (XSS) kwetsbaarheden.

Jenkins

Als de meest gebruikte continuous integration (CI) server op de markt, heeft Jenkins dan ook een grote aanhang onder Java ontwikkelaars. Helaas betekent populariteit als continue integratietool meestal meer kwetsbaarheden en exploits – en in het geval van Jenkins bestaan er meerdere XSS, cross-site request forgery (CSRF) en denial-of-service (Dos) kwetsbaarheden.

Hibernate

Populair ORM-framework Hibernate wordt veel gebruikt door Java-ontwikkelaars voor het mappen van relationele databaseobjecten zoals tabellen naar Java-klassen. Versies 4.1.0 voor 4.2.1, 4.3.x voor 4.3.2, en 5.x voor 5.1.2 van de open source tool bevatten een kwetsbaarheid die aanvallers in staat kan stellen Java Security Manager (JSM) te omzeilen.

Maven

Apache Maven is een veelgebruikte build manager voor Java projecten, die centraal beheer van de build, rapportage en documentatie van een project mogelijk maakt. Een kwetsbaarheid in Apache Maven 3.0.4 maakt het hackers op afstand mogelijk om servers te spoofen in een man-in-the-middle aanval.

Tomcat

Deze populaire Java web applicatie server is een eeuwige favoriet onder ontwikkelaars voor het bouwen van servlets en applicaties met JavaServer Pages. Tomcat is al meer dan tien jaar oud en heeft een relatief indrukwekkende reeks beveiligingslekken, van XSS tot CSRF, waarvan er vele in het wild zijn misbruikt.

Java 7

Ondanks de komst van Java 8 vorig jaar, wordt Java 7 nog steeds het meest gebruikt, hoewel wordt verwacht dat versie 8 in 2016 het peloton zal aanvoeren. Het spreekt vanzelf dat elke versie van Java onder 7 onmiddellijk moet worden bijgewerkt – zelfs versie 7 moet aanzienlijk worden hersteld voor zijn vloot van kwetsbaarheden.

Spring Framework

Spring is een toepassingsraamwerk met een eigen model-view-controller-framework voor Java, dat de scheiding van invoer-, bedrijfs- en UI-logica mogelijk maakt. Spring is een open source project, maar heeft ook zijn eigen gedocumenteerde kwetsbaarheden.

JavaServer Faces

JavaServer Faces (JSF) is een presentatieraamwerk voor Java dat de ontwikkeling van herbruikbare gebruikersinterface-elementen vergemakkelijkt. Een kwetsbaarheid in Apache MyFaces Core 2.0.x voor 2.0.12 en 2.1.x voor 2.1.6 kan aanvallers op afstand de mogelijkheid geven om willekeurige bestanden te lezen.

Eclipse IDE

Eclipse is een populaire desktop-tool voor het bouwen van webapplicaties in Java, en is al jaren de favoriete geïntegreerde ontwikkelomgeving (IDE) van Java-ontwikkelaars. Helaas zijn bepaalde versies van de helpbestanden – van alles – kwetsbaar voor XSS-gerelateerde exploits.

Vaadin

Vaadin is een populair Java-framework voor het bouwen van moderne Java-webapplicaties – denk aan moderne, single-page webapps aangedreven door Java. Een XSS kwetsbaarheid in het framework kan aanvallers op afstand in staat stellen arbitraire scripts in de pagina’s te injecteren.

Remediation

Om de bovenstaande kwetsbaarheden te verhelpen, moet u nagaan welke van deze technologieën in uw omgeving worden gebruikt, en de website van de betreffende leverancier/project bezoeken voor informatie over updates/patchs. UpGuard kan al deze items automatisch vinden met een paar muisklikken. Bovendien kan ons aanpasbare Java-kwetsbaarheidsbeleid worden uitgebreid met eventuele aangepaste controles voor aanvullende Java-tooling. Probeer het vandaag nog uit – het is gratis.

Articles

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.