maanantai 15. helmikuuta 2010

Haittaohjelmia luotetuilta sivustoilta

Haittaohjelmien levittäminen ns. luotetun sivuston kautta, on yleistymässä vauhdilla. Esim. Gumblarin kanssa on kyse tästä.

Homma menee karkeasti näin: Sivuston ylläpitäjä saa ensin haittaohjelman tietokoneeseensa, ja haitake varastaa ylläpitäjän ftp-tunnukset, jos ne ovat esim. ftp-ohjelmaan tallennettu. Tunnusten avulla haitake lisää haitallista koodia luotetulle sivustolle varastamiensa ftp-tunnuksia hyväksi käyttäen. Näin on uusi sivusto odottamassa uhreja. Itse sivustolle ei yleensä lisätä varsinaista haitallista sisältöä, vaan esim. JavaScript-koodia, joka osoittaa varsinaiseen osoitteeseen, jossa haitallinen sisältö on.

Ensimmäinen tunnusmerkki on se, että koodi on usein sotkettu, jotta siitä ei saisi selvää nopeasti vilkaisemalla. Toinen tunnusmerkki on se jos koodi sijaitsee kaikkien HTML-tagien ulkopuolella, esim. </html>-tagin jälkeen. Alla olevassa kuvassa näkyy molemmat mainitut tunnusmerkit: Sekava koodi on </html>-tagin jälkeen. Kuvakaappaus on otettu tänään erään suomalaisen sivuston lähdekoodista.

Puretusta koodista löytyykin sitten mm. tällainen osoite:

Jos sivustosta löytyy tällaista, ei pelkkä sivuston siivoaminen ja salasanan vaihto riitä, vaan on tutkittava ja tarvittaessa puhdistettava ne työasemat, joissa ftp-asiakasohjelmissa on tunnukset muokkauksen kohteeksi joutuneelle ftp-palvelimelle. Näin siksi, että jos käyttäjän tietokonetta ei puhdisteta, haitake saa todennäköisesti selville myös uudet tunnukset ja rumba alkaa alusta.

Esimerkiksi käy sivusto, jolta sain ylläolevan kuvakaappauksen haitallisesta koodista. Kyseessä on suomalainen sivusto, jonka ylläpidolle muutama päivä sitten ilmoitin heillä olevan haitallista koodia sivuillaan. He lupasivat ryhtyä toimiin, mutta jo heidän vastauksestaan herätyskelloni soivat, ja päätin vielä muistuttaa heitä, ettei pelkkä ftp-palvelinmen salasanan vaihto riitä, vaan työasemat on käytävä myös läpi. Niinpä heidän sivuilleen on ilmaantunut taas haitallista koodia (olen myös tästä ilmoittanut ko. sivujen ylläpidolle).


Mitä kotikäyttäjä voi tehdä

En ala neuvomaan yrityksiä, niillä kyllä pitäisi olla toimiva tietoturvastrategia, eikä tällaiset asiat tavallaan kuulu esim. tavalliselle konttoristille. Mutta kotikäyttäjä onkin eri asia, ja vastuussa omasta tontistaan.

Mitä kotikäyttäjä sitten voi tehdä? Ennaltaehkäisy on kaikkein paras suoja. On helpompi torjua ennakkoon, kuin siivota jäljet jälkikäteen. Suosittelen seuraavia toimia:
  1. Käytä normaalia tiliä päivittäisessä käytössä (Windows 7/Vista) tai alenna selaimen oikeuksia (Windows XP).
  2. Sulje JavaScript Adobe Readeriltä yms. ohjelmilta.
  3. Pidä Flash yms. lisäosat ajan tasalla, mutta lataa ne aina vain valmistajien omilta sivuilta.

Seuraavat kaksi vaativat jo viitseliäisyyttä, mutta nostavat suojaa/ennaltaehkäisevät sivustojen muokkausta vahingon sattuessa.
  1. Jos mahdollista, estä JavaScript ja iframe oletuksena sivustoilta, ja salli se vain sivuille joissa niitä todella tarvitaan.
  2. Jos mahdollista, älä tallenna ftp-palvelimen salasanaa ftp-asiakasohjelmaan.


Boikotti leväperäisille maille

Näiden lisäksi voi tehdä melko voimakkaita toimenpiteitä, joita en voi tosin suositella kaikille, mutta itse tein ne. Päätin estää kaiken liikenteen mm. .cn (Kiina), .ru (Venäjä) ja .cz (Tšekki) osoitteisiin. Miksi näin? Varsinainen haitallinen aineisto siis sijaitsee muualla, ja usein osoite on jossain edellä mainituissa. Päivittäin hosts -listaan tulee useita kymmeniä osoitteita, ja suuri osa niistä sijaitsee em. maissa. Ovat tuolla idässä päin siis aika ahkeria, ainakin hämärähommissa. Jokuhan siellä mättää, kun haitalliset sivut saavat rehoittaa?

No, tutkailin selaushistoriaani ja kirjanmerkkejäni, ja totesin, ettei minulla tunnu olevan koskaan menoa ko. sivuille, joten pienellä vaivalla häipyi iso liuta haitallisia osoitteita. Toimi on kuitenkin sen verran laaja, etten suosittele sitä kaikille. Sitä paitsi se voi olla hankala toteuttaakin. Esim. hosts -lista on kankea, johtuen siitä, ettei sen kanssa voi käyttää ns. jokerimerkkejä, joten esto pitää tehdä jotenkin muuten. Palomuuri on hyvä vaihtoehto jos se vain onnistuu, omassani se ei onnistunut, joten toteutin eston sitten selaimessa (Opera ja Firefox).

Operassa toimenpide on helppo. Riittää että lisää urlfilter.ini tiedostoon seuraavat rivit:

*.cn/*
*.cz/*
*.hk/*
*.id/*
*.kr/*
*.lv/*
*.ph/*
*.ro/*
*.ru/*
*.vn/*


Firefox tarvitsee avukseen lisäosaa nimeltä BlockSite. BlockSite -lisäosassa lisätään seuraavat rivit:

*://*.cn/*
*://*.cz/*
*://*.hk/*
*://*.id/*
*://*.kr/*
*://*.lv/*
*://*.ph/*
*://*.ro/*
*://*.ru/*
*://*.vn/*


Selaimeen tehtävässä estossa on se huono puoli, että se on tehtävä kuhunkin selaimeen erikseen. Kuten todettua, Operaan tuo on helppoa, Firefoxiin tarvitaan lisäosa. Internet Explorer taas ei hyväksy näin laajaa estoa, ja Chromea en ole vielä ehtinyt tutkailemaan. Päivitän tätä kirjoitusta tarvittaessa.


Linkkejä


Lisäys 16.2.10: Jouduin ottamaan .pl (Puola) suodatuksen pois, sillä suodatuksen kanssa joillain sivustoilla olevat Perl-skriptit eivät toimineet (niissähän on usein .pl -pääte).

3 kommenttia:

T kirjoitti...

Tämä vanha hyvä ohjelma ei suostu toimimaan nyt kun asensin WIN8 64bit,esim. add *://*.ru/* location laatikkoon ja blacklist laatikkoon ei ilmesty kuin *: on sitten koitettu blocksiten ja FF:n uudelleen asennusta ja ei vaan toimi.

neko kirjoitti...

Harmillista. Tosin ei niin kovin vakavaa. Kyseinen estotoimihan on aika rankka kun maakohtaisia estoja tehdään.

Itsellä ei ole kokemusta tästä asiasta (Win 8 + Firefox) joten mitään ideoita asian korjaamiseksi en tiedä.

T kirjoitti...

Tämä ko. laajennus on ollut tähän saakka lähinnä noita muita koneelle tulijoita varten, joilla on tunnetusti aika nopeat sormet.