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
