بسته‌های متن‌باز

تهدیدات جدید در راه است: بدافزار در بسته‌های متن‌باز

اکوسیستم متن‌باز سنگ بنای توسعه نرم‌افزار مدرن است که نوآوری و همکاری را تقویت می‌کند. با این حال، همین باز بودن آن، آن را در معرض تهدیدات سایبری مختلف قرار می‌دهد. طبق گفته گزارش شرکت Comparitechدر سال ۲۰۲۳، بیش از ۱۰۰ میلیون گونه بدافزار و برنامه‌های ناخواسته (PUA) شناسایی شد که نشان می‌دهد حملات مرتبط با بدافزار همچنان یک تهدید سایبری جدی است. 

خانواده‌های بدافزار جدید در بسته‌های متن‌باز

نصب-دستکاری بدافزار

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

آسیب‌پذیری‌های مورد بهره‌برداری: نصب-دستکاری بدافزار از اعتماد کاربران سوءاستفاده می‌کند قرار گرفتن در مخازن متن‌باز و عدم بررسی‌های امنیتی دقیق در طول فرآیند نصب بسته.

استراتژی‌های حفاظتی: برای محافظت در برابر نصب بدافزارهای مخرب، استفاده از بسته‌های تأیید شده و امضا شده، فعال کردن احراز هویت دو مرحله‌ای برای حساب‌های مخزن و انجام ممیزی‌های امنیتی منظم از وابستگی‌ها بسیار مهم است.

مثالی از کد مخرب نصب-دستکاری: بسته npm "colors" (2022)

شرح:

پکیج «colors» یک کتابخانه محبوب npm است که برای افزودن جلوه‌های رنگی به لاگ‌های کنسول استفاده می‌شود. این پکیج به طور گسترده در برنامه‌های مختلف Node.js مورد استفاده قرار می‌گیرد.

چگونه کار کرد:

در اوایل سال ۲۰۲۲، نسخه‌ای از بسته «رنگ‌ها» به طور مخربی تغییر داده شده بود تا یک اسکریپت حلقه بی‌نهایت را در فایل اصلی خود بگنجاند. این تغییر توسط خودِ مدیر پروژه انجام شده است، که ظاهراً این کار را به عنوان اعتراضی به استفاده‌ی شرکت‌ها از پروژه‌های متن‌باز بدون حمایت یا کمک‌های مالی کافی انجام داده است.

تأثیر:

این تغییر باعث می‌شد هر برنامه‌ای که از نسخه آسیب‌دیده «رنگ‌ها» استفاده می‌کرد، از کار بیفتد و منجر به اختلال گسترده در میان کسب‌وکارها و سیستم‌های نرم‌افزاری متعددی شود که برای عملیات خود به این بسته وابسته بودند.

درسهای آموخته شده:

این حادثه، آسیب‌پذیری‌های ذاتی مدل مبتنی بر اعتماد مدیریت بسته‌های متن‌باز را برجسته می‌کند. این امر، لزوم رعایت اصول اخلاقی توسط نگهدارندگان را برجسته می‌سازد. standardو برای کاربران تا بررسی‌ها و آزمایش‌های کاملی از وابستگی‌های شخص ثالث در محیط‌های توسعه خود انجام دهند. مورد «رنگ‌ها» همچنین بر اهمیت حمایت از نگهدارندگان متن‌باز برای جلوگیری از فرسودگی شغلی و انتقام‌های غیراخلاقی تأکید می‌کند.

درب پشتیِ اولین استفاده

نحوه کار آنها: این درِ پشتی زمانی فعال می‌شود که یک بسته‌ی متن‌باز برای اولین بار وارد و استفاده می‌شود. این درِ پشتی می‌تواند اطلاعات سیستم را به یک سرور راه دور ارسال کند یا فایل‌های مخرب اضافی را دانلود کند.

آسیب‌پذیری‌های مورد بهره‌برداری: درهای پشتیِ اولین استفاده، از اجرای کد تأیید نشده در اولین استفاده از یک بسته سوءاستفاده می‌کنند و اغلب ابزارهای تحلیل استاتیک را دور می‌زنند.

استراتژی‌های حفاظتی: بررسی و نظارت بر کد بسته‌های تازه وارد شده و استفاده از ابزارهای تحلیل پویا برای تشخیص رفتارهای غیرمعمول، کلید دفاع در برابر درهای پشتی First-Use هستند.

مثالی از اولین استفاده از بک‌دور: حادثه بک‌دور وب‌مین (۲۰۱۹)

شرح:

وب‌مین یک رابط کاربری مبتنی بر وب محبوب برای مدیریت سیستم در یونیکس است. در سال ۲۰۱۹، کشف شد که این نرم‌افزار با یک ... به خطر افتاده است. درپشتی که بیش از یک سال قبل از شناسایی در کد وجود داشته است.

چگونه کار کرد:

این درِ پشتی مخفیانه از طریق یک سرور ساختِ آسیب‌پذیر به مخزن گیت‌هاب وب‌مین وارد شد. کد مخرب فقط در صورتی فعال می‌شد که مدیر سیستم رمز عبور را با استفاده از رابط وب‌مین تغییر می‌داد. پس از فعال شدن، امکان اجرای دستورات از راه دور با امتیازات ریشه را فراهم می‌کرد.

تأثیر:

این درِ پشتی با نسخه‌های Webmin از ۱.۸۸۲ تا ۱.۹۲۱ ارائه شد و به طور بالقوه بیش از سه میلیون وب‌سایت و سرور را تحت تأثیر قرار داد. این درِ پشتی سیستم‌ها را برای مهاجمان از راه دور باز می‌کرد که می‌توانستند به طور بالقوه کنترل کامل سرور را به دست آورند و منجر به سرقت داده‌ها، ربودن سرور و به خطر افتادن بیشتر شبکه شوند.

درسهای آموخته شده:

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

کرم زمان اجرا-سازش

نحوه کار آنها: این کرم در یک بسته‌ی متن‌باز غیرفعال است و در زمان اجرا فعال می‌شود و به طور بالقوه به سایر بسته‌ها و سیستم‌ها گسترش می‌یابد.

آسیب‌پذیری‌های مورد بهره‌برداری: کرم‌های زمان اجرا از ماهیت به هم پیوسته پروژه‌های متن‌باز سوءاستفاده می‌کنند، به طوری که یک بسته آلوده می‌تواند بر سایر بسته‌ها تأثیر بگذارد.

استراتژی‌های حفاظتی: پیاده‌سازی سیستم‌های دقیق نظارت بر رفتار در زمان اجرا و تشخیص ناهنجاری می‌تواند به شناسایی و کاهش چنین تهدیدهایی کمک کند.

مثالی از P2PInfect با قابلیت نفوذ در زمان اجرا: کرم خودتکثیر شونده نظیر به نظیر Rusty

شرح:

P2PInfect یک کرم نظیر به نظیر (P2P) است که توسط محققان فضای ابری Unit 42 کشف شد.

این کرم که با زبان برنامه‌نویسی Rust، یک زبان برنامه‌نویسی بسیار مقیاس‌پذیر و سازگار با فضای ابری، نوشته شده است، قادر به آلوده‌سازی بین پلتفرمی است و Redis، یک برنامه پایگاه داده متن‌باز محبوب که به شدت در محیط‌های ابری استفاده می‌شود، را هدف قرار می‌دهد.

چگونه کار می کند:

بهره‌برداری اولیه:

  • P2PInfect از آسیب‌پذیری فرار از سندباکس Lua با شناسه CVE-2022-0543 در نمونه‌های آسیب‌پذیر Redis سوءاستفاده می‌کند.
  • این آسیب‌پذیری به کرم اجازه می‌دهد تا کد دلخواه را در محیط اسکریپت‌نویسی Lua اجرا کند.

تحویل بار:

  • پس از دستیابی اولیه، P2PInfect یک payload اولیه را رها می‌کند که ارتباط P2P را با یک شبکه بزرگتر برقرار می‌کند.
  • سپس این کرم فایل‌های باینری مخرب دیگری از جمله اسکریپت‌های مخصوص سیستم عامل و نرم‌افزارهای اسکن را دانلود می‌کند.

انتشار:

  • نمونه‌ی آلوده‌ی Redis به شبکه‌ی P2P می‌پیوندد و دسترسی به سایر پیلودها را برای نمونه‌های Redis آلوده‌شده‌ی آینده فراهم می‌کند.
  • P2PInfect هر دو سیستم عامل لینوکس و ویندوز را هدف قرار می‌دهد و همین امر آن را نسبت به سایر کرم‌ها مقیاس‌پذیرتر و قدرتمندتر می‌کند.

تأثیر:

محققان واحد ۴۲ بیش از ۳۰۷۰۰۰ سیستم منحصر به فرد Redis را که طی دو هفته گذشته به صورت عمومی در حال ارتباط بودند، شناسایی کردند که از این تعداد، ۹۳۴ مورد ممکن است در برابر این نوع کرم P2P آسیب‌پذیر باشند.

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

درسهای آموخته شده:

توسعه‌دهندگان باید بسته‌های خود را بررسی و تأیید کنند، وابستگی‌ها را به‌روز نگه دارند و در مورد نام‌ها و منابع بسته‌ها محتاط باشند.

هوشیاری و نظارت مستمر برای جلوگیری از چنین حملاتی در زنجیره تأمین ضروری است.

حمله زنجیره وابستگی

نحوه کار آنها: مهاجمان یک بسته را در یک زنجیره وابستگی به خطر می‌اندازند، که سپس بر تمام بسته‌های دیگری که به آن متکی هستند تأثیر می‌گذارد.

آسیب‌پذیری‌های مورد بهره‌برداری: این حمله از وابستگی‌های بسته‌های نرم‌افزاری و اثر آبشاری یک بسته‌ی آلوده سوءاستفاده می‌کند.

استراتژی‌های حفاظتی: استفاده از یک ابزار تحلیل ترکیب نرم‌افزار برای ردیابی و مدیریت اجزای متن‌باز و وابستگی‌های آنها می‌تواند از حملات زنجیره وابستگی (Dependency-Chain Attacks) محافظت کند.

مثالی از حمله زنجیره وابستگی به بسته npm با عنوان "event-stream" (2018): نفوذ به زنجیره تامین

شرح:

در سال ۲۰۱۸، بسته محبوب npm به نام «جریان رویداد» به خطر افتاد.

این حمله شامل دستکاری زنجیره وابستگی بود که کاربران ناآگاه را تحت تأثیر قرار داد.

چگونه کار کرد:

سازش اولیه:

  • مهاجم یک وابستگی کمتر استفاده شده به نام «flatmap-stream» را در اختیار گرفت.
  • آنها کد مخرب را به «flatmap-stream» تزریق کردند.

تکثیر:

  • «flatmap-stream» آسیب‌دیده به عنوان یک وابستگی در بسته‌ی پرکاربرد «event-stream» گنجانده شده بود.
  • بسیاری از پروژه‌ها ناخواسته بسته‌ی «event-stream» آسیب‌پذیر را نصب کردند.

تأثیر:

مهاجم به اطلاعات حساس کاربران ناآگاه دسترسی پیدا کرد.

این حادثه خطرات حملات زنجیره تأمین از طریق وابستگی‌ها را برجسته کرد.

درسهای آموخته شده:

توسعه‌دهندگان باید بسته‌های خود را بررسی و تأیید کنند، وابستگی‌ها را به‌روز نگه دارند و در مورد نام‌ها و منابع بسته‌ها محتاط باشند.

هوشیاری و نظارت مستمر برای جلوگیری از چنین حملاتی در زنجیره تأمین ضروری است.

با Xygeni از پروژه‌های متن‌باز خود محافظت کنید

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

شیگنی راهکارهای قدرتمندی را ارائه می‌دهد که برای دفاع از پروژه‌های متن‌باز شما در برابر این تهدیدات در حال تحول طراحی شده‌اند. ابزارهای ما تضمین می‌کنند که وابستگی‌های شما ایمن باقی بمانند، نرم‌افزار شما انعطاف‌پذیر و روند توسعه شما روان باشد.

باهوش‌تر شویدcisیون‌ها با تجزیه و تحلیل جامع بسته

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

با تشخیص بدافزار در لحظه، به صورت پیشگیرانه دفاع کنید

واکنش به تهدیدات پس از نفوذ به سیستم شما کافی نیست. به همین دلیل است که Xygeni پیشنهاد می‌دهد تشخیص بدافزار در لحظه برای شناسایی تهدیداتی مانند بدافزارهای روز صفر (zero-day) در همان لحظه ظهور. سیستم ما بلافاصله کدهای مخرب را مسدود می‌کند و از رسیدن آنها به محیط توسعه شما جلوگیری می‌کند. با اقدام سریع، از همان ابتدا امنیت پروژه‌های خود را تضمین می‌کنید.

زنجیره تأمین خود را با نظارت مداوم ایمن کنید

در دنیای پرسرعت توسعه نرم‌افزار، تغییرات دائماً اتفاق می‌افتند. Xygeni نظارت مداوم بر زنجیره تأمین با دقت مراقب هر به‌روزرسانی است. محافظت پیشگیرانه ما تغییرات مشکوک در وابستگی‌های شما را شناسایی و مسدود می‌کند و از ورود بسته‌های آلوده به پروژه‌های شما جلوگیری می‌کند. با Xygeni، شما یک زنجیره تأمین امن و قابل اعتماد را حفظ می‌کنید و از نرم‌افزار خود در برابر تهدیدات احتمالی محافظت می‌کنید.

با Xygeni امنیت خود را کنترل کنید

همانطور که مشاهده کرده‌اید، خطرات موجود در نرم‌افزارهای متن‌باز واقعی و رو به رشد هستند. راهکارهای امنیتی Xygeni ابزارهایی را برای مدیریت مؤثر این خطرات در اختیار شما قرار می‌دهد. با تمرکز بر تشخیص زودهنگام، تجزیه و تحلیل جامع بسته‌ها و نظارت مستمر، می‌توانید نرم‌افزار خود را در برابر تهدیدات نوظهور محافظت کنید. پروژه‌های متن‌باز خود را آسیب‌پذیر رها نکنید - همین امروز با Xygeni استراتژی امنیتی خود را ارتقا دهید و با خیال راحت از امنیت نرم‌افزار و داده‌های خود اطمینان حاصل کنید.

آماده‌اید تا پروژه‌های متن‌باز خود را ایمن کنید؟ بگذارید Xygeni به شما کمک کند تا از تهدیدها جلوتر باشید و نرم‌افزاری انعطاف‌پذیر بسازید که بتواند هر آنچه را که در آینده پیش می‌آید، مدیریت کند.

ویژگی‌های Xygeni را بررسی کنید!
نسخه آزمایشی ویدیویی ما را تماشا کنید
ابزارهای-نرم‌افزاری-ترکیب-تحلیل-ترکیب-ابزارها
ریسک‌های نرم‌افزاری خود را اولویت‌بندی، اصلاح و ایمن‌سازی کنید
حساب کاربری رایگان خود را دریافت کنید.
بدون کارت اعتباری مورد نیاز است.

توسعه و تحویل نرم‌افزار خود را ایمن کنید

با مجموعه محصولات Xygeni