Hyppää sisältöön

Näin WordPressin ytimen tietoturvasta huolehditaan

WordPress on maailman käytetyin julkaisujärjestelmä ja sen tietoturvasta pidetään hyvää huolta. Toisinaan kuitenkin kuulee, ettei WordPress ole tarpeeksi turvallinen eikä sitä kannata käyttää. Onko tosiaan näin? Tässä kirjoituksessa avaan sitä, kuinka WordPressin tietoturvasta huolehditaan.

Timi Wahalahti, 02.10.2024

Jos WordPressin tietoturva olisi todella heikoissa kantimissa, me tuskin näkisimme isojen organisaatioiden käyttävän alustaa. Esimerkiksi NASA ja Valkoinen talo, meidän asiakkaistamme Valio ja Tykkimäki sekä useat valtion virastot ja mediajulkaisut kuten Time ja Suomen Kuvalehti luottavat kaikki WordPressiin. Puhumattakaan lukuisista verkkokaupoista, joita pyöritetäänWordPress + WooCommerce -kombolla – nämä ovat todella bisneskriittisiä verkkopalveluita, jotka sisältävät myös asiakasdataa.

WordPressin tietoturva on sinänsä monisyinen asia, johon vaikuttaa useampi tekijä kuten käytössä oleva teema, lisäosat sekä hosting ja huolenpito. Keskitytään tällä kertaa siihen, miten WordPressin itsensä, niin sanotun ytimen tai coren, tietoturvasta pidetään huolta.

Faktaa haavoittuvuuksien määrästä

WordPress-ekosysteemin tietoturvahaavoittuvuuksista tilastoja pitävän Patchstackin mukaan vuonna 2023 WP:n ytimestä löydettiin 13 haavoittuvuutta. Vuoden 2024 osalta lokakuuhun mennessä löydettiin 7 haavoittuvuutta.

Ohjelmistoissa oleville haavoittuvuuksille tavataan antaa CVSS-luokitus yhdestä kymmeneen kuvaamaan haavoittuvuuden vakavuutta. Asteikolla 0.1-3.9 kuvastaa haavoittuvuutta, jonka mahdollinen vaikutus on pieni, 4.0-6.9 keskitasoa, 7.0-8.9 korkeaa ja 9-10 kriittistä.

WordPressin ytimestä vuosina 2023 ja 2024 löydetyt haavoittuvuudet on kaikki luokiteltu kahdelle alimmalle tasolle. Edellisen kerran WordPressin ytimestä on löydetty korkealle vakavuustasolle luokiteltu haavoittuvuus vuonna 2022 ja kriittiselle tasolle luokiteltu haavoittuvuus vuonna 2021. Näille korkeille tasoille luokiteltuja haavoittuvuuksia voi kuitenkin pitää melkeinpä yksittäistapauksina, sillä niitä löytyy hyvin harvoin.

Ehkä hieman epäreiluna vertailuna, mutta vertailuna kuitenkin: laajasti käytetystä Chrome-selaimesta löydettiin vuonna 2023 yhteensä 296 haavoittuvuutta. Näistä haavoittuvuuksista 60% luokiteltiin kahdelle korkeimmmalle vakavuustasolle. Kaikille onkin varmasti tuttua, että selain pyytää uudelleenkäynnistystä, jotta siitä saa uusimman version käyttöön.

Miten WordPressin ytimen tietoturvasta pidetään huolta?

Jokaisesta ohjelmistosta löytyy haavoittuvuuksia, se on selvä. Ohjelmistoja luovat ihmiset, ja ihmiset tekevät inhimillisiä virheitä. WordPressin ytimen historiassa haavoittuvuuksien pientä määrää ja niiden pääosin matalia vakavuusluokitteluja voidaan pitää kuitenkin verrattain hyvänä saavutuksena.

Miten tämä on sitten mahdollista? Yksinkertaistetusti voidaan sanoa, että tapa, jolla WordPressiä kehitetään sisältää monia tasoja, joista jokaisella on oma merkityksensä tietoturvallisuuden saavuttamisessa.

WordPress Security Team

Yhtenä merkittävimmistä tasoista toimii WordPress Security Team, joka työskentelee osana isompaa WordPressin ydintä kehittävää tiimiä. Tässä Security-tiimissä on noin 50 jäsentä, joista osa on yritysten täysin tai osin sponsoroimia – he saavat palkkaa tietoturvasta huolehtimisesta. Tiimin työskentely on melko suljettua, eikä tiimiin pääse mukaan kuka tahansa. Suurin osa tiimin jäsenistä ovat työskennelleet WordPressin ytimen parissa vuosikausia ja heitä pidetään erittäin kokeneina kehittäjinä.

Tiimin jäsenet työskentelevät yhdessä WordPressin ytimen pääkehittäjien, itsenäisten tietoturvatutkijoiden ja suurten hosting-yritysten kanssa sekä muiden avoimen lähdekoodin ohjelmistojen parissa havaitakseen mahdollisia uhkia ja estääkseen uhat uusissa, kehityksen alla olevissa versioissa.

Hauskana kuriositeettina: WordPressin tuki emojeille esiteltiin aikoinaan uutena, hienona asiana. Vaikka osa varmasti kaipasi oikeasti tukea emojeille, tuen lisäämisen oikea syy oli erään kriittisen haavoittuvuuden korjaaminen. Ytimen kehittäjät yrittivät korjata haavoittuvuutta monella eri tapaa, tehden useita iteraatiota ja uudelleenkirjoituksia korjauksesta. Lopulta ainoa toimiva ratkaisu oli sellainen, jonka sivutuotteena saavutettiin tuki myös emojeille.

Tästä haavoittuvuudesta ei kuitenkaan hihkuttu heti, vaan päivitystä mainostettiin nimenomaan emojien käytön mahdollistajana. Emojeja käytettiin siis tavallaan troijalaisena hevosena. Suosittelen katsomaan Andrew Nacinin esityksen aiheesta. Loistava kertomus siitä, miten vakava haavoittuvuus korjataan laajasti käytetyssä järjestelmässä.

Eettisen hakkeroinnin ohjelmat

WordPressin eettisen hakkeroinnin bug bounty -ohjelma on yksi lisätaso takaamaan tietoturvaa. Itsenäiset tutkijat, valkohattuhakkerit, kehittäjät ja muut WordPressin parissa työskentelevät voivat ilmoittaa havaitsemistaan mahdollisista haavoittuvuuksista HackerOnen kautta. WordPressin Security-tiimi käsittelee jokaisen ilmoituksen ja työskentelee yhdessä ilmoittajan kanssa tarvittavan korjauksen tekemiseksi.

Nämä ilmoitukset sekä korjaukseen liittyvä työskentely pidetään tarkoituksella pienen piirin tietona, jotta hakkerit eivät pääse hyväksikäyttämään tunnistettua haavoittuvuutta. Kun paikkaava versio on julkaistu, avoimen lähdekoodin projektille luontaisesti tieto paikatusta haavoittuvuudesta julkaistaan. Lisäksi kiitetään niitä, jotka ilmoittivat haavoittuvuudesta ja osallistuivat korjaamiseen.

Automaattiset päivitykset myös vanhoihin pääversioihin

Pelkkä paikatun version julkaisu ei vielä yksinään tee autuaaksi, sillä se pitää saada käyttöön kaikille sivustoille. Tässä auttaa WordPressin ytimeen sisäänrakennettu toiminnallisuus, jonka avulla sivustot päivittyvät itsenäisesti uusimpaan versioon. Sivuston ylläpitäjät voivat valita, haluavatko kaikki päivitykset vai ainoastaan tietoturvapäivitykset.

WordPressin Security-tiimi korjaakin haavoittuvuudet, ei vain WordPressin uusimpaan pääversioon, vaan myös vuosia vanhoihin pääversioihin, jotta myös ne pysyisivät turvallisina. Nämä korjaukset jaellaan ja otetaan automaattisesti käyttöön.

Toki isompien sivustojen ja joidenkin hosting-palveluiden kohdalla automaattiset päivitykset on poistettu käytöstä kokonaan. Tällöin asiakkaan kumppani huolehtii päivitysten testaamisesta ja käyttöönotosta. Esimerkiksi Evermaden ylläpitopalvelu toimii näin. Huolehdimme sivuston tietoturvasta, kaikista päivityksistä ja katkeamattomasta toiminnasta asiakkaan puolesta. Asiakas saa mielenauhaa ja mahdollisuuden keskittyä varsinaiseen liiketoimintaansa.

WordPress on tietoturvallinen julkaisujärjestelmä

Voisi sanoa, että hyvä tietoturva on WordPressin avoimen luonteen sekä julkisesti tapahtuvan kehityksen ansiota. Kuka tahansa voi tutkia, testata ja kehittää WordPressin ydintä. Maailman käytetyimpänä julkaisujärjestelmänä sen lähdekoodin plärääjiä, testaajia sekä ydintä kehittäviä ihmisiä riittää runsaasti.

Ytimeen lisättäväksi ehdotettavan koodin on tyypillisesti katselmoinut ja testannut laaja joukko kontribuoijia, ennen kuin se lopulta lisätään ytimeen. Toki pienehkö, alle 100 kontribuoijan valikoitu joukko päättää lopulta, mitä koodia viedään ytimeen ja julkaistaan käyttöön. Kaikki julkaistava koodi käydään näiden henkilöiden toimesta läpi ja tarkistetaan laadullisesti vielä kertaalleen.

Suurin syy aikoinaan syntyneelle ajatukselle WordPressistä tietoturvattomana järjestelmänä ei ollutkaan ytimestä johtuvaa, vaan liittyi ennemminkin ekosysteemin monimuotoisiin lisäosiin. Käsittelemme lisäosien merkitystä tietoturvalle myöhemmässä kirjoituksessa!

WordPressin maine tietoturvattomana järjestelmänä on jo onneksi jäänyt pitkälti historiaan. WordPressin ydin on varsin tietoturvallinen – siitä huolehtii laaja joukko alansa parhaita osaajia sekä intohimoisia kontribuoijia.

Haku