Background Print only logo
Viestintäviraston etusivulle
Etusivu | Varoitukset | Tietoturva nyt! | Haavoittuvuudet | Ohjeet | Katsaukset | Palvelut | Esitykset |

CERT-FI

PL 313
00181 Helsinki
Puh: 09 6966 510
Fax: 09 6966 515

Salausavaimet

Viestintävirasto

Itämerenkatu 3 A
00180 HELSINKI
Puh: 09 6966 500
Fax: 09 6966 410

Tarkat yhteystiedot

Tietoa evästeistä

CERT-FI Facebookissa

Etusivu > Tietoturva nyt! > 2007 > Lokakuu > SQL injection -hyökkäysten havaitseminen

Tietoturva nyt!

9.11.2007

SQL injection -hyökkäysten havaitseminen

CERT-FI:n tietoon tulee ajoittain niin sanotulla SQL injection -tekniikalla suoritettuja hyökkäyksiä. Kyseinen hyökkäystekniikka on ollut tiedossa jo pitkään, mutta sovelluksista löytyy vielä nykyäänkin haavoittuvuuksia, joita hyväksikäyttämällä voidaan syöttää www-käyttöliittymän takana olevalle tietokannalle SQL-kielisiä komentolauseita.

Näissä hyökkäyksissä pyrkimyksenä on usein hankkia luottamuksellisia tietoja tai muuttaa tietokannassa olevia tietoja. Myös muita pahantahtoisia pyrkimyksiä yritetään toteuttaa SQL injection -haavoittuvuuksia hyödyntämällä. SQL injection -haavoittuvuuksien etsimiseen on olemassa useita ilmaisia työkaluja.

Merkkejä SQL injection -haavoittuvuuksien hyödyntämisyrityksistä voi etsiä esimerkiksi www-palvelimen lokeista. Tämä tapahtuu etsimällä lokista HTTP-pyyntöjä, joissa pyydetty URI sisältää yhden tai useampia seuraavista:

  • heittomerkki ja sen heksadesimaaliesitykset (', %27, ...)
  • perättäiset väliviiva-merkit (--)
  • "risuaita"-merkki ja sen heksadesimaaliesitykset (#, %23, ...)

Lisäksi varsinaisten SQL-komentojen (SELECT, UPDATE, ALTER, CREATE, INSERT, DROP, UNION jne.) ja loogisten operaattoreiden (AND, OR) esiintyminen voi olla merkki hyväksikäyttöyrityksistä. Myös puolipistettä (;, %3B, ...) voi etsiä, mutta niitä esiintyy usein myös täysin normaaleissa HTTP-kyselyissä. Uhan aiheuttavat merkit ja merkkijonot riippuvat käytetystä tietokantasovelluksesta, tietokannan rakenteesta ja nimeämiskäytännöistä. Etsittäessä merkkijonoja lokeista ei kannata tehdä eroa isojen ja pienten kirjainten välille. On myös hyvä huomioida, että tutkittavalla HTTP-palvelimella ajettavasta sovelluksesta riippuen osa löydöksistä saattaa olla vääriä hälytyksiä, mutta osaava ja palvelimella käytetyn sovelluksen tunteva ylläpitäjä tunnistaa nämä helposti.

Lisätietoa

Sivua päivitetty 09.11.2007   Tulostusversio Tulostusversio