Java má neustále špatnou pověst, pokud jde o zabezpečení – ale vzhledem k tomu, že polovina podnikových aplikací za posledních 15 let byla napsána v tomto jazyce, může být na vině spíše jeho rozšířenost (a obecně známé vektory útoků) než samotné slabiny zabezpečení Javy. Přesto jsou vyvíjeny nové přístupy (např. Rask, Waratek) ke zlepšení zabezpečení webových aplikací v jazyce Java na úrovni virtuálního stroje Java (JVM), ale pro většinu organizací může zavedení tradičních bezpečnostních ochran pro aplikace v jazyce Java pomoci chránit před většinou zneužití souvisejících s jazykem Java.

Vzhledem k všudypřítomnosti jazyka Java je komplexní správa zranitelností nástrojů a technologií souvisejících s jazykem Java klíčová pro udržení silného zabezpečení – ať už provozujete kompletní CI/CD pipeline nebo několik interních podnikových webových aplikací. Níže je uvedeno 10 nejzranitelnějších míst technologie Java, které zahrnují nástroje a populární aplikace pro podporu vývoje aplikací založených na Javě.

JUnit

Tento rámec pro jednotkové testování je standardní položkou v sadě nástrojů většiny vývojářů Javy a umožňuje rychlé a automatizované testování kódové základny. Soubory JUnit dodávané s jinými aplikacemi však mohou skrývat zranitelnosti. Například verze sady nástrojů Google Web Toolkit (GWT) před verzí 2.5.1 RC obsahují několik zranitelností XSS (cross-site scripting).

Jenkins

Jako nejpoužívanější server pro kontinuální integraci (CI) na trhu má Jenkins mezi vývojáři Javy odpovídajícím způsobem velké zastoupení. Bohužel popularita nástroje pro kontinuální integraci obvykle znamená více zranitelností a zneužití – a v případě Jenkins existuje několik zranitelností XSS, CSRF (cross-site request forgery) a Dos (denial-of-service).

Hibernate

Populární ORM framework Hibernate se mezi vývojáři v Javě běžně používá pro mapování relačních databázových objektů, jako jsou tabulky, na javovské třídy. Verze 4.1.0 před 4.2.1, 4.3.x před 4.3.2 a 5.x před 5.1.2 tohoto open source nástroje obsahují zranitelnost, která může útočníkům umožnit obejít Java Security Manager (JSM).

Maven

Apache Maven je široce používaný správce sestavení pro projekty Java, který umožňuje centrální správu sestavení projektu, reportování a dokumentace. Zranitelnost v Apache Maven 3.0.4 umožňuje vzdáleným hackerům podvrhnout servery při útoku typu man-in-the-middle.

Tomcat

Tento populární webový aplikační server Java je mezi vývojáři dlouhodobě oblíbený pro vytváření servletů a aplikací JavaServer Pages. Tomcat je starý již více než deset let a nashromáždil poměrně působivou škálu bezpečnostních mezer od XSS po zranitelnosti CSRF – mnohé z nich byly zneužity ve volné přírodě.

Java 7

Přes loňský nástup Javy 8 je Java 7 stále převážně používána – i když se očekává, že do roku 2016 bude verze 8 vést. Je samozřejmé, že jakákoli verze Javy nižší než 7 by měla být okamžitě aktualizována – i verze 7 potřebuje významnou nápravu svého vozového parku zranitelností.

Spring Framework

Spring je aplikační framework s vlastním frameworkem model-view-controller pro Javu, který umožňuje oddělení vstupní, obchodní a logiky uživatelského rozhraní. Jedná se o projekt s otevřeným zdrojovým kódem a Spring není bez svého spravedlivého podílu zdokumentovaných zranitelností.

JavaServer Faces

JavaServer Faces (JSF) je prezentační framework pro Javu, který usnadňuje vývoj opakovaně použitelných prvků uživatelského rozhraní. Zranitelnost v Apache MyFaces Core 2.0.x před verzí 2.0.12 a 2.1.x před verzí 2.1.6 může vzdáleným útočníkům poskytnout možnost číst libovolné soubory.

Eclipse IDE

Eclipse je populární desktopový nástroj pro tvorbu webových aplikací v jazyce Java a již léta slouží jako preferované integrované vývojové prostředí (IDE) vývojářů v jazyce Java. Bohužel některé verze jeho souborů nápovědy jsou zranitelné zneužitím XSS.

Vaadin

Vaadin je populární framework pro vytváření současných webových aplikací v jazyce Java – představte si moderní jednostránkové webové aplikace poháněné jazykem Java. Zranitelnost XSS v tomto frameworku může vzdáleným útočníkům umožnit injektovat do stránek libovolné skripty.

Oprava

Chcete-li opravit výše uvedené zranitelnosti, musíte zjistit, která z těchto technologií se ve vašem prostředí používá, a navštívit webové stránky příslušného výrobce/projektu, kde najdete informace o aktualizacích/záplatách. Nástroj UpGuard dokáže všechny tyto položky najít automaticky pomocí několika kliknutí myší. Kromě toho se naše upravitelná zásada zranitelností jazyka Java může rozrůst o případné vlastní kontroly dalších nástrojů jazyka Java. Vyzkoušejte si ji ještě dnes – je zdarma.

Articles

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.