JavaScript Obfuscator - JavaScript deobfuscator - JavaScript зиянды бағдарламасы

Неліктен JavaScript Obfuscator құралдарын шабуылдаушылар теріс пайдаланады (және оларды қалай анықтауға болады)

JavaScript обфускаторы не істейді?

JavaScript Obfuscator таза, адам оқи алатын кодты алып, оны әрең оқылатын кодқа айналдыруға арналған, бұл оны түсінуді немесе кері инженериялауды қиындатады. Бұл құралдар айнымалылар мен функциялардың атын өзгертеді, бос орындарды жояды, код құрылымдарын тегістейді және жолдарды бөлу, он алтылық кодтау немесе басқару ағынын тегістеу сияқты әдістерді қолданады. Мақсат көбінесе зияткерлік меншікті қорғау немесе файл өлшемін азайту болғанымен, нәтижесінде пайда болған күрделілік JavaScript зиянды бағдарламалары үшін тамаша қорғаныс болып табылады. Сондықтан көптеген қауіпсіздік топтары түрлендірілген кодты талдау және жасырын мінез-құлықты анықтау үшін JavaScript deobfuscator құралдарына жүгінеді.

Мысалы, келесідей қарапайым нәрсе:

Әзірлеушілер клиенттік логиканы (шолғышқа негізделген SaaS деп ойлаңыз) жеткізу үшін JavaScript обфускаторы құралдар тізбегінің бөлігі болып табылады. Бірақ дәл осы түрлендіру оны JavaScript зиянды бағдарламалары үшін тамаша қорғаныс етеді.

Шабуылдаушылар JavaScript зиянды бағдарламасын жасыру үшін обфуссияны қалай пайдаланады

Шабуылдаушылар JavaScript обфускатор құралдарын жасыру үшін теріс пайдаланады ашық бастапқы кодты кітапханаларға енгізілген зиянды бағдарлама, npm пакеттерінемесе тікелей браузер скрипттеріне. Жалпы үлгі - белгілі бір жағдайларда орындалу уақытында іске қосылатын түсініксіз функциялардың ішінде пайдалы жүктемелерді жасыру.

Бұзылған npm пакетін қарастырайық. Бір қарағанда бәрі заңды болып көрінеді. Бірақ тереңірек қарасаңыз, JavaScript сілтемесінің кодталған жолдары, қашықтағы URL мекенжайлары немесе динамикалық түсініксіздігі анықталады. eval() қоңыраулар:

Бұл қысу емес. Бұл жабу. JavaScript зиянды бағдарламасы осында жасырынып, токендерді эксфильтрациялауды, фишинг формаларын енгізуді немесе қолданбалар ішіндегі рұқсаттарды күшейтуді күтеді.

AppSec және жеткізу тізбегіндегі нақты тәуекелдер

Қазіргі заманғы бағдарламалық жасақтама pipelines үшінші тарап кодына негізделген. Бұрмаланған скрипттер арқылы енгізілген JavaScript зиянды бағдарламасы тек қауіпсіздік тесігі ғана емес; бұл жеткізу тізбегінің бұзылуы. Бұрмаланған зиянды бағдарлама ортақ кітапханаға түскеннен кейін ол таралады:

  • CI құрылымдарына кіру арқылы пакет.json
  • Webpack/Rollup арқылы фронтенд пакеттеріне
  • CDN немесе скрипт инъекциялары арқылы өндіріске енгізу

Мысалы, оқиға ағыны оқиғасы шабуылдаушылар кеңінен қолданылатын пакеттерге пайдалы жүктемелерді орналастыру үшін шатастыруды қалай қолданғанын көрсетті. Әзірлеушілер терең шатастырылған кодты сирек тексереді, бұл оны жасырынуға тамаша орынға айналдырады.

Тәуекел теориялық емес. Егер тәуелділіктеріңіз сканерленбесе, ол сіздің кодыңызда бар.

JavaScript Deobfuscator құралдары арқылы шатастырылған кодты анықтау

Жасырын қауіптерді анықтау үшін топтар JavaScript деобфускатор құралдарын пайдаланады. Бұл құралдар шатастырылған код үлгілерін талдайды, жолдарды декодтайды және динамикалық сияқты қауіпті белгілерді ашады. eval(), шатастырылған циклдар және қажетсіз күрделілік.

Пайдалы деобфускаторлар кодты қайта пішімдеп қана қоймайды; олар мыналарды белгілейді:

  • Қолдану функция, бағалау, және уақытты орнату кодталған пайдалы жүктемелермен
  • Base64 немесе он алтылық сандық жолдардың ұзын тізбектері
  • Басқару ағынын тегістеу немесе өлі кодты енгізу

Статикалық анализаторлар немесе AST парсерлері сияқты автоматтандырылған құралдар бұл үлгілерді анықтауға көмектеседі. Олар тәуелділіктерді қарау немесе пакет жаңартуларын тексеру кезінде бірінші қорғаныс желісі болып табылады.

Мысал: жасырын қауіптерді біріктірмеу үшін біріктіру алдындағы тексерулерге деобфускция сканерлеуін біріктіріңіз.

Анықтауды біріктіру CI/CD Pipelines

Анықтау орналастырудан кейінгі тапсырма емес. Бұрмалануды сканерлеу оның бір бөлігі болуы керек CI/CD pipeline. Пайдалану GitHub әрекеттері, GitLab CIнемесе Дженкинс әрбір басу немесе біріктіру кезінде сканерлеуді іске қосу үшін.

типтік pipeline ағын:

Саясатты орындау арқылы қауіпті шатастырылған кодты қамтитын құрастыруларды бұғаттауға болады. Мұны келесімен біріктіріңіз SCA құралдары npm пакеттеріндегі белгілі зиянды бағдарламалардың қолтаңбаларына сілтеме жасау үшін.

Орындалу уақытындағы тосынсыйларды күтпеңіз. Оны құрастыру уақытындағы бас тартуға айналдырыңыз.

Жалғанудың жасырын құны: JavaScript зиянды бағдарламаларымен Deobfuscators көмегімен күресу

JavaScript обфускатор құралдарының заңды қолданылуы бар. Бірақ шабуылдаушылар JavaScript зиянды бағдарламасын жасыру және ашық бастапқы коды бар экожүйеге деген сенімді пайдалану үшін оларға сүйенеді. AppSec-тегі нақты қауіп тек сіз жазған нәрседе ғана емес, сонымен қатар импорттаған нәрседе де. JavaScript deobfuscator сканерлеуін және статикалық талдауды енгізу арқылы CI/CD pipelines, әзірлеуші ​​топтар қауіптерді ерте анықтай алады. Тәуелділіктердегі шатастырылған кодқа, әсіресе күтпеген жағдайда, күдікпен қараңыз.

Ұқсас құралдар Ксигени DevSecOps командаларына JavaScript экожүйелеріндегі шатастыру және жеткізу тізбегінің тәуекелдерін түсінуге көмектесу үшін жасалған. Оларды жақсарту үшін пайдаланыңыз pipeline және кодыңыз өндіріске шықпас бұрын онда не жасырынып тұрғанын анықтаңыз.

Ксигени JavaScript-тің шатастыру үлгілерін талдау, ықтимал JavaScript зиянды бағдарламаларын белгілеу және бағдарламалық жасақтама жеткізу тізбегіндегі пакеттердегі қауіпті әрекеттерді бақылау арқылы негізгі сканерлеуден тысқары шығады. Ол біркелкі интеграцияланады CI/CD pipelines, код сапасы мен қауіпсіздігін автоматтандырылған басқаруға мүмкіндік береді.

Паранойяға берілмеңіз. Барлығын қарап шығыңыз. Есіңізде болсын: егер ол мағынасыз болып көрінсе, оны екінші рет қарау керек шығар.

sca-құралдары-бағдарламалық жасақтама-композиция-талдау-құралдары
Бағдарламалық жасақтама тәуекелдеріне басымдық беріңіз, оларды жойыңыз және қауіпсіз етіңіз
Тегін аккаунтыңызды алыңыз.
Несие картасы қажет емес.

Бағдарламалық жасақтаманы әзірлеу және жеткізуді қауіпсіз етіңіз

Xygeni өнім жиынтығымен бірге