Mikä on komentoinjektio?

Komentoinjektio on järjestelmän heikkouden hyödyntäminen päästäkseen järjestelmään haittakoodin suorittamista, käyttäjätietojen keräämistä ja muita toimintoja varten. Vaikka komentoinjektio voi olla luonteeltaan hyvänlaatuinen, se ei yleensä ole, ja se voi aiheuttaa merkittävän turvallisuusuhan. On olemassa useita kiertotapoja, jotka on suunniteltu estämään tämä toiminta tietokonejärjestelmissä.

Yksi yleisimmistä haavoittuvuuksista komennon ruiskuttamisessa on lomake joko verkkosivulla tai tietokonejärjestelmässä. Lomakkeiden avulla ihmiset voivat syöttää tietoja, ja järjestelmä käsittelee ne. Jos lomakkeeseen syötettyjen tietojen tyypille ei ole rajoituksia, ihmiset voivat syöttää tietokoneen koodin, jonka järjestelmä lukee ja suorittaa. Verkkosivujen lomakkeet voivat myös muuntaa syötteen näytettäväksi muille käyttäjille ja altistaa muut ihmiset myös koodille; esimerkiksi joku voi jättää haittaohjelman verkkosivuston kommentteihin.

Kun koodi suoritetaan, se voi esimerkiksi tarjota ihmisille pääsyn tietokonejärjestelmän taustajärjestelmään, mukaan lukien järjestelmänvalvojan käyttöoikeudet, ja saattaa myös istuttaa viruksia ja haittaohjelmia tietokonejärjestelmään. Komentoinjektiot voidaan suunnitella leviämään, kun tartunnan saaneet tietokoneet ovat vuorovaikutuksessa tartunnan saamattomien tietokoneiden kanssa verkon kautta. Ne voivat levitä hyvin nopeasti ja voivat aiheuttaa huomattavia vahinkoja matkan varrella.

Yksi tapa välttää komentojen injektio on suunnitella lomakkeet ja muut syötteet tavalla, joka rajoittaa ihmisten pääsyä sisään. Esimerkiksi Internet -kommenteissa käyttäjille ei todennäköisesti ole mitään oikeutettua syytä kirjoittaa skriptejä, ja kommenttilomake voi yksinkertaisesti hylätä komentosarjan ja sallia silti HTML -koodin merkinnän ja muotoilun. Samoin tietokoneohjelmassa syöttölomakkeet voivat kieltäytyä syöttämästä tiettyjä merkkejä estäen ihmisiä suorittamasta koodia lomakkeessa.

Komentoinjektion mahdollinen riski havaittiin ensimmäisen kerran 1990 -luvulla. Lukuisat suunnittelijat ovat ratkaisseet ongelman ja keksineet erilaisia ​​tapoja estää tai pysäyttää komentojen ruiskutushyökkäykset. Hakkerit ovat myös yrittäneet kehittää omia kiertotapojaan kehittämällä uusia ja luovia tapoja suorittaa koodia tietokonejärjestelmän heikkojen kohtien kautta. Jotkut ihmiset kehittävät uusia tekniikoita puhtaasti akateemisesta kiinnostuksesta ja aiheuttavat toisinaan tuhoa vahingossa, kun heidän tutkimuksensa pakenee niin sanotusti luontoon.