هشدار فوری برای توسعه دهندگان و تیم هایDevOps: اکوسیستم های PyPI و npm در تیررس حملات زنجیره تامین

7 شهریور 1404 - خواندن 3 دقیقه - 30 بازدید

هشدار فوری برای توسعه دهندگان و تیم هایDevOps: اکوسیستم های PyPI و npm در تیررس حملات زنجیره تامین


مقدمه

در دنیای توسعه نرم افزار، استفاده از بسته های نرم افزاری از مخازن عمومی مانند PyPI (Python Package Index) و npm (Node Package Manager) به یک رویه عادی تبدیل شده است. با این حال، این تسهیل در دسترسی به ابزارها و کتابخانه ها می تواند به خطرات جدی امنیتی منجر شود. به ویژه، اخیرا محققان از وجود بسته های مخرب در این اکوسیستم ها خبر داده اند که می تواند به حملات زنجیره تامین منجر شود.

حملات زنجیره تامین

حملات زنجیره تامین به نوعی از حملات اشاره دارد که در آن مهاجمان از نقاط ضعف در نرم افزارهای وابسته به یک سیستم (مانند بسته های نرم افزاری) بهره برداری می کنند. این نوع حملات می تواند به راحتی به سیستم های توسعه دهندگان و سازمان ها نفوذ کند و به آن ها آسیب برساند.

بسته مخرب termncolor

محققان اخیرا از شناسایی یک بسته مخرب به نام termncolor در PyPI خبر داده اند. این بسته با استفاده از یک وابستگی دیگر به نام colorinal، به یک حمله چندمرحله ای می پردازد. این حمله شامل مراحل زیر است:

1. بارگذاری DLL مخرب:

این مرحله به مهاجمین اجازه می دهد تاDLLهای مخرب را در سیستم هدف بارگذاری کنند. اینDLLها می توانند به طور خودکار اجرا شوند و به مهاجمین دسترسی بیشتری به سیستم بدهند.

2. پایداری از طریق کلید ریجستری Run ویندوز:

با ثبت DLL در کلید ریجستری Run، این بسته می تواند به طور خودکار در هر بار راه اندازی سیستم اجرا شود و به مهاجمین امکان دسترسی مداوم به سیستم را بدهد.

3. ارتباط با سرور C2:

این بسته می تواند از طریق پروتکل های مختلف، مانند Zulip، با یک سرور کنترل کننده(C2) ارتباط برقرار کند. این ارتباط به مهاجمین اجازه می دهد تا کنترل سیستم را در دست بگیرند و دستورات دلخواه را اجرا کنند.

گستردگی مشکل

در سه ماه گذشته، بیش از 16 هزار بسته مخرب در مخازنOpen-Source (مانند npm و PyPI) شناسایی شده اند که این نشان دهنده رشد 188٪ نسبت به سال گذشته است. این آمار نشان می دهد که تهدیدات امنیتی در اکوسیستم های متن باز در حال افزایش هستند و توسعه دهندگان باید هوشیار باشند.

نکات امنیتی برای توسعه دهندگان

1. بررسی بسته ها:

قبل از نصب هر بسته ای، به دقت بررسی کنید که آیا بسته معتبر است یا خیر. از منابع معتبر و شناخته شده استفاده کنید.

2. استفاده از ابزارهای امنیتی:

از ابزارهای امنیتی مانند Snyk یا npm audit برای بررسی آسیب پذیری های موجود در بسته ها استفاده کنید.

3. آموزش و آگاهی:

تیم های توسعه و DevOps باید آموزش های لازم را در زمینه امنیت سایبری ببینند و از آخرین تهدیدات آگاه باشند.

4. ایجاد سیاست های امنیتی:

سیاست های امنیتی مشخصی برای استفاده از بسته های نرم افزاری ایجاد کنید و از رعایت آن ها اطمینان حاصل کنید.




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