திறந்த மூல தொகுப்புகள்

திறந்த மூல தீங்கிழைக்கும் தொகுப்புகளுக்கு எதிராகப் பாதுகாத்தல்: எது பலனளிக்கும் (அல்லது பலனளிக்காது)

பொருளடக்கம்

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

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

இது ஒரு தொடரின் மூன்றாவது அத்தியாயம். தொடர் கட்டுரைகள் மென்பொருள் விநியோகச் சங்கிலித் தாக்குதல்களில் மிகவும் பரவலான வகையைப் பற்றி: அதாவது, ஒரு பொதுப் பதிவேட்டைத் தவறாகப் பயன்படுத்துபவை. ஓப்பன் சோர்ஸ் மென்பொருள் கூறுகள். முந்தைய அத்தியாயத்தில் பகுப்பாய்வு செய்த பிறகு “தீங்கிழைக்கும் மென்பொருட்களின் கட்டமைப்பு: போக்குகள் யாவை?தீய சக்திகள், புதிதாக அல்லது ஏற்கனவே வெளியிடப்பட்ட கூறுகளில் தீங்கிழைக்கும் நடத்தையை எவ்வாறு புகுத்துகின்றன என்பதைப் பார்க்கும்போது, ​​இந்த வழியில் வழங்கப்படும் தீங்கிழைக்கும் மென்பொருளை நாம் எவ்வாறு வெற்றிகரமாகத் தடுக்கலாம் என்பதை ஆராயவும், அல்லது மாற்றாக, நாம் தவறான அணுகுமுறையைக் கையாண்டதால் ஏற்படக்கூடிய ஒரு தீவிரமான இணையவழிச் சம்பவத்தைச் சமாளிக்கவும் நாங்கள் தயாராக இருக்கிறோம்.

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

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

பொதுவான தவறான கருத்துக்கள்

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

தவறான கருத்து #1: SCA கருவிகள் ஏற்கனவே தீங்கிழைக்கும் கூறுகளைப் புகாரளிக்கின்றன.

உண்மையில்! ஆனால் நடந்த பிறகுஒருவேளை அந்த அம்சம் ஒரு மென்பொருள் உருவாக்கத்தில் பயன்படுத்தப்பட்டிருந்தால், அப்போது மிகவும் தாமதமாகி, தீய சக்திகள் ஏற்கனவே ஒரு டெவலப்பர் அல்லது CI/CD ஹோஸ்ட். இரகசியங்கள் கசியவிடப்பட்டிருக்கலாம், கூடுதல் தீம்பொருள் பதிவிறக்கம் செய்யப்பட்டு நிறுவப்பட்டிருக்கலாம், மேலும் ஒருவேளை எதிரி பக்கவாட்டாக நகர்ந்து ஏற்கனவே வேறு இடங்களில் அணுகலைப் பெற்றிருக்கலாம். 

மென்பொருள் தொகுப்பு பகுப்பாய்வு (SCAஅறியப்பட்ட சாத்தியமான பாதிப்புகளைக் கண்டறிவதற்காக கருவிகள் வடிவமைக்கப்பட்டன. நவீன கருவிகள், சிக்னல்-நாய்ஸ் விகிதத்தை அதிகரிப்பதன் மூலம், அந்தப் பாதிப்பு உண்மையில் அடையக்கூடியதா அல்லது பயன்படுத்தக்கூடியதா என்பதைத் தீர்மானித்து, ஒரு சிறந்த வேலையைச் செய்கின்றன. ஆனால், புதிய மால்வேர்களுக்கு எதிராக அவை பயனற்றவை. ஒரு தீங்கிழைக்கும் கூறினை ஒரு ஜீரோ-டே பாதிப்பாகக் கருதுங்கள்: அதன் தீங்கிழைக்கும் நடத்தை கண்டறியப்படும்போது மட்டுமே, அந்தக் கூறு ஹோல்டிங் ரெஜிஸ்ட்ரிக்கு அறிவிக்கப்படுகிறது. அங்கு, ஒரு பாதுகாப்புக் குழுவின் மதிப்பாய்வுக்குப் பிறகு, அது தீங்கிழைக்கும் தன்மையுடையது என உறுதி செய்யப்பட்டு, ரெஜிஸ்ட்ரியிலிருந்து அகற்றப்படுகிறது. [1]

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

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

தவறான கருத்து #2: உருவாக்கத்தின் போது நிறுவல் ஸ்கிரிப்டுகளைக் கட்டுப்படுத்துவது, திறந்த மூலக் கூறுகளிலிருந்து ஏற்படும் தீங்கிழைக்கும் நடத்தையைத் தடுக்கிறது.

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

இதை அறிந்தால், ஸ்கிரிப்டுகளைப் புறக்கணிக்குமாறு தொகுப்பு மேலாளரை நாம் உள்ளமைக்கலாம். எடுத்துக்காட்டாக, NPM உடன் ஸ்கிரிப்ட்களை புறக்கணிக்கவும் கொடி (அல்லது உள்ளமைவு பண்பு .npmrc . நிறுவலின் போது ஸ்கிரிப்ட்களைத் தவிர்க்கிறது. பல சூழல் அமைப்புகளில் ஸ்கிரிப்ட்களை இயக்குவது பொதுவானது என்பதால் இது சில சிக்கல்களை ஏற்படுத்தக்கூடும்: சில தொகுப்பு மேலாளர்கள் ஸ்கிரிப்ட் இயக்கத்தை முடக்க அனுமதிப்பது கூட இல்லை (குறிப்பு: “ எனத் தூண்டவும்).நிறுவல் ஸ்கிரிப்டுகளின் செயல்பாட்டை முடக்க எந்த தொகுப்பு மேலாளர்கள் அனுமதிப்பதில்லை?(உங்களுக்குப் பிடித்தமான AI-இல்). ஆனால் இது பொதுவாகப் பாதுகாப்பளிக்காது (தவிர் முடக்கு உள்ளமைவு எல்லா இடங்களிலும் இருப்பதை நாம் உறுதிப்படுத்த வேண்டும்). 

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

தவறான கருத்து #3: பதிப்பு நிலைப்படுத்தல், தீங்கிழைக்கும் கூறுகள் நிறுவப்படுவதைத் தடுக்கிறது.

ஆரம்பத்திலேயே அடிக்கடி பேட்ச் செய்வதற்கும், அதனுடன் ஒரு சமநிலையும் உள்ளது. திறந்த பதிப்புகள் (பாதுகாப்புத் திருத்தங்களுக்கான புதிய புதுப்பிப்புகள் கிடைக்கும்போது, ​​தொகுப்பு மேலாளரைத் தானாகவே நிறுவ அனுமதித்தல்) மற்றும் பதிப்பு பின்னிங் (ஒரு மென்பொருளுக்கான அனைத்து நேரடி மற்றும் கடந்துசெல்லும் சார்புகளையும் ஒரு நிலையான பதிப்பில் கொண்டிருத்தல்). “விரைவில் பேட்ச் செய், அடிக்கடி பேட்ச் செய்” என்பவற்றில் நடப்பதைப் போல, பாதுகாப்புக் கொள்கைகள் பிடிவாதமானவை மற்றும் சில நேரங்களில் முரண்பாடானவை. மேம்படுத்தலை சாதாரணமாக எடுத்துக்கொள்ளக் கூடாதுசில பேக்கேஜ் மேனேஜர்கள், சர்வர் வரம்புகளைப் பயன்படுத்தி தானியங்கிப் புதுப்பிப்புகளைப் பரிந்துரைக்கப்பட்ட முறையாகச் செய்கின்றன. தீங்கிழைக்கும் புதுப்பிப்புகளையும் நீங்கள் பெற விரும்பினால் இது சிறந்தது! ஆம், பாதிப்புகளை விரைவில் சரிசெய்யும் பாதுகாப்புத் திருத்தங்களைப் பெறுவதற்கு, கூறுகள் புதுப்பிக்கப்பட வேண்டும், ஆனால்... பேக்கேஜ் மேனேஜரை இதைத் தானாகச் செய்ய ஒருபோதும் அனுமதிக்காதீர்கள்.

தவறான கருத்து #4: நம்பகமான கூறுகளைப் பயன்படுத்துவது பாதுகாப்பானது. தீங்கிழைக்கும் எந்தவொரு பதிப்பும் உடனடியாகக் கண்டறியப்பட்டு, வெளிப்படுத்தப்பட்டு, அகற்றப்படும்.

ஒரு கூறு ஏன் நம்பப்படுகிறது? ஒருவேளை அது மிகவும் பிரபலமாக இருப்பதாலும், பலரும் அதன் பாதுகாப்புக் குறைபாடுகளைக் கண்டறியக் கவனிப்பதாலும், பராமரிப்பிற்காகப் பெருமளவிலான பங்களிப்பாளர்கள் இருப்பதாலும், மேலும் அனைத்தையும் விடாமுயற்சியுடன் மதிப்பாய்வு செய்யும் பல முக்கியப் பராமரிப்பாளர்கள் இருப்பதாலும் இருக்கலாம். pull requestsஉண்மை நிலை முற்றிலும் வேறுபட்டது. சில அத்தியாவசியக் கூறுகள், ஊதியம் பெறாத ஒரே ஒரு டெவலப்பரால் பராமரிக்கப்படுகின்றன. பரவலாகப் பயன்படுத்தப்படும் கட்டமைப்புகளில் சில வழக்கமான பங்களிப்பாளர்கள்வேகமாக குறைந்து வரும் எண்ணிக்கையுடன் commitஒரு பராமரிப்பாளருக்கு s (பிரபலமான திட்டங்களில், அவ்வப்போது வந்து செல்லும் பங்களிப்பாளர்களின் நீண்ட பட்டியல் இருக்கும்) commit மேலும் ஒருபோதும் திரும்பி வருவதில்லை). மேலும், ஒரே பராமரிப்பாளரைக் கொண்ட பிரபலமான திட்டங்கள் ஏராளமாக உள்ளன.

நீங்கள் சொல்வதை நீங்களே கற்பனை செய்து பாருங்கள். ஓ, நாங்கள் Spring Boot / Angular / React / PyTorch / அதிகாரப்பூர்வ அடிப்படை Docker இமேஜ்களைப் பயன்படுத்துகிறோம், அதனால் நீங்கள் குறிப்பிடும் ஆபத்து மிகவும் குறைவு. ஒருவேளை அது உண்மையாக இருக்கலாம், பாதுகாப்பு விற்பனையாளர்களான நாங்கள் எல்லா நேரமும் பீதியைக் கிளப்புவதும், விவாதத்திற்குரிய ஒரு இடரைக் குறைப்பதற்காக மேம்பாட்டுக் குழுக்களில் தலையிடுவதும் அர்த்தமற்றது. (அடுத்த பிரிவில் உள்ள) இடர் ஏற்புப் பத்திக்கு நேரடியாகச் சென்று, அதோடு வேலையை முடித்துவிடலாம் என்று நீங்கள் நினைக்கலாம். துரதிர்ஷ்டவசமாக, மிகவும் பிரபலமான கூறுகள் தீய சக்திகளின் இலக்குகளாக இருக்கின்றன, உதாரணமாக, பிரபலமான பைடார்ச் நூலகம் தாக்கப்பட்டது கடந்த காலத்தில்.

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

தீங்கிழைக்கும் கூறுகளுக்கு எதிராக எது செயல்படாது

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

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

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

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

நீங்கள் இந்த இடத்தில் நிறுத்தினால், பிறகு இடர் ஏற்பு நீங்கள் செய்யக்கூடிய ஒரே விஷயம் இதுதான்: இது ஒருcisஉங்கள் அச்சுறுத்தல் மாதிரி/ஆபத்து மதிப்பீட்டில் ஆவணப்படுத்தப்பட வேண்டிய ஒரு விடயம்; இதில், ஆபத்தை ஏற்றுக்கொள்வதற்கான காரணம் மற்றும் அதன் சாத்தியமான விளைவுகள் ஆகியவை அடங்கும். இதை நிர்வாகத்திற்கும் மற்ற தொடர்புடைய தரப்பினருக்கும் தெரிவிப்பதன் மூலம் விழிப்புணர்வை ஏற்படுத்துங்கள். தற்செயல் உங்கள் மென்பொருளில் ஒரு தீங்கிழைக்கும் கூறு நிறுவப்படும்போது அல்லது சேர்க்கப்படும்போது இது திட்டமிடப்படலாம், ஆனால் தாக்குபவர்களுக்குப் பின்பற்ற பல வழிகள் இருப்பதால் இது கடினமாகிறது. ஒரு தீங்கிழைக்கும் கூறின் பயன்பாட்டின் அடிப்படையிலான விநியோகச் சங்கிலித் தாக்குதலின் விவரங்கள், அந்தச் சம்பவத்தைப் பொதுவெளியில் வெளிப்படுத்துவதை வெகுவாக மாற்றும்; இது உங்கள் நிறுவனத்தின் ஒழுங்குமுறை கட்டமைப்பின் கீழ் அநேகமாக கட்டாயமாகும். நீங்கள் இதையும் கவனத்தில் கொள்ளலாம். ஈடுசெய்யும் கட்டுப்பாடுகள் or பரிமாற்ற இடர் உதாரணமாக காப்பீட்டுடன்.

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

தீங்கிழைக்கும் கூறுகளைப் பயன்படுத்தி நடத்தப்படும் தாக்குதல்களுக்கு எதிராக எது பலனளிக்கும்?

திட பதிப்பு கையாளுதல்

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

ஆரம்ப எச்சரிக்கை

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

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

அங்கே ஒரு இருண்ட மண்டலம் வெளியிடும் நேரத்திற்கும், எஞ்சின் கூறுகளின் உள்ளடக்கங்களைப் பகுப்பாய்வு செய்யும் நேரத்திற்கும் இடைப்பட்ட நேரம் சில நிமிடங்களுக்கு மிகாமல் இருக்க வேண்டும். இந்தத் திட்டத்தை மாற்றியமைக்கலாம்; உதாரணமாக, புதிய கூறுகளை மென்பொருள் உருவாக்கத்தில் நிறுவிப் பயன்படுத்துவதற்கு முன்பு, அவை பகுப்பாய்வு செய்யப்படும் வரை காத்திருக்கலாம். pipelines, அல்லது தேவைப்படும்போது அவற்றை தேவைக்கேற்ப பகுப்பாய்வு செய்யலாம். ஒரு குறிப்பிட்ட பதிப்பில் உள்ள ஒரு கூறு மாற்ற முடியாதது. [3]ஆகவே, இதை ஒருமுறை மட்டும் பகுப்பாய்வு செய்தால் போதும்.

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

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

ஒரு கூறின் பதிப்பு தீங்கிழைக்கும் தன்மை கொண்டதா என்பதை அறிந்துகொள்ள முடியுமா?

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

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

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

திறன்கள் பகுப்பாய்வு அந்தக் கூறு என்ன செய்கிறது என்பதைக் கருத்தில் கொள்கிறது: அது எங்கு இணைகிறது, எந்தக் கோப்புகளை அணுகுகிறது, எந்தக் கட்டளைகள் அல்லது நிரல்கள் இயக்கப்படுகின்றன, முனையம் அல்லது சாதனத்தில் செய்யப்படும் உள்ளீடு/வெளியீடு (I/O), அல்லது எந்த அமைப்பு அழைப்புகள் செயல்படுத்தப்படுகின்றன. இந்த நடத்தை அடையாளக்குறிப்பை (ஏற்கனவே உள்ள ஒரு கூறுக்கு) வெவ்வேறு பதிப்புகளில் ஒப்பிடலாம். எனவே, எதிர்பாராத நடத்தை கண்டறியப்படும்போது, ​​அந்த ஆதாரம் புதிய பதிப்பில் புகுத்தப்பட்டிருக்கக்கூடிய தீங்கிழைக்கும் செயல்பாடு குறித்த சந்தேகத்தை எழுப்பக்கூடும். இந்த அணுகுமுறை, சாத்தியமான தீம்பொருளை எதிர்கொள்ளும்போது பாதுகாப்பு ஆய்வாளர்கள் பின்பற்றும் வகைப்படுத்தும் படிகளைப் பின்பற்றுகிறது: அதாவது, ஒரு ஆய்வைப் பயன்படுத்தி... சரங்களை அல்லது அதுபோன்ற கருவிகள். இந்த அணுகுமுறை, தூண்டும் நிலைமைகளைப் பொருட்படுத்தாமல் தீங்கிழைக்கும் நடத்தையைக் கண்டறிகிறது, மேலும் மூலக் குறியீடு எதுவும் கிடைக்காதபோதும் செயல்படுகிறது.

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

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

சார்புநிலை ஃபயர்வால் அமைத்தல்

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

புதிய பதிப்பு வெளியிடப்பட்ட உடனேயே விரைவாகக் கண்டறியும் முன்கூட்டிய எச்சரிக்கையுடன், உருவாக்கத்தைப் பாதிக்கும் கூறுகளைத் தடுப்பதற்காக அந்தத் தகவலை முன்னெச்சரிக்கையாகப் பயன்படுத்தும் ஒரு வழிமுறையும் இணைக்கப்பட வேண்டும் என்பதை நினைவில் கொள்ளவும். pipelineகள் அல்லது டெவலப்பர்களின் இயந்திரங்கள் [4]இதை நாம் “சார்பு ஃபயர்வால்தீங்கிழைக்கும் தொகுப்புகளிலிருந்து தானியங்கு உருவாக்கங்களைப் பாதுகாப்பதற்கான ஒரு தனிமைப்படுத்தல் பொறிமுறை. நிறுவனங்களை வெளிப்புறத் தீமைகளிலிருந்து காக்க உள்ளகத் தொகுப்புகளும் படிமப் பதிவகங்களும் சிறந்தவை, ஆனால் தனிமைப்படுத்தலைச் செயல்திறன் மிக்கதாக ஆக்குவதற்குப் போதுமான வலுவான ஆதாரம் அவசியமாகும். 

இயக்க நேர சாண்ட்பாக்ஸிங்

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

ஒரு விரிவான உத்தியை அமைத்தல்

பரிந்துரைக்கப்படும் உத்தியானது, மென்பொருள் உருவாக்கச் செயல்பாட்டில் பல்வேறு நுட்பங்களை ஒருங்கிணைத்து, பதிப்பு மேம்படுத்தல்களைக் கட்டுப்படுத்தி, உள்வரும் தீங்கிழைக்கும் கூறுகளைத் தடுக்க வேண்டும். முக்கியமான பாதிப்புகளுக்கான திருத்தங்களைப் பெறுவதற்காக, பதிப்புகளை மேம்படுத்தும்போது தானாகவே தொற்று ஏற்படுவதைத் தவிர்க்க, பதிப்பு முடக்கத்தை (version pinning) நாம் செயல்படுத்த வேண்டும்; பதிப்பு மேம்படுத்தல்களின் போது, ​​நேரடி மற்றும் மறைமுகச் சார்புநிலைகள் தீம்பொருள் அற்றவை என்பதற்குப் போதுமான சான்றுகளைப் பெறுவதற்காக, அவற்றை விரைவாகவும் திறமையாகவும் மதிப்பிட வேண்டும். அறியப்பட்ட தீங்கிழைக்கும் கூறுகளைச் சார்ந்திருக்கும் மென்பொருள் உருவாக்கங்கள் தடுக்கப்பட வேண்டும். மேலும், இவை அனைத்தும் கட்டாயமாக அமல்படுத்தப்பட வேண்டும்.

முடிந்தவரை பதிப்பு நிலைப்படுத்தலைப் பயன்படுத்துங்கள், ஏனெனில் அது உருவாக்கங்களை மேலும் மீண்டும் உருவாக்கக்கூடியதாக ஆக்குகிறது. கட்டுப்படுத்தப்பட்ட, கைமுறையாக அங்கீகரிக்கப்பட்ட பதிப்பு மாற்றங்களுடன் பதிப்பு நிலைப்படுத்தல், மற்றும் உதவி தொழில்நுட்பத்தின் உதவியுடன்புதுப்பிப்பு தீம்பொருளைக் கொண்டுவருகிறதா அல்லது மென்பொருளைச் சிதைக்கிறதா என்பதை மதிப்பிட வேண்டும், மேலும் பாதிப்புகளைச் சரிசெய்வதற்கான புதுப்பித்தலையும் தீம்பொருள் தொற்றைத் தவிர்ப்பதையும் சமன் செய்ய வேண்டும். கருவிகள் இங்கே உதவக்கூடும், (1) எந்தப் பாதிப்புகள் உண்மையில் முக்கியமானவை (தாக்குபவர்களால் குறிவைக்கப்படும் அதிக ஆபத்துடன், அடையக்கூடிய மற்றும் பயன்படுத்தக்கூடியவை) என்பதற்கு முன்னுரிமை அளிப்பதன் மூலம், (2) தற்போதைய கூறு பயன்பாடுகளுடன் இணக்கமான மற்றும் மென்பொருளைச் சிதைக்காத இலக்கு பதிப்புகளைத் தேர்ந்தெடுப்பதன் மூலம், (3) தீங்கிழைக்கும் நடத்தையைக் கொண்டிராத இலக்கு பதிப்புகளைத் தேர்ந்தெடுப்பதன் மூலம், மற்றும் (4) விரைவாக அங்கீகரிக்கப்படக்கூடிய மாற்றங்களை மேனிஃபெஸ்ட் கோப்புகளில் பரிந்துரைப்பதன் மூலம், நேரடி மற்றும் மறைமுக சார்புகளுக்கான பதிப்பு புதுப்பிப்பை எளிதாக்குவதன் மூலம். படி (3)-க்கு, தீங்கிழைக்கும் கூறுகள் வெளியிடப்பட்ட நேரத்திற்கு முடிந்தவரை நெருக்கமாக அவற்றைப் பற்றிய குறிப்பிட்ட தகவல்கள் தேவை.

சார்புகளைப் புதுப்பிக்கும் இந்த செயல்முறை கண்டிப்பாக வலுக்கட்டாயமான மற்றும் சரிபார்க்கப்பட்டது எல்லா இடங்களிலும். இந்த செயல்முறை ஆவணப்படுத்தப்பட வேண்டும், மேலும் சம்பந்தப்பட்ட அனைத்து தரப்பினருக்கும் பயிற்சி அளிக்கப்பட வேண்டும், ஏனெனில் பெரும்பாலும் மென்பொருள் உருவாக்கம் மற்றும் நிறுவுதல்/செயல்படுத்துதல் ஆகியவை வெளிப்புறப்படுத்தப்படுகின்றன. CI/CD pipelineஅதற்கேற்ப மாற்றியமைக்கப்பட வேண்டும், அப்போதுதான் தானியக்கமானது ஒரு தீங்கிழைக்கும் மறைமுகச் சார்புநிலையை உருவாக்கத்திற்குள் நுழைய அனுமதிக்காது: guardrails ஒரு சார்புநிலையில் தீம்பொருள் இருப்பதற்கான போதுமான ஆதாரம் இருந்தால், உருவாக்கத்தைத் தடுப்பதே பரிந்துரைக்கப்படும் வழிமுறையாகும். 

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

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

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

மேலும் படிக்க

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

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

திறந்த மூலச் சூழல் அமைப்பில் உள்ள NPM, PyPI, GitHub மற்றும் பிற முக்கிய உள்கட்டமைப்புகளுக்கு, புதிதாக வெளியிடப்படும் ஒரு தீங்கிழைக்கும் கூறு, தீம்பொருள் என உறுதிசெய்யப்பட்டு பதிவகத்திலிருந்து அகற்றப்படும் வரை செயலில் இருக்கும் காலத்தைக் குறைக்க நாங்கள் எவ்வாறு உதவுகிறோம் என்பதை விளக்குவோம். மேலும், திறந்த மூலக் கூறுகளை உள்ளடக்கிய மென்பொருள் விநியோகச் சங்கிலித் தாக்குதல்களுக்கு எதிராக மிகச் சிறந்த பாதுகாப்பைப் பெற, நிறுவனங்கள் MEW அமைப்பிலிருந்து எவ்வாறு பயனடையலாம் என்பதையும் எடுத்துரைப்போம்.

  • [1] எப்படியிருந்தாலும், அந்தக் கூறின் பயனர்கள், அதன் டார்பால் எங்காவது, உதாரணமாக ஒரு உள் பதிவகத்தில், தற்காலிகமாகச் சேமிக்கப்பட்டுள்ளதா அல்லது பதிவு செய்யப்பட்டுள்ளதா என்பதைச் சரிபார்க்க வேண்டும், இதன்மூலம் அந்தக் குறைபாடு நீக்கப்படும்.
  • [2] தொகுக்கப்பட்ட கூறு, ஒரு தொகுப்பு வடிவத்தின்படி, அதன் உள்ளடக்கங்கள் மற்றும் மெட்டாடேட்டா, மூல அல்லது தொகுக்கப்பட்ட குறியீடு, நிறுவல் ஸ்கிரிப்டுகள் மற்றும் சோதனைத் தொகுப்புகள் போன்ற கூடுதல் உருப்படிகளை அறிவிக்கும் ஒரு மேனிஃபெஸ்ட்டை உள்ளடக்கியுள்ளது, மேலும் இது பொதுவாக சுருக்கப்பட்ட வடிவத்தில் இருக்கும். இது “கூறு டார்பால்” என்று அழைக்கப்படுகிறது.
  • [3] ரெஜிஸ்ட்ரியில் ஏற்படும் ஒரு பாதுகாப்பு மீறலின் காரணமாக, தீங்கிழைக்கும் நபரால் வெளியிடப்பட்ட ஒரு கூறினை மாற்றியமைக்க முடிந்தாலும் கூட, பகுப்பாய்வு முடிந்த பிறகு டார்பாலில் ஏற்படும் எந்தவொரு மாற்றத்தையும் ஒரு சாதாரண கிரிப்டோகிராஃபிக் டைஜஸ்ட்டால் கண்டறிய முடியும்.
  • [4] சில தீங்கிழைக்கும் கூறுகள் நிறுவலின் போதே இயங்குகின்றன என்பதை நினைவில் கொள்ளுங்கள், எனவே X என்பது ஒரு தீங்கிழைக்கும் கூறு எனும் நிலையில், அறியாமல் “npm install X” கட்டளையை இயக்கும் டெவலப்பர் நோட்களை இது பாதிக்கக்கூடும்.  

திறந்த மூல தீங்கிழைக்கும் தொகுப்புகள்: பிரச்சினை

தீங்கிழைக்கும் மென்பொருட்களின் கட்டமைப்பு: போக்குகள் யாவை?

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

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

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