با پیشرفت چرخه حیات زنجیره تأمین نرمافزار از کد منبع به مصنوعات اجرایی، مرحله ساخت به عنوان یک نقطه عطف حیاتی مطرح میشود. با این حال، این مرحله تحولآفرین نیز مستعد طیف وسیعی از تهدیدات است که میتوانند یکپارچگی و کارایی نرمافزار را به خطر بیندازند. build securityاین تهدیدات میتوانند از طریق روشهای مختلف، از جمله دور زدن قوانین وضعشده، به فرآیند ساخت نفوذ کنند. CI/CD pipeline، تغییر کنترل پس از منبع کد، به خطر انداختن خود فرآیند ساخت یا دستکاری مخازن مصنوعات. در این پست وبلاگ، ما به طور عمیق به این تهدیدها میپردازیم و شایعترین حملات ساخت زنجیره تأمین نرمافزار را بررسی میکنیم. این محتوا ادامه مجموعه وبلاگهای ما است که به بررسی آنها میپردازیم. software supply chain security در سراسر SDLC.
مرحله ساخت در چرخه حیات توسعه نرمافزار
مرحله ساخت چرخه حیات زنجیره تأمین نرمافزار، فرآیند تبدیل کد منبع به مصنوعات نرمافزاری قابل اجرا را در بر میگیرد. این مرحله شامل کامپایل، پیوند و بستهبندی کد منبع و همچنین تولید بستههای نصب و فایلهای پیکربندی است.
Build security تهدیدها، آسیبپذیریهایی هستند که میتوانند به یک مهاجم اجازه دهند تا در طول فرآیند ساخت، بدون تغییر کد منبع، تغییرات غیرمجازی را در نرمافزار ایجاد کند. این تهدیدها میتوانند از طریق روشهای مختلفی مانند نفوذ به محیط ساخت یا سوءاستفاده از آسیبپذیریها در ابزارهای ساخت، ایجاد شوند.

رایجترین تهدیدات زنجیره تأمین نرمافزار - حملات ساخت
دور زدن CI/CD
این به عمل دور زدن قوانین وضع شده اشاره دارد CI/CD (ادغام مداوم و تحویل مداوم) pipeline ساخت و انتشار مستقیم نرمافزار بدون طی کردن مراحل دقیق آزمایش، تأیید و حسابرسی که معمولاً توسط مقامات رسمی اعمال میشود pipelineاین کار را میتوان با ساخت دستی نرمافزار در خارج از ... انجام داد. CI/CD یا با استفاده از ابزارها یا اسکریپتهایی که امکان تغییرات غیرمجاز در فرآیند ساخت را فراهم میکنند. نمونهای از این نوع حمله برداری، حمله جنکینزدر سال ۲۰۲۲، هکرها به سیستم ساخت نفوذ کردند pipeline مربوط به یک پروژه نرمافزاری متنباز محبوب به نام جنکینز. هکرها کد مخرب را به فایل جنکینز تزریق کردند، که اسکریپتی است که فرآیند ساخت را تعریف میکند. این کد مخرب به هکرها اجازه داد تا ... CI/CD pipelineبررسیهای امنیتی انجام میدهند و کد خود را در فرآیند ساخت تزریق میکنند. سپس این کد روی سیستمهای سازمانهایی که نرمافزار را نصب کردهاند، اجرا میشود.
اصلاح کد پس از کنترل منبع
این عمل شامل ایجاد تغییرات غیرمجاز در کد منبع پس از تأیید آن است. commitبه یک سیستم کنترل منبع قابل اعتماد (SCS) منتقل شده و سپس با استفاده از این کد اصلاح شده، نرمافزار را میسازد. این کار را میتوان با اصلاح مستقیم کد در ایستگاه کاری توسعهدهنده یا با استفاده از ابزارها یا اسکریپتهای خارجی برای تزریق کد مخرب به فرآیند ساخت انجام داد. نمونهای از این حمله برداری، حمله GitLab در سال 2022 بود. هکرها به ساخت نفوذ کردند pipeline of گیتلبهکرها کد مخرب را به GitLab تزریق کردند CI/CD pipeline، که ابزاری است که به صورت خودکار انجام میشود build security این کد مخرب به هکرها اجازه میداد تا پس از بررسی کد در کنترل منبع، آن را تغییر دهند. این امر به آنها اجازه میداد تا کد خود را به نرمافزار تزریق کنند که سپس بر روی سیستمهای سازمانهایی که نرمافزار را نصب کرده بودند، اجرا میشد.
فرآیند ساخت سازش
این شامل دستکاری یا تغییر خود فرآیند ساخت، یا از طریق دسترسی مستقیم به محیط ساخت یا با سوءاستفاده از آسیبپذیریهای موجود در ابزارهای ساخت یا وابستگیهای شخص ثالث است. این کار میتواند برای وارد کردن کد مخرب به خروجی ساخت، دستکاری در منشأ ساخت یا مختل کردن کامل فرآیند ساخت انجام شود. معروفترین نمونه از این حمله برداری، حمله ... بود. حمله بادهای خورشیدییک مهاجم به پلتفرم ساخت SolarWinds، سیستمی که برای کامپایل و بستهبندی نرمافزار SolarWinds Orion استفاده میشود، دسترسی غیرمجاز پیدا کرده بود. این اسکریپت کد مخرب را به نرمافزار کامپایلشده SolarWinds Orion تزریق میکرد. هنگامی که کاربران نرمافزار آسیبدیده را نصب کردند، کد مخرب روی سیستمهای آنها اجرا شد و به مهاجم دسترسی غیرمجاز به سیستمهای آنها داد. مهاجم همچنین توانست دادههای حساس از سیستمهای آنها، مانند اعتبارنامهها، مالکیت معنوی و اطلاعات مشتری را سرقت کند.
مخزن مصنوعات در معرض خطر
این به دسترسی یا دستکاری غیرمجاز یک مخزن مصنوعات اشاره دارد، جایی که بستههای نرمافزاری و فایلهای باینری برای توزیع به کاربران داخلی یا خارجی ذخیره میشوند. مهاجمان میتوانند از این آسیبپذیری برای معرفی کد مخرب، دستکاری در اصالت نرمافزار یا مختل کردن فرآیند استقرار سوءاستفاده کنند. نمونهای از این حمله برداری RubyGems در سال 2022هکرها به مخزن مصنوعات RubyGems نفوذ کردند. هکرها یک مصنوع قانونی را با یک مصنوع مخرب جایگزین کردند که سپس توسط هزاران سازمانی که نرمافزارهایی را با Ruby on Rails میسازند، دانلود شد. این مصنوع مخرب به هکرها اجازه داد تا کد دلخواه را روی سیستمهای سازمانهایی که نرمافزار را نصب کردهاند، اجرا کنند. این امر میتواند به آنها اجازه دهد دادهها را سرقت کنند، بدافزار نصب کنند یا عملیات را مختل کنند.
نکات نهایی
همچنان که سازمانها به پذیرش شیوههای توسعه نرمافزار که بر اتوماسیون و تحویل مداوم تأکید دارند، ادامه میدهند، اهمیت ایمنسازی فرآیند ساخت نرمافزار هرگز تا این حد زیاد نبوده است. با اجرای اقدامات امنیتی قوی در طول مرحله ساخت، سازمانها میتوانند خطر قربانی شدن در برابر حملات مخربی که میتوانند یکپارچگی و امنیت نرمافزار آنها را به خطر بیندازند، به میزان قابل توجهی کاهش دهند.
استراتژیهای ذکر شده در این پست وبلاگ و مثالهای ارائه شده، به عنوان یادآوری این نکته عمل میکنند که مرحله ساخت، نقطهای آسیبپذیر در زنجیره تأمین نرمافزار است. سازمانها باید به این تهدیدات توجه داشته باشند و اقدامات امنیتی لازم را برای محافظت از نرمافزار خود در برابر حملات، اجرا کنند. با انجام این کار، آنها میتوانند یکپارچگی، امنیت و قابلیت اطمینان نرمافزار خود را برای کاربران و مشتریان خود تضمین کنند.
به سفر ما به سوی یک اکوسیستم نرمافزاری امن بپیوندید
این فرصت را از دست ندهید تا در جلوگیری از تهدیدات زنجیره تأمین نرمافزار، پیشتاز باشید. همین امروز در وبلاگ ما مشترک شوید و اولین نفری باشید که آخرین بینشهای ما را دریافت میکند و تضمین میکند که سازمان شما در میان تهدیدات در حال تحول، انعطافپذیر و ایمن باقی میماند. ما با هم میتوانیم یک اکوسیستم نرمافزاری قویتر و امنتر برای همه بسازیم.
نسخه آزمایشی ویدیویی ما را تماشا کنید







