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.

Asiasanat: Tietoturva , Tietoturva nyt!

LinkedIn Print

Yhteystiedot

logo

Viestintävirasto

Kyberturvallisuuskeskus

PL 313, 00181 Helsinki


Mediayhteydenotot puhelimitse 0295 390 248