با پیشرفت توسعه نرمافزار در طول چرخه حیات زنجیره تأمین نرمافزار، مرحله بستهبندی به عنوان یک نقطه عطف اساسی پدیدار میشود و کد منبع را به مصنوعات اجرایی آماده برای توزیع تبدیل میکند. با این حال، این مرحله حیاتی در برابر آسیبپذیریها مصون نیست و آن را به هدف اصلی برای بازیگران مخربی تبدیل میکند که به دنبال تضعیف یکپارچگی و امنیت نرمافزار هستند. این پست وبلاگ به بررسی تهدیدات رایجی که میتوانند در این مرحله ایجاد شوند میپردازد و استراتژیهای مؤثر برای کاهش آنها را تشریح میکند. این محتوا به عنوان ادامه مجموعه وبلاگهای ما در بررسی این موارد عمل میکند. software supply chain security در سراسر SDLC.
مرحله بستهبندی در چرخه حیات توسعه نرمافزار
مرحله بستهبندی از چرخه حیات زنجیره تأمین نرمافزار، فرآیند بستهبندی و آمادهسازی نرمافزار برای توزیع به کاربران را در بر میگیرد. این مرحله شامل ایجاد بستههای نصب، مدیریت وابستگیها و تولید فراداده برای نرمافزار است.
تهدیدهای یکپارچگی ساخت، آسیبپذیریهایی هستند که میتوانند به مهاجمان اجازه دهند در طول فرآیند بستهبندی، تغییرات غیرمجازی را در نرمافزار اعمال کنند. این تهدیدها میتوانند از طریق روشهای مختلفی مانند به خطر انداختن رجیستری بسته، سوءاستفاده از آسیبپذیریهای موجود در ابزارهای بستهبندی یا دستکاری وابستگیهای شخص ثالث ایجاد شوند.
وابستگی کامل به اجزای متنباز در نرمافزارهای مدرن، این مرحله را به پرتکرارترین مرحله تبدیل کرده است.SCA هدف. معرفی بدافزار مخفی در یک مؤلفه متنباز محبوب، برای بسیاری از مجرمان سایبری یک رویا است. به همین دلیل است که بیش از ۲۴۵۰۰۰ بسته مخرب در طول سال ۲۰۲۳ کشف شد.
نمونه هایی از Software Supply Chain Security تهدیدات در مرحله بستهبندی

استفاده از بستهی آسیبپذیر
این به عمل استقرار یا استفاده از یک بسته نرمافزاری اشاره دارد که توسط یک دشمن دستکاری یا اصلاح شده است.
این میتواند پس از خروج بسته از رجیستری رسمی بستهها، یا از طریق دسترسی مستقیم به سیستم کاربر یا از طریق تاکتیکهای مهندسی اجتماعی که کاربر را فریب میدهند تا یک بسته مخرب را دانلود یا نصب کند، رخ دهد. نمونهای از این روش، مرورگر جعلی حمله کردن.
یک مهاجم که به دنبال نفوذ به سیستمهای لینوکس و مک بود، به فرآیند توسعه یک کتابخانه محبوب Node.js به نام Browserify نفوذ کرد. مهاجم کد مخرب را در کد منبع پروژه قرار داد و قصد داشت آن را از طریق رجیستری بسته NPM توزیع کند. پس از آپلود بسته آلوده Browserify در NPM، توسعهدهندگان ناآگاه آن را دانلود و نصب میکردند و معتقد بودند که نسخه قانونی است. کد مخرب، که در داخل بسته جاسازی شده بود، بیسروصدا اجرا میشد و یکپارچگی سیستمهایی را که آلوده کرده بود، به خطر میانداخت. این امر میتواند منجر به سرقت دادهها، بیثباتی سیستم یا حتی دسترسی از راه دور برای مهاجم شود.
رجیستری بستهی نفوذی
یک رجیستری بستهی آسیبپذیر، یک مخزن نرمافزاری است که توسط یک مهاجم که به رابط مدیریتی یا زیرساخت رجیستری دسترسی غیرمجاز پیدا کرده است، مورد نفوذ قرار گرفته است.
این به دشمن اجازه میدهد تا بستههای نرمافزاری قانونی را با بستههای مخرب تغییر دهد یا جایگزین کند، که سپس میتواند در بین کاربرانی که بدون هیچ شکی نرمافزار را نصب کردهاند، توزیع شود. نمونهای از این نوع تهدید، حمله به آینههای بستهبندی: یک محقق، با هدف ترویج نرمافزارهای متنباز، چندین رجیستری بسته محبوب، از جمله Maven Central، NPM و RubyGems را به خطر انداخت. با دسترسی به این رجیستریها، این محقق توانست آینهها و کپیهایی از مخازن اصلی ایجاد کند که جایگزین مناسبی برای توسعهدهندگان جهت دانلود بستهها فراهم میکرد.
با این حال، این آینهها هدف شومی را در خود پنهان میکردند. آینههای آسیبدیده به عنوان مجرایی برای محقق جهت توزیع بستههای مخرب عمل میکردند. این بستهها جایگزین بستههای قانونی میشدند، توسط رجیستریهای اولیه شناسایی نمیشدند و توسعهدهندگان ناآگاهانه آنها را دانلود و نصب میکردند. پس از نصب، این بستههای مخرب، بار داده خود را آزاد میکردند، کد دلخواه را اجرا میکردند، دادههای حساس را میدزدند یا عملیات را مختل میکردند.
آپلود بسته اصلاحشده
یک مهاجم، یک بستهی اصلاحشده را که حاوی کد یا فایلهای مخرب است، در یک مخزن یا کانال توزیع آپلود میکند. این کار میتواند با تغییر کد منبع، بستهبندی یا فرادادهی بسته انجام شود.
یکی از بدنامترین این نوع تهدیدها، حمله CodeCov در سال 2021. یک مهاجم، که به دنبال نفوذ به پروژههای نرمافزاری با استفاده از CodeCov، یک روش محبوب ادغام مداوم و تحویل مداوم (CI/CD) از اعتبارنامههای فاششده برای دسترسی غیرمجاز به مخزن ذخیرهسازی ابری گوگل (GCS) یک پروژه استفاده کرد. هنگامی که مهاجم به مخزن GCS دسترسی پیدا کرد، یک مصنوع مخرب، یک نسخه اصلاحشده از بسته CodeCov را آپلود کرد که سپس از طریق سرویس CodeCov در بین کاربران توزیع شد. توسعهدهندگان ناآگاه، با تکیه بر ویژگی بهروزرسانیهای خودکار، بسته مخرب را دانلود و نصب میکردند و معتقد بودند که این بسته، بسته قانونی است. پس از نصب، کد مخرب بیسروصدا اجرا میشد و یکپارچگی سیستمهایی را که آلوده کرده بود، به خطر میانداخت. این امر میتواند منجر به سرقت دادهها، بیثباتی سیستم یا حتی دسترسی از راه دور برای مهاجم شود.
حمله به رجیستریهای بستهها آنقدر رایج است که برخی از الگوهای حمله نامی گرفتهاند:
In جعلیدر این روش، عامل مخرب چندین بستهی مخرب را با خطاهای تایپی جزئی یا نامهای مشابه با بستههای قانونی و محبوب، در رجیستری آپلود میکند، به این امید که توسعهدهندگان نام بستهی مورد نظر را با یک بستهی مخرب اشتباه بنویسند. اغلب بستهی مخرب خود را به عنوان بستهی قانونی جا میزند تا شناسایی نشود و احتمال برخورد با stargazing را افزایش میدهد.
سردرگمی وابستگی از روشی که برخی از مدیران بسته، بستههای درخواستی را از چندین رجیستری دریافت میکنند، بهره میبرد. هنگامی که یک سازمان از اجزای داخلی منتشر شده در یک رجیستری داخلی استفاده میکند، مهاجمی که از این واقعیت آگاه است، ممکن است یک جزء مخرب را با همان نام در یک رجیستری عمومی منتشر کند. اگر نام مورد استفاده برای جزء داخلی، محدودهبندی نشده باشد، برخی از مدیران بسته، جزء مخرب را به جای جزء داخلی، دریافت میکنند.
MTXNUMX Web Terminal امکان اجرای فوری معاملات را بر روی هر مرورگر و دستگاهی (بدون نیاز به نصب) فراهم میآورد. مهمترین مزیت، دسترسی آسان و سریع به تمام ابزارهای معاملاتی و تحلیلی امبر مارکتس است. بستههای ترویانمجرم سایبری، بدافزار را در میان کدهای معتبر و مفید پنهان میکند. این میتواند توسط نویسنده واقعی یا توسط مشارکتکنندهای که خود را برای نگهداری بسته پیشنهاد میدهد، مورد استفاده قرار گیرد. این مورد همچنین به عنوان ... شناخته میشود. ربودن بستهمهاجمان از تکنیکهای زیادی برای ربودن یک بسته موجود استفاده کردند، مانند تصاحب دامنه جایی که یک دامنهی منقضیشدهی رها شده توسط مهاجمی تصاحب شده که ایمیل قدیمیِ مسئول نگهداری را دوباره ایجاد کرده و بازیابی رمز عبور را برای تصاحب حساب مسئول نگهداری انجام داده است.
نکات نهایی
با افزایش روزافزون استفاده سازمانها از روشهای توسعه نرمافزار که اتوماسیون و تحویل مداوم را در اولویت قرار میدهند، اهمیت ایمنسازی مرحله بسته نرمافزاری هرگز تا این حد مهم نبوده است. با اجرای اقدامات امنیتی قوی در طول این مرحله حیاتی، سازمانها میتوانند خطر تسلیم شدن در برابر حملات مخربی که میتوانند یکپارچگی و امنیت نرمافزار آنها را به خطر بیندازند، به طور قابل توجهی کاهش دهند.
استراتژیهای شرح داده شده در این پست وبلاگ، همراه با مثالهای ارائه شده، به عنوان یادآوری صریحی عمل میکنند که مرحله بستهبندی، نقطهای آسیبپذیر در زنجیره تأمین نرمافزار است. سازمانها باید به این تهدیدات توجه کرده و اقدامات امنیتی لازم را برای محافظت از نرمافزار خود در برابر حملات اجرا کنند. با انجام این کار، آنها میتوانند یکپارچگی، امنیت و قابلیت اطمینان نرمافزار خود را برای کاربران و مشتریان خود تضمین کنند.
به سفر ما به سوی یک اکوسیستم نرمافزاری امن بپیوندید
فرصت را از دست ندهید و در این عرصه یک قدم جلوتر باشید software supply chain securityهمین امروز در وبلاگ ما مشترک شوید و جزو اولین کسانی باشید که آخرین بینشهای ما را دریافت میکنند و تضمین میکنند که سازمان شما در میان تهدیدهای در حال تحول، انعطافپذیر و ایمن باقی میماند. ما با هم میتوانیم یک اکوسیستم نرمافزاری قویتر و امنتر برای همه بسازیم.
به یاد داشته باشید software supply chain security یک سفر مداوم است، نه یک مقصد. با ارزیابی مداوم و تطبیق شیوههای امنیتی برای مقابله با تهدیدهای نوظهور، سازمانها میتوانند زنجیره تأمین نرمافزار خود را ایمن کرده و نرمافزارهای قابل اعتمادی را به کاربران خود ارائه دهند.
نسخه آزمایشی ویدیویی ما را تماشا کنید







