ஜாவாஸ்கிரிப்ட் ஒப்ஃபஸ்கேட்டர் என்ன செய்கிறது?
ஒரு ஜாவாஸ்கிரிப்ட் ஒப்ஃபஸ்கேட்டர் என்பது, தெளிவான, மனிதர்களால் படிக்கக்கூடிய குறியீட்டை எடுத்து, அதைப் புரிந்துகொள்வதையோ அல்லது ரிவர்ஸ்-இன்ஜினியரிங் செய்வதையோ கடினமாக்கும் வகையில், படிக்கவே முடியாத ஒன்றாக மாற்றுவதற்காக வடிவமைக்கப்பட்டுள்ளது. இந்தக் கருவிகள் மாறிகள் மற்றும் செயல்பாடுகளுக்கு மறுபெயரிடுகின்றன, வெற்று இடைவெளிகளை நீக்குகின்றன, குறியீட்டு அமைப்புகளைச் சமதளமாக்குகின்றன, மேலும் ஸ்டிரிங் பிரித்தல், ஹெக்ஸாடெசிமல் குறியாக்கம் அல்லது கட்டுப்பாட்டு ஓட்டத்தைச் சமதளமாக்குதல் போன்ற நுட்பங்களைப் பயன்படுத்துகின்றன. இதன் நோக்கம் பெரும்பாலும் அறிவுசார் சொத்துக்களைப் பாதுகாப்பதாகவோ அல்லது கோப்பின் அளவைக் குறைப்பதாகவோ இருந்தாலும், இதன் விளைவாக ஏற்படும் சிக்கலானது ஜாவாஸ்கிரிப்ட் மால்வேருக்கு ஒரு சிறந்த மறைப்பையும் வழங்குகிறது. இதனால்தான் பல பாதுகாப்புக் குழுக்கள், மாற்றப்பட்ட குறியீட்டைப் பகுப்பாய்வு செய்வதற்கும் மறைக்கப்பட்ட நடத்தைகளைக் கண்டறிவதற்கும் ஜாவாஸ்கிரிப்ட் டீஒப்ஃபஸ்கேட்டர் கருவிகளை நாடுகின்றன.
உதாரணமாக, இது போன்ற ஒரு எளிய விஷயம்:
function greet(name) { return `Hello, ${name}`; } Might become: function _0x1a2b(_0x3c4d){return'Hello, '+_0x3c4d;} கிளையன்ட்-சைட் லாஜிக்கை (பிரவுசர் அடிப்படையிலான SaaS போன்றவற்றை) உருவாக்கும் டெவலப்பர்களுக்கு, ஜாவாஸ்கிரிப்ட் ஆப்ஃபஸ்கேட்டர் என்பது டூல்செயினின் ஒரு பகுதியாகும். ஆனால் இதே மாற்றம், ஜாவாஸ்கிரிப்ட் மால்வேருக்கு ஒரு கச்சிதமான மறைப்பாகவும் அதை ஆக்குகிறது.
ஜாவாஸ்கிரிப்ட் மால்வேரை மறைக்க, தாக்குதல் நடத்துபவர்கள் தெளிவின்மையை எவ்வாறு தவறாகப் பயன்படுத்துகிறார்கள்
தாக்குதல் நடத்துபவர்கள் தங்களை மறைத்துக்கொள்ள ஜாவாஸ்கிரிப்ட் மறைப்பான் கருவிகளைத் தவறாகப் பயன்படுத்துகின்றனர். திறந்த மூல நூலகங்களில் தீம்பொருள் செலுத்தப்பட்டது, npm தொகுப்புகள்அல்லது நேரடியாக உலாவி ஸ்கிரிப்டுகளுக்குள். ஒரு பொதுவான முறை என்னவென்றால், குறிப்பிட்ட நிபந்தனைகளின் கீழ் இயங்கு நேரத்தில் தூண்டப்படும் தெளிவற்ற செயல்பாடுகளுக்குள் தரவுப் பொதிகளை மறைப்பதாகும்.
சமரசம் செய்யப்பட்ட ஒரு npm தொகுப்பைக் கருத்தில் கொள்வோம். முதல் பார்வையில், எல்லாம் சட்டப்பூர்வமாகத் தோன்றும். ஆனால் ஆழமாகப் பார்த்தால், குறியாக்கம் செய்யப்பட்ட சரங்கள், தொலைநிலை URLகள் அல்லது டைனமிக் ஆகியவற்றைக் குறிப்பிடும் தெளிவற்ற ஜாவாஸ்கிரிப்ட் இருப்பது தெரியவரும். eval() அழைப்புகள்:
(function(_0xa1b2c){var _0xd3e4=['/(function(_0xa1b2c){var _0xd3e4=['\x2fapi/(function(_0xa1b2c){var _0xd3e4=['\x2fapi\x2fsteal','...']; ...eval(atob(_0xd3e4[0]));})(this); இது சுருக்கம் அல்ல. இது ஒரு மறைப்பு. ஜாவாஸ்கிரிப்ட் தீம்பொருள் இங்கே ஒளிந்துகொண்டு, டோக்கன்களைத் திருடவும், ஃபிஷிங் படிவங்களைச் செருகவும், அல்லது செயலிகளுக்குள் அனுமதிகளை அதிகரிக்கவும் காத்திருக்கிறது.
செயலிப் பாதுகாப்பு மற்றும் விநியோகச் சங்கிலியில் உள்ள உண்மையான அபாயங்கள்
நவீன மென்பொருள் pipelineகள் மூன்றாம் தரப்புக் குறியீட்டின் அடிப்படையில் உருவாக்கப்படுகின்றன. தெளிவற்ற ஸ்கிரிப்டுகள் வழியாக உட்பொதிக்கப்படும் ஜாவாஸ்கிரிப்ட் தீம்பொருள் ஒரு பாதுகாப்பு ஓட்டை மட்டுமல்ல; அது ஒரு விநியோகச் சங்கிலி மீறலாகும். தெளிவற்ற தீம்பொருள் ஒரு பகிரப்பட்ட நூலகத்தில் நுழைந்தவுடன், அது பரவுகிறது:
- CI கட்டமைப்புகளுக்குள் வழியாக தொகுப்பு.ஜேசன்
- Webpack/Rollup வழியாக ஃப்ரண்ட்எண்ட் பண்டில்களுக்குள்
- CDN-கள் அல்லது ஸ்கிரிப்ட் செருகல்கள் வழியாக உற்பத்திக்குக் கொண்டுவருதல்
உதாரணமாக, பரவலாகப் பயன்படுத்தப்படும் தொகுப்புகளில் தாக்குதல் நடத்துபவர்கள், குறியாக்கத்தை மறைத்துத் தங்கள் இலக்குகளை எவ்வாறு பதிய வைத்தார்கள் என்பதை நிகழ்வு-ஓடை சம்பவம் காட்டியது. மென்பொருள் உருவாக்குநர்கள் ஆழமாகக் குறியாக்கம் செய்யப்பட்ட குறியீட்டை அரிதாகவே ஆய்வு செய்வதால், அது மறைந்துகொள்வதற்கு ஒரு சரியான இடமாக அமைகிறது.
இந்த ஆபத்து வெறும் கோட்பாட்டு ரீதியானது அல்ல. உங்கள் சார்புநிலைகள் சரிபார்க்கப்படாவிட்டால், அது ஏற்கனவே உங்கள் நிரலில் உள்ளது.
ஜாவாஸ்கிரிப்ட் டீஆப்ஃபஸ்கேட்டர் கருவிகளைப் பயன்படுத்தி மறைக்கப்பட்ட குறியீட்டைக் கண்டறிதல்
மறைந்திருக்கும் அச்சுறுத்தல்களைக் கண்டறிய, குழுக்கள் ஜாவாஸ்கிரிப்ட் டீஆப்ஃபஸ்கேட்டர் கருவிகளைப் பயன்படுத்துகின்றன. இவை தெளிவற்ற குறியீட்டு வடிவங்களைப் பகுப்பாய்வு செய்து, சரங்களின் குறியீட்டை நீக்கி, டைனமிக் போன்ற அபாயக் குறிகளை வெளிப்படுத்துகின்றன. eval()தெளிவற்ற சுழல்கள் மற்றும் தேவையற்ற சிக்கலான தன்மை.
பயனுள்ள தெளிவின்மை நீக்கிகள் குறியீட்டை மறுவடிவமைப்பது மட்டுமல்லாமல், பின்வருவனவற்றையும் சுட்டிக்காட்டுகின்றன:
- பயன்பாடு விழா, பரிணாமம், மற்றும் நேரம் முடிந்தது குறியாக்கம் செய்யப்பட்ட பேலோடுகளுடன்
- பேஸ்64 அல்லது ஹெக்ஸாடெசிமல் சரங்களின் நீண்ட தொடர்கள்
- கட்டுப்பாட்டு-ஓட்ட சமன்படுத்தல் அல்லது டெட்-கோட் உட்செலுத்துதல்
ஸ்டேடிக் அனலைசர்கள் அல்லது AST பார்சர்கள் போன்ற தானியங்கு கருவிகள் இந்த வடிவங்களைக் கண்டறிய உதவுகின்றன. சார்புகளை மதிப்பாய்வு செய்யும்போதும் அல்லது தொகுப்புப் புதுப்பிப்புகளைச் சரிபார்க்கும்போதும் அவை முதல் நிலை பாதுகாப்பாக விளங்குகின்றன.
எடுத்துக்காட்டு: மறைக்கப்பட்ட அச்சுறுத்தல்கள் ஒன்றிணைக்கப்படுவதைத் தவிர்க்க, ஒன்றிணைப்பதற்கு முந்தைய சோதனைகளில் தெளிவின்மை நீக்கும் ஸ்கேனிங்கை ஒருங்கிணைக்கவும்.
கண்டறிதலை ஒருங்கிணைத்தல் CI/CD Pipelines
கண்டறிதல் என்பது நிலைநிறுத்தலுக்குப் பிந்தைய பணி அல்ல. மறைப்பு ஸ்கேனிங் என்பது அதன் ஒரு பகுதியாக இருக்க வேண்டும். CI/CD pipeline. பயன்பாட்டு கிட்ஹப் செயல்கள், கிட்லாப் சி.ஐ., அல்லது ஜென்கின்ஸ் ஒவ்வொரு புஷ் அல்லது மெர்ஜ் செயல்பாட்டின் போதும் ஸ்கேன்களைத் தூண்டுவதற்கு.
வழக்கமான pipeline ஓட்டம்:
jobs: security-check: steps: - uses: actions/checkout@v2 - name: Scan for Obfuscation run: node scripts/deobfuscate-scan.jsகொள்கை அமலாக்கத்தின் மூலம், அபாயகரமான, தெளிவற்ற குறியீட்டைக் கொண்ட உருவாக்கங்களை நீங்கள் தடுக்கலாம். இதை இதனுடன் இணைக்கவும் SCA கருவிகள் npm தொகுப்புகளில் உள்ள அறியப்பட்ட தீம்பொருள் கையொப்பங்களைக் குறுக்கு-சரிபார்க்க.
இயக்க நேர எதிர்பாராத நிகழ்வுகளுக்காகக் காத்திருக்க வேண்டாம். அதை உருவாக்க நேரத்திலேயே நிராகரித்து விடுங்கள்.
தெளிவின்மையின் மறைமுக விலை: தெளிவின்மை நீக்கிகளைக் கொண்டு ஜாவாஸ்கிரிப்ட் தீம்பொருளை எதிர்த்துப் போராடுதல்
ஜாவாஸ்கிரிப்ட் மறைப்புக் கருவிகளுக்கு முறையான பயன்பாடுகள் உள்ளன. ஆனால் தாக்குதல் நடத்துபவர்கள், ஜாவாஸ்கிரிப்ட் தீம்பொருளை மறைப்பதற்கும், திறந்த மூல மென்பொருள் சூழலமைப்பின் மீதான நம்பிக்கையைச் சுரண்டுவதற்கும் அவற்றைச் சார்ந்திருக்கிறார்கள். செயலிப் பாதுகாப்பில் (AppSec) உண்மையான ஆபத்து நீங்கள் எழுதுவதில் மட்டுமல்ல, நீங்கள் இறக்குமதி செய்வதிலும் உள்ளது. ஜாவாஸ்கிரிப்ட் டீஆப்ஃபஸ்கேட்டர் ஸ்கேன்கள் மற்றும் நிலையான பகுப்பாய்வை உட்பொதிப்பதன் மூலம் CI/CD pipelineஇதனால், டெவலப்பர் குழுக்களால் அச்சுறுத்தல்களை முன்கூட்டியே கண்டறிய முடியும். சார்புநிலைகளில் உள்ள தெளிவற்ற குறியீட்டை, குறிப்பாக அது எதிர்பாராததாக இருக்கும்போது, சந்தேகத்துடன் அணுகவும்.
போன்ற கருவிகள் சைஜெனி ஜாவாஸ்கிரிப்ட் சூழல் அமைப்புகள் முழுவதும் உள்ள மறைத்தல் மற்றும் விநியோகச் சங்கிலி அபாயங்கள் குறித்த தெளிவைப் பெற DevSecOps குழுக்களுக்கு உதவுவதற்காக இவை உருவாக்கப்பட்டுள்ளன. உங்கள் திறன்களை மேம்படுத்த இவற்றைப் பயன்படுத்துங்கள். pipeline மேலும், உங்கள் நிரல் உற்பத்திக்குச் செல்வதற்கு முன்பே அதில் மறைந்திருப்பதை கண்டறியுங்கள்.
சைஜெனி இது அடிப்படை ஸ்கேனிங்கையும் தாண்டி, ஜாவாஸ்கிரிப்ட் மறைப்பு முறைகளைப் பகுப்பாய்வு செய்து, சாத்தியமான ஜாவாஸ்கிரிப்ட் மால்வேரைக் கண்டறிந்து, உங்கள் மென்பொருள் விநியோகச் சங்கிலி முழுவதும் உள்ள தொகுப்புகளில் உள்ள அபாயகரமான நடத்தைகளைக் கண்காணிக்கிறது. இது தடையின்றி ஒருங்கிணைக்கிறது. CI/CD pipelineகுறியீட்டின் தரம் மற்றும் பாதுகாப்பின் மீது தானியங்கு நிர்வாகத்தை செயல்படுத்துகிறது.
சந்தேகத்துடனே இருங்கள். எல்லாவற்றையும் கூர்ந்து கவனியுங்கள். மேலும் நினைவில் கொள்ளுங்கள்: அது பொருளற்றதாகத் தோன்றினால், அதனை மீண்டும் ஒருமுறை ஆராய்வது அவசியமாகும்.






