Ако постоји нешто што сајбер криминалци воле, то су подаци. Украдени подаци су веома вредни на илегалним тржиштима, а приступ приватним базама података може бити одличан начин за злонамерне актере да остваре профит од својих подухвата. Један од начина за приступ приватним подацима је путем СКЛ ињекције. Али шта је заправо СКЛ ињекција, како функционише и да ли се такав напад може спречити?
Шта је СКЛ ињекција?
Софтверски програми се ослањају на код да би функционисали. Код је такође језик који машине користе за обављање операција и може доћи у многим облицима (Питхон, ЈаваСцрипт, Ц++, итд.). Често путем кода сајбер криминалци могу напасти жртве, а СКЛ ињекције (или СКЛ-ови) се не разликују. Ово омогућава злонамерним актерима да „убризгају“ штетан код у СКЛ изјаву.
Хајде да прво погледамо шта значи СКЛ.
СКЛ је скраћеница од Струцтуред Куери Лангуаге.
Ово је друга врста програмског језика посебно се користи када се ради са базама података. Развијен 1970-их од стране ИБМ-а, СКЛ може да манипулише, складишти и преузима информације базе података. Многи комуникациони системи база података широм света користе СКЛ, тако да не чуди што су актери претњи смислили начине да га злоупотребе како би циљали базе података.СКЛ изрази чине кључни део комуникације базе података. СКЛ изјава је команда који долази у много различитих облика. Неки мењају податке, неки их преузимају или бришу, а неки могу променити структуру саме базе података. Када дође до СКЛ ињекције, злонамерни код се убацује у СКЛ наредбу.
Наравно, веб локација или апликација морају да користе СКЛ програмски језик да би СКЛ ињекција била могућа. Али како функционише овај вектор напада?
Рецимо да имате редовну линију кода коју користи апликација. Када сајбер криминалац убаци злонамерну СКЛ ињекцију, додаје се ред кода који може да омета упите које сама апликација шаље својој бази података. На тај начин база података се може искористити на начин који омогућава актеру претње да види податке којима иначе не би имао приступ.
Одавде би сајбер криминалац могао да украде податке да их директно експлоатише или продајте га на мрачном вебу или негде другде. Такође могу да мењају, додају или бришу податке из циљане базе података. У зависности од степена напада СКЛ ињекцијом, може се направити велика штета. Ако се приступи детаљима о плаћању, бројевима социјалног осигурања или другим врстама приватних података, многи људи би могли бити у опасности да буду искоришћавани.
С друге стране, ако нападач успе да значајно измени базу података, велики делови података могу бити трајно изгубљени. Све у свему, СКЛ ињекције могу уништити читаве базе података само једним нападом. Иако постоје од 1998. године, и даље су актуелне и опасне у данашње време.
Како је утврдио Отворите пројекат безбедности веб апликација (ОВАСП), 274.000 инстанци СКЛ ињекција идентификовано је приликом тестирања апликација на присуство таквог напада 2021. године.
Типови СКЛ ињекције
Постоји неколико различитих врста СКЛ ињекција, а главне три су слепе, унутарпојасне и ванпојасне ињекције.
Слепа (или инференцијална) СКЛ ињекција се дешава када апликацију или локацију нападне ињекције, али ХТТП (Хипертект Трансфер Протоцол) одговори не садрже резултат СКЛ упит. Другим речима, никакви подаци из нападнуте базе података се не дају сајбер криминалцу. Па, која је поента овога?
Користећи слепу СКЛ ињекцију, нападач шаље податке циљном серверу и онда може да уочи одређене ствари о бази података кроз природу самог ХТТП одговора. Поврх овога, фактори повезани са ХТТП одговором могу помоћи нападачу да креира још једну, ефикаснију СКЛ ињекцију за приступ бази података.
Постоје две кључне врсте слепих СКЛ ињекција, познате као временски засноване и логичке вредности. Ове две варијанте су прилично сличне по својој природи. И логичка и временски заснована СКЛ ињекција шаље низ питања са да или не одговорима, мада ће ово последње захтевати да база података мало сачека пре него што одговори на упите.
Следеће, ту су ин-банд СКЛ ињекције. Ин-банд СКЛ ињекције омогућавају оператеру да изврши напад и добије жељени резултат користећи исти канал. Ин-банд СКЛ ињекције се најчешће користе, једноставно зато што их је најлакше извести због чињенице да им је потребан само један канал.
На крају, имате СКЛ ињекцију ван опсега. Ово је у суштини алтернативна верзија ин-банд СКЛ ињекције, при чему нападач не може да изврши напад у целини користећи само један канал. Алтернативно, напад ће можда морати да прибегне СКЛ ињекцији ван опсега ако циљни сервер једноставно није довољно брз да пружи резултате.
Ови фактори чине процес мало тежим, што значи да се за успех мора ослањати на одређене функције да би био активан у циљаној бази података. На пример, платформа која је нападнута мора да има недостатак дезинфекције улаза. Због тога су ин-банд СКЛ ињекције далеко чешће него ванпојасни СКЛ ињекције. Али оне се ипак дешавају.
Да ли се СКЛ ињекције могу избећи?
СКЛ ињекције више забрињавају предузећа и организације него обичне појединце. Али постоје ствари које ове потенцијалне мете могу учинити да смање шансе да буду погођене таквим нападом.
Санитизација уноса је кључна уобичајена пракса за избегавање СКЛ ињекција. Ово је процес филтрирања који скенира и чисти унос опасних знакова. Ако се СКЛ код обради пре дезинфекције, шанса за СКЛ ињекцију ће се природно повећати.
Поред тога, параметризовани упити вам могу помоћи да се клоните СКЛ ињекција. Ово су упити који захтевају најмање један параметар за извршење. Примена параметара отежава сајбер криминалцима да успешно изврше напад СКЛ ињекцијом.
Али не постоји сигуран начин да се спречи СКЛ ињекција. Као што је случај са многим сајбер нападима, прилично је немогуће држати своје уређаје и системе потпуно херметички затвореним. Када је реч о СКЛ ињекцијама, најбоље што можете да урадите је да очистите све улазе и успоставите параметризоване упите.
СКЛ ињекције су застареле, али и даље представљају претњу
Иако СКЛ ињекције постоје већ више од 20 година, оне и даље представљају ризик за многе веб локације и апликације. Зато је добра идеја да овај облик напада имате на уму и предузмете неопходне кораке да покушате да га спречите, јер би могао да представља претњу вашим базама података у неком тренутку у будућности.