10 parasta Java-haavoittuvuutta ja niiden korjaaminen


Java saa jatkuvasti huonoa mainetta tietoturvan suhteen - mutta kun otetaan huomioon, että puolet yrityssovelluksista viimeisten 15 vuoden aikana on kirjoitettu tällä kielellä, sen yleisyys (ja yleisesti tunnetut hyökkäysvektorit) voivat olla enemmän syyllisiä kuin Javan luontaiset tietoturvaheikkoudet yksinään. Uusia lähestymistapoja kehitetään kuitenkin (esim. Rask, Waratek) Java-verkkosovellusten turvallisuuden parantamiseksi Java Virtual Machine (JVM) -tasolla, mutta useimmille organisaatioille perinteisten tietoturvapuolustuksen käyttöönotto Java-sovelluksille voi auttaa suojautumaan useimmilta Javaan liittyvistä haavoittuvuuksista.

Javan yleisyyden vuoksi Javaan liittyvien työkalujen ja teknologioiden kattava haavoittuvuuksien hallinta on ratkaisevan tärkeää vahvan tietoturvan ylläpitämiseksi - olipa kyseessä sitten täydellinen CI/CD-putki tai pari yrityksen sisäistä verkkosovellusta. Seuraavassa on 10 suurinta Java-teknologian haavoittuvuutta, mukaan lukien työkalut ja suositut sovellukset Java-pohjaisen sovelluskehityksen tukemiseksi.

10 parasta Java-haavoittuvuutta

1. JUnit

Tämä yksikkötestauskehys on vakiovaruste useimpien Java-kehittäjien työkalupakeissa, ja se mahdollistaa nopean ja automatisoidun koodikannan testauksen. Muiden sovellusten mukana tulevat JUnit-tiedostot voivat kuitenkin sisältää haavoittuvuuksia. Esimerkiksi Google Web Toolkitin (GWT) versiota 2.5.1 RC -versiot sisältävät useita sivustojen välisten komentosarjojen (XSS) haavoittuvuuksia.

2. Jenkins

Markkinoiden yleisimmin käytettynä jatkuvan integraation (CI) palvelimena Jenkinsillä on vastaavasti paljon seuraajia Java-kehittäjien keskuudessa. Valitettavasti suosio jatkuvan integroinnin työkaluna tarkoittaa yleensä enemmän haavoittuvuuksia ja hyväksikäyttöjä - ja Jenkinsin tapauksessa on olemassa useita XSS-haavoittuvuuksia, sivustojen välisiä pyyntöjen väärentämistä (CSRF) ja palvelunestohaavoittuvuuksia (Dos).

3. Lepotila

Suosittua ORM-kehystä Hibernate käytetään yleisesti Java-kehittäjien keskuudessa relaatiotietokantaobjektien, kuten taulukoiden, kartoittamiseen Java-luokkiin. Avoimen lähdekoodin työkalun versiot 4.1.0 ennen 4.2.1, 4.3.x ennen 4.3.2 ja 5.x ennen 5.1.2 sisältävät haavoittuvuuden, jonka avulla hyökkääjät voivat ohittaa Java Security Managerin (JSM).

4. Maven

Apache Maven on laajalti käytetty Java-projektien rakennuspäällikkö, joka mahdollistaa projektin rakentamisen, raportoinnin ja dokumentaation keskitetyn hallinnan. Apache Maven 3.0.4:n haavoittuvuus antaa etähakkereille mahdollisuuden huijata palvelimia väliintulohyökkäyksessä.

5. Tomcat

Tämä suosittu Java-verkkosovelluspalvelin on ollut kehittäjien monivuotinen suosikki servlet-ohjelmien ja sovellusten rakentamisessa JavaServer-sivuilla. Reilusti yli vuosikymmenen vanha Tomcat on kerännyt suhteellisen vaikuttavan valikoiman tietoturva-aukkoja XSS:stä CSRF-haavoittuvuuksiin - joista monia on hyödynnetty luonnossa.

6. Java 7

Vaikka Java 8 tuli markkinoille viime vuonna, Java 7 on edelleen vallitsevassa käytössä - vaikka vuoteen 2016 mennessä version 8 odotetaan johtavan pakettia. On sanomattakin selvää, että kaikki Java-versiot alle 7 tulisi päivittää välittömästi - jopa versio 7 tarvitsee merkittävää korjausta haavoittuvuuksien vuoksi.

7. Kevään kehys

Spring on sovelluskehys, jossa on oma malli-näkymä-ohjainkehys Javalle, mikä mahdollistaa syöte-, liiketoiminta- ja käyttöliittymälogiikan erottamisen. Avoimen lähdekoodin projekti, Spring ei ole vailla kohtuullista osuuttaan dokumentoiduista haavoittuvuuksista.

8. JavaServerin kasvot

JavaServer Faces (JSF) on Java-esityskehys, joka helpottaa uudelleenkäytettävien käyttöliittymäelementtien kehittämistä. Apache MyFaces Core 2.0.x:n 2.0.12:ta ja 2.1.x:n 2.1.6:ta edeltävän haavoittuvuuden ansiosta etähyökkääjät voivat lukea mielivaltaisia tiedostoja.

9. Pimennys IDE

Eclipse on suosittu työpöytätyökalu verkkosovellusten rakentamiseen Java-kielellä, ja se on toiminut Java-kehittäjien ensisijaisena integroituna kehitysympäristönä (IDE) jo vuosia. Valitettavasti tietyt versiot sen ohjetiedostoista - kaikista asioista - ovat alttiita XSS:ään liittyville haavoittuvuksille.

10. Vaadin

Vaadin on suosittu Java-kehys nykyaikaisten Java-verkkosovellusten rakentamiseen - ajattele moderneja, yksisivuisia Java-pohjaisia verkkosovelluksia. Kehyksen XSS-haavoittuvuus voi antaa etähyökkääjille mahdollisuuden lisätä mielivaltaisia komentosarjoja sivuille.

Parannus

Edellä mainittujen haavoittuvuuksien korjaamiseksi sinun on tunnistettava, mitä näistä tekniikoista ympäristössäsi käytetään, ja siirryttävä kyseisen toimittajan/projektin verkkosivustoon saadaksesi päivitys- tai korjaustietoja. UpGuard löytää kaikki nämä kohteet automaattisesti muutamalla hiiren napsautuksella. Lisäksi muokattava Java-haavoittuvuuskäytäntömme voi kasvaa mukautumaan muihin Java-työkaluihin. Koeaja jo tänään - se on ilmainen.

Java-haavoittuvuuksien infografiikka