xss-பாதிப்புகள்-sast-கருவிகள்

XSS பாதிப்புகள்: எப்படி SAST கருவிகள் அவற்றை தடுக்க முடியும்

பொருளடக்கம்

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

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

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

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

XSS பாதிப்புகள் என்றால் என்ன, நீங்கள் ஏன் அவற்றைப் பற்றி அக்கறை கொள்ள வேண்டும்?

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

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

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

XSS தாக்குதல்கள் பற்றிய தெளிவு: மிகவும் பொதுவான மூன்று வகைகள்

1. சேமிக்கப்பட்ட XSS: ஒரு தொடர்ச்சியான அச்சுறுத்தல்

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

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

உதாரணமாக: சரிபார்க்கப்படாத பயனர் உள்ளீட்டை ஏற்கும் ஒரு கருத்துப் புலம்:

2. பிரதிபலித்த XSS: அந்தத் தருணத்தில் வழங்கப்பட்டது

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

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

உதாரணமாக:

3. DOM அடிப்படையிலான XSS: உலாவியில் மறைந்திருக்கும் தாக்குதல்கள்

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

இந்த வகையில், தீங்கிழைக்கும் ஸ்கிரிப்டுகள், கிளையன்ட் தரப்பு ஜாவாஸ்கிரிப்டில் உள்ள பாதுகாப்பு குறைபாடுகளைப் பயன்படுத்தி, ஆவணப் பொருள் மாதிரியை (DOM) கையாளுகின்றன.

உதாரணமாக: திருத்தப்படாத பயனர் உள்ளீட்டை மாறும் வகையில் வழங்கும் ஒரு ஜாவாஸ்கிரிப்ட் துணுக்கு:

இந்த வடிவங்களில் எத்தனை ஏற்கனவே உங்கள் சொந்த கோட்பேஸில் உள்ளன என்பதை அறிய ஆவலாக உள்ளேன்? சைஜெனியின் SAST சேமிக்கப்பட்ட, பிரதிபலித்த, மற்றும் DOM அடிப்படையிலான XSS அபாயங்கள் ஒரு நிலையை அடைவதற்கு முன்பே, அவற்றை தானாகவே ஸ்கேன் செய்கிறது. pull request.

எப்படி SAST XSS-ஐ அதன் போக்கிலேயே தடுத்து நிறுத்தும் கருவிகள்

நிலையான பயன்பாட்டு பாதுகாப்பு சோதனை (SASTமென்பொருள் உருவாக்க வாழ்க்கைச் சுழற்சியின் ஆரம்பத்திலேயே XSS பாதிப்புகளைக் கண்டறிவதில் கருவிகள் விலைமதிப்பற்றவை.SDLC).

முக்கிய நன்மைகள் 

வளர்ச்சியின் ஆரம்ப கட்டத்திலேயே சிக்கல்களைக் கண்டறியுங்கள்

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

பாதுகாப்பான மாற்று வழி:

முழு குறியீட்டுத் தொகுப்பையும் பகுப்பாய்வு செய்யவும்

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

தடையின்றி ஒருங்கிணைக்கவும் CI/CD

SAST கருவிகள் XSS பாதிப்புகளைத் தானாகவே ஸ்கேன் செய்கின்றன pull requests மேலும், பாதுகாப்பற்ற குறியீடு இணைக்கப்படுவதைத் தடுக்கவும்.

மிகவும் முக்கியமானவற்றில் கவனம் செலுத்துங்கள்

SAST கருவிகள், பாதுகாப்புக் குறைபாடுகளின் பயன்படுத்தப்படும் தன்மை மற்றும் தீவிரத்தன்மையை மதிப்பிடுவதன் மூலம், சரிசெய்தல்களுக்கு முன்னுரிமை அளிக்கின்றன; இதன்மூலம் குழுக்கள் மிகவும் முக்கியமான சிக்கல்களை முதலில் தீர்க்க முடிகிறது.

XSS-க்கு எதிரான போரில் வெற்றிபெற சைஜெனி உங்களுக்கு எப்படி உதவுகிறது

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

  • Code Security (SAST): முதல் தரப்புக் குறியீடு எழுதப்படும்போதே, அதில் உள்ள XSS மற்றும் பிற ஊடுருவல் குறைபாடுகளை ஸ்கேன் செய்து, அவை வெளியிடப்படுவதற்கு முன்பே கண்டறிகிறது. OWASP பெஞ்ச்மார்க்கில், Xygeni-SAST மிகக் குறைந்த தவறான நேர்மறைகளுடன், XSS கண்டறிதலில் 100% உண்மையான நேர்மறை விகிதத்தைப் பெறுகிறது.
  • AI தானியங்கு சரிசெய்தல்: சுட்டிக்காட்டப்பட்ட XSS பாதிப்புகளை, டெவலப்பர் பயன்படுத்தத் தயாரான திருத்தங்களுடன் உடனடியாகச் சரிசெய்து, ஒரு pull request உங்கள் மூலக் குறியீட்டுத் தொகுப்புடன் சீரமைக்கப்பட்ட ஒரு பாதுகாப்பான மாற்று இருப்பதால், கைமுறையாகப் பிழைதிருத்தம் செய்யத் தேவையில்லை.
  • தீம்பொருள் பாதுகாப்பு: ஒரு திறந்த மூலத் தொகுப்பில் மறைந்திருக்கும் பாதிப்புக்குள்ளாகக்கூடிய ஒரு முறை, உங்கள் சொந்தக் குறியீட்டு மதிப்பாய்விலிருந்து தப்பிவிடாமல் இருக்க, சார்புநிலைகளையும் மூன்றாம் தரப்பு நூலகங்களையும் ஊடுருவிய அல்லது சமரசம் செய்யப்பட்ட குறியீட்டிற்காக இது கண்காணிக்கிறது.
  • IDE மற்றும் CI/CD ஒருங்கிணைப்பு: குறியீடு எழுதப்படும்போதே IDE-இல் உள்ள சிக்கல்களை நேரடியாகக் கொடியிட்டு, குறிப்புகளைச் சேர்க்கிறது. pull requests GitHub, GitLab, Bitbucket, Azure DevOps மற்றும் Jenkins முழுவதும் தானாகவே செயல்படுவதால், பாதிப்புக்குள்ளாகக்கூடிய குறியீடு தொடக்கத்திலேயே இணைக்கப்படுவதில்லை.

மீள்திறன் கொண்ட பயன்பாடுகளை உருவாக்குங்கள்: குறுக்கு-தள ஸ்கிரிப்டிங்கைத் தவிர்ப்பதற்கான குறிப்புகள்

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

  • பயனர் உள்ளீடுகளைச் சுத்திகரிக்கவும்: வலுவான தூய்மைப்படுத்தலுக்கு DOMPurify போன்ற லைப்ரரிகளைப் பயன்படுத்தவும்.
  • குறியாக்க வெளியீடுகள்: டைனமிக் தரவை உலாவியில் காண்பிக்கும் முன், அதை எப்போதும் குறியாக்கம் செய்யவும்.
  • உள்ளடக்கப் பாதுகாப்புக் கொள்கைகளை (CSPs) நடைமுறைப்படுத்துங்கள்: ஸ்கிரிப்ட் செயலாக்கத்தை நம்பகமான மூலங்களுக்கு மட்டும் கட்டுப்படுத்துங்கள்.
  • நிரல் தணிக்கைகளை குறிப்பிட்ட கால இடைவெளியில் அல்லாமல், தொடர்ச்சியாக மேற்கொள்ளுங்கள்: கைமுறை மதிப்பாய்வுகளைத் திட்டமிடுவதற்குப் பதிலாக, Xygeni-ஐ இயக்கவும். SAST ஸ்கேன்கள் ஒரு pre-commit கொக்கி அல்லது நேரடியாக உங்கள் CI/CD pipeline (கிட்ஹப், கிட்லேப், பிட்பக்கெட், அஸூர் டெவ்ஆப்ஸ், ஜென்கின்ஸ்), அதனால் ஒவ்வொரு commit இது தானாகவே சரிபார்க்கப்படுகிறது, மேலும் பாதுகாப்பற்ற குறியீடு ஒருபோதும் இணைப்பை அடைவதில்லை.

XSS தாக்குதல்களிலிருந்து உங்கள் செயலிகளைப் பாதுகாக்கத் தயாரா?

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

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

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

FAQ

XSS பாதிப்பு என்றால் என்ன?

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

XSS-இன் மூன்று முக்கிய வகைகள் யாவை?

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

Can SAST DOM அடிப்படையிலான XSS-ஐக் கண்டறியும் கருவிகள் யாவை?

ஆம், நவீனமானது SAST கருவிகள், சர்வர் பக்கக் குறியீட்டை மட்டுமல்லாமல், கிளையன்ட் பக்க ஜாவாஸ்கிரிப்டையும், DOM-அடிப்படையிலான XSS-ஐ ஏற்படுத்தும் அதே பாதுகாப்பற்ற வடிவங்களுக்காக (DOM-இல் நேரடியாக எழுதப்பட்ட சுத்திகரிக்கப்படாத உள்ளீடு போன்றவை) ஸ்கேன் செய்கின்றன.

XSS இன்னமும் ஒரு பொதுவான பாதிப்புப் பாதிப்பாக இருக்கிறதா?

ஆம். OWASP Top 10 பட்டியலில் XSS தொடர்ந்து இடம்பெற்று வருகிறது, இதற்குக் காரணம், கவனிக்கப்படாத ஒரே ஒரு உள்ளீட்டுப் புலம் கூட ஒரு பயன்பாட்டின் பயனர்கள் அனைவரையும் பாதிப்புக்குள்ளாக்கப் போதுமானது.

எப்படி ஒரு SAST XSS தடுப்பிற்கான ஒரு கருவி, வலை பயன்பாட்டு ஃபயர்வால் (WAF) என்பதிலிருந்து வேறுபட்டதா?

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

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

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

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