Taloussanomat
Lue uutinen mobiilisivustolla
Tietokannoista hyökkäyspesäkkeitä

Sql-pistos nousee kohti haittaohjelmien kärkeä

F-Securen blogissa osoitetaan tällä kuvakaappauksella, että Google-haku tuottaa yli puoli miljoonaa muunneltua sivua.

25.4.2008 16:25 Suomessakin joitakin sivustoja saastuttanut Nihaorr1.com-hyökkäys on kiertänyt maailmalla. Ohjelma käyttää verkkopalvelujen tietokantoja tartuttamispesäkkeinä.

Nihaorr1.com-hyökkäys on kaksivaiheinen. Ensimmäisessä vaiheessa pyritään saastuttamaan julkinen verkkosivu haittakoodilla sql-pistos-tekniikalla (sql injection), sanoo tietoturvatalo Nixun asiantuntija Pekka Sillanpää.

Tämäntyyppiset injektiohyökkäykset ovat toisella sijalla Owasp Top 10:n listassa tyypillisimmistä web-sovellusten haavoittuvuuksista.

Toisessa vaiheessa käyttäjät, jotka selaavat saastunutta sivustoa, joutuvat hyökkäyssarjan kohteeksi, joilla pyritään muun muassa ottamaan haltuun käyttäjän kone.

– Mikäli käyttäjän koneen päivitykset eivät ole ajan tasalla, näillä hyökkäyksillä on suuri mahdollisuus onnistua, Sillanpää sanoo.

Vastaavat hyökkäykset ovat yleistyneet maailmalla. F-Secure kertoi eilen tietoturvablogissaan, että tähän mennessä on tavattu kolme domainia, joista hyökkäystä on levitetty: nmidahena.com, aspder.com ja nihaorr1.com.

F-Securen mukaan tämän tyyppisten hyökkäysten leviäminen johtuu siitä, että yhä useammat nettipalvelut käyttävät tietokantapohjaisia järjestelmiä nopeuttaakseen toimintaa. Monet niistä sallivat käyttäjien ladata sisältöä tietokantoihinsa.

– Ellei dataa sanitoida ennen kuin se tallennetaan, on mahdotonta kontrolloida mitä palvelu tarjoaa sivuston käyttäjille, F-Securen blogissa kirjoitetaan.

Jutun kirjoitti: Timo Poropudas

Timo Poropudas

Teksti on lisensoitu Creative Commons Nimeä-Ei muutoksia-Epäkaupallinen -lisenssillä.

Mainitut yritykset

Kommentit (12)

Huono 0
Suomessakin joitakin sivustoja saastuttanut Nihaorr1.com-hyökkäys on kiertänyt maailmalla. Ohjelma käyttää verkkopalvelujen tietokantoja tartuttamispesäkkeinä.
Digitoday
Huono 0
Mikä hitto siinä sql syötteen sanitoimisessa oikein on niin vaikeaa?

Onko web-palvelujen koodaajat oikeasti niin laiskoja, etteivät jaksa POST/GET:ssä tulevia arvoja tarkastaa vaikka edes sillä valmiilla escape-funktiolla, jollainen löytyy jokaisesta web-kielestä?
.
Huono 0
Eipä voi käsittää kuka ylipäätään jaksaa tehdä sivuston, jolla ei ole joko itsetehtyä (turhaa työtä) tai valmista yleistä sql rajapintaa joka pitää huolen siitä, ettei kyselyissä ole ko. "sql-injection" hyökkäystä. Tosin siinä vaiheessa, jos itsetehdyssä rajapinnassakaan ei ole vaivauduttu lisäämään yhtä koodiriviä niin alkaa olemaan www-ohjelmointi hanskassa.
kettu
Huono 0
Kannattanee lukea tämän uutisen alkuperäiset lähteet jostain muualta kuin ITViikosta niin saa edes jonkinlaisen kuvan uhasta... aikamoista dadaa on myös F-securen kommentit.
Niinpä
Huono 0
Eipä voi käsittää kuka ylipäätään jaksaa tehdä sivuston, jolla ei ole joko itsetehtyä (turhaa työtä) tai valmista yleistä sql rajapintaa joka pitää huolen siitä, ettei kyselyissä ole ko. "sql-injection" hyökkäystä.

Ei sinänsä mitään valmiita sql-rajapintoja vastaan, mutta eivät nekään mikään tietoturvan tae ole. Yhden koodaajan laiskuus saattaa rajapinnoissakin lähteä kiertämään ja kohta kaikista samaa rajapintaa käyttävistä softista löytyy reikä.
.
Huono 0
F-Securen weblogissa olevien source src -linkkien pohjalta jos googlaa .fi saitteja, niin löytyykin muutama www-palvelin, jotka lienevät sitten ko pöpön saastuttamia?
Satunnainen matkaaja
Huono 0
Onko web-palvelujen koodaajat oikeasti niin laiskoja, etteivät jaksa POST/GET:ssä tulevia arvoja tarkastaa vaikka edes sillä valmiilla escape-funktiolla, jollainen löytyy jokaisesta web-kielestä?

Huono neuvo, arvaas johtaako tämmöinen käytäntö siihen että escapetetaan integeritkin ja ajatellaan että sitten ollaan turvassa? Vaan hupsista, escape ei auta kun oltiin jo valmiiksi niiden hipsujen ulkopuolella! Castaisivat edes intiksi sen niin että siellä ei voi olla muuta kuin numeroita, joka tuntuu olevan aika yleinen tapa...

Toinen hauskuushan tulee sitten siinä että sql:ää varten pitää sanitoida yhdellä tapaa ja html:ää varten erilailla. Osa koodaajista menee vipuun ja escapettaa toisellatapaa molempiin tarkoituksiin, jolloin tuloksena on joko XSS-reikä tai SQL-injektio.

Tuntuisi olevan enemmän kyse huolimattomuudesta ja ongelmista koodauskäytännössä kuin laiskuudesta. Funktiota toteutettaessa saatetaan ajatella että data tulee ohjelman sisältä ja sisältää vain validimuotoista dataa, toisessa paikkaa funktiota sitten käytetään ja ollaan unohdettu missä se data piti validoida.

Suuri osa koodaajista ei myöskään miellä bugiksi sitä että funktio ei tarkista onko sille annettu parametrit oikein, vaan ajatellaan että jos siinä on virhe niin bugi onkin koodissa jossa funktiota kutsutaan. Tuloksena on soppa jossa tietoturva-aukolta olisi voitu välttyä, jos vain koodin sisäiset vastuut olisi määritetty paremmin.

PS. Sampo pankin XSS-aukot johtuivat osaltaan tuommoisesta koodin sisäisestä vastuuvirheestä. Muuttujia käytettäessä niitä ei validoitu, eikä taideta validoida vieläkään. Sensijaan lisättiin satunnaisia heikkoja tarkistuksia sinne missä muuttujat otetaan osoiteriviltä talteen, ja itse bugit ovat vieläkin siellä.
Matti Nikki
Huono 0
"Huono neuvo, arvaas johtaako tämmöinen käytäntö siihen että escapetetaan integeritkin ja ajatellaan että sitten ollaan turvassa? Vaan hupsista, escape ei auta kun oltiin jo valmiiksi niiden hipsujen ulkopuolella!

Umm... jos ne on inttejä niin eihän niissä ole kuin numeroita, joten kastaaminen on turhaa. Jos taas on kyse siitä että koodaaja käyttää jotain typerää tyypitöntä/löyhästi tyypitettyä kieltä, sitten ei paljoa auta intittelytkään.

Onneksi voi myös jättää höPöHöPöt omaan arvoonsa ja käyttää järkeviä systeemejä joissa on tyyppiturvallisuus, tietokantarajapinnat pitävät huolen ettei tule typeryyksiä niin helposti ja vielä käännetään etukäteen niin huolimattomuusmokiakin katoaa.

Surku ettei useampi sitä tajua.
-
Huono 0
Nämä sql-injection -hyökkäykset näyttävät olevan erityisesti php:llä tehtyjen sivustojen ongelma. Esim. ASP.NET:ssä moiset hyökkäykset ovat mahdottomia jos kehittäjällä on vähänkään älyä. Niissä käytetään nimittäin parametrisoitavia sql-lausekkeita (vanha tapa) tai sitten suoraan linq-tekniikkaa (vrt. muut orm-välineet). Tuo php taitaa olla yhä yksi niistä ainoista joissa näkee jatkuvasti noita "select * from foo where bar = " + value tyylisiä viritelmiä.
PHP:n ongelma
Sivut: 1 2 Edellinen Seuraava

Uusimmat uutiset

Digiyesterday

Viisi vuotta sitten

G8-maat: apua tarvitaan lapsipornon vastaiseen sotaan

27.05.2007 G8-maat ovat tehneet vetoomuksen vahvistaakseen lapsipornon vastaista taistelua. Maat kehottavat muun muassa internet-palveluntarjoajia, it-ammattilaisia, mediaa, vanhempia ja opettajia miettimään, miten voisivat osallistua taisteluun.


Kolme vuotta sitten

Mars-mönkijän matkamittarissa 10 mailia

27.05.2009 Nasan yli viisi vuotta Marsia tutkinut mönkijä Opportunity taivalsi maanantaina ohi kymmenen mailin rajapyykin.

.