حمله به فریمورک PyTorch برای نشان دادن حمله Dependency Confusion در محیطهای پایتون
اخبار داغ فناوری اطلاعات و امنیت شبکه
عوامل تهدید با افزودن یک عامل مخرب، فریمورک یادگیری ماشین PyTorch را به خطر انداختند.
تیم پشتیبانی PyTorch نسبت به حمله زنجیره تأمین هشدار داده و میگویند کاربرانی که PyTorch-nightly را در لینوکس از طریق پیپ بین ۲۵ دسامبر ۲۰۲۲ تا ۳۰ دسامبر ۲۰۲۲ نصب کردهاند، میبایست آن را حذف کنند و از آخرین باینریها استفاده کنند.
در توصیه امنیتی که توسط تیم پشتیبانی فریمورک ارایه شده، گفته شده است که: "اگر PyTorch-nightly را در لینوکس از طریق پیپ بین ۲۵ تا ۳۰ ماه دسامبر ۲۰۲۲ نصب کرده باشید، لطفاً آن را حذف نصب کنید و torchtriton را بلافاصله اعمال کنید و از آخرین باینریهای نایتلی (جدیدتر از ۳۰ دسامبر ۲۰۲۲ استفاده کنی). پکیجهای لینوکس PyTorch-nightly که در آن زمان از طریق pip نصب شده بودند، یک عامل وابسته به نام torchtriton را نصب کردهاند که در مخزن کد Python Package Index (PyPI) در معرض خطر قرار گرفته و یک باینری مخرب را اجرا کرده است"
لازم به ذکر است، PyTorch یک فریمورک یادگیری ماشینی مبتنی بر لایبرری Torch است که برای برنامههایی مانند کامپیوتر ویژن و پردازش زبان نچرال استفاده میشود که در ابتدا توسط Meta AI توسعه داده شد و اکنون بخشی از مجموعه بنیاد لینوکس است.
اساساً PyTorch، مشابه Keras و TensorFlow، یک فریمورک یادگیری ماشین مبتنی بر پایتون متن باز بوده که در ابتدا توسط Meta Platforms توسعه داده شده است.
این حمله در ۳۰ دسامبر در ساعت 16:40 کشف شد. عوامل تهدید یک نسخه مخرب از یک عامل وابسته به ظاهر قانونی به نام torchtriton را در مخزن کد Python Package Index (PyPI) آپلود کردند.
طبق این مشاوره امنیتی، حمله زنجیره تأمین مستقیماً بر وابستگی پکیجهایی که بر روی شاخصهای پکیج عمومی میزبانی میشوند، تأثیر میگذارد.
به منظور تعیین اینکه آیا یک محیط پایتون تحت تأثیر قرار گرفته است یا خیر، تیم پشتیبانی توصیه میکنند که کامند زیر را برای جستجوی باینری مخرب در پکیج torchtriton (PYTHON_SITE_PACKAGES/triton/runtime/triton) اجرا کنید:
مشاوره امنیتی اشاره میکند که باینری مخرب زمانی اجرا میشود که پکیج تریتون وارد میشود، که برای انجام آن به کد اکپلیسیت نیاز دارد.
باینری مخرب اقدامات زیر را انجام میدهد:
• دریافت اطلاعات سیستم؛
• فایلها را میخواند،
• دادههای جمعآوری شده را از طریق کوئریهای DNS رمزگذاری شده به دامنه *.h4ck[.]cfd، با استفاده از سرور DNS wheezy[.]io استخراج مینماید.
آیا این یک حمله زنجیره تأمین واقعی است؟
مجموعه BleepingComputer برای اولین بار گزارش داد که افراد پشت دامنه h4ck[.]cfd ادعا کردهاند که محققانی هستند که محیطهای پایتون آسیبپذیر به "dependency confusion attack" را تجزیه و تحلیل میکنند.
طبق اعلامیهای که در دامنه نمایش داده شده است، میگویند: "سلام، اگر در لاگهای خود به این موضوع برخورد کردهاید، احتمالاً به این دلیل است که پایتون شما به درستی پیکربندی نشده است و در برابر یک حمله سردرگمی وابستگی آسیبپذیر بوده است. برای شناسایی شرکتهایی که آسیبپذیر هستند، اسکریپت متادیتای مربوط به میزبان را ارسال میکند (مانند نام هاست و دایرکتوری فعلی فعال) برای ما ارسال نمایید. پس از اینکه شناسایی شد که چه کسی آسیبپذیر است و یافتهها دوباره گزارش داده شد، متادیتاهای سرور شما حذف خواهد شد. "
طق مستندات، torchtriton به عنوان یک عامل وابسته حذف شده و با pytorch-triton (pytorch/pytorch#91539) و یک پکیج ساختگی ثبت شده در PyPI جایگزین شده است.
صفحه PyPI برای torchtriton که اکنون حذف شده است، بیان کرد: «این پکیج واقعی torchtriton نیست، بلکه برای کشف آسیبپذیریهای سردرگمی وابستگی بارگذاری شده است. "شما میتوانید torchtriton واقعی را از https://download. pytorch[.]org/whl/nightly/torchtriton/ تهیه کنید. "
برچسب ها: Dependency Confusion, DNS wheezy, dependency confusion attack, h4ck, TensorFlow, Keras, Torch, torchtriton, PyTorch-nightly, Machine Learning Framework, فریمورک یادگیری ماشین, PyTorch, Meta Platforms, Framework, متادیتا, Metadata, پایتون, Python Package Index, PyPI, Python, Linux, جنتو لینوکس, دفاع سایبری, تهدیدات سایبری, Cyber Security, امنیت سایبری, Cyber Attacks, حمله سایبری, news