Java har alltid ett dåligt rykte när det gäller säkerhet, men med tanke på att hälften av alla företagsapplikationer under de senaste 15 åren har skrivits med språket kan dess utbredning (och allmänt kända angreppsvektorer) vara mer fel än enbart Javas inneboende säkerhetsbrister. Med detta sagt utvecklas nya metoder (t.ex. Rask, Waratek) för att förbättra säkerheten för Java-webbapplikationer på JVM-nivå (Java Virtual Machine), men för de flesta organisationer kan traditionella säkerhetsskydd för Java-applikationer hjälpa till att skydda mot majoriteten av Java-relaterade exploateringar.
På grund av Javas allestädes närvarande är en omfattande sårbarhetshantering av Java-relaterade verktyg och tekniker avgörande för att bibehålla en stark säkerhet, oavsett om du kör en komplett CI/CD-pipeline eller ett par interna företagswebbapplikationer. Nedan följer de tio största sårbarheterna inom Java-tekniken, inklusive verktyg och populära applikationer för att stödja Java-baserad applikationsutveckling.
JUnit
Detta ramverk för enhetstestning är ett standardelement i de flesta Java-utvecklares verktygslådor och möjliggör snabb och automatiserad testning av kodbasen. JUnit-filer som följer med andra program kan dock innehålla sårbarheter. Till exempel innehåller versioner av Google Web Toolkit (GWT) före 2.5.1 RC flera XSS-sårbarheter (cross-site scripting).
Jenkins
Som den mest använda servern för kontinuerlig integrering (CI) på marknaden har Jenkins ett stort antal anhängare bland Javautvecklare. Tyvärr innebär popularitet som verktyg för kontinuerlig integration vanligtvis fler sårbarheter och exploateringar – och i Jenkins fall finns det flera sårbarheter för XSS, cross-site request forgery (CSRF) och denial-of-service (Dos).
Hibernate
Det populära ORM-ramverket Hibernate används ofta av Javautvecklare för att mappa relationsdatabasobjekt, t.ex. tabeller, till Javaklasser. Versionerna 4.1.0 före 4.2.1, 4.3.x före 4.3.2 och 5.x före 5.1.2 av verktyget med öppen källkod innehåller en sårbarhet som gör det möjligt för angripare att kringgå Java Security Manager (JSM).
Maven
Apache Maven är en allmänt använd bygghanterare för Javaprojekt som gör det möjligt att centralt hantera projektets uppbyggnad, rapportering och dokumentation. En sårbarhet i Apache Maven 3.0.4 gör det möjligt för hackare på distans att förfalska servrar i en man-in-the-middle-attack.
Tomcat
Denna populära Java-webbapplikationsserver har varit en ständig favorit bland utvecklare för att bygga servlets och applikationer med JavaServer Pages. Tomcat är drygt tio år gammalt och har samlat på sig ett relativt imponerande antal säkerhetsluckor, från XSS till CSRF-sårbarheter – varav många har utnyttjats i naturen.
Java 7
Trots Java 8:s intåg förra året används Java 7 fortfarande mest – även om man räknar med att version 8 kommer att vara den mest använda 2016. Det säger sig självt att alla versioner av Java under 7 bör uppdateras omedelbart – även version 7 behöver betydande korrigeringar för sin flotta av sårbarheter.
Spring Framework
Spring är ett applikationsramverk med ett eget modell-vy-kontroller-ramverk för Java, vilket gör det möjligt att separera inmatnings-, affärs- och användargränssnittslogik. Spring är ett projekt med öppen källkod och har en del dokumenterade sårbarheter.
JavaServer Faces
JavaServer Faces (JSF) är ett presentationsramverk för Java som underlättar utvecklingen av återanvändbara användargränssnittselement. En sårbarhet i Apache MyFaces Core 2.0.x före 2.0.12 och 2.1.x före 2.1.6 kan ge fjärrangripare möjlighet att läsa godtyckliga filer.
Eclipse IDE
Eclipse är ett populärt skrivbordsverktyg för att bygga webbapplikationer i Java, och har fungerat som den föredragna integrerade utvecklingsmiljön (IDE) för Javautvecklare i många år. Tyvärr är vissa versioner av dess hjälpfiler sårbara för XSS-relaterade exploateringar.
Vaadin
Vaadin är ett populärt Java-ramverk för att bygga moderna Java-webbapplikationer – tänk på moderna, ensidiga webbapplikationer som drivs av Java. En XSS-sårbarhet i ramverket kan göra det möjligt för fjärrangripare att injicera godtyckliga skript i sidorna.
Remediation
För att åtgärda ovanstående sårbarheter måste du identifiera vilken av dessa tekniker som används i din miljö och besöka respektive leverantörs/projekts webbplats för att få information om uppdateringar/korrigeringar. UpGuard kan hitta alla dessa objekt automatiskt med några få musklick. Dessutom kan vår redigerbara policy för Java-sårbarheter växa för att rymma alla anpassade kontroller för ytterligare Java-verktyg. Testa det idag – det är gratis.