Što je naredbena injekcija?

Injekcija naredbe je iskorištavanje slabosti sustava za dobivanje pristupa sustavu u svrhu izvršavanja zlonamjernog koda, prikupljanja korisničkih podataka i uključivanja u druge aktivnosti. Iako postoji mogućnost da injekcija naredbe bude benigna po prirodi, obično nije i može predstavljati značajnu sigurnosnu prijetnju. Postoji niz zaobilaznih rješenja osmišljenih kako bi se spriječila ova aktivnost u računalnim sustavima.

Jedna od najčešćih točaka ranjivosti za injekciju naredbe je obrazac, bilo na web stranici ili u računalnom sustavu. Obrasci omogućuju ljudima da unose podatke, a zatim ih sustav obrađuje. Ako nema ograničenja za vrstu podataka unesenih u obrazac, moguće je da ljudi unesu računalni kod koji će sustav pročitati i izvršiti. Obrasci na web stranicama također mogu pretvoriti unos za prikaz drugim korisnicima, izlažući i druge ljude kodu; na primjer, netko bi mogao ostaviti zlonamjernu skriptu u komentarima na web stranici.

Kada se kod izvrši, može činiti stvari kao što je pružanje pristupa pozadine računalnog sustava, uključujući administrativni pristup, a također može ubaciti viruse i zlonamjerni softver u računalni sustav. Injekcije naredbi mogu biti dizajnirane da se šire, budući da zaražena računala komuniciraju s neinficiranim računalima putem mreže. Mogu se vrlo brzo širiti i usput uzrokovati značajnu štetu.

Jedan od načina da se izbjegne injekcija naredbe je dizajn obrazaca i drugih unosa na način dizajniran da ograniči ono što ljudi mogu unijeti. Na internetskim komentarima, na primjer, vjerojatno ne bi postojao legitiman razlog da korisnici unose skripte, a obrazac za komentar mogao bi jednostavno odbiti skriptu, dok bi i dalje dopuštao HTML za označavanje i oblikovanje. Isto tako, u računalnim programima, obrasci za unos mogu odbiti unos određenih znakova, sprječavajući ljude da izvrše kod u obrascu.

Potencijalni rizik koji predstavlja zapovjedna injekcija prvi je put zabilježen 1990-ih. Brojni dizajneri su se uhvatili u koštac s problemom i smislili različite načine za sprječavanje ili zaustavljanje napada ubrizgavanjem naredbi. Hakeri su također pokušali razviti vlastita rješenja, razvijajući nove i kreativne načine izvršavanja koda kroz slabe točke računalnog sustava. Neki ljudi razvijaju nove tehnike iz čisto akademskog interesa i povremeno prave pustoš slučajno kada njihovo istraživanje, da tako kažem, pobjegne u divljinu.