ReDoS

ReDoS விளக்கம்: ரெகுலர் எக்ஸ்பிரஷன் DoS என்றால் என்ன மற்றும் அதைத் தடுப்பது எப்படி

பொருளடக்கம்

கட்டாயம் படிக்க வேண்டிய பதிவுகள்

சமீபத்திய சுவாரஸ்யமான பதிவு

ரெகுலர் எக்ஸ்பிரஷன் DoS (ReDoS) என்பது ஒரு வளர்ந்து வரும் அபாயமாகும். நவீன பயன்பாட்டு பாதுகாப்புஅதிகமான அணிகள் உள்ளீட்டு சரிபார்ப்பு மற்றும் வடிவப் பொருத்தத்தைச் சார்ந்து இருப்பதால், மோசமாக வடிவமைக்கப்பட்ட ஒரு ரெஜெக்ஸ், செயல்திறன் குறைபாடுகளை ஏற்படுத்தக்கூடும். தாக்குபவர்கள் இந்தக் குறைபாடுகளைப் பயன்படுத்தி சேவைகளின் வேகத்தைக் குறைக்கலாம் அல்லது செயலிழப்புகளை ஏற்படுத்தலாம். உண்மையில், OWASP பல ரெஜெக்ஸ் செயலாக்கங்கள் மிகவும் மெதுவாகிவிடும் என்பதையும், சில சமயங்களில் உள்ளீட்டு அளவைப் பொறுத்து அவற்றின் இயக்க நேரம் அதிவேகமாக அதிகரிக்கும் என்பதையும் சாதகமாகப் பயன்படுத்திக்கொள்ளும் ஒரு சேவை மறுப்புத் தாக்குதலாக ReDoS-ஐ இது விவரிக்கிறது.

அதே நேரத்தில், கிளவுட்-நேட்டிவ் மற்றும் CI/CDAPI, கேட்வே அல்லது அங்கீகார ஓட்டத்தில் உள்ள ஒரு பாதிப்புக்குள்ளாகக்கூடிய ரெகுலர் எக்ஸ்பிரஷன் கூட பெரிய அளவில் கிடைப்புத்தன்மையைப் பாதிக்கக்கூடிய சூழல்கள் உள்ளன. இந்தக் காரணத்திற்காக, குழுக்கள் ReDoS-ஐ ஒரு குறிப்பிட்ட விளிம்புநிலைச் சிக்கலாக மட்டும் கருதாமல், ஒரு உண்மையான கிடைப்புத்தன்மை அபாயமாகக் கருத வேண்டும்.

மிக முக்கியமாக, பாரம்பரிய அணுகுமுறைகள் செயலாக்க நடத்தையை விட தொடரியலில் கவனம் செலுத்துவதால், இந்த பாதிப்புகள் உருவாக்கத்தின் போது பெரும்பாலும் கண்டறியப்படாமல் போகின்றன. இதன் விளைவாக, திறனற்ற ரெஜெக்ஸ் வடிவங்கள் எந்தவித எச்சரிக்கைகளையும் எழுப்பாமல் எளிதாக உற்பத்தி நிலையை அடைந்துவிடுகின்றன.

இங்குதான் Xygeni போன்ற நவீன AppSec தளங்கள் முக்கியப் பங்கு வகிக்கின்றன. பாதுகாப்புச் சோதனைகளை நேரடியாக மேம்பாட்டுப் பணிப்பாய்வுகளில் உட்பொதிப்பதன் மூலம், அவை இந்தச் சிக்கல்களை முன்கூட்டியே கண்டறியவும், தேவையற்ற குழப்பத்தை உருவாக்குவதற்குப் பதிலாக, உண்மையில் சரிசெய்யக்கூடிய மற்றும் தாக்கத்தை ஏற்படுத்தக்கூடிய அபாயங்களுக்கு முன்னுரிமை அளிக்கவும் உதவுகின்றன.

ReDoS (Regular Expression DoS) என்பது என்ன?

ReDoS (Regular Expression Denial of Service) என்பது, ஒரு ரெஜெக்ஸ் பேட்டர்ன் அதிகப்படியான பின்னோக்கிச் செல்லுதலை (backtracking) ஏற்படுத்தி, செயலாக்க நேரத்தை பன்மடங்கு அதிகரிக்கச் செய்யும் ஒரு பாதிப்பு ஆகும்.

எளிமையாகச் சொன்னால், ஒரு தீங்கிழைக்கும் உள்ளீடு உங்கள் பயன்பாட்டை ஒரு ரெகுலர் எக்ஸ்பிரஷனை (regex) மதிப்பிடுவதற்கு அதிக நேரத்தைச் செலவழிக்கச் செய்து, கணினி அமைப்பை முடக்கி, செயல்திறனைக் குறைத்துவிடும்.

எடுத்துக்காட்டாக, உள்ளமைக்கப்பட்ட அளவிகளைக் கொண்ட வடிவங்கள் பின்வருமாறு:

சில உள்ளீடுகளைச் செயலாக்கும்போது, ​​குறிப்பாக ஒரு தாக்குபவரால் வேண்டுமென்றே வடிவமைக்கப்படும்போது, ​​அவை மிகவும் செயல்திறனற்றதாக மாறக்கூடும்.

இது ஒரு அரிதான நிகழ்வாகத் தோன்றினாலும், நிஜ உலகப் பயன்பாடுகளில், குறிப்பாக சரிபார்ப்பு தர்க்கம், படிவ உள்ளீடுகள் மற்றும் API கோரிக்கை கையாளுதல் ஆகியவற்றில் இது ஆச்சரியப்படும் விதமாகப் பொதுவானது.

ReDoS தாக்குதல்கள் எவ்வாறு செயல்படுகின்றன

ஒரு ReDoS தாக்குதலுக்கு மேம்பட்ட சுரண்டல் தேவையில்லை. மாறாக, அது கணிக்கக்கூடிய ரெஜெக்ஸ் இன்ஜின் செயல்பாட்டைத் தவறாகப் பயன்படுத்துகிறது.

பேரழிவு தரும் பின்வாங்கல்

தாக்குபவர், பல பொருந்தும் பாதைகளை ஏற்கக்கூடிய ஒரு ரெகுலர் எக்ஸ்பிரஷனைக் குறிவைக்கிறார். பின்னர், பெரும்பாலான அல்லது அனைத்துப் பாதைகளையும் ஆராயுமாறு இன்ஜினைக் கட்டாயப்படுத்தும் உள்ளீட்டை அவர் வழங்குகிறார்.

தாக்குதல் நடத்துபவர்களால் உருவாக்கப்பட்ட உள்ளீடு

தாக்குபவர்கள் பொதுவாக அனுப்புவது:

  • மீண்டும் மீண்டும் வரும் எழுத்துக்களைக் கொண்ட நீண்ட சரங்கள்.
  • கிட்டத்தட்ட பொருந்தும் உள்ளீடுகள், இறுதியில் தோல்வியடைகின்றன.
  • வடிவத்தின் மிகவும் தெளிவற்ற பகுதியில் கவனம் செலுத்தும் தரவுப் பதிவுகள்.

செயல்திறன் சீரழிவு

ஒவ்வொரு கோரிக்கையும் CPU-ஐ அதிகம் பயன்படுத்தக்கூடும் என்பதால், அதன் விளைவு விரைவாகக் கூடுகிறது:

  • முனையங்கள் முழுவதும் அதிக தாமதம்.
  • நூல் இருப்புத் தீர்வு.
  • ஒற்றை-திரி இயக்க நேரங்களில் நிகழ்வு சுழற்சி ஸ்தம்பிக்கிறது.

இந்தத் தாக்குதல்களுக்குச் சிக்கலான சுரண்டல்கள் தேவையில்லை. மாறாக, அவை திறனற்ற வடிவப் பொருத்தத்தைப் பயன்படுத்திக் கொள்கின்றன. இதனால், உங்கள் கருவிகள் தொடரியல் அல்லது அறியப்பட்ட CVE-களை மட்டும் சரிபார்த்தால், இவற்றைக் கண்டறிவது கடினமாகிறது.

redos

ReDoS பாதிப்புகளின் நிஜ உலகத் தாக்கம்

ReDoS தாக்குதல், CIA-யின் மும்மை விதிகளில் ஒன்றான 'கிடைப்புத்தன்மை' என்ற அம்சத்தைத் தாக்குகிறது. நீங்கள் முழு விவரங்களையும் ஆராய்ந்து பார்க்கும் வரை, இது ஒரு பாதுகாப்புச் சம்பவமாகத் தோன்றாமல், ஒரு நிலைத்தன்மைப் பிரச்சினையாகவே தோன்றக்கூடும்.

API செயலிழப்பு

பாதிப்புக்குள்ளாகக்கூடிய ரெகுலர் எக்ஸ்பிரஷனைப் பயன்படுத்தும் ஒரே ஒரு எண்ட்பாயிண்ட், உள்ளீட்டுச் சரிபார்ப்பு, கோரிக்கை வழிப்படுத்தல் அல்லது அங்கீகாரச் சோதனைகளின் போது CPU பயன்பாட்டை திடீரென அதிகரிக்கச் செய்யலாம்.

சேவை தடை

அதிக சுமையின் கீழ், ஒரு ReDoS ஹாட்ஸ்பாட் பாட்களை மறுதொடக்கம் செய்ய வைக்கலாம், ஆட்டோஸ்கேலிங்கை சீர்குலைக்கலாம் மற்றும் தொடர் தோல்விகளைத் தூண்டலாம்.

வளக் குறைபாடு

ReDoS பின்வருவனவற்றை உட்கொள்ளும்:

  • செயலி முனைகளில் உள்ள CPU.
  • பின்னோட்ட நிலை காரணமாக ஏற்படும் நினைவகம்.
  • மற்ற கோரிக்கைகளைத் தடுக்கும் பணியாளர் இழைகள்.

ReDoS ஆனது தரவு வெளிப்பாட்டைக் குறிவைக்காமல், செயல்திறனைக் குறிவைப்பதால், பல குழுக்கள் அதன் தாக்கத்தைக் குறைத்து மதிப்பிடுகின்றன. இருப்பினும், பயன்பாட்டுப் பாதுகாப்பின் முக்கியப் பகுதி கிடைப்புத்தன்மை ஆகும், மேலும் இடையூறுகள் விரைவாக வணிக அபாயமாக மாறக்கூடும்.

முறிக்கும் மாற்றங்களே உண்மையான நம்பிக்கைச் சிக்கலாகும்.

டெவலப்பர்கள் ஆட்டோஃபிக்ஸை நம்பவில்லை என்று கூறும்போது, ​​அவர்கள் பெரும்பாலும் ஒரு குறிப்பிட்ட விஷயத்தையே குறிப்பிடுகிறார்கள்: அது எதையாவது சேதப்படுத்தாது என்று அவர்கள் நம்பவில்லை.

அந்த நம்பிக்கைச் சிக்கல், சார்புநிலை சரிசெய்தலில் மிகவும் தெளிவாகத் தெரிகிறது.

பாதிப்புக்குள்ளாகக்கூடிய ஒரு தொகுப்பிற்கு, சரிசெய்யப்பட்ட பதிப்பு கிடைக்கலாம், ஆனால் அதன் காரணமாக அந்த மேம்படுத்தல் பாதுகாப்பானது என்று அர்த்தமல்ல. அந்தச் சரிசெய்யப்பட்ட வெளியீடு, உங்கள் பயன்பாடு பயன்படுத்தும் ஒரு வழிமுறையை நீக்கக்கூடும். அது ஒரு API-க்கு மறுபெயரிடக்கூடும். அது ஒரு வகை ஒப்பந்தத்தைக் கடுமையாக்கக்கூடும். அது, அலகுச் சோதனைகளில் தேர்ச்சி பெறும் வகையில் செயல்பாட்டை மாற்றியமைத்தாலும், உற்பத்திச் செயல்பாட்டில் பின்னடைவுகளை ஏற்படுத்தக்கூடும். பல குழுக்களில், சரிசெய்தலுக்கான உண்மையான செலவு என்பது அந்தப் பிழைத்திருத்தத்தைப் பயன்படுத்துவது அல்ல. அது, அதனால் ஏற்படக்கூடிய பாதிப்புகளின் அளவை ஆராய்வதே ஆகும்.

ஜாவாவில் ஒரு எளிய உதாரணத்தைக் கருத்தில் கொள்வோம். ஒரு கோட்பேஸ் ஒரு லைப்ரரியைச் சார்ந்துள்ளது, அதில் ஒரு பொதுவான மெத்தட் பதிப்பு 1.x-ல் இருந்து, பதிப்பு 2.x-ல் நீக்கப்பட்டுவிட்டது.

நிஜ உலக ரீடாஸ் தாக்குதல்கள் மற்றும் பாதுகாப்பு சம்பவங்கள்

ReDoS என்பது வெறும் கோட்பாட்டு ரீதியான பாதிப்பு மட்டுமல்ல. அது நிஜ உலகப் பயன்பாடுகளில் பயன்படுத்தப்பட்டு, பரவலாகப் பயன்படுத்தப்படும் லைப்ரரிகள் மற்றும் உற்பத்தி அமைப்புகளைப் பாதித்துள்ளது.

திறனற்ற ரெஜெக்ஸ் வடிவங்களின் தாக்கத்தை எடுத்துக்காட்டும் சில குறிப்பிடத்தக்க உதாரணங்கள் இதோ:

Moment.js ReDoS பாதிப்பு

மிகவும் நன்கு அறியப்பட்ட ReDoS பாதிப்புகளில் ஒன்று பாதிக்கப்பட்டது Moment.jsபரவலாகப் பயன்படுத்தப்படும் ஒரு ஜாவாஸ்கிரிப்ட் தேதி நூலகம்.

  • மோசமாக வடிவமைக்கப்பட்ட ரெஜெக்ஸ் பேட்டர்ன் அதிகப்படியான பேக்ட்ராக்கிங்கை ஏற்படுத்தியது.
  • தாக்குபவர்கள் வடிவமைக்கப்பட்ட உள்ளீடுகளைக் கொண்டு அதிக CPU பயன்பாட்டைத் தூண்டக்கூடும்.
  • Moment.js-ஐப் பயன்படுத்தும் செயலிகள், சேவை மறுப்பு நிலைமைகளுக்கு ஆளாகக்கூடியவையாக மாறின.

நம்பகமான லைப்ரரிகள் கூட ஆயிரக்கணக்கான பயன்பாடுகளில் செயல்திறன் சார்ந்த பாதிப்புகளை எவ்வாறு ஏற்படுத்தக்கூடும் என்பதை இந்தச் சிக்கல் நிரூபித்தது.

Node.js சரிபார்ப்பு நூலகம் (validator.js)

இறுதி உதாரணம் உள்ளடக்கியது Validator.jsபொதுவாக உள்ளீட்டு சரிபார்ப்புக்குப் பயன்படுத்தப்படுகிறது.

  • சில சரிபார்ப்புச் செயல்பாடுகள் திறனற்ற ரெகுலர் எக்ஸ்பிரஷனைச் சார்ந்திருந்தன.
  • தீங்கிழைக்கும் உள்ளீடுகள் செயலாக்கத்தை கணிசமாக தாமதப்படுத்தக்கூடும்.
  • இது, பயனர் உள்ளீட்டுச் சரிபார்ப்பைச் சார்ந்திருக்கும் API-கள் மற்றும் பின்தளச் சேவைகளைப் பாதித்தது.

validator.js பரவலாகப் பயன்படுத்தப்படுவதால், அதன் தாக்கம் பல பயன்பாடுகள் மற்றும் சேவைகள் வரை விரிவடைந்தது.

கிளவுட்ஃபிளேர் செயலிழப்பு (ரெகுலர் எக்ஸ்பிரஷன் அடிப்படையிலான செயலிழப்பு)

ஒரு முக்கியத்துவம் வாய்ந்த சம்பவம் இதில் சம்பந்தப்பட்டது CloudFlareஅதில், ஒரு தவறான ரெஜெக்ஸ் பேட்டர்ன் ஒரு பெரிய செயலிழப்பை ஏற்படுத்தியது.

  • உற்பத்திச் சூழலில் பயன்படுத்தப்பட்ட ஒரு ரெகுலர் எக்ஸ்பிரஷன், அதிகப்படியான CPU பயன்பாட்டைத் தூண்டியது.
  • உலகளவில் அமைப்புகள் பதிலளிக்காமல் போயின.
  • இணையத்தின் பெரும் பகுதிகள் தற்காலிகமாகப் பாதிக்கப்பட்டன.

இது ஒரு தீங்கிழைக்கும் தாக்குதல் இல்லையென்றாலும், ரெகுலர் எக்ஸ்பிரஷன் (regex) செயல்திறன் குறைபாடுகள் பெரிய அளவில் நிஜ உலகில் எவ்வாறு விளைவுகளை ஏற்படுத்தக்கூடும் என்பதை இந்தச் சம்பவம் தெளிவாகக் காட்டுகிறது.

பாரம்பரிய பாதுகாப்பு கருவிகள் ReDoS-ஐ ஏன் தவறவிடுகின்றன?

இது மாற்றப் பிரிவு, ஏனெனில் பெரும்பாலான அணிகள் உணரும் இடைவெளியை இது விளக்குகிறது: ஸ்கேனர்கள் இயங்குகின்றன, dashboardநிரப்புதல் நடந்தாலும், ReDoS இன்னமும் தப்பித்துவிடுகிறது.

நிலையான கருவிகள் தொடரியலில் கவனம் செலுத்துகின்றன.

பல ஸ்கேனர்களால் “ஆபத்தான ரெஜெக்ஸ் வடிவங்களைக்” கண்டறிய முடியும், ஆனால் உங்கள் சூழலில் அந்த வடிவம் உண்மையிலேயே பயன்படுத்தக்கூடியதா என்பது குறித்து அவற்றுக்கு பெரும்பாலும் உறுதியிருப்பதில்லை.

செயல்படுத்தும் சூழல் இல்லை

ReDoS என்பது இயக்க நேரச் செயல்பாடு பற்றியது. பல ரெஜெக்ஸ் செயலாக்கங்கள் தீவிரமான சூழ்நிலைகளை அடைந்து, உள்ளீட்டு அளவைப் பொறுத்து சில நேரங்களில் அதிவேகமாக, மிகவும் மெதுவாகச் செயல்படக்கூடும் என்று OWASP குறிப்பிடுகிறது.
ஒரு கருவி உள்ளீட்டு வடிவம், பொருந்தாமை நிலைமைகள் அல்லது செயலாக்கப் பாதைகள் பற்றி ஒருபோதும் பகுத்தறியவில்லை என்றால், அது அபாயத்தைக் கண்டறியத் தவறிவிடும் அல்லது தவறான நேர்மறை முடிவுகளில் உங்களை மூழ்கடித்துவிடும்.

சுரண்டல் பகுப்பாய்வு இல்லை

ஒரு ரெகுலர் எக்ஸ்பிரஷன் (regex) கோட்பாட்டளவில் அபாயகரமானதாக இருக்கலாம், ஆனால் நடைமுறையில் அதை அடைய முடியாததாக இருக்கலாம். இதற்கு நேர்மாறாக, ஒரு பொது எண்ட்பாயிண்டில் உள்ள ஒரு "சிறிய" வேலிடேட்டர் ஒரு உண்மையான சம்பவமாக இருக்கலாம். சூழல் விளக்கம் இல்லாமல், குழுக்கள் எச்சரிக்கைகளைப் புறக்கணிக்கின்றன அல்லது தேவைக்கு அதிகமாகவே சரிசெய்கின்றன.

பாரம்பரிய ஸ்கேனர்கள், இயங்கு நேரத்தில் அல்லது தீங்கிழைக்கும் உள்ளீட்டுச் சூழல்களில் ரெகுலர் எக்ஸ்பிரஷன்கள் (regex) எவ்வாறு செயல்படுகின்றன என்பதை மதிப்பிடாததால், ReDoS-ஐக் கண்டறிவதில் பெரும்பாலும் தோல்வியடைகின்றன. இந்த இடத்தில்தான் Xygeni போன்ற தளங்கள், பகுப்பாய்வை ஒருங்கிணைப்பதன் மூலம் ஒரு மாற்றத்தை ஏற்படுத்துகின்றன. சூழல் சார்ந்த இடர் மதிப்பீடுகள்ஒரு பலவீனம் உண்மையில் சரிசெய்யக்கூடியதாகவும் தாக்கத்தை ஏற்படுத்தக்கூடியதாகவும் உள்ளதா என்பதை அணிகள் புரிந்துகொள்ள உதவுகிறது.

ReDoS பாதிப்புகளைக் கண்டறிவது எப்படி

வடிவமைப்பு ஒழுங்கு மற்றும் சோதனை ஆகியவற்றின் கலவையைக் கொண்டு நீங்கள் ReDoS-ஐக் கண்டறியலாம். மேலும், பாதுகாப்பு மதிப்பாய்வின் போது மட்டும் அல்லாமல், தொடர்ச்சியாக இயங்கும் சோதனைகளும் உங்களுக்குத் தேவை.

பாதுகாப்பான ரெஜெக்ஸ் வடிவமைப்பு

குழப்பத்தைக் குறைக்கும் வடிவங்களுடன் தொடங்குங்கள். ஒன்றனுள் ஒன்று வரும் அளவிகளையும், ஒன்றுடன் ஒன்று மேற்பொருந்தும் மாற்றுச் சொற்களையும் தவிர்க்கவும்.

ஃபஸ்ஸிங் மற்றும் சோதனை

ரெஜெக்ஸ் பேட்டர்ன்களைக் கொண்டு சோதிக்கவும்:

  • மிக நீண்ட உள்ளீடுகள்.
  • தாமதமாகத் தோல்வியடையும், இலக்கை நெருங்கிய உள்ளீடுகள்.
  • பின்வாங்கலைத் தூண்டும் வகையில் வடிவமைக்கப்பட்ட மீண்டும் மீண்டும் வரும் டோக்கன்கள்.

நிலையான பகுப்பாய்வு

அறியப்பட்ட அபாயகரமான கட்டமைப்புகள் மற்றும் வடிவங்களைக் கொடியிடும் பகுப்பாய்வைப் பயன்படுத்தவும். CWE-1333.

இயக்க நேர சரிபார்ப்பு

முடிந்தவரை ரெகுலர் எக்ஸ்பிரஷன் மதிப்பீட்டைச் சுற்றி உள்ளீட்டு நீள வரம்புகளையும் காலக்கெடுக்களையும் பயன்படுத்துங்கள். OWASP இன் உள்ளீட்டு சரிபார்ப்பு வழிகாட்டுதல்இது ReDoS குறித்து வெளிப்படையாக எச்சரிப்பதோடு, குறைந்தபட்ச மற்றும் அதிகபட்ச உள்ளீட்டு நீளத்தை வரையறுப்பதன் முக்கியத்துவத்தையும் எடுத்துரைக்கிறது.

Xygeni போன்ற மேம்பட்ட AppSec தீர்வுகள், வடிவத்தைக் கண்டறிவதையும் தாண்டிச் செல்கின்றன. பணிப்பாய்வு சூழலில் குறியீட்டைப் பகுப்பாய்வு செய்யவும் மேலும், நிஜ சூழ்நிலைகளில் மிகவும் முக்கியமானதாக இருக்கக்கூடிய சிக்கல்களில் குழுக்கள் கவனம் செலுத்த உதவுவதன் மூலம், தவறான நேர்மறை முடிவுகள் குறைக்கப்பட்டு, சரிசெய்யும் நடவடிக்கைகள் விரைவுபடுத்தப்படுகின்றன.

ReDoS தாக்குதல்களைத் தடுப்பது எப்படி

தடுப்பு என்பது பாதுகாப்பான செயல்பாட்டு முறைகள், பாதுகாப்பான உள்ளீடுகள் மற்றும் பாதுகாப்பான இயக்க நேரத் தேர்வுகள் ஆகியவற்றின் ஒரு கலவையாகும்.

உள்ளமைக்கப்பட்ட அளவிகளைத் தவிர்க்கவும்

உள்ளமைந்த மீள்நிகழ்வு பெரும்பாலும் மிக மோசமான பின்வாங்கல் வெடிப்புகளை உருவாக்குகிறது.

உள்ளீட்டு அளவைக் கட்டுப்படுத்துங்கள்

இதுவே மிகவும் எளிமையான மற்றும் நம்பகமான தணிப்பு முறையாகும். ரெஜெக்ஸ் சரிபார்ப்பில் தேர்ச்சி பெறும் உள்ளீடுகளுக்கு அதிகபட்ச நீள வரம்புகளை அமைக்கவும். பாதுகாப்பான உள்ளீட்டுச் சரிபார்ப்பின் ஒரு முக்கியப் பகுதியாக நீள வரம்புகளை OWASP முன்னிலைப்படுத்துகிறது.

முடிந்தவரை பாதுகாப்பான ரெஜெக்ஸ் என்ஜின்களைப் பயன்படுத்தவும்.

எஞ்சினைத் தேர்ந்தெடுக்கும் வாய்ப்பு கிடைக்கும்போது, ​​பேரழிவை ஏற்படுத்தக்கூடிய பின்வாங்கலைத் தவிர்க்கும் வகையில் வடிவமைக்கப்பட்ட ஒன்றைத் தேர்ந்தெடுக்கவும். கூகிளின் RE2 இது, பின்னோக்கிச் செல்லும் ரெஜெக்ஸ் என்ஜின்களுக்கு ஒரு பாதுகாப்பான மாற்றாக நிலைநிறுத்தப்பட்டுள்ளது.

அடுக்குச் சோதனைகள் மூலம் உள்ளீடுகளைச் சரிபார்க்கவும்

அனைத்து சரிபார்ப்புகளுக்கும் ஒரே ஒரு ரெகுலர் எக்ஸ்பிரஷனை மட்டும் சார்ந்திருக்காதீர்கள். இவற்றை ஒன்றிணைக்கவும்:

  • எழுத்து அனுமதிப் பட்டியல்கள்,
  • கடுமையான நீளச் சோதனைகள்,
  • மற்றும் ஒவ்வொரு புலத்திற்கும் எளிமையான வடிவமைப்புகள்.

ReDoS தாக்குதலைத் தடுப்பதற்குப் பாதுகாப்பான குறியீட்டு நடைமுறைகளும் தேவைப்படுகின்றன. மேம்பாட்டு வாழ்க்கைச் சுழற்சி முழுவதும் தொடர்ச்சியான சரிபார்ப்புகுறிப்பாக, பயன்பாடுகள் விரிவடையும்போதும் மற்றும் சார்புநிலைகள் அதிகரிக்கும்போதும்.

ReDoS-ஐக் கண்டறிந்து தடுக்க Xygeni எவ்வாறு உதவுகிறது

சைஜெனி, பல்வேறு பகுப்பாய்வு அடுக்குகளை ஒருங்கிணைப்பதன் மூலம், டெவ்செக்ஆப்ஸ் குழுக்கள் ரீடாஸ் (ReDoS) பாதிப்புகளைக் கண்டறிந்து தடுக்க உதவுகிறது.

முக்கிய திறன்களில் பின்வருவன அடங்கும்:

  • மேம்பாட்டின் போது பாதிப்புக்குள்ளாகக்கூடிய ரெஜெக்ஸ் வடிவங்களைக் கண்டறிதல்
  • தரவு ஓட்டங்கள் மற்றும் செயலாக்கப் பாதைகளின் பகுப்பாய்வு
  • கோட்பாட்டு ரீதியானவை மட்டுமல்லாமல், பயன்படுத்தக்கூடிய பாதிப்புகளையும் கண்டறிதல்.
  • ஒருங்கிணைத்தல் CI/CD pipelineதொடர்ச்சியான ஸ்கேனிங்கிற்கான s
  • டெவலப்பர்களுக்கான செயல்படுத்தக்கூடிய சரிசெய்தல் வழிகாட்டுதல்

குழுக்களை எச்சரிக்கைகளால் திணறடிப்பதற்குப் பதிலாக, சைஜெனி முன்னுரிமை அளிக்கிறது உண்மையில் அணுகக்கூடிய பாதிப்புகள் மற்றும் தாக்கத்தை ஏற்படுத்தக்கூடியது.

இது, மேம்பாட்டுப் பணிகளை மெதுவாக்காமல், உண்மையான சிக்கல்களைக் குழுக்கள் விரைவாகச் சரிசெய்ய உதவுகிறது.

DevSecOps குழுக்களுக்கான சிறந்த நடைமுறைகள்

இடதுபுறம் நகர்த்தும் பாதுகாப்பு

ReDoS சோதனைகளை, குறியீட்டு மறுஆய்வு மற்றும் அலகு சோதனைகள் போன்ற அதே நடைமுறையின் ஒரு பகுதியாக ஆக்குங்கள்.

ஸ்கேன் தானியங்குபடுத்து

ஒவ்வொன்றிலும் சோதனைகளை இயக்கவும் pull request எனவே ரெஜெக்ஸ் ரிஸ்க் குறிப்பிட்ட கால மதிப்பாய்வுகளுக்காகக் காத்திருக்காது.

கண்காணிப்பு

ரெகுலர் எக்ஸ்பிரஷன் பாதிப்புகள் டிபென்டென்சிகள் மற்றும் உள்ளீட்டுப் பகுப்பாய்வு லைப்ரரிகளிலும் காணப்படுகின்றன, எனவே டிபென்டென்சி தூய்மையைக் கடுமையாகப் பராமரிக்கவும்.

உள்ளீடுகளைத் தொடர்ந்து சரிபார்க்கவும்

விளிம்புகளில் நீள வரம்புகளையும் உள்ளீட்டு விதிகளையும் பயன்படுத்துங்கள், பின்னர் முக்கிய சேவைகளுக்குள் மீண்டும் சரிபார்க்கவும்.

மேம்பாட்டுப் பணிப்பாய்வுகளில் பாதுகாப்பை நேரடியாக உட்பொதிப்பதன் மூலம், ReDoS போன்ற செயல்திறன் சார்ந்த பாதிப்புகள் உற்பத்தி நிலையை அடைவதற்கு முன்பே குழுக்களால் தடுக்க முடியும்.

ReDoS தடுப்பு, நிழலற்ற பார்வையுடன் தொடங்குகிறது.

ReDoS பெரும்பாலும் கவனிக்கப்படாமல் விடப்படுகிறது, ஆயினும் அது பயன்பாட்டின் செயல்திறன் மற்றும் கிடைக்கும் தன்மையில் குறிப்பிடத்தக்க தாக்கத்தை ஏற்படுத்தக்கூடும். OWASP, ReDoS-ஐ, தீவிரமான ரெஜெக்ஸ் இயக்க நேர நடத்தையில் வேரூன்றிய ஒரு சேவை மறுப்பு அபாயமாக வரையறுக்கிறது.
அதன் அர்த்தம், உங்களுக்கு அடிப்படை ஸ்கேனிங்கை விட மேலான ஒன்று தேவை. உங்களுக்குச் சூழல் விளக்கம், முன்னுரிமை அளித்தல் மற்றும் தானியங்குமயமாக்கல் ஆகியவை தேவை.

தாக்குபவரின் கட்டுப்பாட்டில் உள்ள உள்ளீட்டின் கீழ் செயலிழக்கக்கூடிய குறியீடாக ரெகுலர் எக்ஸ்பிரஷனை (regex) நீங்கள் கருதினால், ReDoS தாக்குதலை முன்கூட்டியே கண்டறிந்து, பாதுகாப்பான அமைப்புகளை வழங்க முடியும். Xygeni-ஐப் பயன்படுத்தி, குழுக்கள் தேவையற்ற தகவல்களைக் குறைத்து, உண்மையான அபாயங்களுக்கு முன்னுரிமை அளித்து, செயலிப் பாதுகாப்பு (AppSec) கட்டுப்பாடுகளை வலுப்படுத்த முடியும். CI/CD பணிப்பாய்வுகளையும்.

தீர்மானம்

சரியான சூழல் இல்லாமல், ReDoS பாதிப்புகளை ஏற்படுத்துவது எளிது, ஆனால் அவற்றைக் கண்டறிவது கடினம்.

பாரம்பரிய கருவிகள் சிக்கல்களைக் கண்டறிவதில் கவனம் செலுத்தும் அதே வேளையில், நவீன செயலிப் பாதுகாப்புக்கு (AppSec) எந்தப் பாதிப்புகள் உண்மையில் முக்கியமானவை என்பதைப் புரிந்துகொள்வது அவசியமாகிறது.

எனவே, முன்னணியில் இருப்பதற்கு, குழுக்களுக்கு மேம்பாட்டுச் சுழற்சி முழுவதும் வெளிப்படைத்தன்மை, முன்னுரிமைப்படுத்தல் மற்றும் தானியக்கம் ஆகியவை ஒருங்கிணைந்து செயல்பட வேண்டும்.

இங்குதான் சைஜெனி ஒரு மாற்றத்தை ஏற்படுத்துகிறது. பயன்படுத்தக்கூடிய அபாயங்களில் கவனம் செலுத்துவதன் மூலம், இது குழுக்கள் சிக்கல்களை முன்கூட்டியே கண்டறியவும், தேவையற்ற குழப்பங்களைக் குறைக்கவும், மேலும் பயன்பாடுகளை உருவாக்கம் முதல் வெளியீடு வரை பாதுகாக்கவும் உதவுகிறது.

இறுதியாக, இன்று பாதுகாப்பான மென்பொருளை உருவாக்குவது என்பது வெறும் மேலோட்டமான ஆய்வுக்கு அப்பாற்பட்டு, பாதுகாப்பிற்கான சூழல் சார்ந்த, நிகழ்நேர அணுகுமுறையைக் கையாள்வதாகும்.

பாதுகாப்பான, மீள்திறன் கொண்ட பயன்பாடுகளை உருவாக்கத் தொடங்குங்கள் நிகழ்நேரக் கண்டறிதல் மற்றும் சூழல் சார்ந்த பாதுகாப்பு.

அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)

ReDoS தாக்குதல் என்றால் என்ன?

ReDoS (Regular Expression Denial of Service) தாக்குதல் என்பது ஒரு வகை பாதிப்பு ஆகும். இதில், திறனற்ற ரெஜெக்ஸ் வடிவங்களைப் பயன்படுத்தி, அதிகப்படியான செயலாக்க நேரத்தை ஏற்படுத்தி, செயல்திறன் குறைவு அல்லது செயலி செயலிழப்புகளுக்கு வழிவகுக்கலாம்.

நவீன பயன்பாடுகளில் ReDoS ஏன் ஆபத்தானது?

ReDoS தாக்குதல்கள், CPU வளங்களை அதிகமாகப் பயன்படுத்துவதன் மூலமும் சேவைகளின் வேகத்தைக் குறைப்பதன் மூலமும், பயன்பாடுகளின் கிடைக்கும் தன்மையைப் பாதிக்கக்கூடும். கிளவுட்-நேட்டிவ் சூழல்களில், இது விரைவாக அமைப்பு முழுவதுமான செயல்திறன் சிக்கல்களாக மாறக்கூடும்.

டெவலப்பர்கள் ReDoS பாதிப்புகளை எவ்வாறு தடுக்கலாம்?

சிக்கலான ரெஜெக்ஸ் வடிவங்களைத் தவிர்ப்பது, உள்ளீட்டு அளவைக் கட்டுப்படுத்துவது, பாதுகாப்பான ரெஜெக்ஸ் என்ஜின்களைப் பயன்படுத்துவது மற்றும் பாதுகாப்புச் சோதனைகளை ஒருங்கிணைப்பது போன்றவற்றின் மூலம் டெவலப்பர்கள் ReDoS-ஐத் தடுக்கலாம். CI/CD pipelines.

பாரம்பரிய பாதுகாப்பு கருவிகளால் ReDoS-ஐ கண்டறிய முடியுமா?

பெரும்பாலான பாரம்பரிய கருவிகள், இயங்குநேர நடத்தையையோ அல்லது சுரண்டக்கூடிய தன்மையையோ பகுப்பாய்வு செய்யாததால், ReDoS-ஐக் கண்டறிவதில் சிரமப்படுகின்றன. மேம்பட்ட செயலிப் பாதுகாப்புத் தீர்வுகள், உண்மையான சூழ்நிலைகளில் குறியீடு எவ்வாறு இயங்குகிறது என்பதை மதிப்பிடுவதன் மூலம் சிறந்த கண்டறிதலை வழங்குகின்றன.

ReDoS தாக்குதல்களைத் தடுக்க சைஜெனி எவ்வாறு உதவுகிறது?

சைஜெனி பாதிப்புக்குள்ளாகக்கூடிய ரெஜெக்ஸ் வடிவங்களைக் கண்டறிந்து, செயல்படுத்தும் பாதைகளைப் பகுப்பாய்வு செய்து, சுரண்டப்படக்கூடிய அபாயங்களுக்கு முன்னுரிமை அளிக்கிறது. இது ஒருங்கிணைக்கிறது CI/CD pipelineமேலும், டெவலப்பர்களுக்குச் செயல்படுத்தக்கூடிய சரிசெய்தல் வழிகாட்டுதலை வழங்குகிறது.

எழுத்தாளர் பற்றி

இணை நிறுவனர் & CTO

பாத்திமா Said AppSec, DevSecOps மற்றும் பிற துறைகளுக்கான, டெவலப்பர்களுக்கு முன்னுரிமை அளிக்கும் உள்ளடக்கத்தை வழங்குவதில் நிபுணத்துவம் பெற்றது. software supply chain securityஅவர் சிக்கலான பாதுகாப்பு சமிக்ஞைகளைத் தெளிவான, செயல்படுத்தக்கூடிய வழிகாட்டுதலாக மாற்றி, குழுக்கள் விரைவாக முன்னுரிமை அளிக்கவும், தேவையற்ற குழப்பங்களைக் குறைக்கவும், பாதுகாப்பான குறியீட்டை வெளியிடவும் உதவுகிறார்.

 
sca-tools-software-composition-analysis-tools
உங்கள் மென்பொருள் அபாயங்களுக்கு முன்னுரிமை அளித்து, சரிசெய்து, பாதுகாக்கவும்.
உங்கள் இலவச கணக்கைப் பெறுங்கள்.
கடன் அட்டை தேவையில்லை.

உங்கள் மென்பொருள் உருவாக்கம் மற்றும் விநியோகத்தைப் பாதுகாக்கவும்

Xygeni தயாரிப்பு தொகுப்புடன்