داده‌های شما در خطر: جمع‌آوری و پاکسازی آن‌ها

09 شهریور 1404 داده‌های شما در خطر: جمع‌آوری و پاکسازی آن‌ها

 روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛  بسته‌های پلت‌فرم محبوب ساخت و سیستم بهینه‌سازی CI/CD به نام Nx در شب ۲۶ تا ۲۷ اوت آلوده شدند. اسکریپتی مخرب به بسته‌های این سیستم اضافه شد؛ بسته‌هایی که طبق آمار مخزن  npm، بیش از پنج میلیون بار دانلود هفتگی دارند. هزاران توسعه‌دهنده که از Nx برای شتاب‌دهی و بهینه‌سازی توسعه برنامه‌ها استفاده می‌کردند، داده‌های حساسشان به سرقت رفت: توکن‌های npm و GitHub، کلیدهای SSH، کیف پول‌های رمزارز و کلیدهای API همگی به مخازن عمومی GitHub آپلود شدند.  این نشت گسترده داده‌های محرمانه، تهدیدی بلندمدت برای حملات زنجیره تأمین محسوب می‌شود: حتی اگر بسته‌های مخرب از سیستم‌های آلوده حذف شوند، مهاجمان همچنان ممکن است توانایی نفوذ به برنامه‌هایی را داشته باشند که توسط این هزاران توسعه‌دهنده ساخته شده‌اند.

جدول زمانی حمله و پاسخ

مهاجمان با استفاده از یک توکنِ سرقتی که برای یکی از نگه‌دارندگان بسته Nx صادر شده بود، در فاصله دو ساعته بین ساعت 22:32 به وقت UTC روز 26 اوت تا 0:37 روز 27 اوت، چندین نسخه مخرب از بسته Nx و افزونه‌های آن را منتشر کردند. دو ساعت بعد، پلتفرمnpm تمام نسخه‌های آلوده این بسته‌ها را حذف کرد و یک ساعت بعد، مالکان Nx توکن سرقت‌شده را باطل کردند؛ در نتیجه، مهاجمان دسترسی خود به مخزن Nx را از دست دادند. در همین زمان، هزاران مخزن عمومی حاوی داده‌های سرقت‌شده توسط اسکریپت مخرب، در GitHub ظاهر شدند.

ساعت 9:05 به وقت UTC روز 27 اوت، GitHub واکنش نشان داد و تمام مخازن درز کرده را خصوصی و غیرقابل جست‌وجو کرد. با این حال، داده‌های سرقت‌شده بیش از 9 ساعت به‌صورت عمومی در دسترس بودند و چندین بار توسط گروه‌های مجرمان سایبری و پژوهشگران دانلود شدند.

در مجموع، 19 نسخه آلوده از Nx و افزونه‌های آن منتشر شد:

  •          @nx: 20.9.0، 20.10.0، 20.11.0، 20.12.0، 21.5.0، 21.6.0، 21.7.0، 21.8.0
  •          @nx/devkit: 20.9.0، 21.5.0
  •          @nx/enterprise-cloud: 3.2.0
  •          @nx/eslint: 21.5.0
  •          @nx/js: 20.9.0، 21.5.0
  •          @nx/key: 3.2.0
  •          @nx/node: 20.9.0، 21.5.0
  •          @nx/workspace: 20.9.0، 21.5.0

چطور این حمله پا گرفت؟

برای مدت کوتاهی از تاریخ 21 اوت، کد Nx از یک جریان کار آسیب‌پذیر[1]استفاده می‌کرد که امکان تزریق کد دلخواه را فراهم می‌ساخت. مهاجمان از این ضعف سوءاستفاده کردند و در تاریخ 24 اوت فایل publish.yml را تغییر دادند و توکن npm را استخراج کردند که دسترسی انتشار بسته‌ها را فراهم می‌کرد. اگرچه این آسیب‌پذیری برطرف شد، اما نشت توکن تا زمان سوءاستفاده در حمله 26 اوت شناسایی نشد.

ویژگی‌ها و اهداف بدافزار
بسته‌های Nx با استفاده از یک اسکریپت مخرب پس از نصب به نام telemetry.js آلوده شدند. این اسکریپت محیط‌های توسعه روی macOS و سیستم‌های مبتنی بر *nix را هدف قرار می‌دهد (در صورت اجرا روی ویندوز، اسکریپت مخرب بلافاصله متوقف می‌شود).

پس از اجرا، اسکریپت سیستم آلوده را برای یافتن انواع داده‌های زیر جست‌وجو می‌کند:

  •          ذخیره‌سازهای کلید و کیف‌پول‌های رمزارزی MetaMask، Electrum، Ledger، Trezor، Exodus، Phantom، Solflare
  •          فایل‌های تصادفی ذخیره‌سازی کلید ( *key، *keystore.json، UTC–، IndexedDB)
  •          توکن‌های احراز هویت شخصی GitHub
  •          توکن‌های دسترسی npm
  •          فایل‌های .env
  •          کلیدهای خصوصی (id_rsa) RSA

شایان ذکر است که برای انجام جست‌وجوها از ابزارهای خط فرمان مدل‌های زبانی بزرگ (LLM) محبوب استفاده شده بود. اگر ابزارهای CLI مربوط به Anthropic Claude، Amazon Q یا Google Gemini روی سیستم نصب بودند، اسکریپت یک پرس‌وجوی ناامن اجرا می‌کرد که شامل یافتن همه انواع داده‌های ذکرشده می‌شد. تمام داده‌های یافت‌شده به صورت مبهم‌شده (چندین بار رمزگذاری‌شده با base64  در GitHub آپلود می‌شد. بدافزار برای این کار از توکن‌های سرقت‌شده GitHub استفاده می‌کرد و به نمایندگی از قربانی یک مخزن عمومی با نام‌های s1ngularity-repository، s1ngularity-repository-0  یا s1ngularity-repository-1 ایجاد کرده و یک فایل واحد به نام results.b64 را در آن بارگذاری می‌کرد. به نظر می‌رسد مهاجمان قصد دارند به سرعت از داده‌های سرقت‌شده بهره‌برداری کنند؛ چرا که اسکریپت مخرب هیچ تلاشی برای پنهان‌کاری نکرده و برعکس، به‌طور تهاجمی تلاش می‌کرد قربانی را از دسترسی به سیستم‌های کاری محروم کند. برای این منظور، فرمان sudo shutdown به فایل‌های ‎~/.bashrc و ‎~/.zshrc اضافه می‌شد و در نتیجه، هر نشست جدید ترمینال بلافاصله منجر به خاموش شدن سیستم می‌گردید.

چگونه سیستم‌های خود را آزمایش کنید؟
سازمان‌هایی که از Nx استفاده می‌کنند باید نسخه‌های بسته‌های خود را بررسی کرده و حساب‌های GitHub و لاگ‌ها را ممیزی کنند.

  • با دستور npm ls nxنسخه‌های بسته Nx در حال استفاده را بررسی کنید.
  • وجود هرگونه بسته Nx را در فایل package-lock.jsonبررسی کنید.
  • لاگ‌های GitHub را برای رویدادهای امنیتی بررسی کنید.

اگر مخازنی با نام s1ngularity-repository* پیدا شد، فایل‌های results.b64 را برای بررسی بیشتر دانلود کرده و سپس آن‌ها را از GitHub حذف کنید.

هنگام شناسایی مخازن مخرب اقدامات زیر را انجام دهید:

  • پوشه node_modules را به طور کامل حذف کنید:
    rm -rf node_modules
  • کش npm را پاک کنید:
    npm cache clean --force
  • فایل‌های ‎~/.bashrc و ‎~/.zshrc را بررسی کرده و دستورات اضافی را پاک کنید.
  • یک نسخه آرشیو برای بررسی تهیه کرده و فایل‌های/tmp/inventory.txt و /tmp/inventory.txt.bak را از سیستم حذف کنید.
  • نسخه‌های مخرب بسته‌ها را از فایل package-lock.json حذف کنید.
  • نسخه‌های امن بسته‌ها را دوباره نصب کنید.

مهم‌ترین و فوری‌ترین اقدام برای سیستم‌های آلوده، به‌روزرسانی تمام اسراری است که ممکن است بدافزار به آن‌ها دسترسی پیدا کرده باشد، از جمله توکن‌های شخصی GitHub (PAT)، توکن‌های npm، کلیدهای SSH، کلیدهای API موجود در فایل‌های .env و کلیدهای  Claude، Gemini و Q. همچنین باید به نظارت بر مخازن GitHub خود ادامه دهید. اول اینکه، حتی پس از انجام تمام این مراحل، ممکن است نسخه‌های تروجان‌زده Nx روی سیستم‌های آلوده باقی مانده باشند که همچنان اطلاعات سرقت‌شده را دانلود می‌کنند. دوم اینکه، اگر مهاجمان پیش از تغییر توکن‌ها موفق به استفاده از آن‌ها شده باشند، این احتمالاً در قالب کامیت‌های غیرمجاز یا تغییرات مخرب در GitHub Actions خود را نشان خواهد داد.

 

[1] GitHub Action Workflow

 

 کسپرسکی آنلاین (ایدکو)

کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز می‌شناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.

 

 

محصولات مرتبط

  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    10,482,840 ریال17,471,400 ریال
    خرید
  • Kaspersky Safe Kids

    اپلیکیشن همه‌کاره برای فرزندپروریِ دیجیتال و سلامت خانواده نرم افزار امنیت کودکان کسپرسکی، نظارت‌های والدین را آسان می‌کند. ردیابی مکان و عادات دستگاه، محدودسازی محتوا، متعادل‌سازی ...

    10,482,840 ریال17,471,400 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    116,538,900 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    19,780,200 ریال32,967,000 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    28,364,940 ریال47,274,900 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    30,342,960 ریال50,571,600 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    125,874,000 ریال209,790,000 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    201,391,740 ریال335,652,900 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    151,042,140 ریال251,736,900 ریال
    خرید
  • Kaspersky Small Office Security

    241,951,140 ریال403,251,900 ریال
    خرید
  • Kaspersky Small Office Security

    176,216,940 ریال293,694,900 ریال
    خرید
  • Kaspersky Small Office Security

    281,811,240 ریال469,685,400 ریال
    خرید
  • Kaspersky Small Office Security

    201,391,740 ریال335,652,900 ریال
    خرید
  • Kaspersky Small Office Security

    322,370,640 ریال537,284,400 ریال
    خرید
  • Kaspersky Small Office Security

    226,566,540 ریال377,610,900 ریال
    خرید
  • Kaspersky Small Office Security

    362,230,740 ریال603,717,900 ریال
    خرید
  • Kaspersky Small Office Security

    230,762,340 ریال384,603,900 ریال
    خرید
  • Kaspersky Small Office Security

    369,223,740 ریال615,372,900 ریال
    خرید
  • Kaspersky Small Office Security

    325,167,840 ریال541,946,400 ریال
    خرید
  • Kaspersky Small Office Security

    520,272,540 ریال867,120,900 ریال
    خرید
  • Kaspersky Small Office Security

    419,573,340 ریال699,288,900 ریال
    خرید
  • Kaspersky Small Office Security

    671,321,340 ریال1,118,868,900 ریال
    خرید
  • Kaspersky Small Office Security

    506,985,840 ریال844,976,400 ریال
    خرید
  • Kaspersky Small Office Security

    811,181,340 ریال1,351,968,900 ریال
    خرید
  • Kaspersky Small Office Security

    961,530,840 ریال1,602,551,400 ریال
    خرید
  • Kaspersky Small Office Security

    1,538,453,340 ریال2,564,088,900 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد