هشت پکیج پایتون با بیش از 30 هزار بار دانلود، به خاطر وجود کد مخرب در آنها از مخزن PyPI حذف شدهاند. این اتفاق یک بار دیگر نشان داد که ریپازیتوریهای پکیجهای نرمافزاری، بهسرعت در حال تبدیلشدن به هدفی محبوب برای هکرها جهت انجام حملات زنجیره تامین (Supply Chain) هستند. این کتابخانهها از تکنیک TypoSquatting برای فریبدادن کاربران استفاده میکردهاند. در این تکنیک یک حرف از عنوان اصلی و معتبر تغییر میکند تا کاربر در نگاه اول متوجه غیرمعتبر بودن عنوان نشود (برای مثال استفاده از نام gooogle، googgle یا goog1e به جای google).
محققان موسسه JFrog، روز پنجشنبه اعلام کردند که :
« فقدان نظارت [کافی] و کنترلهای امنیتی خودکار در ریپازیتوریهای نرمافزاری، باعث شده حتی مهاجمان بیتجربه هم بتوانند با روشهایی مثل Typosquatting، حملهی Dependency Confusion و یا به سادگی و از طریق مهندسی اجتماعی، از آنها بهعنوان بستری برای انتشار بدافزار استفاده کنند.»
با دورههای پیشرفته پایتون، به بازار کار برنامهنویسی پایتون بپیوندید:
نام پکیجهای پایتون حذفشده که با استفاده از انکودینگ Base64 مبهمسازی شده بودند، در لیست زیر آمده است:
- پکیج pytagora (آپلودشده توسط leonora123)
- پکیج pytagora2 (آپلودشده توسط leonora123)
- پکیج noblesse (آپلودشده توسط xin1111)
- پکیج genesisbot (آپلودشده توسط xin1111)
- پکیج are (آپلودشده توسط xin1111)
- پکیج suffer (آپلودشده توسط suffer)
- پکیج noblesse2 (آپلودشده توسط suffer)
- پکیج noblessev2 (آپلودشده توسط suffer)
PyPI، که مخفف Python Package Index است، یک ریپازیتوری رسمی مستقل برای پایتون است. ابزارهای مدیریت پکیج مانند pip به طور پیشفرض برای دانلود پکیجها و پیشنیازهای آنها (Dependency ها) از این از PyPI بهعنوان منبع اصلی استفاده میکنند.
مهاجمان میتوانند از پکیجهای نامبردهشده به عنوان روزنهی ورود خود به سیستم استفاده کرده و تهدیداتی پیشرفته و جدی را بهوجود بیاورند. این پکیجها مهاجمان را قادر میکنند که از راه دور کدهای مورد نظر خود را روی ماشین هدف اجرا کنند، اطلاعات روی سیستم را جمعآوری کنند، اطلاعات کارتهای اعتباری و پسوردهای ذخیرهشده در کروم و Edge را به سرقت ببرند، و حتی توکنهای احراز هویت دیسکورد را بدزدند تا مهاجم بتواند خود را جای قربانی جا بزند و مخاطبان دیسکورد او را نیز آلوده کند یا هدف حملههای مهندسی اجتماعی مختلف دیگر قرار دهد.
اما PyPI تنها ریپازیتوری پکیجهای نرمافزاری نیست که سطح حملهی مساعدی برای مهاجمان به وجود آورده است؛ ریپازیتوریهایی مانند npm و RubyGems نیز قابلیتهایی دارند که به طور بالقوه میتوانند کل یک سیستم را از کار بیندازند یا بهعنوان یک روزنه ورود ارزشمند برای کسب دسترسیهای عمیقتر و گستردهتر به شبکهی قربانی مورد استفاده قرار گیرند.
با روشهای پیشرفته مهندسی معکوس، پیچیدهترین بدافزارها را تحلیل کنید:
ماه گذشتهی میلادی، وبسایتهای Sonatype و Vdoo پکیجهای مخربی را در PyPI معرفی کردند که از تکنیک TypeSquatting استفاده میکردند. این پکیجها یک پیلود حاوی اسکریپت شل را دانلود و اجرا میکنند و این اسکریپت نیز به نوبه خود یک کریپتوماینر مانند T-Rex، ubqminer یا PhoenixMiner را برای دانلود رمزارزهای اتریوم و Ubiq روی سیستمهای قربانی دانلود میکند.
مدیر ارشد فناوری JFrog در این باره گفته است: «کشف مداوم پکیجهای نرمافزاری مخرب در ریپازیتوریهای پرطرفدار مانند PyPI الگویی نگرانکننده است که میتواند منجر به حملات زنجیره تامین گسترده شود. از آنجایی که هکرها میتوانند از تکنیکهای سادهی مبهمسازی برای انتقال بدافزارهای خود استنفاده کنند، توسعهدهندگان و برنامهنویسان باید همواره مراقب و هشیار باشند.. این [مساله] یک تهدید سیستمی به شمار میرود، و هم توسعهدهندگان ریپازیتوریهای نرمافزاری و هم برنامهنویسان [که از این ریپازیتوریها استفاده میکنند]، باید به صورت فعال و در چندین لایه اقدامات لازم را برای مبارزه با آن انجام دهند.»
او اضافه کرده است: «در سمت برنامهنویسان، تمهیدات پیشگیرانهای مانند اعتبارسنجی امضاهای دیجیتال کتابخانهها، و استفاده از ابزارهای خودکار امنیت اپلیکیشن که به دنبال ردپای کد مشکوک موجود در یک پروژه میگردند، باید یکی از بخشهای اصلی پایپلاین CI/CD باشد. ابزارهای خودکار مانند اینها میتوانند زمانی که از الگوهای مخرب در کد استفاده شده باشد، به شما هشدار دهند.»
منبع : thehackernews.com