Muujinta Joogtada ah ee DoS (ReDoS) waa khatar sii kordheysa gudaha amniga codsiga casriga ahMaadaama kooxo badan ay ku tiirsan yihiin xaqiijinta gelinta iyo isbarbardhigga qaababka, regex aan si fiican loo naqshadeyn ayaa soo bandhigi kara nuglaanta waxqabadka oo weeraryahannadu ay ka faa'iideysan karaan si ay u yareeyaan adeegyada ama ay u sababaan cillado. Xaqiiqdii, OWASP Waxay ReDoS ku tilmaamaysaa diidmo weerar adeeg oo ka faa'iidaysanaya xaqiiqda ah in hirgelinta regex badan ay noqon karto mid aad u gaabis ah, mararka qaarkoodna iyadoo waqtiga socodsiintu uu si aad ah u kordho marka la eego cabbirka gelinta.
Isla mar ahaantaana, weerarrada ReDoS ayaa si gaar ah khatar ugu ah daruuraha iyo kuwa aan daruuriga ahayn. CI/CDDeegaannada ay ku shaqeeyaan, halkaas oo hal nidaam oo nugul oo ku jira API, albaab, ama socodka xaqiijinta ay saameyn ku yeelan karto helitaanka baaxadda. Sababtan awgeed, kooxuhu waa inay ReDoS ula dhaqmaan sidii khatar helitaan oo dhab ah, oo aan ahayn kiis gees ah oo keliya.
Tan ugu muhiimsan, nuglaantani badanaa lama ogaan inta lagu jiro horumarinta, maadaama hababka dhaqameedku ay diiradda saaraan hab-raaca halkii ay ka ahaan lahaayeen dhaqanka fulinta. Natiijo ahaan, qaababka regex ee aan waxtarka lahayn si fudud ayay u gaari karaan wax soo saar iyagoon soo bandhigin wax digniin ah.
Halkani waa meesha ay ka soo galaan barnaamijyada casriga ah ee AppSec sida Xygeni. Iyagoo si toos ah u gelinaya hubinta amniga ee hawlaha horumarinta, waxay ka caawiyaan inay arrimahan hore u soo bandhigaan oo ay mudnaanta siiyaan khataraha dhab ahaantii la gaari karo oo saameyn leh, halkii ay si fudud u abuuri lahaayeen buuq badan.
Waa maxay ReDoS (DoS Muujinta Caadiga ah)?
ReDoS (Diidmada Muujinta Joogtada ah ee Adeegga) waa nuglaansho dhacda marka qaabka regex uu keeno dib-u-eegis xad-dhaaf ah, taasoo keenta waqti fulineed oo baaxad leh.
Si fudud, wax-soo-gelinta xaasidnimada leh waxay ku qasbi kartaa codsigaaga inuu waqti aad u badan ku bixiyo qiimeynta regex, xannibo nidaamka oo hoos u dhigo waxqabadka.
Tusaale ahaan, qaababka leh qiyaasaha buulka leh sida:
waxay noqon kartaa mid aan waxtar badan lahayn marka la farsameynayo wax-soo-gelinta qaarkood, gaar ahaan marka uu si ula kac ah u farsameeyo weeraryahan.
In kasta oo tani ay u ekaan karto kiis gees ah, haddana waa wax la yaab leh oo ku badan codsiyada adduunka dhabta ah, gaar ahaan macquulka ansaxinta, gelinta foomka, iyo maaraynta codsiyada API.
Sida Weerarrada ReDoS u Shaqeeyaan
Weerarka ReDoS uma baahna ka faa'iidaysi heer sare ah. Taa beddelkeeda, wuxuu si xun u adeegsadaa hab-dhaqanka matoorka regex ee la saadaalin karo.
Dib-u-eegis masiibo ah
Weerarku wuxuu bartilmaameedsadaa regex kaasoo qaadi kara waddooyin isku mid ah oo badan. Kadib waxay bixiyaan talooyin ku qasbaya matoorka inuu sahamiyo inta badan ama dhammaan waddooyinka.
Qoraalka waxaa sameeyay weeraryahanno
Weeraryahannadu badanaa waxay soo diraan:
- Xargo dhaadheer oo leh jilayaal soo noqnoqda.
- Wax soo gelin ah oo ku dhawaad isku mid ah, ka dibna ku guuldareysta dhammaadka.
- Culaysyada oo diiradda saaraya qaybta ugu mugdiga badan ee qaabka.
Hoosudhaca waxqabadka
Maadaama codsi kastaa uu gubi karo CPU-ga, saameyntu si dhakhso ah ayay u ururtaa:
- Daahitaan sare oo ka dhaca dhammaadka.
- Daal barkadda dunta.
- Goobaha loo yaqaan 'event watches' ee ku jira waqtiyada socodka hal-xidhka leh.
Weeraradani uma baahna ka faa'iidaysiyo adag. Taa beddelkeeda, waxay ka faa'iidaystaan iswaafajinta qaab-dhismeedka aan waxtarka lahayn, taasoo ka dhigaysa mid adag in la ogaado haddii qalabkaagu uu kaliya hubiyo hab-raaca ama CVE-yada la yaqaan.
Saamaynta Dhabta ah ee Nuglaanta ReDoS
ReDoS waxay ku dhufatay "A" saddex-geesoodka CIA: helitaanka. Waxay u ekaan kartaa arrin xasillooni darro ah, ee ma aha dhacdo amni, ilaa aad isku xirto dhibcaha.
Hoos u dhaca API-ga
Hal dhibic oo keliya oo adeegsata regex nugul ayaa kicin karta CPU inta lagu jiro xaqiijinta gelinta, codsiga marin-haweedka, ama hubinta oggolaanshaha.
Adeeggu ma shaqaynayo
Marka culaysku ku yar yahay, hotspot-ka ReDoS wuxuu ka dhigi karaa pods-ku inay dib u bilaabaan, hoos u dhigaan otomaatiga, iyo inay kiciyaan guuldarrooyinka cascading.
Daal kheyraad
ReDoS waxay isticmaali kartaa:
- CPU-ga ku yaal qanjidhada abka.
- Xusuusta oo ay ugu wacan tahay xaaladda dib-u-eegista.
- Mawduucyada shaqaalaha ee xannibaya codsiyada kale.
Maadaama ReDoS ay beegsato waxqabadka halkii ay ka beegsan lahayd soo-gaadhista xogta, kooxo badan ayaa dhayalsada saameynteeda. Si kastaba ha ahaatee, helitaanku waa qayb muhiim ah oo ka mid ah amniga codsiyada, carqaladeyntuna si dhakhso ah ayay u tarjumi kartaa khatar ganacsi.
Isbeddellada Jabinaya ayaa ah Dhibaatada Kalsoonida ee Dhabta ah
Marka horumariyayaashu ay yiraahdaan ma aaminsana autofix, waxay inta badan ula jeedaan hal shay oo aad u gaar ah: kuma kalsoona inay wax jabinayso.
Dhibaatadaas kalsoonida ayaa ugu muuqata hagaajinta ku tiirsanaanta.
Xirmo nugul ayaa laga yaabaa inay leedahay nooc la hagaajiyay oo la heli karo, laakiin taasi macnaheedu maaha in casriyeyntu ay ammaan tahay. Sii deynta la hagaajiyay waxay ka saari kartaa habka codsigaagu u isticmaalo. Waxay u beddeli kartaa API. Waxay adkeyn kartaa qandaraaska nooca. Waxay wax ka beddeli kartaa dhaqanka si ay uga gudubto tijaabooyinka cutubka laakiin waxay keentaa dib-u-dhac wax soo saar. Kooxo badan, kharashka dhabta ah ee hagaajinta ma aha isticmaalka balastar. Waxay baaraysaa radius-ka qaraxa.
Ka fiirso tusaale fudud oo Java ah. Saldhigga koodhka wuxuu ku xiran yahay maktabad halkaas oo hab caadi ah uu ka jiro nooca 1.x laakiin laga saaray nooca 2.x.
Weerarada ReDoS ee Adduunka Dhabta ah iyo Dhacdooyinka Amniga
ReDoS ma aha oo kaliya nuglaansho aragtiyeed. Waxaa laga faa'iidaystay codsiyada dhabta ah, taasoo saamaysay maktabadaha si ballaaran loo isticmaalo iyo nidaamyada wax soo saarka.
Waa kuwan tusaalooyin caan ah oo muujinaya saameynta qaababka regex ee aan waxtarka lahayn:
Nuglaanta Moment.js ReDoS
Mid ka mid ah nuglaanshayaasha ReDoS ee ugu caansan ee ay saameeyeen Daqiiqado.js, maktabad taariikheed oo JavaScript ah oo si weyn loo isticmaalo.
- Qaab regex ah oo si liidata loo qaabeeyey ayaa sababay dib-u-eegis xad dhaaf ah
- Weeraryahannadu waxay kicin karaan isticmaalka CPU-ga oo sarreeya iyagoo adeegsanaya gelinta la farsameeyay
- Codsiyada isticmaalaya Moment.js waxay noqdeen kuwo u nugul xaaladaha diidmada adeegga
Arrintani waxay muujisay sida xitaa maktabadaha la aamini karo ay u soo bandhigi karaan nuglaanta ku salaysan waxqabadka kumanaan codsiyo ah.
Maktabadda Xaqiijinta Node.js (validator.js)
Tusaale kale oo ku lug leh ansaxiyay.js, oo si caadi ah loogu isticmaalo xaqiijinta gelinta.
- Hawlaha ansixinta qaarkood waxay ku tiirsanaayeen nidaam aan waxtar lahayn
- Waxyaabaha xunxun ee la soo geliyo ayaa si weyn u dib u dhigi kara fulinta
- API-yadan iyo adeegyada dambe ee saameeyay waxay ku tiirsan yihiin xaqiijinta gelinta isticmaalaha
Maadaama validator.js si ballaaran loo isticmaalo, saameyntu waxay ku fidday codsiyo iyo adeegyo badan.
Cilad Daruureed (Guuldarro Ku Salaysan Regex)
Dhacdo caan ah oo ku lug leh Cloudflare, halkaas oo qaab regex oo cilladaysan uu sababay cillad weyn.
- Regex-ka la geeyay wax soo saarka ayaa kiciyay isticmaalka xad-dhaafka ah ee CPU-ga
- Nidaamyadu waxay noqdeen kuwo aan jawaab celin lahayn adduunka oo dhan
- Qaybo badan oo internetka ah ayaa si ku meel gaar ah loo saameeyay
Inkasta oo aysan ahayn weerar xaasidnimo ah, dhacdadani waxay si cad u muujinaysaa sida waxqabad la'aanta regex ay u yeelan karto cawaaqib dhab ah oo baaxad leh.
Maxay Qalabka Amniga Dhaqanka u Jecel Yihiin ReDoS
Kani waa qaybta beddelka sababtoo ah waxay sharraxaysaa farqiga ay dareemayaan kooxaha badankood: iskaan-qaadayaashu way shaqeeyaan, dashboards buuxsan, ReDoS-na wali wuu sii dhex maraa.
Qalabka taagan wuxuu diiradda saaraa hab-raaca
Iskaanno badan ayaa calaamadayn kara "qaababka khatarta ah ee regex," laakiin badanaa kalsooni kuma qabaan in qaabku si dhab ah looga faa'iidaysan karo xaaladdaada.
Ma jiro macnaha fulinta
ReDoS waxay ku saabsan tahay dhaqanka waqtiga socodsiinta. OWASP waxay xustay in hirgelinta regex badan ay gaari karto xaalado aad u daran oo ay si tartiib tartiib ah u shaqeyn karto, mararka qaarna si weyn ayay ula xiriirtaa cabbirka gelinta.
Haddii qalab uusan waligiis sabab u ahayn qaabka gelinta, xaaladaha guuldarada isku midka ah, ama waddooyinka fulinta, waxay seegi doontaa khatarta ama waxay kugu ridi doontaa natiijooyin been abuur ah.
Ma jiro falanqayn faa'iido-doon ah
Diiwaanka wuxuu noqon karaa "khatar aragtiyeed" laakiin aan la gaari karin ficil ahaan. Taas bedelkeeda, ansaxiye "yar" oo ku sugan meel dadweyne ah wuxuu noqon karaa dhacdo dhab ah. Iyada oo aan jirin macne, kooxuhu waxay iska indhatiraan digniinaha ama si xad dhaaf ah ayaa loo hagaajiyaa.
Iskaan-qaadayaasha dhaqameed badanaa way ku guuldareystaan inay ogaadaan ReDoS sababtoo ah ma qiimeeyaan sida regex u dhaqmo waqtiga socodsiinta ama xaaladaha gelinta xun. Halkan waa meesha aaladaha sida Xygeni ay farqi sameeyaan iyagoo isku daraya falanqaynta iyo Qiimaynta khatarta macnaha guud, ka caawinta kooxaha inay fahmaan in daciifnimadu dhab ahaantii la gaari karo oo saameyn leh.
Sida Loo Ogaado Nuglaanta ReDoS
Waxaad ku ogaan kartaa ReDoS isku darka anshaxa naqshadeynta iyo tijaabada. Intaa waxaa dheer, waxaad rabtaa hubinno si joogto ah u socda, oo aan ahayn oo keliya inta lagu jiro dib u eegista amniga.
Naqshad sugan oo regex ah
Ku bilow qaabab yareeya mugdiga. Iska ilaali qiyaasaha la dhex geliyay iyo beddellada is dulsaaran.
Fiiqid iyo tijaabin
Tijaabi qaababka regex-ka adigoo isticmaalaya:
- Wax soo gelin aad u dheer.
- Wax soo gelin ku dhow oo aan la hubin oo goor dambe dhaca.
- Calaamadaha soo noqnoqda ee loogu talagalay in lagu kiciyo dib-u-eegista.
Falanqaynta taagan
Isticmaal falanqayn si aad u calaamadiso dhismayaasha khatarta leh iyo qaababka la yaqaan ee la jaanqaadaya CWE-1333.
Xaqiijinta wakhtiga socodsiinta
Ku dabaq xadka dhererka gelinta iyo waqtiyada joojinta ee ku wareegsan qiimeynta regex marka ay suurtogal tahay. Hagaha Xaqiijinta Soo-gelinta ee OWASPe si cad uga digaya ReDoS waxayna iftiiminaysaa muhiimadda ay leedahay qeexidda dhererka ugu yar iyo kan ugu badan ee la geliyo.
Xalalka AppSec ee horumarsan sida Xygeni waxay dhaafsiisan yihiin ogaanshaha qaababka falanqaynta koodka macnaha guud ee shaqada iyo ka caawinta kooxaha inay diiradda saaraan arrimaha ugu muhiimsan xaaladaha dhabta ah, taas oo yaraynaysa waxyaabaha beenta ah ee wanaagsan isla markaana dedejinaysa hagaajinta.
Sida Looga Hortago Weerarada ReDoS
Ka hortaggu waa isku-darka qaabab ammaan ah, waxyaabo ammaan ah, iyo doorashooyin waqti-socod oo ammaan ah.
Iska ilaali qiyaasayaasha buulka ku jira
Ku celcelinta ku meel gaarka ah badanaa waxay abuurtaa qaraxyada ugu xun ee dib-u-eegista.
Xaddid cabbirka gelinta
Kani waa yareynta ugu fudud uguna kalsoonida badan. Deji xadka dhererka ugu badan ee wax soo gelinta ee dhex marta xaqiijinta regex. OWASP waxay iftiiminaysaa xadka dhererka oo ah qayb muhiim ah oo ka mid ah xaqiijinta gelinta badbaadada leh.
Isticmaal matoorada regex ee badbaadada leh halka ay suurtagal tahay
Markaad dooran karto matoorka, dooro mid loogu talagalay inuu ka fogaado dib-u-socod masiibo ah. RE2 ee Google waxaa loo dhigay beddel ammaan ah oo loogu talagalay matoorada regex ee gadaal u socda.
Xaqiiji waxyaabaha la soo geliyay iyadoo la adeegsanayo hubinno lakabaysan
Ha ku tiirsanaan hal regex si aad u hesho dhammaan xaqiijinta. Isku dar:
- liisaska loo oggol yahay jilayaasha,
- hubinta dhererka adag,
- iyo qaabab fudud goob kasta.
Ka hortagga ReDoS waxay u baahan tahay habraacyo codeyn oo ammaan ah iyo Xaqiijin joogto ah inta lagu jiro wareegga nolosha horumarinta, gaar ahaan marka codsiyada ay koraan oo ay ku tiirsanaadaan.
Sida Xygeni u Caawiso Oggaanshaha iyo Ka Hortagga ReDoS
Xygeni waxay ka caawisaa kooxaha DevSecOps inay ogaadaan oo ay ka hortagaan nuglaanta ReDoS iyagoo isku daraya lakabyo badan oo falanqayn ah.
Awoodaha muhiimka ah waxaa ka mid ah:
- Ogaanshaha qaababka regex ee nugul inta lagu jiro horumarinta
- Falanqaynta socodka xogta iyo waddooyinka fulinta
- Aqoonsiga nuglaanta la isticmaali karo, ee aan ahayn kuwa aragtiyeed oo keliya
- Is dhexgalka CI/CD pipelines si loo sameeyo sawir-qaadis joogto ah
- Tilmaamaha hagaajinta ee la fulin karo ee horumariyayaasha
Halkii ay kooxaha ka buuxin lahaayeen digniino, Xygeni wuxuu mudnaanta siinayaa dayacanka dhab ahaantii la gaari karo iyo saameyn leh.
Tani waxay u ogolaaneysaa kooxuhu inay si dhakhso leh u xalliyaan arrimaha dhabta ah, iyagoon hoos u dhigin horumarka.
Dhaqamada ugu Fiican ee Kooxaha DevSecOps
Amniga bidix-ka-baxsiga
Hubinta ReDoS ka dhig mid ka mid ah hab-raaca dib u eegista koodhka iyo imtixaanada cutubyada.
Iskaan toos ah
Ku samee jeegag mid kasta pull request Markaa khatarta regex ma sugeyso dib u eegis xilliyeed.
La soco ku tiirsanaanta
Nuglaanta Regex sidoo kale waxay ka muuqataa maktabadaha ku tiirsanaanta iyo wax soo saarka, markaa si adag u ilaali nadaafadda ku tiirsanaanta.
Si joogto ah u hubi waxyaabaha la soo geliyo
Ku dabaq xadka dhererka iyo xeerarka gelinta geesaha, ka dibna mar kale ku xaqiiji adeegyada muhiimka ah.
Iyadoo si toos ah amniga loogu gelinayo socodka shaqada ee horumarinta, kooxuhu waxay ka hortagi karaan nuglaanta ku salaysan waxqabadka sida ReDoS ka hor inta aysan gaarin wax soo saar.
Ka Hortagga ReDoS wuxuu ka bilaabmaa Aragti La'aan Hooska ah
ReDoS badanaa waa la iska indha tiraa, haddana waxay saameyn weyn ku yeelan kartaa waxqabadka codsiga iyo helitaanka. OWASP waxay ReDoS u qaabeysaa diidmo khatar adeeg oo ku salaysan dhaqanka waqtiga socodka ee regex ee xad dhaafka ah.
Taas macnaheedu waa inaad u baahan tahay wax ka badan sawir-qaadista aasaasiga ah. Waxaad u baahan tahay macnaha guud, mudnaanta, iyo otomaatiga.
Haddii aad ula dhaqanto regex sida koodhka oo kale oo ku dhici kara gelinta ay xakamayso weeraryahanku, waxaad hore u qaban doontaa ReDoS waxaadna soo diri doontaa nidaamyo ammaan ah. Iyada oo la adeegsanayo Xygeni, kooxuhu waxay yareyn karaan buuqa, waxay mudnaanta siin karaan khatarta dhabta ah, waxayna xoojin karaan kontaroolada AppSec gudaha CI/CD shaqeynaya.
Ugu Dambeyn
Nuglaanta ReDoS way fududahay in la soo bandhigo waana ay adag tahay in la ogaado iyada oo aan la helin macnaha saxda ah.
In kasta oo qalabka dhaqameedku uu diiradda saarayo aqoonsashada arrimaha, AppSec-ga casriga ah wuxuu u baahan yahay fahamka nuglaanta dhabta ah ee muhiimka ah.
Sidaa darteed, si ay u sii socdaan, kooxuhu waxay u baahan yihiin muuqaal, mudnaan, iyo otomaatig si ay u wada shaqeeyaan inta lagu jiro wareegga horumarka.
Halkan ayay Xygeni wax ka beddel ku samaysaa. Iyadoo diiradda la saarayo khataraha la isticmaali karo, waxay ka caawisaa kooxaha inay hore u ogaadaan arrimaha, yareeyaan buuqa, iyo inay sugaan codsiyada laga bilaabo horumarinta ilaa hawlgalinta.
Ugu dambeyntii, dhismaha software ammaan ah maanta waxay la macno tahay in laga gudbo sawir-qaadista iyo qaadashada hab macquul ah oo waqtiga dhabta ah ee amniga ah.
Bilow inaad dhisto codsiyo ammaan ah oo adkeysi leh oo leh ogaanshaha waqtiga-dhabta ah iyo amniga macnaha guud.
Su'aalaha Inta Badan La Is Weydiiyo (Su'aalo)
Waa maxay weerarka ReDoS?
Weerarka ReDoS (Diidmada Joogtada ah ee Adeegga) waa nooc ka mid ah nuglaanta halkaas oo qaababka regex ee aan waxtarka lahayn loo isticmaali karo si loo keeno waqti xad dhaaf ah oo farsamaynta ah, taasoo horseedaysa burburka waxqabadka ama shilalka codsiyada.
Maxay ReDoS khatar ugu tahay codsiyada casriga ah?
Weerarada ReDoS waxay saameyn karaan helitaanka codsiyada iyagoo isticmaalaya ilaha CPU-ga iyo hoos u dhigista adeegyada. Deegaannada daruuriga ah, tani waxay si dhakhso ah ugu gudbi kartaa arrimaha waxqabadka nidaamka oo dhan.
Sidee ayay horumariyayaashu uga hortagi karaan nuglaanta ReDoS?
Horumariyayaashu waxay ka hortagi karaan ReDoS iyagoo ka fogaanaya qaababka regex ee adag, xaddidaya cabbirka gelinta, isticmaalaya matoorada regex ee badbaadada leh, iyo isku-darka hubinta amniga. CI/CD pipelines.
Qalabka amniga ee dhaqameed ma ogaan karaan ReDoS?
Inta badan aaladaha dhaqameedku waxay ku dhibtoodaan inay ogaadaan ReDoS sababtoo ah ma falanqeeyaan dhaqanka waqtiga socodsiinta ama ka faa'iidaysiga. Xalalka AppSec ee horumarsan waxay bixiyaan ogaansho wanaagsan iyagoo qiimeynaya sida koodhku u shaqeeyo xaaladaha dhabta ah.
Sidee buu Xygeni uga caawiyaa ka hortagga weerarrada ReDoS?
Xygeni wuxuu ogaadaa qaababka regex ee nugul, wuxuu falanqeeyaa waddooyinka fulinta, wuxuuna mudnaanta siiyaa khataraha la isticmaali karo. Waxay ku dhex milmaysaa CI/CD pipelinewaxayna siisaa horumariyayaasha hagitaan wax ku ool ah oo wax ku ool ah.
About the Author
La-aasaasaha & CTO
Fatima Said Ku takhasusay waxyaabaha ugu horreeya ee horumariyaha ee AppSec, DevSecOps, iyo software supply chain securityWaxay calaamadaha amniga ee adag u beddeshaa hagitaan cad oo la fulin karo oo ka caawiya kooxaha inay si dhakhso leh u kala hormariyaan, u yareeyaan buuqa, una gudbiyaan kood ammaan ah.





