Taloussanomat
Lue uutinen mobiilisivustolla
Virusscan, vko 8:

Virustutkissakin on virheitä

24.2.2003 08:25 Koodaus- ja suunnitteluvirheistä johtuvat haavoittuvuudet ovat ohjelmien arkipäivää. Ongelma ei ole yksin Windowsin ja Internet Explorerin. Virheiltä koodissa eivät aina välty tietoturvaohjelmistotkaan.

Koodausvirheet ovat iso o­ngelma ohjelmistoyhtiöille. Erilaiset bugit tuntuvat vain yleistyvän sitä mukaa kun ohjelmistoista tulee entistä isompia ja raskaampia kokonaisuuksia. 

Yhteen ohjelmaan voi sisältyä tuhansia ja taas tuhansia rivejä koodia. Ei ole mikään yllätys, että virheitä tapahtuu, koodiahan naputtavat kuitenkin ihmiset.  

Jumiutunutta tietokonettaan tuijottavaa loppukäyttäjää tuskin kuitenkaan lohduttaa tieto siitä, että jossakin kohtaa koodausta o­n sattunut pieni inhimillinen virhe.

Siinä vaiheessa kun ohjelman käyttäjä havaitsee virheen, se o­n ehtinyt sattua. Hyvällä tuurilla virhe aiheuttaa yksinkertaisesti sen, että ohjelma kaatuu. Tallentamattomat työt tietysti katoavat bittiavaruuteen, mutta kukapa nyt ei töitään tallentaisi säännöllisesti...  

Huonomminkin voisi käydä. 

Koodivirhe voi altistaa hyökkäykselle 

Paitsi että ohjelmointivirheet vaikuttavat siihen, miten ohjelma toimii tai toimiiko se lainkaan, ne myös altistavat sovelluksia hyökkäyksille.

Tietenkään hyökkääjän ei ole tarkoitus päästä tunkeutumaan järjestelmiin. Kunnolla koodatut ohjelmat eivät tarjoa tunkeilijalle ohituskaistaa yrityksen verkkoon tai perheen kotikoneeseen.

Valitettavasti sovelluksissa o­n virheitä, joista osa helpottaa tunkeilua huomattavasti. Hyökkääjä etsii sellaisia kohteita, joita ei ole suojattu kyseiseltä haavoittuvuudelta. Kun suojaamaton uhri osuu kohdalle, tunkeilija voi käyttää kohdekonetta omiin tarkoituksiinsa. 

Puskuri vuotaa yli 

Ohjelmointivirheitä sattuu kaikille ohjelmistotaloille, myös tietoturvayhtiöille. Aukkoja löytyy esimerkiksi virustorjunta- ja palomuuriohjelmista.  Viime viikolla Symantecin Norton Antivirus -ohjelmasta löydettiin haavoittuvuus, jota käyttämällä hyökkääjä voi puskurin ylivuodon avulla päästä käsiksi kohdejärjestelmään. 

Puskurin ylivuoto (engl. buffer overflow) o­n hyvin yleinen tapa hyökätä tietokonejärjestelmiin. Hyökkäys voidaan toteuttaa pommittamalla tiettyä kohdekoneella olevaa sovellusta valtavalla määrällä dataa.  Kun sovellus ei ehdi käsitellä pakettitulvaa, osa datasta vuotaa yli eli siirtyy sen puskurimuistiin.

Ylivuodon jäljiltä muisti ei välttämättä enää toimi oikein, ja hyökkääjälle avautuu mahdollisuus ajaa kohteessa omaa koodiaan.  

Virheet nakertavat uskottavuutta 

Tietoturvaohjelmien osuus kaikista haavoittuvuuksista o­n tietenkin hyvin pieni. Valtaosa tietoturva-aukoista löytyy sellaisista sovelluksista, joita käytetään hyvin laajalti. Tällaisia ovat esimerkiksi Windows-käyttöjärjestelmän eri versiot ja Internet Explorer -selain. 

Ongelmat eivät myöskään yhtä todennäköisesti pääse vaikuttamaan kovin pitkään esimerkiksi virustorjuntaohjelmassa. Tietoturvaohjelmien päivittäminen o­n eräänlainen itsestäänselvyys ja se hoidetaan usein muita ohjelmia tehokkaammin. 

Tietoturvaohjelmien kohdalla haavoittuvuudet saavat ehkä turhaan ylimääräistä painoarvoa. Jonkin virustorjuntaohjelman tietyllä versiolla ei ole läheskään yhtä laajaa käyttäjäkuntaa kuin vaikkapa Windowsilla eikä o­ngelma siksi ole lainkaan samaa luokkaa. 

Vaikutus o­nkin hieman toisenlainen; haavoittuvuudet virustorjuntaohjelmassa syövät uskoa sen toimintaan turvallisuutta edistävänä ja ylläpitävänä tuotteena. Lisäksi pelkkä ohjelman toimintaan vaikuttava virhe voi esimerkiksi palomuurissa vaarantaa koko suojattavan järjestelmän ilman sen kummempia ylivuotoja. 

Päivitys o­n paras puolustus 

Loppukäyttäjää aina ihmetyttää, miksei ohjelmia voida alun perin tehdä paremmin, niin ettei o­ngelmia tarvitsisi korjailla jälkikäteen.

Viisainta vallitsevassa tilanteessa o­n kuitenkin ottaa lusikka kauniiseen käteen, vaikka sitten hammasta purren. Koska haavoittuvuuksia löytyy jatkuvasti, ohjelmiakin o­n koko ajan päivitettävä. 

Virustorjuntaohjelmien haittaohjelmalistojen lisäksi o­n muistettava pitää ajan tasalla myös käyttöjärjestelmä sekä selain- ja sähköpostiohjelmat.  

Helpoimmin ajantasaistaminen o­nnistuu, kun päivitykset asetetaan automaattisiksi. Verkosta o­n saatavilla myös erityisiä ohjelmia, jotka tarkkailevat koneelle asennettujen sovellusten päivitystilannetta ja noutavat uusimmat versiot tarvittaessa. 

Vaikka loppukäyttäjää kuinka ärsyttää jatkuva päivitysrumba, ohjelmat o­n pidettävä ajan tasalla ainakin siihen asti, kunnes opitaan kirjoittamaan täydellistä koodia. Niin tuskin koskaan käy.

Jutun kirjoitti: Antti Kirves

Antti Kirves

Kirjoita kommentti
Ohjeet: Pysy aiheessa ja kirjoita napakasti. Muista, että haastateltavilla, kanssakeskustelijoilla ja toimittajilla on oikeus omaan, eriävään mielipiteeseen. Ole kohtelias ja ystävällinen, äläkä tarkoituksella provosoi tai hauku muita keskustelijoita. Taloussanomat varaa oikeuden poistaa asiattomat viestit. Varauduthan siihen, että linkkejä sisältävät viestit tarkistetaan yksitellen roskapostin suodattamiseksi. Arvostamme mielipidettäsi!
> Lue koko keskusteluetiketti

Uusimmat uutiset

Digiyesterday

Viisi vuotta sitten

Tulevaisuuden näyttötekniikka imee energiansa auringosta

26.05.2007 Monen laitteen suurin virtasyöppö on näyttö. Nyt näytöt halutaan valjastaa tuottamaan itse oma energiansa.


Kolme vuotta sitten

Twitteristä kehitetään tv-ohjelma

26.05.2009 Tekstiviestejä käyttävä pikaviestipalvelu kelpaa tv-sarjan rakennusaineiksi.

.