நிரல் குறியீட்டில் உள்ள பாதிப்புகளைக் கண்டறிய எளிய பயன்பாட்டை எவ்வாறு பயன்படுத்துவது

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

நிரல் குறியீட்டில் உள்ள பாதிப்புகளைக் கண்டறிய எளிய பயன்பாட்டை எவ்வாறு பயன்படுத்துவது
ஆதாரம்: unsplash (மார்கஸ் ஸ்பிஸ்கே)

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

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

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

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

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

நிலையான குறியீடு பாதுகாப்பு பகுப்பாய்வுக்கான திறந்த மூல கருவியை நான் ஏன் தேர்வு செய்தேன்

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

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

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

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

குறியீடு பாதுகாப்பு பகுப்பாய்விற்கு கிராடிட்டைப் பயன்படுத்துதல்

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

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

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

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

$ git clone https://github.com/wireghoul/graudit

இப்போது Graudit கட்டளை வடிவத்தில் பயன்படுத்த ஒரு குறியீட்டு இணைப்பை உருவாக்குவோம்

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

.bashrc க்கு மாற்றுப்பெயரைச் சேர்ப்போம் (அல்லது நீங்கள் பயன்படுத்தும் எந்த உள்ளமைவு கோப்பு):

#------ .bashrc ------
alias graudit="~/bin/graudit"

மறுதொடக்கம்:

$ source ~/.bashrc # OR
$ exex $SHELL

நிறுவல் வெற்றிகரமாக இருந்ததா என்று பார்ப்போம்:

$ graudit -h

நீங்கள் இதே போன்ற ஒன்றைக் கண்டால், எல்லாம் நன்றாக இருக்கும்.

நிரல் குறியீட்டில் உள்ள பாதிப்புகளைக் கண்டறிய எளிய பயன்பாட்டை எவ்வாறு பயன்படுத்துவது

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

$ graudit -d ~/gradit/signatures/js.db

எனவே, எனது திட்டப்பணியிலிருந்து இரண்டு js கோப்புகளை நான் சோதித்தேன், மேலும் Graudit எனது குறியீட்டில் உள்ள பாதிப்புகள் பற்றிய தகவலை கன்சோலில் காட்டியது:

நிரல் குறியீட்டில் உள்ள பாதிப்புகளைக் கண்டறிய எளிய பயன்பாட்டை எவ்வாறு பயன்படுத்துவது

நிரல் குறியீட்டில் உள்ள பாதிப்புகளைக் கண்டறிய எளிய பயன்பாட்டை எவ்வாறு பயன்படுத்துவது

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

கிராடிட்டின் நன்மைகள் மற்றும் தீமைகள்

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

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

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

தொடங்கு…

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

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

நம்பகமான VPS மற்றும் கட்டணத் திட்டத்தின் சரியான தேர்வு, விரும்பத்தகாத சிக்கல்களால் வளர்ச்சியிலிருந்து குறைவாக திசைதிருப்ப உங்களை அனுமதிக்கும் - எல்லாமே தோல்விகள் இல்லாமல் மற்றும் மிக அதிக நேரத்துடன் வேலை செய்யும்!

நிரல் குறியீட்டில் உள்ள பாதிப்புகளைக் கண்டறிய எளிய பயன்பாட்டை எவ்வாறு பயன்படுத்துவது

ஆதாரம்: www.habr.com

கருத்தைச் சேர்