Giriş (Hadisənin Mahiyyəti)
Son dövrlərdə kiber təhlükəsizlik ictimaiyyəti proqram təminatı təchizat zəncirində (software supply chain) müşahidə edilən yeni və mürəkkəb hücum vektorları ilə qarşılaşır. ‘Xaker.az’ olaraq, biz Node.js ekosisteminin mərkəzi olan npm (Node Package Manager) reyestrində aşkarlanmış genişmiqyaslı Spear-Phishing kampaniyası haqqında kritik məlumatları təqdim edirik. Kiber təhlükəsizlik tədqiqatçıları tərəfindən aşkar edilən bu kampaniya çərçivəsində, login credential-larının oğurlanması məqsədilə 27-dən çox zərərli paket npm reyestrinə yüklənmişdir.
Hücum fəaliyyəti altı fərqli npm alias-ı vasitəsilə həyata keçirilmiş və əsasən kritik ticarət və satış heyətinə (commercial and sales personnel) yönəlmişdir. Bu növ hədəfli hücumlar, sadəcə fərdi developerləri deyil, həm də korporativ mühitin daxili şəbəkələrinə daxil olmaq üçün ‘aralıq hədəf’ rolunu oynayan şirkətləri risk altına atır. Paketlərin npm-də yerləşdirilməsi, zərərli kodun legitim layihələr vasitəsilə asanlıqla yayılmasına imkan yaradan bir ‘trust exploitation’ mexanizmidir.
Texniki Detallar (Hücum Necə Baş Verir?)
Bu Spear-Phishing kampaniyasının texniki icrası təchizat zənciri hücumlarının tipik xüsusiyyətlərini daşıyır. Hücumçular, developerləri aldadaraq zərərli paketləri öz layihələrinə dependency kimi əlavə etmələrinə nail olurlar. Bu adətən Typosquatting (populyar paket adlarına bənzətmə) və ya Dependency Confusion (daxili paket adlarının təkrarlanması) kimi üsullarla baş verir.
Zərərli funksionallıq adətən paketin `package.json` faylındakı `postinstall` və ya `preinstall` skriptləri vasitəsilə aktivləşdirilir. Developer zərərli paketi `npm install` əmri ilə quraşdıran kimi, bu skriptlər dərhal icra olunur (RCE – Remote Code Execution). Bu hücumda Phishing infrastrukturundan istifadə edildiyi üçün, icra olunan skriptlərin əsas vəzifəsi aşağıdakılardır:
- Məlumat Toplanması: Qurbanın mühit dəyişənlərini (environment variables), məsələn, API key-ləri, session token-ləri və ya konfiqurasiya fayllarını toplayır.
- Zərərli Yönləndirmə: Bəzi hallarda, zərərli paketlər qurbanın brauzerini, özlərini legitim xidmətlər (məsələn, GitHub, Microsoft 365 və ya korporativ VPN) kimi təqdim edən saxta Phishing səhifələrinə yönləndirir.
- Credential Harvesting: İstifadəçinin daxil etdiyi login credential-ları (istifadəçi adı və şifrə) uzaqdan idarə olunan (C2 – Command and Control) serverə ötürülür.
Bu hücumda konkret CVE nömrələri qeydə alınmasa da, məqsəd npm registry-nin etibar mexanizmindən istifadə edərək sistemə ilkin giriş nöqtəsi (initial access) əldə etmək və sonradan lateral hərəkətliliyi təmin etməkdir. Bu növ Malware yükü adətən çox yüngül olur və quraşdırma prosesində şübhə doğurmur.
Təhlükənin Miqyası (Kimlər Risk Altındadır?)
Bu kampaniyanın hədəfində kommersiya və satış personalının olması, məlumat oğurluğunun yalnız texniki məlumatlarla məhdudlaşmadığını göstərir. Ən böyük risk altında olanlar:
- Node.js Layihələri: Hər hansı bir Node.js layihəsi, xüsusilə yeni və ya az tanınan dependency-lərə etibar edirsə, birbaşa risk altındadır.
- Korporativ Şəbəkələr: Satış və kommersiya personalı adətən həssas müştəri məlumatlarına, müqavilələrə və strateji planlara çıxışa malikdir. Bu işçilərin credential-larının oğurlanması, rəqiblərin kəşfiyyat (espionage) fəaliyyətlərinə və ya daxili sistemlərin kompromitasiyasına gətirib çıxara bilər.
- Açıq Kod İcması: npm kimi platformaların təhlükəsizliyinin sarsılması, bütün açıq kod təchizat zəncirinə olan etibarı azaldır və gələcəkdəki oxşar hücumlar üçün presedent yaradır.
Bu, sadə bir Phishing cəhdi deyil; bu, zərərli paketin layihəyə inteqrasiyası ilə başlayan, sonrakı mərhələdə credential oğurluğu üçün zəmin yaradan mürəkkəb bir ‘multi-stage’ hücumdur.
Müdafiə və Həll Yolları (İstifadəçilər Nə Etməlidir?)
Məqalədə qeyd olunan təhdidlərdən qorunmaq üçün həm developerlər, həm də təşkilatlar bir neçə kritik addım atmalıdır:
- Audit və Skriping: Bütün mövcud dependency-lər dərhal audit edilməlidir. Xüsusilə son bir neçə ayda əlavə edilmiş və ya az tanınan paketlər üçün `package.json` faylında `postinstall` və digər skriptlərin məzmunu yoxlanılmalıdır.
- Əlavə Təhlükəsizlik Tədbirləri (MFA): Bütün korporativ və developer hesablarında, o cümlədən npm, GitHub və korporativ login sistemlərində Multi-Factor Authentication (MFA) tətbiq edilməlidir. Credential theft uğurlu olsa belə, MFA lateral hərəkəti çətinləşdirir.
- Dependency Scanning Tools: Təşkilatlar zərərli paketləri aşkarlamaq üçün avtomatlaşdırılmış dependency scanning tools (məsələn, Snyk, Dependabot) istifadə etməlidir. Bu alətlər, paketlərin etibarlılığını, tarixini və bilinən Malware imzalarını yoxlayır.
- Minimal İcazə Prinsipi: Developer mühitlərində minimal icazə prinsipi (Principle of Least Privilege) tətbiq olunmalıdır. Build proseslərinin, ehtiyacından artıq şəbəkə resurslarına və ya həssas environment variables-a çıxışı olmamalıdır.
- İstifadəçi Təhsili: Satış və kommersiya heyəti daxil olmaqla, bütün işçilər hədəfli Spear-Phishing və social engineering taktikaları barədə müntəzəm olaraq təlimləndirilməlidir.
npm registry rəhbərliyi zərərli paketləri silərək və müvafiq alias-ları bloklayaraq reaksiya vermişdir, lakin bu hadisə təchizat zəncirinin davamlı monitorinqinin zəruriliyini bir daha sübut edir.