Programování

Vývojáři z Oracle na Java: Přestaňte podepisovat soubory JAR pomocí MD5

Počínaje dubnem bude společnost Oracle zacházet se soubory JAR podepsanými algoritmem hash MD5, jako by byly nepodepsané, což znamená, že moderní verze prostředí Java Runtime Environment (JRE) budou blokovat spuštění těchto souborů JAR. Tento posun je už dávno, protože slabiny zabezpečení MD5 jsou dobře známé a místo toho by se pro podepisování kódu měly používat bezpečnější algoritmy.

„Počínaje vydáním April Critical Patch Update, plánovaným na 18. dubna 2017, budou všechny verze JRE považovat JAR podepsané s MD5 za nepodepsané,“ napsal Oracle na své stránce pro stahování Java.

Soubory JAR pro podepisování kódu dodávané s knihovnami a applety Java jsou základní bezpečnostní praxí, protože umožňují uživatelům vědět, kdo kód skutečně napsali, a od doby, kdy byl napsán, nebyl změněn ani poškozen. V posledních letech společnost Oracle vylepšuje bezpečnostní model Javy, aby lépe chránila systémy před vnějšími zneužití a umožňovala provádění určitých typů operací pouze podepsanému kódu. Aplikace bez platného certifikátu je potenciálně nebezpečná.

Novější verze prostředí Java nyní vyžadují, aby byly všechny soubory JAR podepsány platným klíčem pro podepisování kódu a počínaje aktualizací Java 7 Update 51 jsou spuštěny nepodepsané nebo podepsané aplikace.

Podepisování kódu je důležitou součástí bezpečnostní architektury Java, ale hash MD5 oslabuje samotnou ochranu, kterou má podepisování kódu poskytovat. Od roku 1992 se MD5 používá k jednosměrnému hašování: převzetí vstupu a generování jedinečné kryptografické reprezentace, kterou lze považovat za identifikační podpis. Žádné dva vstupy by neměly mít za následek stejný hash, ale od roku 2005 vědci v oblasti bezpečnosti opakovaně prokázali, že soubor lze upravit a stále mít stejný hash při kolizních útocích. Zatímco MD5 se již nepoužívá pro TLS / SSL - Microsoft v roce 2014 zastaral MD5 pro TLS - i přes své slabiny zůstává v jiných oblastech zabezpečení převládající.

Se změnou společnosti Oracle „ovlivněné soubory JAR podepsané MD-5 již nebudou považovány [důvěryhodnými Oracle JRE] a nebudou se moci standardně spouštět, například v případě appletů Java nebo aplikací Java Web Start,“ Erik Costlow, produktový manažer Oracle ve skupině Java Platform Group, napsal v říjnu.

Vývojáři musí ověřit, že jejich soubory JAR nebyly podepsány pomocí MD5, a pokud ano, znovu podepsat zasažené soubory pomocí modernějšího algoritmu. Správci musí zkontrolovat u dodavatelů, aby zajistili, že soubory nebudou podepsány MD5. Pokud soubory v době přepnutí stále běží na MD5, uživatelům se zobrazí chybová zpráva, že aplikaci nelze spustit. Společnost Oracle již o změně informovala dodavatele a nabyvatele licence, uvedl Costlow.

V případech, kdy je prodejce zaniklý nebo není ochoten znovu podepsat aplikaci, mohou správci zakázat proces, který kontroluje podepsané aplikace (což má závažné bezpečnostní důsledky), nastavit vlastní sady pravidel nasazení pro umístění aplikace nebo udržovat web výjimek Seznam, napsal Costlow.

Bylo tam spousta varování. Společnost Oracle přestala používat MD5 s algoritmem RSA jako výchozí možnost podepisování JAR s prostředím Java SE6, která byla vydána v roce 2006. Ukončení podpory MD5 bylo původně oznámeno jako součást aktualizace kritické opravy z října 2016 a mělo být uvedeno v platnost tento měsíc jako součást Leden CPU. Aby byla zajištěna připravenost vývojářů a správců na tento posun, rozhodla se společnost odložit přechod na dubnovou kritickou aktualizaci opravy s Oracle Java SE 8u131 a odpovídajícími verzemi Oracle Java SE 7, Oracle Java SE 6 a Oracle JRockit R28.

"Rada bezpečnosti CA oceňuje společnost Oracle za její rozhodnutí považovat MD5 za nepodepsané." MD5 je již roky zastaralý, takže přechod od MD5 je pro uživatele Java kritickým upgradem, “řekl Jeremy Rowley, výkonný viceprezident pro rozvíjející se trhy v Digicertu a člen Rady bezpečnosti CA.

Ukončení podpory MD5 bylo dlouho, ale nestačí. Oracle by se měl také podívat na odmítnutí podpory SHA-1, která má vlastní sadu problémů, a přijmout SHA-2 pro podepisování kódu. Tento postup by byl v souladu s aktuální migrací, protože hlavní prohlížeče se zavázaly, že přestanou podporovat weby pomocí certifikátů SHA-1. U většiny organizací, které se již podílejí na migraci SHA-1 pro TLS / SSL, má smysl také přesunout zbytek jejich infrastruktury certifikátů a podepisování klíčů na SHA-2.

Dobrou zprávou je, že společnost Oracle plánuje deaktivovat SHA-1 v řetězcích certifikátů ukotvených kořeny, které jsou ve výchozím nastavení zahrnuty do Oracle JDK, a zároveň bude zastaralý MD5, podle plánu JRE a JDK Crypto Roadmap, který uvádí technické pokyny a informace o probíhajících kryptografických pracovat pro Oracle JRE a Oracle JDK. Později v roce 2017 bude také zvýšena minimální délka klíče pro Diffie-Hellman na 1024 bitů.

Plán také tvrdí, že Oracle nedávno přidal podporu podpisových algoritmů SHA224withDSA a SHA256withDSA do prostředí Java 7 a deaktivoval Elliptic Curve (EC) pro klíče s méně než 256 bity pro SSL / TLS pro Java 6, 7 a 8.

$config[zx-auto] not found$config[zx-overlay] not found