Tietokonevirukset - Tietojenkäsittelytieteiden laitos - Tampereen ...
Tietokonevirukset - Tietojenkäsittelytieteiden laitos - Tampereen ...
Tietokonevirukset - Tietojenkäsittelytieteiden laitos - Tampereen ...
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