Programiranje

Razvijalci Oracle to Java: Nehajte podpisovati datoteke JAR z MD5

Od aprila naprej bo Oracle datoteke JAR, podpisane z algoritmom zgoščevanja MD5, obravnaval kot nepodpisane, kar pomeni, da bodo sodobne izdaje Java Runtime Environment (JRE) blokirale izvajanje teh datotek JAR. Premik je že zdavnaj potekel, saj so varnostne pomanjkljivosti MD5 dobro znane, zato bi morali namesto tega za podpisovanje kode uporabiti varnejše algoritme.

"Od izdaje aprilske posodobitve kritičnega popravka, načrtovane za 18. april 2017, bodo vse različice JRE JAR-je, podpisane z MD5, obravnavale kot nepodpisane," je zapisal Oracle na svoji strani za prenos Java.

Datoteke JAR s podpisovanjem kode, ki so priložene knjižnicam in programčkom Java, so osnovna varnostna praksa, saj uporabnikom omogočajo vedeti, kdo je kodo dejansko napisal in od nastanka ni bila spremenjena ali poškodovana. V zadnjih letih je Oracle izboljšal Javin varnostni model, da bi bolje zaščitil sisteme pred zunanjimi podvigi in omogočil izvajanje samo nekaterih operacij samo podpisani kodi. Aplikacija brez veljavnega potrdila je potencialno nevarna.

Novejše različice Jave zdaj zahtevajo, da se vse datoteke JAR podpišejo z veljavnim ključem za podpisovanje kode, začenši z Javo 7, posodobitev 51 pa se blokirajo izvajanje nepodpisanih ali samopodpisanih aplikacij.

Podpisovanje kode je pomemben del varnostne arhitekture Jave, vendar razpršilnik MD5 oslabi že sam podpis zaščitnih kod. Od leta 1992 se MD5 uporablja za enosmerno zgoščevanje: vnos in ustvarjanje edinstvene kriptografske predstavitve, ki jo lahko obravnavamo kot identifikacijski podpis. Dva vhoda ne smeta povzročiti istega razprševanja, toda od leta 2005 so raziskovalci varnosti že večkrat dokazali, da je datoteko mogoče spremeniti in da ima v napadih trkov še vedno isto razpršitev. Čeprav se MD5 za TLS / SSL ne uporablja več - Microsoft je leta 2014 zastarel MD5 za TLS - kljub svojim slabostim še vedno prevladuje na drugih varnostnih področjih.

Z Oraclovo spremembo »Oracle JRE s podpisanimi datotekami JAR s podpisom MD-5 ne bo več veljal za zaupanja vredne in jih ne bo mogoče privzeto zagnati, na primer v primeru apletov Java ali aplikacij Java Web Start,« Erik Costlow, vodja izdelkov Oracle iz skupine Java Platform Group, je pisal že oktobra.

Razvijalci morajo preveriti, ali njihove datoteke JAR niso podpisane z uporabo MD5, in če je, znova podpišite zadevne datoteke s sodobnejšim algoritmom. Skrbniki se morajo pri prodajalcih prepričati, da datoteke niso podpisane z MD5. Če se v času prehoda datoteke še vedno izvajajo MD5, bodo uporabniki videli sporočilo o napaki, da aplikacija ni mogla zagnati. Oracle je prodajalce in imetnike licenc že obvestil o spremembi, je dejal Costlow.

V primerih, ko prodajalec ne deluje ali se ne želi znova podpisati, lahko skrbniki onemogočijo postopek preverjanja podpisanih aplikacij (kar ima resne varnostne posledice), nastavi lokacije pravil za razmestitev po meri za lokacijo aplikacije ali vzdržuje spletno mesto z izjemami. List, je napisal Costlow.

Opozorila je bilo veliko. Oracle je prenehal uporabljati MD5 z algoritmom RSA kot privzeto možnost podpisovanja JAR z Javo SE6, ki je bila izdana leta 2006. Ukinitev MD5 je bila prvotno objavljena kot del posodobitve kritičnega popravka oktobra 2016 in naj bi začela veljati ta mesec kot del Januarski CPU. Da bi zagotovili, da so razvijalci in skrbniki pripravljeni na premik, se je podjetje odločilo preložiti prehod na aprilsko posodobitev kritičnih popravkov z Oracle Java SE 8u131 in ustreznimi izdajami Oracle Java SE 7, Oracle Java SE 6 in Oracle JRockit R28.

»Varnostni svet CA pozdravlja Oracle, ker se je odločil, da bo MD5 obravnaval kot nepodpisanega. MD5 je bil zastarel že leta, zato je bil odmik od MD5 ključna nadgradnja za uporabnike Jave, «je povedal Jeremy Rowley, izvršni podpredsednik nastajajočih trgov v Digicertu in član Varnostnega sveta CA.

Zastaranje MD5 je že dolgo, vendar ni dovolj. Oracle bi moral preučiti tudi zastaranje SHA-1, ki ima svoj nabor vprašanj, in sprejeti SHA-2 za podpisovanje kode. Takšen postopek bi bil v skladu s trenutno migracijo, saj so se glavni brskalniki zavezali, da bodo prenehali podpirati spletna mesta s certifikati SHA-1. Pri večini organizacij, ki so že vključene v selitev SHA-1 za TLS / SSL, je smiselno, da tudi preostanek svoje infrastrukture za potrdila in podpise ključev premaknejo na SHA-2.

Dobra novica je, da Oracle načrtuje onemogočanje SHA-1 v verigah potrdil, zasidranih s koreninami, ki so privzeto vključene v Oracleov JDK, hkrati pa MD5 zastare, v skladu z JRE in JDK Crypto Roadmap, ki opisuje tehnična navodila in informacije o tekočih kriptografskih delo za Oracle JRE in Oracle JDK. Najmanjša dolžina ključa za Diffie-Hellman bo prav tako povečana na 1.024 bitov pozneje leta 2017.

Načrt tudi trdi, da je Oracle nedavno dodal podporo za algoritme za podpis SHA224withDSA in SHA256withDSA v Java 7 in onemogočil Elliptic Curve (EC) za ključe manj kot 256 bitov za SSL / TLS za Java 6, 7 in 8.

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