NSA CI/CD دستورالعمل‌های امنیتی: محافظت از زنجیره تأمین نرم‌افزار

از سال ۲۰۱۹ تا ۲۰۲۲، میانگین افزایش سالانه حملات زنجیره تأمین نرم‌افزار از ۷۰۰ درصد فراتر رفته است، روندی رو به رشد که انتظار می‌رود تأثیر اقتصادی آن در سال ۲۰۲۶ از ۸۰ میلیارد دلار فراتر رود. با درک شدت این موضوع، آژانس امنیت ملی (NSA) و آژانس امنیت سایبری و امنیت زیرساخت (CISA) منتشر شد دستورالعمل‌های حیاتی برای امن کردن CI/CD محیط‌ها، که به تهدید فزاینده‌ی بازیگران سایبری مخرب (MCA) که از آسیب‌پذیری‌ها سوءاستفاده می‌کنند، می‌پردازند.

این دستورالعمل‌ها به‌طور خاص بر جلوگیری از افشای اسرار درون [سازمان] تمرکز دارند. CI/CD pipelines و بینش‌های خاصی ارائه می‌دهند.

 

بحرانی‌ترین‌ها کدامند؟ CI/CD تهدیدات امنیتی؟

همانطور که دستورالعمل‌های NSA بیان می‌کند، ایمن‌سازی یک CI/CD محیط زیست مستلزم شناسایی و دفاع در برابر انواع مختلف تهدیدات امنیتی است که می‌توانند بر ... تأثیر بگذارند. CI/CD عملیات. در اینجا برخی از خطرات رایج موجود در CI/CD pipelineها، همراه با OWASP 10 برتر CI/CD خطرات امنیتی:

  • مکانیسم‌های کنترل جریان ناکافیاین ریسک به فقدان کنترل‌های مناسب برای مدیریت جریان داده‌ها و وظایف در ... اشاره دارد. CI/CD pipelineبدون این کنترل‌ها، تغییرات غیرمجاز می‌توانند در ... اعمال شوند. pipeline، که منجر به آسیب‌پذیری‌های امنیتی بالقوه می‌شود.
  • مدیریت ناکافی هویت و دسترسیاین خطر شامل عدم مدیریت صحیح افرادی است که به آن دسترسی دارند. CI/CD pipeline و آنچه می‌توانند انجام دهند. بدون مدیریت صحیح هویت و دسترسی، افراد غیرمجاز می‌توانند به اطلاعات دسترسی پیدا کنند. pipeline و تغییرات مخرب را اعمال کنند.
  • سوء استفاده از زنجیره وابستگی: این خطر به پتانسیل مهاجمان برای سوءاستفاده از آسیب‌پذیری‌های موجود در وابستگی‌های مورد استفاده نرم‌افزار شما اشاره دارد. اگر این وابستگی‌ها به درستی مدیریت و ایمن نشوند، می‌توانند راهی برای حمله فراهم کنند.
  • مسموم Pipeline اعداماین خطر شامل مهاجمانی است که به طور بالقوه کد مخرب را وارد می‌کنند. CI/CD pipelineاین می‌تواند منجر به اجرای کد مخرب در محیط عملیاتی شود.
  • PBAC ناکافی (Pipelineکنترل‌های دسترسی مبتنی بر (این ریسک به فقدان کنترل‌های دسترسی مناسب بر اساس ... اشاره دارد. pipelineبدون این کنترل‌ها، افراد غیرمجاز می‌توانند به بخش‌های حساس سیستم دسترسی پیدا کنند. pipeline.
  • بهداشت ناکافی مدارک تحصیلیاین ریسک شامل عدم مدیریت صحیح و ایمن‌سازی اعتبارنامه‌های مورد استفاده در CI/CD pipelineاگر این اعتبارنامه‌ها به خطر بیفتند، می‌تواند دسترسی مهاجم را به ... فراهم کند. pipeline.
  • پیکربندی ناامن سیستماین ریسک به آسیب‌پذیری‌های امنیتی بالقوه ناشی از
    سیستم‌های با پیکربندی نامناسب در CI/CD pipelineمهاجمان می‌توانند از این آسیب‌پذیری‌ها سوءاستفاده کنند.
  • استفاده‌ی بدون نظارت از خدمات شخص ثالثاین ریسک شامل استفاده از سرویس‌های شخص ثالث بدون نظارت و کنترل مناسب است. این سرویس‌ها در صورت مدیریت و ایمن‌سازی نامناسب، می‌توانند آسیب‌پذیری‌های امنیتی ایجاد کنند.
  • اعتبارسنجی نادرست یکپارچگی مصنوعاتاین ریسک به عدم اعتبارسنجی مناسب مصنوعات تولید شده توسط ... اشاره دارد. CI/CD pipelineبدون اعتبارسنجی مناسب، مصنوعات مخرب یا آسیب‌پذیر می‌توانند وارد محیط تولید شوند.
  • ثبت و مشاهده ناکافی وقایعاین خطر شامل ورود و دید ناکافی به سیستم است.
    فعالیت در CI/CD pipelineتشخیص و پاسخ به حوادث امنیتی بدون ثبت وقایع و قابلیت مشاهده مناسب می‌تواند دشوار باشد.

 

بدترین سناریوهای تهدید و نحوه رفع آنها

مهاجمان برای دسترسی به مخزن گیت، اعتبارنامه‌ی یک توسعه‌دهنده را به دست می‌آورند:

  1. استفاده از اعتبارنامه‌های بلندمدت را به حداقل برسانید.
  2. برای همه به‌روزرسانی‌های کد از قوانین دو نفره (2PR) استفاده کنید.
  3. حساب‌های کاربری را ایمن کنید و سیاست‌های حداقل دسترسی را پیاده‌سازی کنید.
  4. پیاده‌سازی تقسیم‌بندی شبکه و فیلتر کردن ترافیک
  • SSCS ابزارهایی مانند شیگنی بطور خودکار تشخیص پیکربندی‌های نادرست در این حوزه‌ها و اعمال سیاست‌های امن سازمانی.

به خطر افتادن زنجیره تأمین یک کتابخانه برنامه، ابزار یا تصویر کانتینر در ... CI/CD pipeline:

  1. محدود کردن کتابخانه‌ها و ابزارهای غیرقابل اعتماد و تجزیه و تحلیل آنها commitابزارهای تد.
  2. پیاده‌سازی ابزارها و ممیزی EDR
  3. نگاه داشتن CI/CD ابزارها، نرم‌افزارها و سیستم‌عامل‌ها به‌روز باشند.
  • شیگنی پلتفرم به صورت خودکار قابلیت‌های اسکن خود را در هر اسکن به‌روزرسانی می‌کند برای شناسایی جدیدترین اجزای مخرب که می‌توانند بر انتشار نرم‌افزار شما تأثیر بگذارند.

سازش از یک CI/CD محیطی که پیکربندی‌ها را تغییر می‌دهد یا وابستگی‌های مخرب را تزریق می‌کند:

  1. تجزیه و تحلیل commitکد تد و ادغام اسکن امنیتی در CI/CD.
  2. پیاده سازی SBOM و SCA و ابزارهای EDR را پیاده‌سازی کنید.
  3. اضافه کردن امضاها به CI/CD پیکربندی کنید و آن را تأیید کنید.
  • شیگنی قابلیت ها در تجزیه و تحلیل مجموعه کامل دارایی‌های درگیر در توسعه نرم‌افزار, ساخت و تحویل امکان تشخیص هرگونه تهدید را در طول CI/CD پردازش و تولید SBOM به عنوان مدرکی برای حسابرسی شما و مشتریان.

تصویر زیر بردارهای حمله مختلف را با استفاده از مثال a نشان می‌دهد. CI/CD pipelineاین بردارهای حمله بسیار شبیه به بردارهای مورد استفاده در سایر موارد هستند. CI/CD حملات

 تصویر: مثالی از d بردار حمله مختلف در یک AWS CI/CD pipeline
 

 

فعال کردن یک رویکرد واقعی Zero Trust:

استراتژی‌های مقاوم‌سازی فعال NSA

 

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

رمزنگاری توصیه‌شده توسط NSA را اتخاذ کنید

استفاده از الگوریتم‌های رمزنگاری قدیمی و ضعیف، خطرات قابل توجهی را برای ... CI/CD pipelineاین می‌تواند منجر به افشای داده‌های حساس، نشت داده‌ها، احراز هویت به خطر افتاده و جلسات ناامن شود. 

با سوءاستفاده از این آسیب‌پذیری‌ها، عوامل مخرب می‌توانند از سد [سیستم‌های امنیتی] عبور کنند. CI/CD pipeline و زنجیره تأمین نرم‌افزار را به خطر می‌اندازد. برای کاهش این خطرات، NSA و CISتوصیه‌ای برای پیاده‌سازی و پیکربندی الگوریتم‌های رمزنگاری قوی، مانند الگوریتم‌های مشخص‌شده توسط مؤسسه ملی ... Standardو فناوری (NIST)، هنگام راه‌اندازی برنامه‌ها و سرویس‌های ابری.

استفاده طولانی مدت از اعتبارنامه را به حداقل برسانید

وقتی صحبت از احراز هویت انسانی می‌شود، همیشه اولویت را به توکن‌های هویتی و امنیتی مقاوم در برابر حملات فیشینگ بدهید. این اقدامات باید برای به دست آوردن کلیدهای موقت SSH و سایر کلیدها به کار گرفته شوند. 

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

آشکارسازهای ابزارهایی مانند Xygeni از تشخیص هر نوع اطلاعات احراز هویت و اطلاعات محرمانه در ده‌ها قالب در کل زنجیره تأمین نرم‌افزار پشتیبانی می‌کنند: کد، pipelines, IaC پیکربندی‌ها و غیره

اضافه کردن امضاها به CI/CD پیکربندی کنید و همیشه آنها را تأیید کنید

در طول CI/CD صرف نظر از مرحله توسعه، در طول فرآیند، اطمینان از امضای صحیح و مداوم کد و تأیید امضا بسیار مهم است.

اگر امضا اعتبارسنجی نشد، علت مشکل اعتبارسنجی را به طور کامل بررسی کنید.

کاهش خطرات رمز عبور از طریق احراز هویت چند عاملی (MFA)

همچنین می‌تواند با کنترل دسترسی مبتنی بر نقش (RBAC) تکمیل شود. امروزه، MFA معمولاً در انواع سرویس‌ها استفاده می‌شود. این امر به اجرای امنیت کمک می‌کند، در حالی که برای کاربران داخلی و خارجی اعمال می‌شود. 

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

سیاست‌های شرکتی باید این پیکربندی‌های اجباری امروزی را در نظر بگیرند. قابلیت‌های انطباق خودکار و حسابرسی SSCS ابزارها همه آنها را در کل زیرساخت DevOps اجرا می‌کنند.

سیاست‌های حداقل امتیاز را برای موارد زیر پیاده‌سازی کنید: CI/CD دسترسی

بسیار مهم است که فقط به توسعه‌دهندگان دسترسی داده شود. pipelineها و مؤلفه‌هایی که مستقیماً با وظایف محوله‌شان مرتبط هستند. 

پیاده‌سازی تفکیک وظایف بسیار مهم است، به طوری که توسعه‌دهندگان مسئول بررسی کد منبع نیازی به امتیاز به‌روزرسانی محیط ساخت نداشته باشند. به همین ترتیب، مهندسانی که بر ساخت‌ها نظارت دارند نیازی به دسترسی خواندن و نوشتن به کد منبع ندارند. برای راهنمای دقیق‌تر در مورد پیاده‌سازی کنترل‌های امنیتی، به NIST SP 800-53.

برای به‌روزرسانی کد از قانون دو نفره (2PR) استفاده کنید

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

SSCS ابزارهایی مانند Xygeni، معمولاً شامل یک بررسی خاص هستند که تعیین می‌کند آیا پروژه قبل از آن نیاز به بررسی کد دارد یا خیر. pull requests (درخواست‌های ادغام) ادغام می‌شوند.

این بررسی از امنیت فعلی Open SSF پیروی می‌کند. standard.

ایمن‌سازی حساب‌های کاربری و اطلاعات محرمانه

حسابرسی حساب‌های کاربری و پیکربندی کنترل‌های دسترسی بر اساس اصول حداقل امتیاز و تفکیک وظایف بسیار مهم است. 

علاوه بر این، مدیریت امن اسرار، توکن‌ها و اعتبارنامه‌ها در داخل CI/CD pipeline مهم است

هرگز اطلاعات محرمانه را به صورت متن ساده در هیچ کجای شبکه ارسال نکنید pipelineو تضمین می‌کند که آنها هرگز در نرم‌افزاری که بتوان آن را مهندسی معکوس کرد، جاسازی نمی‌شوند.

با پیاده‌سازی فهرست مواد نرم‌افزاری (software bill of material)، سابقه‌ای جامع از تمام اجزای شخص ثالث و متن‌باز در پایگاه کد (codebase) نگهداری کنید.SBOM):

La SBOM به سازمان‌ها در درک آسیب‌پذیری‌های احتمالی کد و جلوگیری از استفاده از اجزای منسوخ و غیرمجاز کمک می‌کند. رعایت مقررات، مانند الزامات FDA برای دستگاه‌های پزشکی، ممکن است استفاده از SBOMs.

 

سایر اقدامات ضروری در طول فرآیند توسعه

به شناسایی نقاط آسیب‌پذیر، بسیار مهم است ادغام اسکن امنیتی در CI/CD pipeline به آسانیادغام باید در هر مرحله آسان در نظر گرفته شود: در ایستگاه کاری (قبل از آپلود)، در ... commitیا در ساخت و ساز شبانه با استفاده از نرده های محافظ.

به‌روزرسانی نرم‌افزارها، سیستم‌عامل‌ها و CI/CD ابزار: مرتباً به‌روزرسانی کنید CI/CD ابزارها، زیرا ممکن است حاوی اشکالات و آسیب‌پذیری‌ها باشند. از سیستم‌های مدیریت وصله متمرکز، از جمله فرآیندهای یکپارچگی نرم‌افزار و اعتبارسنجی برای سیستم‌عامل‌ها و به‌روزرسانی‌های نرم‌افزار استفاده کنید.

محدود کردن کتابخانه‌های نامعتبر و حذف منابع موقت: فقط از نرم‌افزارها، ابزارها، کتابخانه‌ها و مصنوعات از منابع معتبر و ایمن استفاده کنید تا تهدیدات را به حداقل برسانید. CI/CD pipelineهمیشه مطمئن شوید که پیکربندی آن مناسب است تا از اجرای کد احتمالی یا ایجاد درهای پشتی جلوگیری شود. همچنین مهم است که ...برنامه‌های غیرضروری را حذف کرده و از نقاط پایانی محافظت کنید.

برای کسب اطلاعات بیشتر در مورد پلتفرم Xygeni، برگه اطلاعات پلتفرم Xygeni را دانلود کنید.

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

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

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