Pushdown Automata (PDA) çînek otomatan in ku ji bo naskirina zimanên bê çarenûs têne bikar anîn û ji hêla kapasîteya wan a karanîna stekê ve têne destnîşan kirin ku hejmareke bêsînor agahdarî hilînin. Ew di teoriya tevliheviya hesabkerî û teoriya zimanê fermî de têgehek bingehîn in. Dema ku PDA di serî de avahiyên teorîkî ne, prensîbên wan dikarin li ser pirsgirêkên pratîkî yên di warên cihêreng de, tevî ewlehiya sîber, werin sepandin.
Di warê ewlehiya sîber de, yek ji wan karên krîtîk analîzkirina seyrûsefera torê ye da ku qalibên ku dibe ku binpêkirinên ewlehiyê yên potansiyel nîşan bidin nas bikin. Ev vekolîna pakêtên daneyê yên ku li ser torgilokek diherikin vedihewîne da ku anomalî an îmzeyên ku dikarin çalakiya xirab pêşniyar bikin tespît bikin. Digel ku PDA bixwe rasterast di analîza seyrûsefera torê ya cîhana rastîn de nayê bikar anîn, çarçoweya wan a teorîkî dikare ji bo sêwirana algorîtmayên ku peywirên weha pêk tînin were sepandin.
Ji bo ku hûn fêm bikin ka PDA çawa dikare di vê çarçoveyê de were sepandin, pirsgirêka tespîtkirina qalibên taybetî yên di seyrûsefera torê de ku bi îmzeyên êrişê yên naskirî an behremendiya anormal re têkildar e binirxînin. Trafîka torê dikare wekî rêzek bûyer an sembolan were fikirîn, pir mîna rêzika têketinê ya otomatê. Di vê analojiyê de, PDA dikare were sêwirandin ku vê rêzê bişopîne û stûyê xwe bikar bîne da ku rewşa danişîna torê an kûrahiya protokolên hêlînê bişopîne, ku bi taybetî ji bo protokolên ku xwedan avahiyek vegerî ne, wekî HTTP an jî bikêr e. XML.
Mînakî, senaryoyek bifikirin ku analîstek ewlehiyê dixwaze êrişên derzîlêdana SQL di nav seyrûsefera HTTP de bibîne. Derzkirina SQL celebek êrîşê ye ku êrîşkar koda SQL-ya xerab di nav zeviyên têketina serîlêdanek webê de derdixe da ku databasa paşerojê manîpule bike. Di vê rewşê de, seyrûsefera HTTP-ê dikare wekî rêzek daxwaz û bersivên HTTP were dîtin, û peywir ev e ku meriv qalibên taybetî yên ku hewildanên derzîlêdana SQL destnîşan dikin nas bike.
PDA dikare were têgihîştin ku vê peywirê bi karanîna stakê xwe bikar bîne da ku kûrahiya daxwaz û bersivên HTTP-ya hêlkirî bi rê ve bibe û şopandina çarçoweya pirsên SQL bişopîne. Otomatîk dikare were sêwirandin da ku rêzikên ku bi qalibên derzîlêdana SQL-ya naskirî re têkildar in nas bike, wek mînak hebûna peyvên sereke yên SQL yên mîna "SELECT" an "DROP" li cîhên nediyar ên di nav bargiraniya HTTP de.
Pişka PDA-yê dikare were bikar anîn da ku parskirina sernav û laşê HTTP-ê simule bike, ku otomatê bihêle ku gava keywordek SQL di çarçoveyek ku ne hewce ye de xuya bibe nas bike. Mînakî, PDA dema ku ew têkeve çarçoveyek zeviya têketinê dikare nîşankerek bikişîne ser stikê û dema ku ew derkeve wê bişkîne. Ger dema ku stêk destnîşan dike ku otomatê di nav zeviyek têketinê de ye bi keywordek SQL re rû bi rû bimîne, ev dikare ji bo hewildanek potansiyela derzîlêdana SQL hişyariyek bide.
Ev nêzîkatî çend avantajên xwe hene. Bikaranîna stackê destûrê dide PDA-yê ku çarçoweya rêzika têketinê bi bîr bîne, ya ku ji bo naskirina qalibên ku bi strukturên têketinê ve girêdayî ne, wek nimûneyên hêlîn an vegerî, bingehîn e. Wekî din, çarçoveyek teorîkî ya PDA-yê ji bo sêwirandin û analîzkirina pêvajoya nasîna nimûneyê rêbazek fermî peyda dike, dabîn dike ku algorîtmaya vedîtinê hem saxlem û hem jî bêkêmasî ye bi rêzgirtina qalibên ku ew tê xwestin ku nas bike.
Girîng e ku were zanîn ku dema ku PDA modelek teorîkî ya bikêr peyda dike ji bo têgihiştina ka meriv çawa qalibên tevlihev di seyrûsefera torê de nas dike, pêkanînên rastîn ên di pergalên ewlehiya sîber de pir caran strukturên daneya pratîkî û algorîtmayên ku ji bo performans û mezinbûnê xweşbînkirî bikar tînin. Mînakî, otomatên bêdawî, vegotinên birêkûpêk, û rêzimanên bê-kontek bi gelemperî di pergalên vedîtina destdirêjiyê (IDS) û dîwarên serîlêdana malperê (WAF) de têne bikar anîn da ku nîşanên êrişê yên naskirî û behreyên nermalayî tespît bikin.
Di pratîkê de, têgînên ku ji PDA-yê têne derxistin bi gelemperî di çarçoveyên vedîtina anomalî ya berfireh de têne yek kirin ku gelek teknîkan, wek analîza statîstîkî, fêrbûna makîneyê, û tespîta-based îmzeyê bi hev re dikin yek. Van pergalan bi domdarî seyrûsefera torê dişopînin, daneyan ji bo qalibên naskirî analîz dikin, û bi fêrbûna ji behreyên çavdêriyê re li gorî xetereyên nû tevdigerin.
Dema ku Pushdown Automata di serî de avahiyek teorîkî ye, prensîbên wan dikarin ji bo sêwirana algorîtmayan ji bo analîzkirina seyrûsefera torê di ewlehiya sîber de bêne sepandin. Bi karanîna modela bîranîna-based stack-ê ya PDA-yan, pergalên ewlehiyê dikarin bi bandor qalibên tevlihev ên ku binpêkirinên potansiyel ên ewlehiyê nîşan didin, wekî êrîşên derzîlêdana SQL di seyrûsefera HTTP de nas bikin. Ev nêzîkatî bingehek fermî peyda dike ji bo sêwirana pergalên nasîna nimûneyên bihêz ên ku ji bo domandina ewlehî û yekbûna hawîrdorên torê yên nûjen bingehîn in.
Pirs û bersivên din ên vê dawiyê di derbarê EITC/IS/CCTF Bingehên Teoriya Tevliheviya Hesabkirinê:
- Bi berçavgirtina PDA-yên ne-determînîst, lihevkirina dewletan ji hêla pênasê ve gengaz e. Lêbelê, PDA-yên ne-determînîst tenê stekek heye ku nekare bi hevdemî di gelek dewletan de be. Ev çawa gengaz e?
- Wateya wê çi ye ku zimanek ji yê din bi hêztir e?
- Ma zimanên hesas ên kontekstê ji hêla Makîneya Turing ve têne nas kirin?
- Çima ziman U = 0^n1^n (n>=0) ne rêkûpêk e?
- Meriv çawa FSM rêzikên binary bi hêjmarên '1' yên zewac nas dike pênase bike û nîşan bide ku dema ku rêzika têketinê 1011 hildiweşîne çi diqewime?
- Nedetermînîzm çawa bandorê li fonksiyona veguherînê dike?
- Ma zimanên birêkûpêk bi Makîneyên Dewleta Dawî re hevwate ne?
- Ma pola PSPACE ne bi pola EXPSPACE re wekhev e?
- Li gorî Teza Church-Turing pirsgirêka ku ji hêla algorîtmîkî ve tê hesibandin pirsgirêkek e ku ji hêla Makîneyek Turing ve tê hesibandin?
- Taybetmendiya girtina zimanên birêkûpêk ên di bin hevgirtinê de çi ye? Makîneyên dewleta dawîn çawa li hev tên ku yekbûna zimanan bi du makîneyan tê naskirin temsîl bikin?
Pirs û bersivan bêtir li Bingehên Teoriya Tevliheviya Hesabkirinê ya EITC/IS/CCTF bibînin