വീണ്ടും ചെയ്യുക

ReDoS വിശദീകരിച്ചു: റെഗുലർ എക്സ്പ്രഷൻ DoS എന്താണെന്നും അത് എങ്ങനെ തടയാമെന്നും

ഉള്ളടക്ക പട്ടിക

നിർബന്ധമായും വായിക്കേണ്ട പോസ്റ്റുകൾ

താൽപ്പര്യമുള്ള ഏറ്റവും പുതിയ പോസ്റ്റുകൾ

റെഗുലർ എക്സ്പ്രഷൻ DoS (ReDoS) വർദ്ധിച്ചുവരുന്ന ഒരു അപകടസാധ്യതയാണ് ആധുനിക ആപ്ലിക്കേഷൻ സുരക്ഷ. കൂടുതൽ ടീമുകൾ ഇൻപുട്ട് വാലിഡേഷനെയും പാറ്റേൺ മാച്ചിംഗിനെയും ആശ്രയിക്കുന്നതിനാൽ, മോശമായി രൂപകൽപ്പന ചെയ്‌ത ഒരു റീജെക്‌സ് പ്രകടനത്തിലെ ദുർബലതകൾക്ക് കാരണമാകും, ഇത് ആക്രമണകാരികൾക്ക് സേവനങ്ങളെ മന്ദഗതിയിലാക്കാനോ തടസ്സങ്ങൾ സൃഷ്ടിക്കാനോ ഉപയോഗിക്കാം. വാസ്തവത്തിൽ, OWASP പല regex ഇംപ്ലിമെന്റേഷനുകളും വളരെ മന്ദഗതിയിലാകാമെന്ന വസ്തുത ചൂഷണം ചെയ്യുന്ന ഒരു സേവന നിഷേധ ആക്രമണമായാണ് ReDoS നെ വിശേഷിപ്പിക്കുന്നത്, ചിലപ്പോൾ ഇൻപുട്ട് വലുപ്പത്തിനനുസരിച്ച് റൺടൈം ഗണ്യമായി വർദ്ധിക്കും.

അതേസമയം, ക്ലൗഡ്-നേറ്റീവ് മേഖലകളിൽ ReDoS ആക്രമണങ്ങൾ പ്രത്യേകിച്ച് അപകടകരമാണ്, കൂടാതെ CI/CD-ഡ്രൈവൺ എൻവയോൺമെന്റുകൾ, അവിടെ ഒരു API, ഗേറ്റ്‌വേ അല്ലെങ്കിൽ ഓതന്റിക്കേഷൻ ഫ്ലോയിലെ ഒരൊറ്റ ദുർബലമായ റീജെക്സ് ലഭ്യതയെ സ്കെയിലിൽ ബാധിക്കും. ഇക്കാരണത്താൽ, ടീമുകൾ ReDoS നെ ഒരു യഥാർത്ഥ ലഭ്യത അപകടസാധ്യതയായി കണക്കാക്കണം, വെറുമൊരു നിച് എഡ്ജ് കേസ് ആയിട്ടല്ല.

ഏറ്റവും പ്രധാനമായി, പരമ്പരാഗത സമീപനങ്ങൾ നിർവ്വഹണ സ്വഭാവത്തേക്കാൾ വാക്യഘടനയിലാണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത് എന്നതിനാൽ, വികസന സമയത്ത് ഈ ദുർബലതകൾ പലപ്പോഴും കണ്ടെത്താനാകാതെ തുടരുന്നു. തൽഫലമായി, കാര്യക്ഷമമല്ലാത്ത റെഗക്സ് പാറ്റേണുകൾക്ക് യാതൊരു മുന്നറിയിപ്പുകളും നൽകാതെ തന്നെ ഉൽ‌പാദനത്തിൽ എളുപ്പത്തിൽ എത്തിച്ചേരാനാകും.

ഇവിടെയാണ് Xygeni പോലുള്ള ആധുനിക AppSec പ്ലാറ്റ്‌ഫോമുകൾ പ്രസക്തമാകുന്നത്. വികസന വർക്ക്ഫ്ലോകളിൽ സുരക്ഷാ പരിശോധനകൾ നേരിട്ട് ഉൾപ്പെടുത്തുന്നതിലൂടെ, കൂടുതൽ ശബ്‌ദം സൃഷ്ടിക്കുന്നതിനുപകരം, ഈ പ്രശ്‌നങ്ങൾ നേരത്തെ കണ്ടെത്താനും യഥാർത്ഥത്തിൽ എത്തിച്ചേരാവുന്നതും സ്വാധീനം ചെലുത്തുന്നതുമായ അപകടസാധ്യതകൾക്ക് മുൻഗണന നൽകാനും അവ സഹായിക്കുന്നു.

റെഗുലർ എക്സ്പ്രഷൻ DoS (ReDoS) എന്നാൽ എന്താണ്?

ഒരു റീജെക്സ് പാറ്റേൺ അമിതമായ ബാക്ക്‌ട്രാക്കിംഗിന് കാരണമാകുകയും അത് എക്‌സ്‌പോണൻഷ്യൽ എക്‌സിക്യൂട്ട് സമയത്തിലേക്ക് നയിക്കുകയും ചെയ്യുമ്പോൾ സംഭവിക്കുന്ന ഒരു ദുർബലതയാണ് ReDoS (റെഗുലർ എക്‌സ്‌പ്രഷൻ ഡിനയൽ ഓഫ് സർവീസ്).

ലളിതമായി പറഞ്ഞാൽ, ഒരു ക്ഷുദ്രകരമായ ഇൻപുട്ട് നിങ്ങളുടെ ആപ്ലിക്കേഷനെ ഒരു റീജെക്സ് വിലയിരുത്തുന്നതിനും സിസ്റ്റത്തെ തടയുന്നതിനും പ്രകടനം തരംതാഴ്ത്തുന്നതിനും വളരെയധികം സമയം ചെലവഴിക്കാൻ നിർബന്ധിതരാക്കും.

ഉദാഹരണത്തിന്, നെസ്റ്റഡ് ക്വാണ്ടിഫയറുകളുള്ള പാറ്റേണുകൾ ഇതുപോലെയാണ്:

ചില ഇൻപുട്ടുകൾ പ്രോസസ്സ് ചെയ്യുമ്പോൾ, പ്രത്യേകിച്ച് ഒരു ആക്രമണകാരി മനഃപൂർവ്വം സൃഷ്ടിച്ചതാണെങ്കിൽ, അത് വളരെ കാര്യക്ഷമമല്ലാതാകും.

ഇതൊരു എഡ്ജ് കേസ് പോലെ തോന്നുമെങ്കിലും, യഥാർത്ഥ ലോക ആപ്ലിക്കേഷനുകളിൽ, പ്രത്യേകിച്ച് വാലിഡേഷൻ ലോജിക്, ഫോം ഇൻപുട്ടുകൾ, API അഭ്യർത്ഥന കൈകാര്യം ചെയ്യൽ എന്നിവയിൽ ഇത് അതിശയകരമാംവിധം സാധാരണമാണ്.

ReDoS ആക്രമണങ്ങൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു

ഒരു ReDoS ആക്രമണത്തിന് വിപുലമായ ചൂഷണം ആവശ്യമില്ല. പകരം, അത് പ്രവചനാതീതമായ റീജെക്സ് എഞ്ചിൻ സ്വഭാവത്തെ ദുരുപയോഗം ചെയ്യുന്നു.

വിനാശകരമായ പിന്നോട്ടടിക്കൽ

ആക്രമണകാരി ഒന്നിലധികം പൊരുത്തപ്പെടുന്ന പാതകൾ സ്വീകരിക്കാൻ കഴിയുന്ന ഒരു റീജെക്സിനെ ലക്ഷ്യമിടുന്നു. തുടർന്ന് അവർ എഞ്ചിനെ മിക്ക അല്ലെങ്കിൽ എല്ലാ പാതകളും പര്യവേക്ഷണം ചെയ്യാൻ പ്രേരിപ്പിക്കുന്ന ഇൻപുട്ട് നൽകുന്നു.

ആക്രമണകാരികൾ തയ്യാറാക്കിയ ഇൻപുട്ട്

ആക്രമണകാരികൾ സാധാരണയായി അയയ്ക്കുന്നത്:

  • ആവർത്തിച്ചുള്ള പ്രതീകങ്ങളുള്ള നീണ്ട ചരടുകൾ.
  • ഏതാണ്ട് പൊരുത്തപ്പെടുന്ന ഇൻപുട്ടുകൾ, പിന്നീട് അവസാനം പരാജയപ്പെടും.
  • പാറ്റേണിന്റെ ഏറ്റവും അവ്യക്തമായ ഭാഗത്ത് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്ന പേലോഡുകൾ.

പ്രകടനത്തിലെ അപചയം

ഓരോ അഭ്യർത്ഥനയ്ക്കും CPU ബേൺ ചെയ്യാൻ കഴിയുമെന്നതിനാൽ, ഇഫക്റ്റ് വേഗത്തിൽ സ്റ്റാക്ക് ചെയ്യുന്നു:

  • എൻഡ്‌പോയിന്റുകളിലുടനീളം ഉയർന്ന ലേറ്റൻസി.
  • ത്രെഡ് പൂൾ ക്ഷീണം.
  • സിംഗിൾ-ത്രെഡ് റൺടൈമുകളിൽ ഇവന്റ് ലൂപ്പ് സ്റ്റാളുകൾ.

ഈ ആക്രമണങ്ങൾക്ക് സങ്കീർണ്ണമായ ചൂഷണങ്ങൾ ആവശ്യമില്ല. പകരം, അവ കാര്യക്ഷമമല്ലാത്ത പാറ്റേൺ പൊരുത്തപ്പെടുത്തലിന്റെ പ്രയോജനം നേടുന്നു, നിങ്ങളുടെ ടൂളിംഗ് വാക്യഘടനയോ അറിയപ്പെടുന്ന CVE-കളോ മാത്രം പരിശോധിക്കുകയാണെങ്കിൽ അവ കണ്ടെത്തുന്നത് ബുദ്ധിമുട്ടാക്കുന്നു.

redos

ReDoS ദുർബലതകളുടെ യഥാർത്ഥ ആഘാതം

CIA ട്രയാഡിൽ ReDoS "A" യിൽ എത്തുന്നു: ലഭ്യത. നിങ്ങൾ ഡോട്ടുകൾ ബന്ധിപ്പിക്കുന്നതുവരെ ഇത് ഒരു സുരക്ഷാ സംഭവമായിട്ടല്ല, മറിച്ച് ഒരു സ്ഥിരത പ്രശ്‌നമായി തോന്നാം.

API സ്ലോഡൗൺ

ഇൻപുട്ട് വാലിഡേഷൻ, അഭ്യർത്ഥന റൂട്ടിംഗ് അല്ലെങ്കിൽ ഓത്ത് പരിശോധനകൾ എന്നിവയ്ക്കിടെ ഒരു ദുർബലമായ റീജെക്സ് ഉപയോഗിക്കുന്ന ഒരൊറ്റ എൻഡ്‌പോയിന്റിന് CPU സ്പൈക്ക് ചെയ്യാൻ കഴിയും.

സേവന തടസ്സം

ലോഡ് ആകുമ്പോൾ, ഒരു ReDoS ഹോട്ട്‌സ്‌പോട്ടിന് പോഡുകൾ പുനരാരംഭിക്കാനും, ഓട്ടോസ്‌കെയിലിംഗ് തരംതാഴ്ത്താനും, കാസ്‌കേഡിംഗ് പരാജയങ്ങൾ ട്രിഗർ ചെയ്യാനും കഴിയും.

വിഭവശേഷി ക്ഷയം

ReDoS-ന് ഇവ ഉപയോഗിക്കാം:

  • ആപ്പ് നോഡുകളിലെ സിപിയു.
  • ബാക്ക്‌ട്രാക്കിംഗ് അവസ്ഥ കാരണം മെമ്മറി.
  • മറ്റ് അഭ്യർത്ഥനകളെ തടയുന്ന വർക്കർ ത്രെഡുകൾ.

ഡാറ്റാ എക്‌സ്‌പോഷറിനേക്കാൾ പ്രകടനമാണ് ReDoS ലക്ഷ്യമിടുന്നത് എന്നതിനാൽ, പല ടീമുകളും അതിന്റെ സ്വാധീനത്തെ കുറച്ചുകാണുന്നു. എന്നിരുന്നാലും, ലഭ്യത ആപ്ലിക്കേഷൻ സുരക്ഷയുടെ ഒരു പ്രധാന ഭാഗമാണ്, കൂടാതെ തടസ്സങ്ങൾ പെട്ടെന്ന് ബിസിനസ്സ് അപകടസാധ്യതയായി മാറിയേക്കാം.

വലിയ മാറ്റങ്ങളാണ് യഥാർത്ഥ വിശ്വാസ പ്രശ്നം

ഓട്ടോഫിക്‌സിനെ വിശ്വസിക്കുന്നില്ലെന്ന് ഡെവലപ്പർമാർ പറയുമ്പോൾ, അവർ പലപ്പോഴും ഒരു പ്രത്യേക കാര്യം അർത്ഥമാക്കുന്നു: എന്തെങ്കിലും തകരാറിലാകാതിരിക്കാൻ അവർ അതിൽ വിശ്വസിക്കുന്നില്ല.

ആ വിശ്വാസ പ്രശ്നം ഏറ്റവും കൂടുതൽ ദൃശ്യമാകുന്നത് ആശ്രിതത്വ പരിഹാരത്തിലാണ്.

ഒരു ദുർബല പാക്കേജിന് ഒരു പാച്ച് ചെയ്ത പതിപ്പ് ലഭ്യമായിരിക്കാം, പക്ഷേ അതിനർത്ഥം അപ്‌ഗ്രേഡ് സുരക്ഷിതമാണെന്ന് അർത്ഥമാക്കുന്നില്ല. പാച്ച് ചെയ്ത റിലീസ് നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്ന ഒരു രീതി നീക്കം ചെയ്തേക്കാം. ഇത് ഒരു API യുടെ പേര് മാറ്റിയേക്കാം. ഇത് ഒരു ടൈപ്പ് കോൺട്രാക്റ്റിനെ കൂടുതൽ കർശനമാക്കിയേക്കാം. യൂണിറ്റ് ടെസ്റ്റുകളിൽ വിജയിക്കുന്ന തരത്തിൽ ഇത് പെരുമാറ്റം പരിഷ്കരിച്ചേക്കാം, പക്ഷേ പ്രൊഡക്ഷൻ റിഗ്രഷനുകൾക്ക് കാരണമാകുന്നു. പല ടീമുകളിലും, പരിഹാരത്തിന്റെ യഥാർത്ഥ ചെലവ് പാച്ച് പ്രയോഗിക്കുന്നില്ല എന്നതാണ്. ഇത് സ്ഫോടന ദൂരം അന്വേഷിക്കുന്നു.

ജാവയിലെ ഒരു ലളിതമായ ഉദാഹരണം പരിഗണിക്കുക. ഒരു കോഡ്ബേസ് ഒരു ലൈബ്രറിയെ ആശ്രയിച്ചിരിക്കുന്നു, അവിടെ 1.x പതിപ്പിൽ ഒരു പൊതു രീതി നിലവിലുണ്ട്, പക്ഷേ 2.x പതിപ്പിൽ അത് നീക്കം ചെയ്യപ്പെടുന്നു.

യഥാർത്ഥ ലോകത്തിലെ ReDoS ആക്രമണങ്ങളും സുരക്ഷാ സംഭവങ്ങളും

ReDoS എന്നത് വെറുമൊരു സൈദ്ധാന്തിക ദുർബലതയല്ല. ഇത് യഥാർത്ഥ ലോകത്തിലെ ആപ്ലിക്കേഷനുകളിൽ ചൂഷണം ചെയ്യപ്പെട്ടിട്ടുണ്ട്, ഇത് വ്യാപകമായി ഉപയോഗിക്കുന്ന ലൈബ്രറികളെയും ഉൽ‌പാദന സംവിധാനങ്ങളെയും ബാധിക്കുന്നു.

കാര്യക്ഷമമല്ലാത്ത റെജക്സ് പാറ്റേണുകളുടെ ആഘാതം എടുത്തുകാണിക്കുന്ന ചില ശ്രദ്ധേയമായ ഉദാഹരണങ്ങൾ ഇതാ:

Moment.js ReDoS ദുർബലത

ബാധിച്ച ഏറ്റവും അറിയപ്പെടുന്ന ReDoS ദുർബലതകളിൽ ഒന്ന് നിമിഷം. Js, വ്യാപകമായി ഉപയോഗിക്കുന്ന ഒരു JavaScript തീയതി ലൈബ്രറി.

  • മോശമായി രൂപകൽപ്പന ചെയ്ത ഒരു റെജക്സ് പാറ്റേൺ അമിതമായ ബാക്ക്ട്രാക്കിംഗിന് കാരണമായി.
  • കൃത്രിമമായി തയ്യാറാക്കിയ ഇൻപുട്ട് ഉപയോഗിച്ച് ആക്രമണകാരികൾക്ക് ഉയർന്ന സിപിയു ഉപയോഗം ട്രിഗർ ചെയ്യാൻ കഴിയും.
  • Moment.js ഉപയോഗിക്കുന്ന ആപ്ലിക്കേഷനുകൾ സേവന നിഷേധിക്കൽ സാഹചര്യങ്ങൾക്ക് ഇരയാകാൻ സാധ്യതയുണ്ട്.

വിശ്വസനീയമായ ലൈബ്രറികൾക്ക് പോലും ആയിരക്കണക്കിന് ആപ്ലിക്കേഷനുകളിൽ പ്രകടനത്തെ അടിസ്ഥാനമാക്കിയുള്ള ദുർബലതകൾ എങ്ങനെ അവതരിപ്പിക്കാൻ കഴിയുമെന്ന് ഈ ലക്കം കാണിച്ചുതന്നു.

Node.js വാലിഡേറ്റർ ലൈബ്രറി (validator.js)

ഉൾപ്പെട്ട മറ്റൊരു ഉദാഹരണം Validator.js, ഇൻപുട്ട് വാലിഡേഷനായി സാധാരണയായി ഉപയോഗിക്കുന്നു.

  • ചില മൂല്യനിർണ്ണയ പ്രവർത്തനങ്ങൾ കാര്യക്ഷമമല്ലാത്ത റെഗക്സിനെ ആശ്രയിച്ചിരിക്കുന്നു.
  • ദോഷകരമായ ഇൻപുട്ടുകൾ നടപ്പിലാക്കലിനെ ഗണ്യമായി വൈകിപ്പിച്ചേക്കാം.
  • ഇത് ഉപയോക്തൃ ഇൻപുട്ട് വാലിഡേഷനെ ആശ്രയിക്കുന്ന API-കളെയും ബാക്കെൻഡ് സേവനങ്ങളെയും ബാധിച്ചു.

Validator.js വ്യാപകമായി ഉപയോഗിക്കുന്നതിനാൽ, അതിന്റെ ആഘാതം ഒന്നിലധികം ആപ്ലിക്കേഷനുകളിലും സേവനങ്ങളിലും വ്യാപിച്ചു.

ക്ലൗഡ്ഫ്ലെയർ ഔട്ടേജ് (റെജക്സ് അടിസ്ഥാനമാക്കിയുള്ള പരാജയം)

ഒരു ഉന്നത സംഭവം ഉൾപ്പെട്ടിരിക്കുന്നു ച്ലൊഉദ്ഫ്ലരെ, അവിടെ ഒരു തെറ്റായ റെജക്സ് പാറ്റേൺ വലിയൊരു തടസ്സത്തിന് കാരണമായി.

  • ഉൽപ്പാദനത്തിൽ വിന്യസിച്ചിരിക്കുന്ന ഒരു റീജെക്സ് അമിതമായ CPU ഉപയോഗത്തിന് കാരണമായി.
  • ആഗോളതലത്തിൽ സിസ്റ്റങ്ങൾ പ്രതികരണശേഷി നഷ്ടപ്പെട്ടു.
  • ഇന്റർനെറ്റിന്റെ വലിയ ഭാഗങ്ങളെ താൽക്കാലികമായി ബാധിച്ചു.

ഒരു ദ്രോഹപരമായ ആക്രമണമല്ലെങ്കിലും, റീജക്സ് കാര്യക്ഷമതയില്ലായ്മ എത്രത്തോളം വലിയ തോതിൽ യഥാർത്ഥ പ്രത്യാഘാതങ്ങൾ ഉണ്ടാക്കുമെന്ന് ഈ സംഭവം വ്യക്തമായി കാണിക്കുന്നു.

പരമ്പരാഗത സുരക്ഷാ ഉപകരണങ്ങൾ എന്തുകൊണ്ട് ReDoS നഷ്ടപ്പെടുത്തുന്നു

മിക്ക ടീമുകൾക്കും അനുഭവപ്പെടുന്ന വിടവ് വിശദീകരിക്കുന്നതിനാലാണ് ഇത് പരിവർത്തന വിഭാഗമായത്: സ്കാനറുകൾ പ്രവർത്തിക്കുന്നു, dashboards നിറയുന്നു, ReDoS ഇപ്പോഴും കടന്നുപോകുന്നു.

സ്റ്റാറ്റിക് ഉപകരണങ്ങൾ വാക്യഘടനയിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു.

പല സ്കാനറുകൾക്കും "അപകടകരമായ റെജക്സ് പാറ്റേണുകൾ" ഫ്ലാഗ് ചെയ്യാൻ കഴിയും, എന്നാൽ നിങ്ങളുടെ സാഹചര്യത്തിൽ പാറ്റേൺ ശരിക്കും ചൂഷണം ചെയ്യാനാകുമോ എന്നതിനെക്കുറിച്ച് അവയ്ക്ക് പലപ്പോഴും ആത്മവിശ്വാസമില്ല.

നിർവ്വഹണ സന്ദർഭം ഇല്ല

ReDoS എന്നത് റൺടൈം സ്വഭാവത്തെക്കുറിച്ചാണ്. പല റീജെക്സ് ഇംപ്ലിമെന്റേഷനുകളും അങ്ങേയറ്റത്തെ സാഹചര്യങ്ങളിൽ എത്തുമെന്നും വളരെ സാവധാനത്തിൽ പ്രവർത്തിക്കുമെന്നും, ചിലപ്പോൾ ഇൻപുട്ട് വലുപ്പവുമായി വളരെയധികം ബന്ധപ്പെട്ടിരിക്കുമെന്നും OWASP കുറിക്കുന്നു.
ഒരു ഉപകരണം ഒരിക്കലും ഇൻപുട്ട് ആകൃതിയെക്കുറിച്ചോ, പരാജയ സാഹചര്യങ്ങളെക്കുറിച്ചോ, നിർവ്വഹണ പാതകളെക്കുറിച്ചോ ന്യായവാദം ചെയ്യുന്നില്ലെങ്കിൽ, അത് അപകടസാധ്യത നഷ്ടപ്പെടുത്തുകയോ തെറ്റായ പോസിറ്റീവുകളിൽ നിങ്ങളെ മുക്കിക്കളയുകയോ ചെയ്യും.

ചൂഷണ വിശകലനമില്ല

ഒരു റീജക്സ് "സൈദ്ധാന്തികമായി അപകടസാധ്യതയുള്ളതാണ്", പക്ഷേ പ്രായോഗികമായി അത് എത്തിച്ചേരാനാകില്ല. നേരെമറിച്ച്, ഒരു പൊതു എൻഡ്‌പോയിന്റിലെ "ചെറിയ" വാലിഡേറ്റർ ഒരു യഥാർത്ഥ സംഭവമാകാം. സന്ദർഭമില്ലാതെ, ടീമുകൾ അലേർട്ടുകൾ അവഗണിക്കുകയോ അമിതമായി പരിഹരിക്കുകയോ ചെയ്യുന്നു.

റൺടൈമിലോ ദോഷകരമായ ഇൻപുട്ട് സാഹചര്യങ്ങളിലോ regex എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് പരമ്പരാഗത സ്കാനറുകൾ വിലയിരുത്താത്തതിനാൽ അവ പലപ്പോഴും ReDoS കണ്ടെത്തുന്നതിൽ പരാജയപ്പെടുന്നു. ഇവിടെയാണ് Xygeni പോലുള്ള പ്ലാറ്റ്‌ഫോമുകൾ വിശകലനം സംയോജിപ്പിച്ച് വ്യത്യാസം വരുത്തുന്നത്. സന്ദർഭോചിതമായ അപകടസാധ്യത വിലയിരുത്തൽ, ഒരു ബലഹീനത യഥാർത്ഥത്തിൽ എത്തിച്ചേരാവുന്നതും സ്വാധീനം ചെലുത്തുന്നതുമാണോ എന്ന് മനസ്സിലാക്കാൻ ടീമുകളെ സഹായിക്കുന്നു.

ReDoS അപകടസാധ്യതകൾ എങ്ങനെ കണ്ടെത്താം

ഡിസൈൻ അച്ചടക്കത്തിന്റെയും പരിശോധനയുടെയും സംയോജനത്തിലൂടെ നിങ്ങൾക്ക് ReDoS കണ്ടെത്താനാകും. കൂടാതെ, സുരക്ഷാ അവലോകന സമയത്ത് മാത്രമല്ല, തുടർച്ചയായി പ്രവർത്തിക്കുന്ന പരിശോധനകളും നിങ്ങൾക്ക് ആവശ്യമാണ്.

സുരക്ഷിതമായ റെജക്സ് ഡിസൈൻ

അവ്യക്തത കുറയ്ക്കുന്ന പാറ്റേണുകളിൽ നിന്ന് ആരംഭിക്കുക. നെസ്റ്റഡ് ക്വാണ്ടിഫയറുകളും ഓവർലാപ്പിംഗ് ഇതരമാർഗങ്ങളും ഒഴിവാക്കുക.

ഫസ്സിംഗും പരിശോധനയും

ഇനിപ്പറയുന്നവ ഉപയോഗിച്ച് റെജക്സ് പാറ്റേണുകൾ പരീക്ഷിക്കുക:

  • വളരെ നീണ്ട ഇൻപുട്ടുകൾ.
  • വൈകിയെത്തുന്ന ഇൻപുട്ടുകൾ മിക്കവാറും പരാജയപ്പെടും.
  • ബാക്ക്‌ട്രാക്കിംഗ് ട്രിഗർ ചെയ്യാൻ രൂപകൽപ്പന ചെയ്‌ത ആവർത്തിച്ചുള്ള ടോക്കണുകൾ.

സ്റ്റാറ്റിക് വിശകലനം

അറിയപ്പെടുന്ന അപകടകരമായ നിർമ്മിതികളെയും പാറ്റേണുകളെയും ഫ്ലാഗ് ചെയ്യുന്ന വിശകലനം ഉപയോഗിക്കുക. CWE-1333.

റൺടൈം വാലിഡേഷൻ

സാധ്യമാകുമ്പോഴെല്ലാം, റെജക്സ് മൂല്യനിർണ്ണയത്തിന് ചുറ്റും ഇൻപുട്ട് ദൈർഘ്യ പരിധികളും സമയപരിധികളും പ്രയോഗിക്കുക. OWASP യുടെ ഇൻപുട്ട് വാലിഡേഷൻ ഗൈഡാൻക്ReDoS-നെക്കുറിച്ച് e വ്യക്തമായി മുന്നറിയിപ്പ് നൽകുകയും ഏറ്റവും കുറഞ്ഞതും കൂടിയതുമായ ഇൻപുട്ട് ദൈർഘ്യം നിർവചിക്കേണ്ടതിന്റെ പ്രാധാന്യം എടുത്തുകാണിക്കുകയും ചെയ്യുന്നു.

Xygeni പോലുള്ള നൂതന AppSec സൊല്യൂഷനുകൾ പാറ്റേൺ കണ്ടെത്തലിനപ്പുറം പോകുന്നു വർക്ക്ഫ്ലോ സന്ദർഭത്തിൽ കോഡ് വിശകലനം ചെയ്യുന്നു യഥാർത്ഥ സാഹചര്യങ്ങളിൽ ഏറ്റവും പ്രാധാന്യമുള്ള വിഷയങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ ടീമുകളെ സഹായിക്കുകയും തെറ്റായ പോസിറ്റീവുകൾ കുറയ്ക്കുകയും പരിഹാര നടപടികൾ വേഗത്തിലാക്കുകയും ചെയ്യുന്നു.

ReDoS ആക്രമണങ്ങൾ എങ്ങനെ തടയാം

സുരക്ഷിതമായ പാറ്റേണുകൾ, സുരക്ഷിതമായ ഇൻപുട്ടുകൾ, സുരക്ഷിതമായ റൺടൈം തിരഞ്ഞെടുപ്പുകൾ എന്നിവയുടെ സംയോജനമാണ് പ്രതിരോധം.

നെസ്റ്റഡ് ക്വാണ്ടിഫയറുകൾ ഒഴിവാക്കുക

നെസ്റ്റഡ് ആവർത്തനം പലപ്പോഴും ഏറ്റവും മോശം ബാക്ക്‌ട്രാക്കിംഗ് സ്ഫോടനങ്ങൾ സൃഷ്ടിക്കുന്നു.

ഇൻപുട്ട് വലുപ്പം പരിമിതപ്പെടുത്തുക

ഇതാണ് ഏറ്റവും ലളിതവും വിശ്വസനീയവുമായ ലഘൂകരണം. റീജക്സ് വാലിഡേഷനിലൂടെ കടന്നുപോകുന്ന ഇൻപുട്ടുകൾക്ക് പരമാവധി ദൈർഘ്യ പരിധികൾ സജ്ജമാക്കുക. സുരക്ഷിത ഇൻപുട്ട് വാലിഡേഷന്റെ പ്രധാന ഭാഗമായി OWASP ദൈർഘ്യ പരിധികൾ എടുത്തുകാണിക്കുന്നു.

സാധ്യമാകുന്നിടത്തെല്ലാം സുരക്ഷിതമായ റീജെക്സ് എഞ്ചിനുകൾ ഉപയോഗിക്കുക.

നിങ്ങൾക്ക് എഞ്ചിൻ തിരഞ്ഞെടുക്കാൻ കഴിയുമ്പോൾ, വിനാശകരമായ ബാക്ക്ട്രാക്കിംഗ് ഒഴിവാക്കാൻ രൂപകൽപ്പന ചെയ്ത ഒന്ന് തിരഞ്ഞെടുക്കുക. ഗൂഗിളിന്റെ RE2 ബാക്ക്‌ട്രാക്കിംഗ് റീജെക്സ് എഞ്ചിനുകൾക്ക് സുരക്ഷിതമായ ഒരു ബദലായി സ്ഥാപിച്ചിരിക്കുന്നു.

ലെയേർഡ് ചെക്കുകൾ ഉപയോഗിച്ച് ഇൻപുട്ടുകൾ സാധൂകരിക്കുക

എല്ലാ സാധൂകരണങ്ങൾക്കും ഒരൊറ്റ റീജെക്സിനെ ആശ്രയിക്കരുത്. സംയോജിപ്പിക്കുക:

  • പ്രതീക അനുമതി പട്ടികകൾ,
  • കർശനമായ നീള പരിശോധനകൾ,
  • ഓരോ ഫീൽഡിനും ലളിതമായ പാറ്റേണുകളും.

ReDoS തടയുന്നതിന് സുരക്ഷിതമായ കോഡിംഗ് രീതികൾ ആവശ്യമാണ് കൂടാതെ വികസന ജീവിതചക്രത്തിലുടനീളം തുടർച്ചയായ സാധൂകരണം, പ്രത്യേകിച്ച് ആപ്ലിക്കേഷനുകളുടെ സ്കെയിലും ആശ്രിതത്വവും വളരുമ്പോൾ.

ReDoS കണ്ടെത്താനും തടയാനും Xygeni എങ്ങനെ സഹായിക്കുന്നു

വിശകലനത്തിന്റെ ഒന്നിലധികം പാളികൾ സംയോജിപ്പിച്ചുകൊണ്ട്, ReDoS ദുർബലതകൾ കണ്ടെത്താനും തടയാനും DevSecOps ടീമുകളെ Xygeni സഹായിക്കുന്നു.

പ്രധാന കഴിവുകളിൽ ഇവ ഉൾപ്പെടുന്നു:

  • വികസന സമയത്ത് ദുർബലമായ റെജക്സ് പാറ്റേണുകൾ കണ്ടെത്തൽ
  • ഡാറ്റാ ഫ്ലോകളുടെയും എക്സിക്യൂഷൻ പാതകളുടെയും വിശകലനം
  • സൈദ്ധാന്തികമായി മാത്രമല്ല, ചൂഷണം ചെയ്യാവുന്ന ദുർബലതകളുടെ തിരിച്ചറിയൽ
  • ലേക്കുള്ള സംയോജനം CI/CD pipelineതുടർച്ചയായ സ്കാനിംഗിനുള്ള s
  • ഡെവലപ്പർമാർക്കുള്ള പ്രവർത്തനക്ഷമമായ പരിഹാര മാർഗ്ഗനിർദ്ദേശം

മുന്നറിയിപ്പുകൾ നൽകി ടീമുകളെ കീഴടക്കുന്നതിനുപകരം, സൈജെനി മുൻഗണന നൽകുന്നത് യഥാർത്ഥത്തിൽ എത്തിച്ചേരാവുന്ന ദുർബലതകൾ ഫലപ്രദവും.

വികസനം മന്ദഗതിയിലാക്കാതെ, യഥാർത്ഥ പ്രശ്നങ്ങൾ വേഗത്തിൽ പരിഹരിക്കാൻ ഇത് ടീമുകളെ അനുവദിക്കുന്നു.

DevSecOps ടീമുകൾക്കുള്ള മികച്ച രീതികൾ

ഷിഫ്റ്റ്-ഇടത് സുരക്ഷ

കോഡ് അവലോകനത്തിന്റെയും യൂണിറ്റ് ടെസ്റ്റുകളുടെയും അതേ ദിനചര്യയുടെ ഭാഗമാക്കുക. ReDoS പരിശോധനകൾ.

ഓട്ടോമേറ്റ് സ്കാനിംഗ്

എല്ലാ ദിവസവും പരിശോധനകൾ നടത്തുക pull request അതിനാൽ റിജെക്സ് റിസ്ക് ഇടയ്ക്കിടെയുള്ള അവലോകനങ്ങൾക്കായി കാത്തിരിക്കില്ല.

ആശ്രിതത്വങ്ങൾ നിരീക്ഷിക്കുക

ഡിപൻഡൻസികളിലും ഇൻപുട്ട് പാഴ്‌സിംഗ് ലൈബ്രറികളിലും Regex ദുർബലതകൾ പ്രത്യക്ഷപ്പെടുന്നതിനാൽ, ആശ്രിതത്വ ശുചിത്വം കർശനമായി പാലിക്കുക.

ഇൻപുട്ടുകൾ തുടർച്ചയായി സാധൂകരിക്കുക

അരികുകളിൽ ദൈർഘ്യ പരിധികളും ഇൻപുട്ട് നിയമങ്ങളും പ്രയോഗിക്കുക, തുടർന്ന് നിർണായക സേവനങ്ങളിൽ വീണ്ടും സാധൂകരിക്കുക.

വികസന വർക്ക്ഫ്ലോകളിൽ സുരക്ഷ നേരിട്ട് ഉൾച്ചേർക്കുന്നതിലൂടെ, ReDoS പോലുള്ള പ്രകടനത്തെ അടിസ്ഥാനമാക്കിയുള്ള ദുർബലതകൾ ഉൽപ്പാദനത്തിലേക്ക് എത്തുന്നതിനുമുമ്പ് ടീമുകൾക്ക് തടയാൻ കഴിയും.

റെഡോസ് പ്രതിരോധം ആരംഭിക്കുന്നത് നിഴൽ രഹിത ദൃശ്യപരതയോടെയാണ്.

ReDoS പലപ്പോഴും അവഗണിക്കപ്പെടുന്നു, എന്നിരുന്നാലും ഇത് ആപ്ലിക്കേഷൻ പ്രകടനത്തിലും ലഭ്യതയിലും കാര്യമായ സ്വാധീനം ചെലുത്തും. അങ്ങേയറ്റത്തെ regex റൺടൈം സ്വഭാവത്തിൽ വേരൂന്നിയ സേവന നിഷേധ അപകടസാധ്യതയായി OWASP ReDoS-നെ ചിത്രീകരിക്കുന്നു.
അതായത് നിങ്ങൾക്ക് അടിസ്ഥാന സ്കാനിംഗിനേക്കാൾ കൂടുതൽ ആവശ്യമാണ്. നിങ്ങൾക്ക് സന്ദർഭം, മുൻഗണന, ഓട്ടോമേഷൻ എന്നിവ ആവശ്യമാണ്.

ആക്രമണകാരി നിയന്ത്രിത ഇൻപുട്ട് ഉപയോഗിച്ച് പരാജയപ്പെടാൻ സാധ്യതയുള്ള കോഡ് പോലെയാണ് നിങ്ങൾ regex നെ പരിഗണിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് ReDoS നേരത്തെ തന്നെ ലഭിക്കും, കൂടാതെ കൂടുതൽ സുരക്ഷിതമായ സിസ്റ്റങ്ങൾ ലഭിക്കും. Xygeni ഉപയോഗിച്ച്, ടീമുകൾക്ക് ശബ്‌ദം കുറയ്ക്കാനും യഥാർത്ഥ അപകടസാധ്യതയ്ക്ക് മുൻഗണന നൽകാനും ഉള്ളിൽ AppSec നിയന്ത്രണങ്ങൾ ശക്തിപ്പെടുത്താനും കഴിയും. CI/CD വർക്ക്ഫ്ലോകൾ.

തീരുമാനം

ശരിയായ സന്ദർഭം ഇല്ലാതെ ReDoS ദുർബലതകൾ അവതരിപ്പിക്കാൻ എളുപ്പമാണ്, കണ്ടെത്താനും പ്രയാസമാണ്.

പരമ്പരാഗത ഉപകരണങ്ങൾ പ്രശ്നങ്ങൾ തിരിച്ചറിയുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുമ്പോൾ, ആധുനിക ആപ്പ്സെക്കിന് ഏതൊക്കെ ദുർബലതകളാണ് യഥാർത്ഥത്തിൽ പ്രധാനമെന്ന് മനസ്സിലാക്കേണ്ടതുണ്ട്.

അതിനാൽ, മുന്നോട്ട് പോകുന്നതിന്, വികസന ജീവിതചക്രത്തിലുടനീളം ഒരുമിച്ച് പ്രവർത്തിക്കുന്ന ദൃശ്യപരത, മുൻഗണന, ഓട്ടോമേഷൻ എന്നിവ ടീമുകൾക്ക് ആവശ്യമാണ്.

ഇവിടെയാണ് സൈജെനി വ്യത്യാസം വരുത്തുന്നത്. ചൂഷണം ചെയ്യാവുന്ന അപകടസാധ്യതകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതിലൂടെ, പ്രശ്നങ്ങൾ നേരത്തെ കണ്ടെത്താനും, ശബ്ദം കുറയ്ക്കാനും, വികസനം മുതൽ വിന്യാസം വരെ ആപ്ലിക്കേഷനുകൾ സുരക്ഷിതമാക്കാനും ഇത് ടീമുകളെ സഹായിക്കുന്നു.

ആത്യന്തികമായി, ഇന്ന് സുരക്ഷിത സോഫ്റ്റ്‌വെയർ നിർമ്മിക്കുക എന്നതിനർത്ഥം സ്കാനിംഗിനപ്പുറം പോയി സുരക്ഷയ്ക്കായി സന്ദർഭോചിതവും തത്സമയവുമായ സമീപനം സ്വീകരിക്കുക എന്നാണ്.

സുരക്ഷിതവും, പ്രതിരോധശേഷിയുള്ളതുമായ ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാൻ ആരംഭിക്കുക തത്സമയ കണ്ടെത്തലും സന്ദർഭോചിത സുരക്ഷയും.

പതിവ് ചോദ്യങ്ങൾ (പതിവുചോദ്യങ്ങൾ)

എന്താണ് ReDoS ആക്രമണം?

കാര്യക്ഷമമല്ലാത്ത റെഗക്സ് പാറ്റേണുകൾ അമിതമായ പ്രോസസ്സിംഗ് സമയത്തിന് കാരണമാകുന്ന തരത്തിൽ ചൂഷണം ചെയ്യപ്പെടുകയും, പ്രകടനത്തിലെ ഇടിവ് അല്ലെങ്കിൽ ആപ്ലിക്കേഷൻ ക്രാഷുകളിലേക്ക് നയിക്കുകയും ചെയ്യുന്ന ഒരു തരം ദുർബലതയാണ് റെഡോസ് (റെഗുലർ എക്സ്പ്രഷൻ ഡിനയൽ ഓഫ് സർവീസ്) ആക്രമണം.

ആധുനിക ആപ്ലിക്കേഷനുകളിൽ ReDoS അപകടകരമാകുന്നത് എന്തുകൊണ്ട്?

ReDoS ആക്രമണങ്ങൾ CPU ഉറവിടങ്ങൾ ഉപയോഗിക്കുന്നതിലൂടെയും സേവനങ്ങളുടെ വേഗത കുറയ്ക്കുന്നതിലൂടെയും ആപ്ലിക്കേഷൻ ലഭ്യതയെ ബാധിക്കും. ക്ലൗഡ്-നേറ്റീവ് പരിതസ്ഥിതികളിൽ, ഇത് പെട്ടെന്ന് സിസ്റ്റം-വൈഡ് പ്രകടന പ്രശ്‌നങ്ങളിലേക്ക് നയിച്ചേക്കാം.

ReDoS ദുർബലതകൾ ഡെവലപ്പർമാർക്ക് എങ്ങനെ തടയാനാകും?

സങ്കീർണ്ണമായ റീജെക്സ് പാറ്റേണുകൾ ഒഴിവാക്കുക, ഇൻപുട്ട് വലുപ്പം പരിമിതപ്പെടുത്തുക, സുരക്ഷിത റീജെക്സ് എഞ്ചിനുകൾ ഉപയോഗിക്കുക, സുരക്ഷാ പരിശോധനകൾ സംയോജിപ്പിക്കുക എന്നിവയിലൂടെ ഡെവലപ്പർമാർക്ക് ReDoS തടയാൻ കഴിയും. CI/CD pipelines.

പരമ്പരാഗത സുരക്ഷാ ഉപകരണങ്ങൾക്ക് ReDoS കണ്ടെത്താൻ കഴിയുമോ?

റൺടൈം സ്വഭാവമോ ചൂഷണമോ വിശകലനം ചെയ്യാത്തതിനാൽ മിക്ക പരമ്പരാഗത ഉപകരണങ്ങളും ReDoS കണ്ടെത്തുന്നതിൽ ബുദ്ധിമുട്ടുന്നു. യഥാർത്ഥ സാഹചര്യങ്ങളിൽ കോഡ് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് വിലയിരുത്തുന്നതിലൂടെ നൂതന AppSec പരിഹാരങ്ങൾ മികച്ച കണ്ടെത്തൽ നൽകുന്നു.

ReDoS ആക്രമണങ്ങൾ തടയാൻ Xygeni എങ്ങനെ സഹായിക്കുന്നു?

സൈജെനി ദുർബലമായ റെജക്സ് പാറ്റേണുകൾ കണ്ടെത്തുന്നു, നിർവ്വഹണ പാതകൾ വിശകലനം ചെയ്യുന്നു, ചൂഷണം ചെയ്യാവുന്ന അപകടസാധ്യതകൾക്ക് മുൻഗണന നൽകുന്നു. ഇത് സംയോജിപ്പിക്കുന്നു CI/CD pipelineഡെവലപ്പർമാർക്ക് പ്രവർത്തനക്ഷമമായ പരിഹാര മാർഗ്ഗനിർദ്ദേശം നൽകുകയും ചെയ്യുന്നു.

എഴുത്തുകാരനെ കുറിച്ച്

സഹസ്ഥാപകനും CTO

ഫാത്തിമ Said AppSec, DevSecOps, എന്നിവയ്‌ക്കായുള്ള ഡെവലപ്പർ-ഫസ്റ്റ് ഉള്ളടക്കത്തിൽ വൈദഗ്ദ്ധ്യം നേടിയിട്ടുണ്ട്, കൂടാതെ software supply chain security. സങ്കീർണ്ണമായ സുരക്ഷാ സിഗ്നലുകളെ വ്യക്തവും പ്രായോഗികവുമായ മാർഗ്ഗനിർദ്ദേശങ്ങളാക്കി അവർ മാറ്റുന്നു, അത് ടീമുകളെ വേഗത്തിൽ മുൻഗണന നൽകാനും, ശബ്ദം കുറയ്ക്കാനും, സുരക്ഷിതമായ കോഡ് അയയ്ക്കാനും സഹായിക്കുന്നു.

 
സ്കാ-ടൂളുകൾ-സോഫ്റ്റ്‌വെയർ-കോമ്പോസിഷൻ-വിശകലന-ടൂളുകൾ
നിങ്ങളുടെ സോഫ്റ്റ്‌വെയർ അപകടസാധ്യതകൾക്ക് മുൻഗണന നൽകുക, പരിഹരിക്കുക, സുരക്ഷിതമാക്കുക
നിങ്ങളുടെ സൗജന്യ അക്കൗണ്ട് നേടൂ.
ക്രെഡിറ്റ് കാർഡ് ആവശ്യമില്ല.

നിങ്ങളുടെ സോഫ്റ്റ്‌വെയർ വികസനവും ഡെലിവറിയും സുരക്ഷിതമാക്കുക

സൈജെനി ഉൽപ്പന്ന സ്യൂട്ടിനൊപ്പം