Ohjelmointi

Oracle to Java devs: Lopeta JAR-tiedostojen allekirjoittaminen MD5: llä

Huhtikuusta lähtien Oracle käsittelee MD5-hajautusalgoritmilla allekirjoitettuja JAR-tiedostoja ikään kuin ne olisivat allekirjoittamattomia, mikä tarkoittaa, että Java Runtime Environment (JRE): n uudet julkaisut estävät JAR-tiedostoja suorittamasta. Muutos on jo kauan myöhässä, koska MD5: n tietoturva-aukot ovat tunnettuja, ja koodin allekirjoittamiseen tulisi sen sijaan käyttää turvallisempia algoritmeja.

"Alkaen huhtikuun Critical Patch Update -julkaisuista, jotka on suunniteltu 18. huhtikuuta 2017, kaikki JRE-versiot käsittelevät MD5: llä allekirjoitettuja JAR: itä allekirjoittamattomina", Oracle kirjoitti Java-lataussivulle.

Java-kirjastojen ja sovelmien mukana tulevat JAR-tiedostojen koodin allekirjoittaminen on perusturvallisuuskäytäntö, koska sen avulla käyttäjät tietävät, kuka itse kirjoitti koodin, eikä sitä ole muutettu tai vioittunut sen kirjoittamisen jälkeen. Viime vuosina Oracle on kehittänyt Java-tietoturvamallia suojaamaan järjestelmiä paremmin ulkoisilta hyökkäyksiltä ja sallimaan vain allekirjoitetun koodin tietyntyyppisten toimintojen suorittamiseen. Sovellus, jolla ei ole kelvollista sertifikaattia, on mahdollisesti vaarallinen.

Uudemmat Java-versiot edellyttävät nyt, että kaikki JAR-tiedostot allekirjoitetaan kelvollisella koodin allekirjoitusavaimella, ja Java 7: n päivityksestä 51 alkaen allekirjoittamattomien tai itse allekirjoittamien sovellusten toiminta estetään.

Koodin allekirjoittaminen on tärkeä osa Java-suojausarkkitehtuuria, mutta MD5-hajautus heikentää koodin allekirjoituksen oletettavasti tarjoamia suojauksia. Vuodesta 1992 lähtien MD5: tä käytetään yksisuuntaiseen hajauttamiseen: syötteen ottamiseen ja ainutlaatuisen salauksen esityksen luomiseen, jota voidaan pitää tunnistavana allekirjoituksena. Kahden syötteen ei pitäisi johtaa samaan hashiin, mutta vuodesta 2005 lähtien tietoturvatutkijat ovat toistuvasti osoittaneet, että tiedostoa voidaan muuttaa ja että sillä on edelleen sama hash törmäyshyökkäyksissä. MD5: tä ei enää käytetä TLS / SSL: ssä - Microsoft on vanhentanut MD5: tä TLS: lle vuonna 2014 - mutta se on edelleen yleinen muilla turvallisuusalueilla heikkouksista huolimatta.

Oraclen muutoksen myötä "asianomaisia ​​MD-5-allekirjoitettuja JAR-tiedostoja ei enää pidetä luotettavina [Oracle JRE: n toimesta] eikä niitä voida suorittaa oletusarvoisesti, kuten Java-sovelmien tai Java Web Start -sovellusten tapauksessa". Java Platform Groupin Oracle-tuotepäällikkö Erik Costlow kirjoitti takaisin lokakuussa.

Kehittäjien on varmistettava, että heidän JAR-tiedostojaan ei ole allekirjoitettu MD5: llä, ja jos näin on, allekirjoita kyseiset tiedostot uudemmalla algoritmilla. Järjestelmänvalvojien on tarkistettava toimittajilta, ettei tiedostoilla ole MD5-allekirjoitusta. Jos tiedostot ovat edelleen käynnissä MD5: n vaihdon aikana, käyttäjät näkevät virheilmoituksen, jota sovellus ei voinut käyttää. Oracle on jo ilmoittanut toimittajille ja lähdelisensseille muutoksesta, Costlow sanoi.

Jos toimittaja on poissa käytöstä tai ei halua allekirjoittaa sovellusta uudelleen, järjestelmänvalvojat voivat poistaa käytöstä allekirjoitettujen sovellusten tarkistuksen (jolla on vakavia turvallisuusvaikutuksia), määrittää sovelluksen sijainnin mukautetut käyttöönottosääntöjoukot tai ylläpitää poikkeussivustoa Luettelo, Costlow kirjoitti.

Varoituksia oli paljon. Oracle lopetti MD5: n ja RSA-algoritmin käyttämisen JAR-oletusarvoisena oletusvaihtoehtona Java SE6: lla, joka julkaistiin vuonna 2006. MD5: n käytöstä poistaminen ilmoitettiin alun perin osana lokakuun 2016 kriittisen korjaustiedoston päivitystä ja sen oli määrä tulla voimaan tässä kuussa osana Tammikuu CPU. Varmistaakseen, että kehittäjät ja järjestelmänvalvojat ovat valmiita muutokseen, yritys on päättänyt lykätä siirtymistä huhtikuun kriittiseen korjaustiedostoon Oracle Java SE 8u131: n ja vastaavien Oracle Java SE 7: n, Oracle Java SE 6: n ja Oracle JRockit R28: n julkaisujen kanssa.

"CA: n turvallisuusneuvosto kiittää Oraclea päätöksestään kohdella MD5 allekirjoittamattomana. MD5 on ollut vanhentunut vuosia, joten MD5: stä siirtyminen on kriittinen päivitys Java-käyttäjille ”, sanoi Jeremy Rowley, Digicertin kehittyvien markkinoiden varatoimitusjohtaja ja CA: n turvallisuusneuvoston jäsen.

MD5: n poistaminen käytöstä on ollut kauan, mutta se ei riitä. Oraclen tulisi myös tarkastella vanhentunutta SHA-1: tä, jolla on omat ongelmakokonaisuutensa, ja ottaa käyttöön SHA-2 koodin allekirjoittamista varten. Tämä toimintatapa olisi nykyisen siirtymän mukainen, koska suuret selaimet ovat sitoutuneet lopettamaan SHA-1-varmenteita käyttävien verkkosivustojen tukemisen. Koska suurin osa organisaatioista on jo mukana SHA-1-siirrossa TLS / SSL: lle, on järkevää siirtää myös loput varmenteistaan ​​ja avaimen allekirjoitusinfrastruktuuristaan ​​SHA-2: een.

Hyvä uutinen on, että Oracle aikoo poistaa SHA-1: n käytöstä sertifikaattiketjuissa, jotka on ankkuroitu oletusarvoisesti Oraclen JDK: han sisältyvien juurien kanssa, samalla kun MD5 vanhentuu JRE- ja JDK Crypto Roadmap -lehtien mukaan, jossa hahmotellaan tekniset ohjeet ja tiedot käynnissä olevasta salauksesta työtä Oracle JRE: lle ja Oracle JDK: lle. Myös Diffie-Hellmanin avaimen vähimmäispituus nostetaan 1024 bittiin myöhemmin vuonna 2017.

Etenemissuunnitelma väittää myös, että Oracle lisäsi äskettäin Java 7: lle tuen SHA224withDSA- ja SHA256withDSA-allekirjoitusalgoritmeille, ja poisti elliptisen käyrän (EC) alle 256 bittisistä avaimista SSL / TLS: lle Java 6, 7 ja 8.

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