Regular Expression DoS (ReDoS) ke kotsi e ntseng e hola ka hare ho tshireletso ea lisebelisoa tsa sejoale-joale. Ha lihlopha tse ngata li itšetlehile ka netefatso ea ho kenya le ho bapisa mekhoa, regex e entsoeng hampe e ka hlahisa bofokoli ba ts'ebetso boo bahlaseli ba ka bo sebelisang ho liehisa lits'ebeletso kapa ho baka ho tima ha lits'ebeletso. Ha e le hantle, OWASP e hlalosa ReDoS e le tlhaselo ea ho hana tšebeletso e sebelisang taba ea hore lits'ebetso tse ngata tsa regex li ka lieha haholo, ka linako tse ling ka nako ea ts'ebetso e holang ka potlako ka boholo ba ho kenya.
Ka nako e ts'oanang, litlhaselo tsa ReDoS li kotsi haholo libakeng tse nang le maru le CI/CDditikoloho tse tsamaiswang ke di-resource, moo regex e le nngwe e kotsing ho API, gateway, kapa phallo ya netefatso e ka amang ho fumaneha ha di-resource ka tekanyo. Ka lebaka lena, dihlopha di lokela ho tshwara ReDoS e le kotsi ya ho fumaneha ha di-resource, e seng feela taba ya bohlokwa.
Habohlokoa le ho feta, bofokodi bona hangata bo lula bo sa lemohuoe nakong ea nts'etsopele, kaha mekhoa ea setso e shebana le mokhoa oa ho ngola ho fapana le boitšoaro ba ho phethahatsa. Ka lebaka leo, mekhoa e sa sebetseng hantle ea regex e ka fihlella tlhahiso habonolo ntle le ho hlahisa litemoso.
Mona ke moo li-platform tsa sejoale-joale tsa AppSec tse kang Xygeni li sebetsang teng. Ka ho kenya liteko tsa ts'ireletso ka kotloloho mesebetsing ea nts'etsopele, li thusa ho totobatsa mathata ana esale pele le ho beha pele likotsi tse ka fihlellehang le tse nang le tšusumetso, ho e-na le ho hlahisa lerata le eketsehileng.
ReDoS (Regular Expression DoS) ke Eng?
ReDoS (Kameho ea ho Latola Tšebeletso ea Kamehla) ke bofokoli bo hlahang ha paterone ea regex e baka ho khutlela morao ho feteletseng, e leng se lebisang nakong ea ts'ebetso ea exponential.
Ka mantsoe a bonolo, ho kenya ntho e kotsi ho ka qobella sesebelisoa sa hau ho qeta nako e ngata haholo ho lekola regex, ho thibela sistimi le ho theola ts'ebetso.
Mohlala, dipaterone tse nang le di-quantifiers tse nang le sehla tse kang:
e ka ba e sa sebetseng hantle haholo ha ho sebetsoa di-input tse itseng, haholoholo ha e etswa ka boomo ke mohlaseli.
Leha sena se ka bonahala e le nyeoe e mpe, se tloaelehile ka mokhoa o makatsang lits'ebetsong tsa lefats'e la nnete, haholo-holo ho netefatso ea netefatso, li-input tsa foromo, le ts'ebetso ea likopo tsa API.
Kamoo Litlhaselo tsa ReDoS li Sebetsang Kateng
Tlhaselo ea ReDoS ha e hloke tšebeliso e tsoetseng pele. Ho e-na le hoo, e sebelisa hampe boitšoaro ba enjene ea regex bo ka boleloang esale pele.
Ho khutlela morao ka tlokotsi
Mohlaseli o shebana le regex e ka nkang litsela tse ngata tse tšoanang. Ebe ba fana ka tlhahiso e qobellang enjene ho hlahloba litsela tse ngata kapa tsohle.
Kenyelletso e entsoeng ke bahlaseli
Bahlaseli hangata ba romela:
- Likhoele tse telele tse nang le litlhaku tse pheta-phetoang.
- Litlhahiso tse batlang li tšoana, ebe lia hloleha qetellong.
- Mejaro e mengata e shebaneng le karolo e sa hlakang ka ho fetisisa ea paterone.
Ho senyeha ha ts'ebetso
Hobane kopo e 'ngoe le e 'ngoe e ka chesa CPU, phello e bokellana kapele:
- Ho lieha ho hoholo ho pholletsa le li-endpoints.
- Ho khathala ha letamo la khoele.
- Li-loop tsa liketsahalo lia ema ka nako ea ts'ebetso e nang le khoele e le 'ngoe.
Litlhaselo tsena ha li hloke mekhoa e rarahaneng. Ho e-na le hoo, li sebelisa monyetla oa ho bapisa mekhoa e sa sebetseng hantle, e leng se etsang hore ho be thata ho li bona haeba lisebelisoa tsa hau li hlahloba feela mokhoa oa ho ngola kapa li-CVE tse tsejoang.
Tšusumetso ea Lefatše la Sebele ea Likotsi tsa ReDoS
ReDoS e fihla ho "A" ho CIA triad: ho fumaneha. E ka shebahala joaloka bothata ba botsitso, eseng ketsahalo ea ts'ireletso, ho fihlela u hokahanya lintlha.
Ho fokotseha ha API
Sebaka se le seng sa ho qetela se sebelisang regex e kotsing se ka eketsa CPU nakong ea netefatso ea ho kenya, ho tsamaisa kopo, kapa ho hlahloba tumello.
Ho tima ha tšebeletso
Ha e ntse e jarisoa, sebaka sa hotspot sa ReDoS se ka etsa hore li-pod li qale hape, sa senya ho lekanngoa ha li-autoscaling, 'me sa baka ho hloleha ha ho phatloha ha li-cascading.
Ho felloa ke lisebelisoa
ReDoS e ka sebelisa:
- CPU ho li-node tsa app.
- Memori e bakoa ke boemo ba ho khutlela morao.
- Likhoele tsa basebetsi tse thibelang likopo tse ling.
Kaha ReDoS e shebane le tshebetso ho ena le ho pepesehela data, dihlopha tse ngata di nyenyefatsa tshusumetso ya yona. Leha ho le jwalo, ho fumaneha ha yona ke karolo ya bohlokwa ya tshireletso ya tshebediso, mme ditshitiso di ka fetoha kotsi ya kgwebo kapele.
Bothata ba ho Roba Liphetoho ke ho Tšepana ha Sebele
Ha bahlahisi ba re ha ba tšepe autofix, hangata ba bolela ntho e le 'ngoe e tobileng haholo: ha ba tšepe hore e ke ke ea roba ntho e itseng.
Bothata boo ba ho tšepana bo bonahala haholo tokisong ea ho itšetleha.
Sephutheloana se kotsing se ka 'na sa ba le mofuta o patiloeng, empa seo ha se bolele hore ntlafatso e bolokehile. Tokollo e patiloeng e ka tlosa mokhoa oo sesebelisoa sa hau se o sebelisang. E ka 'na ea reha API lebitso le lecha. E ka 'na ea tiisa konteraka ea mofuta. E ka fetola boitšoaro ka tsela e fetang liteko tsa yuniti empa e baka ho khutlela morao ha tlhahiso. Lihlopheng tse ngata, litšenyehelo tsa 'nete tsa tokiso ha se ho sebelisa patch. E ntse e batlisisa radius ea ho phatloha.
Nahana ka mohlala o bonolo ho Java. Khoutu e itshetlehile ka laeborari moo mokhoa o tlwaelehileng o leng teng ho mofuta wa 1.x empa o tloswa ho mofuta wa 2.x.
Litlhaselo tsa ReDoS tsa Lefatše la 'Nete le Liketsahalo tsa Tšireletso
ReDoS ha se feela bofokodi ba khopolo-taba. E sebelisitsoe hampe lits'ebetsong tsa lefats'e la nnete, e ama lilaeborari le litsamaiso tsa tlhahiso tse sebelisoang haholo.
Mehlala e meng e hlahelletseng e totobatsang tšusumetso ea mekhoa e sa sebetseng hantle ea regex ke ena:
Bofokoli ba Moment.js ReDoS
E 'ngoe ea bofokoli bo tsebahalang haholo ba ReDoS bo amehileng Moment.js, laeborari ea matsatsi ea JavaScript e sebelisoang haholo.
- Mokhoa o sa hlophisoang hantle oa regex o bakile ho khutlela morao ho feteletseng
- Bahlaseli ba ka baka tšebeliso e phahameng ea CPU ka ho kenya lintho ka mokhoa o entsoeng ka boqhetseke
- Lisebelisoa tse sebelisang Moment.js li ile tsa ba kotsing ea maemo a ho haneloa ha tšebeletso
Kgatiso ena e bontshitse kamoo esita le dilaeborari tse tshepahalang di ka hlahisang bofokodi bo itshetlehileng hodima tshebetso ka hara ditshebediso tse dikete.
Laeborari ea Netefatso ea Node.js (validator.js)
Mohlala o mong o kenyeletsa validator.js, e sebediswang hangata bakeng sa netefatso ya ho kenya.
- Mesebetsi e meng ea netefatso e ne e itšetlehile ka regex e sa sebetseng hantle
- Lintho tse kenang hampe li ka liehisa ts'ebetso haholo
- Sena se amme li-API le lits'ebeletso tsa morao tse itšetlehileng ka netefatso ea ho kenya ha basebelisi
Ka lebaka la hore validator.js e sebelisoa haholo, tšusumetso e atolohile ho pholletsa le lits'ebetso le lits'ebeletso tse ngata.
Ho tima ha Cloudflare (Ho hloleha ho Thehiloeng ho Regex)
Ketsahalo e hlahelletseng e amehang Cloudflare, moo paterone e fosahetseng ea regex e bakileng ho tima ho hoholo ha data.
- Regex e kentsoeng tlhahisong e bakile tšebeliso e feteletseng ea CPU
- Litsamaiso li fetohile tse sa arabeleng lefatšeng ka bophara
- Likarolo tse kholo tsa inthanete li ile tsa angoa ka nakoana
Leha e se tlhaselo e mpe, ketsahalo ena e bontša ka ho hlaka kamoo ho se sebetse hantle ha regex ho ka bang le liphello tse mpe lefatšeng la sebele ka tekanyo e kholo.
Hobaneng ha Lisebelisoa tsa Tshireletso tsa Setso li Hloka ReDoS
Ena ke karolo ea phetoho hobane e hlalosa lekhalo leo lihlopha tse ngata li le utloang: li-scanner lia sebetsa, dashboardtlala, 'me ReDoS e ntse e hloleha.
Lisebelisoa tse sa fetoheng li shebane le mokhoa oa ho fetolela mantsoe
Li-scanner tse ngata li ka tšoaea "lipaterone tse kotsi tsa regex," empa hangata ha li na kholiseho ea hore na paterone e ka sebelisoa hampe moelelong oa hau.
Ha ho na moelelo oa ts'ebetso
ReDoS e bua ka boits'oaro ba nako ea ts'ebetso. OWASP e hlokomela hore lits'ebetso tse ngata tsa regex li ka fihlela maemo a feteletseng 'me tsa sebetsa butle haholo, ka linako tse ling li amana ka ho hlaka le boholo ba ho kenya.
Haeba sesebelisoa se sa nahane ka sebopeho sa ho kenya, maemo a ho hloleha ha papiso, kapa litsela tsa ho phethahatsa, se tla fosa kotsi kapa se u tetebetse maikutlong a fosahetseng.
Ha ho tlhahlobo ea tšebeliso e mpe
Regex e ka ba "kotsi ka khopolo-taba" empa e ke ke ea fihlelleha ha e sebelisoa. Ka lehlakoreng le leng, netefatsi e "nyane" sebakeng sa sechaba e ka ba ketsahalo ea 'nete. Ntle le moelelo, lihlopha li hlokomoloha litemoso kapa li lokisa ho feta tekano.
Hangata di-scanner tsa setso di hloleha ho lemoha ReDoS hobane ha di hlahlobe hore na regex e itshwara jwang nakong ya tshebetso kapa tlasa maemo a kotsi a ho kenya. Mona ke moo di-platform tse kang Xygeni di etsang phapang ka ho kopanya tlhahlobo le tlhahlobo ea kotsi ea moelelo, ho thusa lihlopha ho utloisisa hore na bofokoli bo ka fihlelleha le hore na bo na le tšusumetso.
Mokhoa oa ho Fumana Bofokoli ba ReDoS
O ka lemoha ReDoS ka motswako wa taeo ya moralo le diteko. Ho phaella moo, o batla diteko tse sebetsang ka ho tswela pele, eseng feela nakong ya tlhahlobo ya tshireletso.
Moralo o sireletsehileng oa regex
Qala ka dipaterone tse fokotsang ho se hlaka. Qoba di-quantifiers tse nang le dihlopha tse nang le dihlopha tse fapaneng le tse ding tse tshwanang.
Ho fuzzing le ho leka
Leka mekhoa ea regex ka:
- Litlhaloso tse telele haholo.
- Litlhahiso tse batlang li sa sebetse hantle tse hlolehang morao.
- Li-tokens tse phetoang tse etselitsoeng ho qala ho khutlela morao.
Tlhahlobo e tsitsitseng
Sebelisa tlhahlobo e tšoaeang meaho le dipaterone tse tsebahalang tse kotsi tse tsamaellanang le CWE-1333.
Netefatso ea nako ea ts'ebetso
Sebelisa meeli ea bolelele ba ho kenya le linako tsa ho tima ho potoloha tlhahlobo ea regex ha ho khoneha. Tataiso ea Netefatso ea ho Kena ea OWASPe lemosa ka ho hlaka ka ReDoS mme e totobatsa bohlokwa ba ho hlalosa bolelele bo bonyane le bo boholo ba ho kenya.
Litharollo tse tsoetseng pele tsa AppSec tse kang Xygeni li feta ho lemoha lipaterone ka ho sekaseka khoutu moelelong oa mosebetsi le ho thusa lihlopha ho tsepamisa maikutlo mathateng a ka bang bohlokoa maemong a sebele, e leng se fokotsang lintho tse fosahetseng le ho potlakisa tokiso.
Mokhoa oa ho Thibela Litlhaselo tsa ReDoS
Thibelo ke motsoako oa mekhoa e sireletsehileng, lintho tse kenang tse sireletsehileng, le likhetho tse sireletsehileng tsa nako ea ho sebetsa.
Qoba li-quantifiers tse nang le sehlaha
Ho pheta-pheta ha sehlaha hangata ho baka ho phatloha ho hobe ka ho fetisisa ho kgutlelang morao.
Fokotsa boholo ba ho kenya
Ena ke phokotso e bonolo le e tšepahalang ka ho fetisisa. Beha meeli e phahameng ka ho fetisisa ea bolelele bakeng sa li-input tse fetang netefatsong ea regex. OWASP e totobatsa meeli ea bolelele e le karolo ea bohlokoa ea netefatso e sireletsehileng ea ho kenya.
Sebelisa lienjine tse sireletsehileng tsa regex moo ho khonehang
Ha o ka kgetha enjene, kgetha e etselitsoeng ho qoba ho kgutlela morao ka kotsi. RE2 ea Google e behiloe e le mokhoa o sireletsehileng oa ho sebelisa lienjine tsa regex tse khutlisetsang morao.
Netefatsa lintho tse kentsweng ka ho hlahloba ka mekhahlelo
Se ke oa itšetleha ka regex e le 'ngoe bakeng sa netefatso eohle. Kopanya:
- Manane a tumello bakeng sa batho,
- liteko tse tiileng tsa bolelele,
- le dipaterone tse bonolo ka tshimo.
Ho thibela ReDoS ho hloka mekhoa e sireletsehileng ea ho ngola khoutu le netefatso e tsoelang pele ho pholletsa le potoloho ea bophelo ba nts'etsopele, haholo-holo ha boholo ba lits'ebetso le litšebelisano li ntse li hola.
Kamoo Xygeni e Thusang ho Fumana le ho Thibela ReDoS
Xygeni e thusa lihlopha tsa DevSecOps ho lemoha le ho thibela bofokoli ba ReDoS ka ho kopanya mekhahlelo e mengata ea tlhahlobo.
Bokhoni ba bohlokoa bo kenyelletsa:
- Ho lemoha mekhoa ea regex e kotsing nakong ea nts'etsopele
- Tlhahlobo ea phallo ea data le litsela tsa ts'ebetso
- Ho tsebahatsa bofokoli bo ka sebelisoang hampe, eseng feela ba khopolo-taba
- Kopanyo ho CI/CD pipelines bakeng sa ho skena ho tsoelang pele
- Tataiso ea tokiso e ka sebelisoang bakeng sa bahlahisi
Ho ena le ho imetsa lihlopha ka litemoso, Xygeni e etelletsa pele bofokoli boo ehlile bo ka fihlellehang le e nang le tšusumetso.
Sena se dumella dihlopha ho lokisa mathata a sebele kapele, ntle le ho diehisa ntshetsopele.
Mekhoa e Molemohali bakeng sa Lihlopha tsa DevSecOps
Tšireletso ea Shift-left
Etsa hore diteko tsa ReDoS e be karolo ya mokgwa o tshwanang le wa tlhahlobo ya khoutu le diteko tsa yuniti.
Ho skena ka bohona
Etsa litlhahlobo nako le nako pull request kahoo kotsi ea regex ha e emele litlhahlobo tsa nako le nako.
Litekanyetso tsa ho beha leihlo
Bofokodi ba Regex bo boetse bo hlaha lilaebraring tsa ho itšetleha le ho hlahloba tse kenang, kahoo boloka bohloeki ba ho itšetleha bo tiile.
Netefatsa lintho tse kenang ka ho tsoelang pele
Sebelisa meeli ea bolelele le melao ea ho kenya mathōkong, ebe u netefatsa hape ka har'a lits'ebeletso tsa bohlokoa.
Ka ho kenya ts'ireletso ka kotloloho mesebetsing ea nts'etsopele, lihlopha li ka thibela bofokoli bo thehiloeng ts'ebetsong joalo ka ReDoS pele li fihla tlhahisong.
Thibelo ea ReDoS e Qala ka Ponahalo e se Nang Moriti
Hangata ReDoS e hlokomolohuoa, empa e ka ba le tshusumetso e kgolo tshebetsong ya tshebediso le ho fumaneha ha yona. OWASP e hlalosa ReDoS e le kotsi ya ho hana tshebeletso e thehilweng boitshwarong bo feteletseng ba nako ya tshebetso ya regex.
Seo se bolela hore o hloka ho feta ho skena ha motheo. O hloka moelelo, ho beha lintho pele, le ho iketsetsa.
Haeba o tšoara regex joalo ka khoutu e ka hlolehang tlas'a tlhahiso e laoloang ke bahlaseli, o tla tšoara ReDoS esale pele 'me o romelle litsamaiso tse sireletsehileng. Ka Xygeni, lihlopha li ka fokotsa lerata, tsa beha kotsi ea 'nete pele, le ho matlafatsa litaolo tsa AppSec kahare. CI/CD workflows.
fihlela qeto e
Bofokodi ba ReDoS bo bonolo ho bo hlahisa mme ho thata ho bo lemoha ntle le moelelo o nepahetseng.
Leha disebediswa tsa setso di shebane le ho hlwaya mathata, AppSec ya sejwalejwale e hloka ho utlwisisa hore na ke bofokodi bofe bo hlileng bo leng bohlokwa.
Ka hona, hore lihlopha li lule li le pele, li hloka ponahalo, ho beha lintho pele, le boiketsetso li sebetsa 'moho ho pholletsa le potoloho ea bophelo ba nts'etsopele.
Mona ke moo Xygeni e etsang phapang. Ka ho tsepamisa maikutlo likotsing tse ka sebelisoang hampe, e thusa lihlopha ho lemoha mathata esale pele, ho fokotsa lerata, le ho sireletsa lits'ebetso ho tloha nts'etsopele ho ea ho ts'ebetsong.
Qetellong, ho aha software e sireletsehileng kajeno ho bolela ho feta ho skena le ho amohela mokhoa oa ts'ireletso o sebelisoang ka nako ea sebele.
Qala ho aha lits'ebetso tse sireletsehileng le tse tiileng ka ho lemoha ka nako ea sebele le tšireletso ea moelelo.
Lipotso Tse Atisang ho Botsoa (FAQ)
Tlhaselo ea ReDoS ke eng?
Tlhaselo ea ReDoS (Regular Expression Denial of Service) ke mofuta oa bofokoli moo mekhoa ea regex e sa sebetseng hantle e ka sebelisoang hampe ho baka nako e ngata ea ts'ebetso, e leng se lebisang ho senyeha ha ts'ebetso kapa ho senyeha ha ts'ebeliso.
Ke hobane'ng ha ReDoS e le kotsi lits'ebetsong tsa sejoale-joale?
Litlhaselo tsa ReDoS li ka ama ho fumaneha ha lits'ebetso ka ho sebelisa lisebelisoa tsa CPU le ho liehisa lits'ebeletso. Libakeng tse fumanehang marung, sena se ka mpefala kapele ho ba mathata a ts'ebetso ea sistimi ka bophara.
Bahlahisi ba ka thibela bofokoli ba ReDoS joang?
Bahlahisi ba ka thibela ReDoS ka ho qoba mekhoa e rarahaneng ea regex, ho fokotsa boholo ba ho kenya, ho sebelisa lienjineri tse sireletsehileng tsa regex, le ho kopanya liteko tsa ts'ireletso ho CI/CD pipelines.
Na lisebelisoa tsa ts'ireletso tsa setso li ka lemoha ReDoS?
Lisebelisoa tse ngata tsa setso li thatafalloa ho lemoha ReDoS hobane ha li sekaseke boitšoaro ba nako ea ts'ebetso kapa ho sebelisoa hampe. Litharollo tse tsoetseng pele tsa AppSec li fana ka temoho e betere ka ho lekola hore na khoutu e sebetsa joang maemong a nnete.
Xygeni e thusa joang ho thibela litlhaselo tsa ReDoS?
Xygeni e lemoha mekhoa ea regex e kotsing, e sekaseka litsela tsa ts'ebetso, 'me e beha pele likotsi tse ka sebelisoang hampe. E kenella ho CI/CD pipelines mme e fana ka tataiso e ka sebelisoang ho bahlahisi bakeng sa tokiso.
About Mongoli
Mothehi-'moho le CTO
Fatima Said e ikhethile ka litaba tsa pele tsa moqapi bakeng sa AppSec, DevSecOps, le software supply chain securityO fetola matshwao a rarahaneng a tshireletso hore e be tataiso e hlakileng, e sebetsang e thusang dihlopha ho beha dintho pele ka potlako, ho fokotsa lerata le ho romela khoutu e bolokehileng.





