Carl Haglund ja WordPress

Helsingin sanomat kirjoittaa:

Puolustusministeri Carl Haglundin (r) henkilökohtaiselta verkkosivulta on löytynyt tietojen varastamiseen tarkoitettu haittaohjelma. Virus on naamioitunut yhteydenottoihin tarkoitetulle alasivulle ja ollut siellä tammikuun 23. päivästä alkaen.

Jutussa mainitaan, että ko. haittaohjelma iskee usein WordPress-alustan verkkopalveluihin. Sitä ei sanota, että Haglundin sivut on tehty WordPressillä. Tämä kuitenkin selviää Googlen cachesta ja samoin se, että WordPress-versio on ainakin viimeisen tiedon mukaan viimeisimmässä versiossa.

Erillisessä jutussa Haglund epäilee:

“Tämän päivän tapahtumien valossa näyttää, että se ei ole sattumaa. Tämä vaikuttaa järjestelmälliseltä”, Haglund sanoo.

Virustorjuntayritys F-Securen mukaan viruksen alkuperä viittaa Pietariin.

Haglund uskoo valikoituneensa iskujen kohteeksi, koska vastaa hallituksessa kyberturvallisuusasioista.

Oikein konfiguroiduille ja ylläpidetyille sivuille ei noin vain murtauduta. Todennäköisempää on, että yksi tai useampi seuraavista on totta:

  • Palvelimen käyttöjärjestelmä palvelinohjelmistoineen on jäänyt pahasti ajastaan jälkeen
  • WordPress tai jokin laajennus on jäänyt päivittämättä jossain vaiheessa
  • WordPressin (pää)käyttäjätunnuksen salasana on heikko tai on käytössä jossain muussa salasanat vuotaneessa verkkopalvelussa
  • Ensimmäisen murtautumisen jälkeinen siivoustyö on jäänyt puutteelliseksi

Jos mikään näistä ei ole totta, voidaan vasta sitten epäillä, että kyseessä on jokin muu kuin täysin tai puoliautomatisoitu hyökkäys, joka kohdistuu kerralla tuhansiin verkkopalveluihin. Tällaiset kun muodostavat aivan ylivoimaisen valtaosan kaikista hyökkäyksistä.

Tietysti antaa sekä paremman viestin omasta ammattitaidosta että hivelee enemmän omaa egoa, kun murtautumisen syyksi pannaan henkilön asemaan kohdistuva vihanpito eikä oma heikko tietoturvasta huolehtiminen.

Siivous on annettu teleoperaattorin tehtäväksi, mikä herättää ainakin minussa vähän epäluuloja. Oikeasti työ pitäisi antaa ammattilaisille, jotka tuntevat niin WordPressin kuin verkkosivujenkin tietoturvan. Muuten sivut ovat taas pian täynnä viruksia. Mutta mihinkään isoihin, Haglundin viittaamiin investointeihin ei tarvitse ryhtyä.

Jokaisen verkkosivuja ylläpitävän velvollisuus on huolehtia sivujensa tietoturvasta. Selitykseksi ei kelpaa se, että sivuilla ei ole suurta merkitystä tai että niillä ei ole salaiseksi luokiteltavaa tietoa. Murretut sivut kun aiheuttavat haittaa muillekin kuin verkkosivujen haltijalle.

Räätäli vs. puukottaja

Vierityspalkissa ajauduttiin jokin aika sitten keskustelemaan räätälöinnin semantiikasta. Tämä oli vain sivujuonne varsinaiseen keskusteluun siitä, onko WordPress ylipäätään räätälöitävä alusta. Jälkimmäiseen vastaan tarkemmin erillisessä kirjoituksessa, mutta ensin haluan määritellä mitä räätälöinti mielestäni on.

Räätälöinti on toiminnallisuutta laajentavaa tai muokkaavaa sovelluskehitystä eli ohjelmointia olemassa olevan, räätälöintiä tukevan järjestelmän päälle tiettyyn käyttötarkoitukseen, yleensä yhdelle asiakkaalle tai kapealle asiakassegmentille. Räätälöinti on siis sovelluskehityksen osa-alue. Joskus käytetään ilmaisua “täysin räätälöity”. Sillä tarkoitetaan tietojärjestelmää, joka on rakennettu matalamman tason sovelluskehyksen (framework) päälle. Aivan aidosti täysin räätälöityä koodia tuskin kukaan nykypäivänä enää tuottaa.

Mietitäänpä hetki sanan räätäli alkuperäistä merkitystä. Räätäli sekä tekee vaatteita kankaista (täysin räätälöity) että muokkaa ja korjaa valmiita vaatteita (räätälöity). Kun teknologia mahdollisti sarjatuotannon ja ulkoistaminen halpatyövoiman maihin laski kustannuksia entisestään, räätälin työt vähenivät radikaalisti. Räätäleitä tarvitaan yhä, mutta vain kaikkein rikkaimmilla on enää vara teettää vaatteensa omiin mittoihinsa räätälillä. Nykyisin räätälin tehtävät ovatkin pääasiassa pieniä muutoksia valmisvaatteisiin. Tietojärjestelmän räätälöinti ei ole täsmälleen sama asia, mutta analogia toimii monella tasolla.

Yleensä tietojärjestelmän räätälöinti tarkoittaa ohjelmointia. Sovelluksen asetusten muokkaaminen käyttöliittymän kautta voi olla sekin räätälöintiä, jos näin tavoiteltu kokonaisuus on monimutkainen ja siten vaatii syventyvää ajattelua ratkaisun löytämiseksi – eli kehittämistä (development).

Räätälöintiä voi tehdä hyvin tai huonosti. Huonoa räätälöintiä on esimerkiksi nojata järjestelmän dokumentoimattomiin rajapintoihin, olla hyödyntämättä dokumentoituja rajapintoja kehittämällä kokonaan oma, huonompi ratkaisunsa tai käyttää järjestelmän toiminnallisuutta sen käyttötarkoituksen vastaisesti.

Ehdotan, että tällaisissa tapauksissa ei puhuttaisi räätälöinnistä vaan “puukottamisesta”. Puukotus-termiä käytetään usein ikään kuin kunniamerkkinä, vaikka todellisuudessa puukottaja on erittäin vahva ehdokas Darwin-palkinnon saajaksi. Ihan vähän vain liioitellen: Tällaisen räätälöintitavan ehdottamisestakin pitäisi seurata välitön porttikielto ammattitehtäviin.

Räätälöinti vaatii siis aina syvällistä tietoa järjestelmän olemuksesta. Joitain järjestelmiä voi räätälöidä helpommin kuin toisia. Esimerkiksi WordPress on sekä blogialusta että räätälöitävä sisällönhallintajärjestelmä. Todella hyvä geneerinen sovelluskehitysalusta se ei kuitenkaan ole – ainakaan vielä – mutta joihinkin geneerisiin sovelluskehitystarkoituksiin se voi olla ihan kelvollinen valinta. Hyvä räätäli ei lähde tekemään jotain, joka on vastoin järjestelmän perusfilosofiaa, ellei ole varmaa, että tällaisen räätälöinnin riskit on huomioitu huolella.

Räätälöinti-sanalla on jostain syystä paha kaiku. Räätälöintiä vältellään välillä suorastaan hysteerisesti ja joidenkin järjestelmien (SharePoint) toimittajat jopa suosittelevat, ettei heidän tuotettaan räätälöitäisi lainkaan, mikä kuulostaa aika kummalliselle. Ehkä väärän maineen ovat luoneet puukottajat ja yritykset, jotka osaavat rahastaa myös osaamattomuudellaan?

Päätöksen räätälöinnistä pitää perustua tietoon ja se pitää tehdä järjestelmän ehdoilla. Räätälöinti ja sovelluskehitys yleisemminkin on hallittua riskinottoa. Esimerkiksi dokumentoitujakin rajapintoja käyttävä laajennus saattaa huomaamattaan nojata ei-dokumentoituun sivuvaikutukseen, joka taas voi päivitysten myötä alkaa toimia toisin. Mitä paremmin tällaiset riskit ymmärretään, sitä turvallisemmin räätälöinnin voi tehdä.

Räätälin ammatti on kunniakas käsityöläisammatti. Puukottaja on yhteiskunnan hylkiö, joka passitetaan vankilaan aina tavatessa. Pidetään nämä kaksi erossa toisistaan.

Kaino toive vaatimus­määrittelyjen kirjoittajille

Viime aikoina kaikenlaisia tarjouksien liitteenä olevia vaatimusmäärittelyjä lukeneena on mieleeni hälyttävän usein noussut kysymys: miksi?

Vaatimusmäärittelyt on poikkeuksetta kirjoitettu niin, että haluamme tällaisen ja tällaisen ominaisuuden ja sen tulee toimia täsmälleen näin. Ongelma tässä on se, että vaatimusmäärittelijän kehittämä ratkaisu ei välttämättä ole optimaalisin, koska vaatimusmäärittelijäkin on vain ihminen eikä voi tietää parasta ratkaisua kaikkeen. Koska todellinen tarve jää hämärän peittoon, ei tarjoajalle jää mahdollisuutta esittää parempaa ratkaisua.

Minähän parhaani mukaan esitän kysymyksiä ja pyydän tarkennuksia ja saankin vastauksia, mutta kaikkea en osaa kyseenalaistaa. Eikä se normaalissa tarjouskilpailussa ole edes mahdollista, koska tarjous pitää saada kasaan kohtuullisella vaivalla.

Tuottavampaa olisi, jos vaatimusmäärittelyssä keskityttäisiin ongelmien esittämiseen ja tarvittaessa esitettäisiin joitain reunaehtoja ratkaisulle. Näin tarjoajalle jää mahdollisuus osoittaa todellinen tuottavuutensa.

Muutenkin on tyhmää fiksata ongelmanratkaisutapa siinä vaiheessa kun teknologiaa ei edes ole valittu. Ja tyhmää on myös käyttää yhden tietyn julkaisujärjestelmän tapaa jäsennellä asioita ja olettaa kaikkien toimivan samalla lailla – näin implikoiden että muut tavat tehdä asia eivät ole sallittuja.

Kiitos kun kuuntelitte.

WordPress on ”häiritsevä innovaatio”

WordPress on kuin oppikirjaesimerkki Christensenin low-end distruptionista. Samaan aikaan kun valtaapitävät keskittyvät väittämään tulokkaan olevan epäkelpo yhä vain marginaalisemmiksi käyviin käyttökohteisiin on tulokas vallannut valtaosan markkinoista. Ja vanhoja uskomuksiaan toistelevat valtaapitävät asiantuntijat ja muut erikoiskäyttäjät lopulta yllättyvät, että heidän viimeisetkin vallan saarekkeensa ovat jo murentuneet tai käyneet merkityksettömiksi.