20.01.2015 Views

Tietokonevirukset - Tietojenkäsittelytieteiden laitos - Tampereen ...

Tietokonevirukset - Tietojenkäsittelytieteiden laitos - Tampereen ...

Tietokonevirukset - Tietojenkäsittelytieteiden laitos - Tampereen ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Tietokonevirukset</strong><br />

Marko Helenius,<br />

Virustutkimusyksikkö, <strong>Tampereen</strong><br />

yliopisto, Tietojenkäsittelytieteiden <strong>laitos</strong>,<br />

http://www.uta.fi/laitokset/virus,<br />

e-mail: cshema@uta.fi<br />

(C) Marko Helenius


KÄSITTEISTÖÄ<br />

TIETOKONEVIRUS<br />

– ohjelmakoodia, joka pystyy leviämään rekursiivisesti<br />

itsestään<br />

TROIJAN HEVONEN<br />

– ohjelmakoodia, johon on tietoisesti ohjelmoitu<br />

käyttäjältä salattu ei-toivottu toiminto<br />

– ei leviä itsekseen<br />

– Troijan hevonen ja virus ovat toisensa pois sulkeva<br />

luokitus<br />

TIETOKONEMATO<br />

– tietokonevirusten osajoukko<br />

– käyttää tarkoituksellisesti tietoverkkoja leviämiseen<br />

– vaihtoehtoinen määritelmä: ei isäntäohjelmaa<br />

(C) Marko Helenius


PERUSONGELMA<br />

INTERNET<br />

(C) Marko Helenius


MITÄ VIRUS VOI TEHDÄ<br />

Virus voi tehdä sen, mitä ohjelma voi tehdä<br />

Alan Solomon 1993: ”Virus is a user!”<br />

Mielikuvitus on rajana<br />

Viruksilla on käytettävissä valtava ja jatkuvasti kasvava<br />

laskentakapasiteetti, muistitila ja tietoliikenneyhteydet<br />

Esimerkkejä<br />

Viestit<br />

Tiedon tuhoaminen<br />

Tiedon salakirjoitus<br />

Tiedon muuttaminen<br />

Tiedon kaappaaminen<br />

Tiedon lähettäminen, esim. roskaposti<br />

Takaportit, mahdollistaa esim. roskapostin lähettämisen<br />

Palvelunestohyökkäykset<br />

(C) Marko Helenius


Jatko-ongelma<br />

(C) Marko Helenius


Miten virukset eroavat muusta<br />

haitallisesta ohjelmakoodista<br />

OMINAISUUS VIRUKSET MUU HAITALLINEN<br />

Todennäköisyys pysyvään<br />

haittaan, jos kohdataan<br />

Pieni, vaikka jotkut virukset<br />

aiheittavat pysyvää vahinkoa ja<br />

leviäminen itsessään voi<br />

aiheuttaa suurta haittaa<br />

OHJELMAKOODI<br />

Suuri / ennustamaton<br />

Leviämistapa Leviää itsekseen Vaatii tahallisen teon<br />

levitäkseen<br />

Leviämisen todennäköisyys Suuri, jos leviää vapaasti Pieni ellei osana yleistä<br />

ohjelmistoa tai laitteistoa<br />

Löytämisen vaikeuden aste Oikeilla menetelmillä löytäminen<br />

mahdollista<br />

Mahdotonta varmistaa<br />

monimutkaisten järjestelmien<br />

Kohdistetun hyökkäyksen<br />

todennäköisyys<br />

Pieni<br />

oikeellisuus<br />

Suuri<br />

(C) Marko Helenius


Kannettavien tietolaitteiden<br />

aiheuttamat ongelmat<br />

(C) Marko Helenius


TIETOA LÄHETTÄVÄT VIRUKSET<br />

(information-distributing viruses)<br />

Tarkoittaa viruksia, jotka lähettävät<br />

tietoa kiinteiden tietoliikenne-yhteyksien<br />

kautta.<br />

Tiedon sisällöllä ei ole merkitystä<br />

määritelmän kannalta<br />

Alaryhmänä mm. itseään lähettävät<br />

virukset sekä sähköpostia lähettävät<br />

virukset<br />

(C) Marko Helenius


VIRUSTEN LUOKITUS<br />

TARTUTETUN KOHTEEN MUKAAN<br />

<strong>Tietokonevirukset</strong><br />

Makrovirukset<br />

Käynnistyslohkovirukset<br />

Tiedostovirukset<br />

Moniosiovirukset<br />

Komentojonovirukset<br />

(C) Marko Helenius


TIETOA LÄHETTÄVÄT VIRUKSET<br />

(information-distributing viruses)<br />

Tarkoittaa viruksia, jotka lähettävät<br />

tietoa kiinteiden tietoliikenne-yhteyksien<br />

kautta.<br />

Tiedon sisällöllä ei ole merkitystä<br />

määritelmän kannalta<br />

Alaryhmänä mm. itseään lähettävät<br />

virukset sekä sähköpostia lähettävät<br />

virukset<br />

(C) Marko Helenius


TIEDOSTOVIRUKSET<br />

EXECUTABLE FILE<br />

(file viruses)<br />

EXECUTABLE FILE<br />

EXECUTABLE FILE<br />

EXECUTABLE FILE<br />

Leviävät jossakin tilanteessa ajokelpoisiin<br />

ohjelmatiedostoihin<br />

Esim: EXE-, COM-, OBJ-, LIB-, PIF-, VXD-,<br />

SYS- ja DLL-päätteiset tiedostot<br />

(C) Marko Helenius


MAKROVIRUKSET<br />

(macro viruses)<br />

Voidaan ajatella tiedostovirusten erityistapauksena<br />

Käytännön syistä luokitellaan omaksi ryhmäkseen<br />

Makrovirukset tarttuvat makrojen mukana, joita<br />

löytyy erilaisten ohjelmien sovellustiedostoista.<br />

Erityisesti makrojen suoritusmahdollisuus<br />

automaattisesti dokumenttitiedostoja avattaessa<br />

(automaattimakrot), sähköpostien liitetiedostot sekä<br />

dokumenttitiedostojen jatkuva vaihtaminen tekevät<br />

makrovirusten tehokkaan leviämisen mahdolliseksi.<br />

(C) Marko Helenius


KOMENTOJONOVIRUKSET<br />

(script viruses)<br />

Viruksia, jotka on toteutettu käyttöjärjestelmän<br />

komentojonoilla<br />

Esim. MS-DOS:n komentojonot (batch file),<br />

Unix:n komentojonot (shell script) ja Windowsin<br />

VBS (Visual Basic Scripting)<br />

(C) Marko Helenius


KÄYNNISTYSLOHKO- ELI<br />

LEVYKEVIRUKSET (boot sector viruses)<br />

Nykyisin harvinaisia, joskin tekniikka on mahdollinen<br />

Tarttuvat nimensä mukaisesti levykkeiden mukana<br />

Eivät tartuta varsinaisia ohjelmatiedostoja, ellei virus ole<br />

samalla tiedostovirus<br />

Levykevirus jää keskusmuistiin, kun tietokone<br />

käynnistetään tai yritetään käynnistää viruksen<br />

tartuttamalta levykkeeltä tai tietokone käynnistetään<br />

viruksen tartuttamalta kiintolevyltä.<br />

Levykkeen ei tarvitse siis olla käynnistyslevyke<br />

(C) Marko Helenius


Moniosiovirukset<br />

(multipartition viruses)<br />

Tarttuvat käyttämällä useaa eri<br />

leviämistapaa<br />

Esimerkiksi:<br />

– toimimalla käynnistyslohkovirusten ja<br />

tiedostovirusten tavoin<br />

– toimimalla makrovirusten ja<br />

tiedostovirusten tavoin<br />

(C) Marko Helenius


VIRUSTEN LUOKITUS<br />

OMINAISUUKSIEN PERUSTEELLA<br />

<strong>Tietokonevirukset</strong><br />

Polymorfinen<br />

Rinnakk.<br />

tiedoston<br />

luova<br />

Piiloutuva<br />

Suoran<br />

toiminnan<br />

Linkittävä<br />

Muistinvarainen<br />

Sähköpostittava<br />

Itseään<br />

lähettävä<br />

Tietoa<br />

lähettävä<br />

Sähköpostitse leviävä<br />

(C) Marko Helenius


ITSEÄÄN LÄHETTÄVÄT VIRUKSET<br />

(self-distributing viruses)<br />

Tarkoittaa viruksia, jotka lähettävät<br />

itsensä kiinteiden tietoliikenneyhteyksien<br />

kautta.<br />

Voivat käyttää hyväkseen esim.<br />

tietoturva-aukkoja ja/tai sähköpostia<br />

Esim.<br />

Win32/CodeRed<br />

Win32/Nimda<br />

(C) Marko Helenius


W32/SQLSlammer<br />

Löytyi 27.1.2003, koko vain 376 tavua<br />

Käyttää hyväkseen Microsoft SQL Server<br />

2000:n tietoturva-aukkoa.<br />

Maailmanlaajuinen leviäminen tapahtui 5-10<br />

minuutissa.<br />

Etsii loputtomassa silmukassa haavoittuvia<br />

tietokoneita.<br />

‣Seurauksena oli suuri määrä<br />

verkkoliikennettä<br />

‣ Kaatoi 5 maailman 13:sta juurinimipalvelimesta<br />

Ei leviä sähköpostitse.<br />

(C) Marko Helenius


SÄHKÖPOSTITSE LEVIÄVÄT<br />

VIRUKSET (self-e-mailing viruses)<br />

Tarkoittaa viruksia, jotka lähettävät<br />

itsensä sähköpostitse.<br />

Leviävät yleensä nopeasti<br />

Esim.<br />

– VBS/LoveLetter 2000<br />

– Christmas Tree 1988 – Win32/Nimda 2001<br />

– WM/Sharefun 1997– Win32/Badtrans.B 2001<br />

– Win32/Ska 1998 – Win32/Klez 2002<br />

– W97M/Melissa 1999 – Win32/Sobig 2003<br />

– X97M/Papa.b 1999 – Win32/Mydoom 2003<br />

– Win32/Explorezip (1999)<br />

(C) Marko Helenius


Piiloutuvat virukset (stealth viruses)<br />

Piiloutuvat virukset pyrkivät kätkemään<br />

ainakin osan järjestelmään tekemistään<br />

muutoksista.<br />

Ollakseen tehokas, viruksen on oltava<br />

keskusmuistiin jäävä.<br />

Myös makrovirukset voivat olla<br />

piiloutuvia. Esim. jotkut virukset pyrkivät<br />

kätkemään olemassaolonsa muuttamalla<br />

valintaa, josta näkee sovelluksen makrot.<br />

(C) Marko Helenius


Piiloutuvat virukset (stealth viruses)<br />

Voi olla suunnattu torjuntaohjelmia<br />

vastaan<br />

– Perustuu siihen, että viruskoodi suoritetaan<br />

ennen torjuntaohjelmaa, jolloin<br />

torjuntaohjelma näkee järjestelmän<br />

normaalina<br />

– Mahdollista järjestelmissä, joissa on<br />

puutteellinen keskusmuistin suojaus<br />

(memory protection)<br />

(C) Marko Helenius


LINKITTÄVÄT VIRUKSET<br />

(linking viruses)<br />

Linkittävät virukset eivät tartuta ja siten muuta<br />

itse tartutuksen kohdetta, vaan muuttavat<br />

järjestämän ohjelmakoodin linkitystä siten, että<br />

virus saa kontrollin tartutetun ohjelmakoodin<br />

suorituksen yhteydessä.<br />

Windows tarjoaa monia mahdollisuuksia esim.<br />

rekisteri, järjestelmäasetus-tiedostot ja ikonit<br />

(C) Marko Helenius


Rinnakkaisen tiedoston luovat<br />

virukset (companion viruses)<br />

Luovat tartutettavan tiedoston rinnalle<br />

viruskoodin sisältävän tiedoston, joka<br />

suoritetaan ennen varsinaista ohjelmaa.<br />

Esimerkiksi PC-tietokoneissa COM-tiedostot<br />

suoritetaan ennen EXE-tiedostoja.<br />

Eri hakemistoissa olevat tiedostot suoritetaan<br />

tyypillisesti eri järjestyksessä ja virus voi<br />

hyödyntää myös tätä. Esim. Windows- ja Unixkäyttöjärjestelmissä<br />

PATH-muuttuja määrää<br />

järjestyksen, jossa ajokelpoisia tiedostoja<br />

etsitään eri hakemistoista.<br />

(C) Marko Helenius


Rinnakkaisen tiedoston luovat virukset<br />

(companion viruses)<br />

Voi myös nimetä uudelleen tartutettavan<br />

kohteen<br />

Voi käyttää myös muita järjestelmän tiedostojen<br />

suoritusjärjestykseen vaikuttavia tekijöitä<br />

hyväkseen esim. alias-määritykset<br />

Järjestelmän asiantuntijan on yleensä helppo<br />

havaita ylimääräiset tiedostot, mutta voidaan<br />

toteuttaa vaikeasti havaittaviksi<br />

(C) Marko Helenius


ITSENSÄ SALAKIRJOITTAVAT<br />

VIRUKSET (encrypting viruses)<br />

Itsensä salakirjoittavat virukset muuttavat oman<br />

ohjelmakoodinsa siten, että se ei ole suoraan<br />

luettavissa<br />

Voi vaihdella yksinkertaisesta XORsalakirjoituksesta<br />

vaihtelevaan monimutkaiseen<br />

salaukseen polymorfisuus eli muuntuvuus<br />

Salausavaimen on kuitenkin oltava viruksen<br />

saatavilla, jotta virus pystyy purkamaan<br />

salauksen<br />

(C) Marko Helenius


Polymorfiset virukset<br />

Polymorfinen eli muuntuva virus pystyy<br />

tekemään itsestään erilaisia muunnoksia.<br />

Viruksen binäärimuoto voi vaihtua<br />

joikaisella eri leviämiskerralla<br />

Polymorfisuus on toteutettu tyypillisesti<br />

suorittamalla käskyjä vaihtelevässä<br />

järjestyksessa tai vaihtelevalla tavalla,<br />

lisäämällä tyhjiä käskyjä ja/tai käyttämällä<br />

vaihtelevaa salakirjoitusavainta tai<br />

salakirjoitusmenetelmää<br />

(C) Marko Helenius


VIRUSTEN LUOKITUS<br />

OMINAISUUKSIEN PERUSTEELLA<br />

<strong>Tietokonevirukset</strong><br />

Polymorfinen<br />

Rinnakk.<br />

tiedoston<br />

luova<br />

Piiloutuva<br />

Suoran<br />

toiminnan<br />

Linkittävä<br />

Muistinvarainen<br />

Sähköpostittava<br />

Itseään<br />

lähettävä<br />

Tietoa<br />

lähettävä<br />

Sähköpostitse leviävä<br />

(C) Marko Helenius


VIRUSHUIJAUKSET (HOAX)<br />

Sähköpostitse tuleva virusvaroitus, joka ei pidä<br />

paikkaansa<br />

Tyypillisiä piirteitä:<br />

– tarkka kuvaus viruksesta puuttuu<br />

– pyydetään lähettämään varoitus mahdollisimman<br />

monelle<br />

– vedotaan johonkin arvovaltaiseen organisaation<br />

– viruksen löytämisaika puuttuu tai on epämääräinen<br />

– uskotellaan, että virukseen ei ole olemassa<br />

vastalääkettä<br />

(C) Marko Helenius


LAINSÄÄDÄNTÖ<br />

Ennaltaehkäisevä vaikutus, mutta ei voi täysin<br />

ratkaista ongelmaa<br />

Lainsäädäntö on maakohtaista, vaikka ongelma on<br />

kansainvälinen<br />

Suomessa virusten kirjoittaminen, virusten tahallinen<br />

levittäminen sekä virusten laittaminen julkisesti<br />

saataville on rangaistavaa<br />

Ei ennakkotapauksia virusten kirjoittamisesta<br />

Järjestelmiin tunkeutumisesta (eli “hakkeroinnista”)<br />

on kuitenkin ennakkotapauksia<br />

– Ovat osoittaneet, että rangaistukset voivat olla ankarat<br />

(C) Marko Helenius


VIRUSTEN KIRJOITTAJAT<br />

Virusten kirjoittajista tiedetään vähän<br />

Usein murrosikäikäisiä, jotka lopettavat virusten<br />

kirjoittamisen vanhetessaan.<br />

Aikuiset eivät kuitenkaan todennäköisesti lopeta<br />

Jotkut virusten kirjoittajat ohjelmoivat työssään<br />

(C) Marko Helenius


MIKSI<br />

Sarah Gordon on löytänyt virustenkirjoittajia<br />

haastattelemalla seuraavia syitä:<br />

– Sosiaalinen arvostus<br />

– Jännityksen etsiminen<br />

– Kuuluisuuden etsiminen<br />

– Tutkiminen / Uteliaisuus<br />

– Ilkivalta<br />

– Ystäväpiirin painostus<br />

– Torjuntaohjelmien haastaminen<br />

– Ympäristön hiljainen hyväksyminen<br />

– Turvallisuusaukkojen paljastaminen<br />

– Ajattelemattomuus<br />

– Helppous, (esim. makrokielet)<br />

(C) Marko Helenius


YHTEENVETO<br />

Internetin kautta leviävien virusten nopea leviäminen<br />

ongelmana<br />

Linux-virukset<br />

Takaportit osana viruksia<br />

Virusten aiheuttama luottamuksellisen tiedon<br />

paljastuminen<br />

Palvelunestohyökkäykset osana viruksia<br />

– Käyttäjillä on supertietokoneita nopeilla verkkoyhteyksillä ja<br />

suojaus on puutteellinen<br />

– Pelkkä leviäminenkin aiheuttaa palveluiden estymistä<br />

Virusten aiheuttama Internetin kuormitus<br />

Viruksia käytetään roskapostin levittämisen apuna<br />

Virusten ja Troijan hevosten massapostitukset<br />

Pahin on todennäköisesti vielä näkemättä<br />

(C) Marko Helenius

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!