தி Commit அது ஒரு பின்வாசலைத் திறந்தது
பயனரால் பதிவேற்றப்பட்ட ஆப்ஜெக்டுகளைக் கையாள ஒரு புதிய அம்சம் இணைக்கப்பட்டுள்ளது. அனைத்தும் சோதனைகளில் தேர்ச்சி பெறுகின்றன, ஆனால் சில வாரங்களுக்குப் பிறகு, தாக்குதல் நடத்துபவர்களால் சர்வரில் கட்டளைகளை இயக்க முடியும் என்பதை ஒரு பென்டெஸ்ட் வெளிப்படுத்துகிறது; இது, குறியீட்டில் மறைக்கப்பட்டிருந்த பாதுகாப்பற்ற டிசீரியலைசேஷனின் விளைவாகும். டிசீரியலைசேஷனுக்கும் தொலைநிலை குறியீடு செயலாக்கத்திற்கும் இடையிலான இடைவெளி அபாயகரமான அளவில் சிறியதாக இருக்கலாம், குறிப்பாக ஓப்பன் சோர்ஸ் தொகுப்புகள் அல்லது உள் சேவைகளிலிருந்து வரும் சீரியலைஸ் செய்யப்பட்ட தரவுகள் சரிபார்ப்பு இல்லாமல் நம்பப்படும்போது இது நிகழ்கிறது.
குறியீட்டில் டிசீரியலைசேஷன் என்றால் என்ன, அது ஏன் ஆபத்தானது, மற்றும் அது எங்கே மறைந்துள்ளது
டெவலப்பர் சொற்களில், டிசீரியலைசேஷன் என்றால் என்ன? அது, கட்டமைக்கப்பட்ட தரவுகளான JSON, XML, பைனரி வடிவங்கள் அல்லது மொழி சார்ந்த சீரியலைஸ் செய்யப்பட்ட ஆப்ஜெக்ட்களை எடுத்து, அவற்றை மீண்டும் நினைவகத்தில் உள்ள ஆப்ஜெக்ட்களாக மாற்றும் ஒரு செயல்முறையாகும்.
சொந்தமாக, வரிசை நீக்கம் தீங்கற்றதும் பொதுவானதும் ஆகும், எடுத்துக்காட்டாக:
- ஜாவா: பொருள்களைப் படித்தல் பொருள் உள்ளீட்டு நீரோடை
- பைதான்தரவை ஏற்றுதல் ஊறுகாய்.ஏற்றம்
- node.jsJSON-ஐப் பாகுபடுத்துதல் JSON.parse
சரிபார்ப்பு இல்லாமல் நம்பகமற்ற தரவுகளுக்கு டிசீரியலைசேஷன் பயன்படுத்தப்படும்போது ஆபத்து ஏற்படுகிறது. ஒரு தாக்குதல் நடத்துபவர், ஒரு கேட்ஜெட் சங்கிலியைத் தூண்டும் உள்ளீட்டை உருவாக்க முடியும்; இது ஏற்கனவே உள்ள குறியீட்டுப் பாதைகளைத் திட்டமிடப்படாத வழிகளில் பயன்படுத்தி, தொலைநிலைக் குறியீடு செயல்படுத்தலுக்கு வழிவகுக்கும்.
பாதுகாப்பற்ற வரிசை நீக்கம் பெரும்பாலும் இதில் காணப்படுகிறது:
- திறந்த மூல தொகுப்புகள் பாதுகாப்பற்ற இயல்புநிலைகளுடன்
- தனிப்பயன் குறியீடு வரிசைப்படுத்தப்பட்ட உள்ளீடு நம்பகமானது என்று கருதுகிறது
- மூன்றாம் தரப்பு APIகள் சரிபார்ப்பு இல்லாமல் வரிசைப்படுத்தப்பட்ட பொருள்களைத் திருப்பி அனுப்புகின்றன
- கலைப்பொருட்களை உருவாக்கு போன்ற:
- ஜாவா .ser முன்-வரிசைப்படுத்தப்பட்ட பொருள்களைக் கொண்ட கோப்புகள்.
- பைதான் .pkl இயந்திர கற்றல் பணிப்பாய்வுகளில் உள்ள மாதிரி கோப்புகள்.
- டாக்கர் இமேஜ்கள் அல்லது டிப்ளாய்மென்ட் கண்டெய்னர்களில் உட்பொதிக்கப்பட்ட வரிசைப்படுத்தப்பட்ட உள்ளமைவுப் பொருள்கள்
- ஜாவா .ser முன்-வரிசைப்படுத்தப்பட்ட பொருள்களைக் கொண்ட கோப்புகள்.
- சோதனை சாதனங்கள் போன்ற:
- உற்பத்தி ஸ்னாப்ஷாட்களிலிருந்து நகலெடுக்கப்பட்ட பழைய வரிசைப்படுத்தப்பட்ட சோதனைத் தரவு.
- செயல்திறன் அல்லது பின்னடைவுச் சோதனைகளுக்காக வெளிப்புறக் களஞ்சியங்களிலிருந்து பதிவிறக்கம் செய்யப்பட்ட வரிசைப்படுத்தப்பட்ட தரவுப் பொதிகள்.
- உற்பத்தி ஸ்னாப்ஷாட்களிலிருந்து நகலெடுக்கப்பட்ட பழைய வரிசைப்படுத்தப்பட்ட சோதனைத் தரவு.
இந்தக் கோப்புகளை ஒரு களஞ்சியத்தில் அறிமுகப்படுத்தி, சோதனைகள் அல்லது வரிசைப்படுத்தல்களின் போது தானாகவே ஏற்றுவதன் மூலம் பாதுகாப்பற்ற பிழைகளைத் தூண்ட முடியும். வரிசை நீக்கம் in CI/CD pipelineநிரல் தயாரிப்பு நிலையை அடைவதற்கு முன்பே.
பாதுகாப்பற்ற டிசீரியலைசேஷன் முதல் ரிமோட் கோட் எக்ஸிகியூஷன் வரை: தாக்குதல் பாதை
பாதுகாப்பற்ற டிசீரியலைசேஷனுக்கான சுரண்டல் சங்கிலி பெரும்பாலும் இந்த வடிவங்களில் ஒன்றைப் பின்பற்றுகிறது:
- நம்பகமற்ற உள்ளீடு பயன்பாட்டிற்குள் நுழைகிறது.
- பாதுகாப்பற்ற டிசீரியலைசேஷன், எந்தவித கட்டுப்பாடுகளும் இன்றி ஆப்ஜெக்டுகளை மீண்டும் உருவாக்குகிறது.
- சாதனத் தொடர், ஏற்கனவே உள்ள செயல்பாடுகளை எதிர்பாராத வழிகளில் தூண்டுகிறது.
- தாக்குதல் நடத்துபவர் சிறப்புரிமைகளை அதிகரித்து, தொலைநிலை நிரல் செயலாக்கத்தை மேற்கொள்கிறார்.
மாறுபாடுகள்:
- ஜாவா கேட்ஜெட் சங்கிலிகள் அப்பாச்சி காமன்ஸ் போன்ற பழைய நூலகங்களைப் பயன்படுத்துகின்றன.
- பைதான் .pkl உட்பொதிக்கப்பட்ட தீங்கிழைக்கும் பொருட்களுடன் மாதிரி ஏற்றப்படுகிறது.
- Node.js JSON பாகுபடுத்தல் eval() அல்லது டைனமிக் இறக்குமதிகள்.
பாய்ச்சல்:
இணைப்பதற்கு முன் பாதுகாப்பற்ற டிசீரியலைசேஷனைக் கண்டறிவது எப்படி
குறியீடு இணைக்கப்பட்ட பிறகு சரிசெய்வதை விட, குறியீடு இணைப்பிற்கு முன்பே பாதுகாப்பற்ற டிசீரியலைசேஷனைக் கண்டறிவது மிகவும் செலவு குறைந்தது. தானியங்கு பகுப்பாய்வு மற்றும் முன்கூட்டிய சோதனை ஆகியவற்றின் கலவையே சிறப்பாகச் செயல்படும்:
- நிலையான பயன்பாட்டுப் பாதுகாப்புச் சோதனை (SAST):
- போன்ற அபாயகரமான API-களைக் கண்டறிய ஸ்கேனர்களை உள்ளமைக்கவும் பொருள் உள்ளீட்டு நீரோடை, ஊறுகாய்.ஏற்றம், மற்றும் YAML.load பாதுகாப்பான ஏற்றி இல்லாமல்.
- பாதுகாப்பற்ற தன்மைக்காக மூலக் குறியீடு மற்றும் உருவாக்க/சோதனைக் கோப்புகள் இரண்டையும் ஸ்கேன் செய்யவும். வரிசை நீக்கம் வடிவங்கள்.
- கண்டுபிடிப்புகளை நேரடியாகக் காண்பிக்கவும் pull requests எனவே, ஒன்றிணைப்பதற்கு முன்பு டெவலப்பர்கள் அவற்றைச் சரிசெய்ய முடியும்.
- போன்ற அபாயகரமான API-களைக் கண்டறிய ஸ்கேனர்களை உள்ளமைக்கவும் பொருள் உள்ளீட்டு நீரோடை, ஊறுகாய்.ஏற்றம், மற்றும் YAML.load பாதுகாப்பான ஏற்றி இல்லாமல்.
- CI/CD ஒருங்கிணைப்பு:
எடுத்துக்காட்டு பணிப்பாய்வு:
- பாதுகாப்பற்ற குறியீடு உற்பத்திப் பிரிவுகளை அடைவதைத் தடுப்பதற்காக, முக்கியமான பாதுகாப்பற்ற டிசீரியலைசேஷன் கண்டறிதல்களின் போது இணைப்புகள் தடுக்கப்படுகின்றன.
- போலி தீங்கிழைக்கும் உள்ளீடுகளுடன் கூடிய அலகு சோதனைகள்:
- உருவாக்கு தீங்கற்ற, கட்டுப்படுத்தப்பட்ட சுமைகள் பொதுவான தொடராக்கப்பட்ட தாக்குதல் பொருள்களைப் போல செயல்படுபவை.
- பயன்பாடு அவற்றை எவ்வாறு கையாளுகிறது என்பதைச் சோதித்துப் பாருங்கள்; அது உள்ளீட்டைக் கண்மூடித்தனமாகச் செயலாக்குவதற்குப் பதிலாக, அதை நிராகரிக்கவோ, திருத்தியமைக்கவோ அல்லது பதிவு செய்யவோ வேண்டும்.
- இந்த சோதனைகளை தானியங்கு முறையில் சேர்க்கவும் pipeline எனவே அவை ஒவ்வொரு PR-இலும் இயங்கி, பாதுகாப்பற்ற டிசீரியலைசேஷன் நடத்தையை முன்கூட்டியே கண்டறிகின்றன.
- கண்டறிதல் தர்க்கத்தில் மட்டும் கவனம் செலுத்தி, சோதனைக் கோப்புகள் இயக்க முடியாதவையாகவும், களஞ்சியத்தில் சேமிக்கப் பாதுகாப்பானவையாகவும் இருப்பதை உறுதிசெய்யுங்கள்.
- உருவாக்கு தீங்கற்ற, கட்டுப்படுத்தப்பட்ட சுமைகள் பொதுவான தொடராக்கப்பட்ட தாக்குதல் பொருள்களைப் போல செயல்படுபவை.
இந்த அடுக்கு அணுகுமுறையானது, தானியங்கு ஸ்கேனிங்கை டெவலப்பருக்குச் சொந்தமான சோதனைகளுடன் இணைத்து, பாதுகாப்பற்ற டிசீரியலைசேஷன் பாதைகள் தொலைநிலைக் குறியீடு செயல்படுத்தும் பாதிப்புகளாக மாறுவதற்கு நீண்ட காலத்திற்கு முன்பே கண்டறியப்பட்டு அகற்றப்படுவதை உறுதி செய்கிறது.
டெவலப்பர்களுக்கான தடுப்பு உத்திகள்: டிசீரியலைசேஷன், ரிமோட் கோட் எக்ஸிகியூஷனாக மாறுவதைத் தடுத்தல்
- நம்பிக்கை எல்லைகள்: அங்கீகரிக்கப்பட்ட, சரிபார்க்கப்பட்ட மூலங்களிலிருந்து மட்டுமே டிசீரியலைஸ் செய்யவும்.
- பாதுகாப்பான APIகள்:
- ஜாவா: சரிபார்ப்புடன் கூடிய பாதுகாப்பான நூலகங்கள்.
- பைதான்: பயன்பாடு json.loads() மீது pickle.loads() சாத்தியமான இடங்களில்.
- Node.js: தவிர்க்கவும் eval() அல்லது டைனமிக் குறியீடு செயலாக்கம்.
- ஜாவா: சரிபார்ப்புடன் கூடிய பாதுகாப்பான நூலகங்கள்.
- அனுமதிப் பட்டியல்கள் மற்றும் ஸ்கீமாக்கள்அனுமதிக்கப்பட்ட பொருள் வகைகளைக் கட்டுப்படுத்துங்கள். JSON ஸ்கீமாக்களை அமல்படுத்துங்கள்.
- சார்பு சுகாதாரம்டிசீரியலைசேஷன் அல்லது ரிமோட் கோட் எக்ஸிகியூஷனைக் குறிப்பிடும் CVE-களைக் கண்காணிக்கவும்.
- குறியீடு மதிப்புரைகள்: கூட்டு வரிசை நீக்கம் பாதுகாப்புச் சோதனைகள் முதல் PR மதிப்பாய்வு வார்ப்புருக்கள் வரை.
கருவி குறிப்பு: போன்ற கருவிகள் சைஜெனி இணைப்பதற்கு முன், பாதுகாப்பற்ற டிசீரியலைசேஷனுக்காகக் குறியீடு மற்றும் சார்புகளை ஸ்கேன் செய்து, அதிக ஆபத்துள்ள பகுதிகளைக் கண்டறியவும், இதன் மூலம் டெவலப்பர்கள் அவற்றை முன்கூட்டியே சரிசெய்ய முடியும்.
மொழிகளுக்கிடையேயான கண்டறிதல் முறைகளின் எடுத்துக்காட்டுகள் (பாதுகாப்பான போலிக்குறியீடு)
கீழே உள்ள எடுத்துக்காட்டுகள் அனைத்தும், கண்டறியும் முறைகளைக் காட்டும் திருத்தப்பட்ட போலிக்குறியீடுகளே தவிர, செயல்படும் சுரண்டல்கள் அல்ல:
ஜாவா – பாதுகாப்பற்ற API பயன்பாட்டைக் கண்டறிதல்:
பைதான் – பாதுகாப்பற்ற டிசீரியலைசேஷனைத் தவிர்த்தல்:
Node.js – டைனமிக் குறியீடு செயல்படுத்தலைத் தடுத்தல்:
DevSecOps இல் கண்டறிதலைத் தானியங்குபடுத்துதல் Pipelines: உற்பத்தி நிலையை அடைவதற்கு முன்பே டிசீரியலைசேஷனைக் கண்டறிதல்
பாதுகாப்பற்ற டிசீரியலைசேஷன் கண்டறிதலைத் தானியக்கமாக்குவது உறுதி செய்கிறது பாதுகாப்புக் குறைபாடுகள் கண்டறியப்பட்டு சரிசெய்யப்படுகின்றன. அவை உற்பத்திச் சூழலில் தொலைநிலை குறியீடு செயலாக்கத்திற்கு வழிவகுப்பதற்கு முன்பு.
Pipeline ஸ்கேனிங்
- ரன் SAST மூலக் குறியீடு, உள்ளமைவு கோப்புகள் மற்றும் உருவாக்க கலைப்பொருட்கள் ஆகியவற்றில் ஒவ்வொரு commit.
- பயன்பாட்டுக் குறியீடு மற்றும் இரண்டிலும் பாதுகாப்பற்ற டிசீரியலைசேஷன் முறைகளைக் கண்டறியவும் சார்புகள்.
கலைப்பொருள் ஆய்வு
- ஸ்கேன் .ser, .pkl, மற்றும் பிற வரிசைப்படுத்தப்பட்ட கோப்புகளில், அவற்றைச் செயல்படுத்துவதற்கு முன்போ அல்லது சோதனைகளை இயக்குவதற்கு முன்போ பாதுகாப்பற்ற வடிவங்களைக் கண்டறியவும்.
Pull Request தடுப்பதை
- பாதுகாப்பற்ற டிசீரியலைசேஷன் கண்டறியப்பட்டால், இணைப்புகள் தடுக்கப்படும்.
- சரிசெய்தல் நடவடிக்கைகளை விரைவுபடுத்த, PR-களில் செயல்படுத்தக்கூடிய பின்னூட்டங்களைக் காண்பிக்கவும்.
அலகு சோதனை அமலாக்கம்
- போலித் தீங்கிழைக்கும் உள்ளீடுகளுடன் கூடிய அலகு சோதனைகளைச் சேர்க்கவும் CI/CD pipeline
- பாதுகாப்பற்ற வரிசைப்படுத்தப்பட்ட தரவை நிராகரிப்பதற்குப் பதிலாக, பயன்பாடு அதைச் செயலாக்கினால் உருவாக்கங்கள் தோல்வியடையும்.
விதிகளை பலவீனப்படுத்தாமல் தவறான நேர்மறைகளைத் தவிர்த்தல்
- எச்சரிக்கைகளை "அமைதியாக்க" கண்டறிதல் விதிகளை முடக்காதீர்கள்; இது உண்மையான பாதுகாப்பற்ற டிசீரியலைசேஷன் கண்டறியப்படாமல் கடந்து செல்ல அனுமதிக்கக்கூடும்.
- அறியப்பட்ட பாதுகாப்பான வடிவங்கள் அல்லது சார்புகளுக்கு, கட்டுப்படுத்தப்பட்ட வெள்ளைப் பட்டியலைப் (அனுமதிப் பட்டியல்) பயன்படுத்தவும்.
- வெள்ளைப்பட்டியல் பதிவுகளை அங்கீகரிக்கும் முன் பாதுகாப்புச் சரிபார்ப்பு தேவை.
- வெள்ளைப்பட்டியலைப் பதிப்புக் கட்டுப்பாட்டின் கீழ் வைத்து, அனைத்து விதிவிலக்குகளும் நியாயமானதாகவும் பாதுகாப்பானதாகவும் இருப்பதை உறுதிசெய்ய அதனை அவ்வப்போது மதிப்பாய்வு செய்யவும்.
சைஜெனி-யின் பங்கு
- நேரடியாக ஒருங்கிணைக்கிறது CI/CD pipelineமூலக் குறியீடு மற்றும் உருவாக்கக் கலைப்பொருட்கள் இரண்டையும் ஸ்கேன் செய்ய.
- பாதுகாப்பற்ற டிசீரியலைசேஷன் முறைகளையும் அபாயகரமான சார்புகளையும் வாழ்க்கைச் சுழற்சியின் ஆரம்பத்திலேயே கண்டறிகிறது.
- கட்டாயப் பாதுகாப்பு மதிப்பாய்வுடன் கொள்கை அடிப்படையிலான அனுமதிப்பட்டியலிடலை ஆதரித்து, கண்டறிதல் துல்லியத்தையும் டெவலப்பர் உற்பத்தித்திறனையும் சமநிலைப்படுத்துகிறது.
பாதுகாப்பான டிசீரியலைசேஷன் மூலம் தொலைநிலை குறியீடு செயலாக்கத்தை முந்திக்கொள்வது
பாதுகாப்பற்ற டிசீரியலைசேஷன், தொலைநிலை குறியீடு செயலாக்கத்திற்கான நேரடிப் பாதையாக மாறும் வரை கவனிக்கப்படாமல் இருக்கலாம். அதைத் தடுப்பதற்குப் பின்வருவன தேவை:
- டிசீரியலைசேஷன் என்றால் என்ன என்பதையும், அது எவ்வாறு தவறாகப் பயன்படுத்தப்படலாம் என்பதையும் புரிந்துகொள்ளுதல்.
- மேம்பாட்டுப் பணிப்பாய்வில் தானியங்கு கண்டறிதலை உட்பொதித்தல்.
- சோதனைகளில் பயன்படுத்தப்படும் சார்புநிலைகள், உருவாக்கக் கலைப்பொருட்கள் மற்றும் வரிசைப்படுத்தப்பட்ட தரவுகளைத் தவறாமல் மதிப்பாய்வு செய்தல்.
இந்த செயல்முறையில் சைஜீனியின் நடைமுறைப் பங்கு:
- மூலக் குறியீடு ஸ்கேனிங்குறியீடு ஒன்றிணைக்கப்படுவதற்கு முன்பு, பல மொழிகளில் உள்ள பாதுகாப்பற்ற டிசீரியலைசேஷன் முறைகளைக் கண்டறிகிறது.
- கலைப்பொருள் மற்றும் சார்புநிலை பகுப்பாய்வு: அபாயகரமான தொடராக்கப்பட்ட கோப்புகளைக் கண்டறிகிறது (.ser, .pkl, உட்பொதிக்கப்பட்ட கட்டமைப்பு மற்றும் அறியப்பட்ட பாதிப்புகளைக் கொண்ட மூன்றாம் தரப்புக் கூறுகள்.
- கொள்கை அடிப்படையிலான கட்டுப்பாடுகள்பாதுகாப்புச் சரிபார்ப்புடன் கூடிய கட்டுப்படுத்தப்பட்ட அனுமதிப் பட்டியலை இது ஆதரிக்கிறது, இதன்மூலம் அவசியமான விதிவிலக்குகள் உண்மையான அபாயங்களை ஏற்படுத்தாது என்பதை உறுதி செய்கிறது.
- சூழலில் டெவலப்பர் கருத்து: உள்ளே நிகழும் பாதுகாப்பற்ற டிசீரியலைசேஷனின் துல்லியமான இடத்தையும் காரணத்தையும் சுட்டிக்காட்டுகிறது. pull requestsஇது, உருவாக்குநர்கள் சிக்கல்களை உடனடியாகச் சரிசெய்யவும், மறு ஆய்வு மூலம் தணிப்பு நடவடிக்கைகளை உறுதிப்படுத்தவும் அனுமதிக்கிறது.
இது போன்ற சோதனைகளை நேரடியாக ஒருங்கிணைப்பதன் மூலம் CI/CDகுழுக்களால் பாதுகாப்பற்றவற்றைக் கண்டறிந்து சரிசெய்ய முடியும். உற்பத்திச் சூழலில் தொலைநிலைக் குறியீடு செயலாக்கமாக அது தீவிரமடைவதற்கு முன்பே, டிசீரியலைசேஷன் செய்யப்படுகிறது.




