از جنبه منفی، ممکن است برخی از جزئیات انواع دیگر SBOM ها، از جمله زمان اجرا، افزونه، یا اجزای پویا، مانند کتابخانه های سرور برنامه، را نداشته باشد.
شش نوع اصلی از SBOM وجود دارد که امروزه در طول مراحل چرخه عمر توسعه نرم افزار در حال حرکت هستند:
-
با در نظر گرفتن این جزئیات، انتخاب نوع یا ترکیب مناسب از SBOMها برای پاسخگویی به نیازهای سازمان شما مستلزم توجه بیشتر به انتخاب صرفاً برای اولین ابزار تولید SBOM است که برای اهداف انطباق در دسترس است.
از جنبه منفی، این SBOM بسیار وابسته به محیط ساخت است، که گاهی اوقات ممکن است برای تولید SBOM نیاز به تغییر داشته باشد.
-
• طرح: یک SBOM از این نوع برای نرم افزارهای آینده نگر یا برنامه ریزی شده ایجاد می شود و شامل اجزایی است که ممکن است وجود داشته باشند یا نباشند. معمولاً بر اساس یک RFP، مفهوم یا مشخصات توسعه داده می شود. در حالی که از نظر تئوری امکان پذیر است، تصور اینکه چگونه می تواند کمک کند و چگونه می تواند یک سند قابل خواندن توسط ماشین تولید کند که استانداردهای مورد حمایت دولت فدرال را برآورده کند، دشوار است.
دیدن موارد استفاده برای این نوع به جای SBOM رایجتر از نوع ساخت، دشوار است. با این حال، این SBOM میتواند مؤلفههای آسیبپذیری را که هرگز پس از استقرار اجرا نمیشوند، شناسایی کند و به تیم دیدی به درخت وابستگی مؤلفههای موجود میدهد. از این رو، آن را قادر می سازد تا آسیب پذیری های شناخته شده را در منبع اولیه در مراحل توسعه اصلاح کند.
• منبع: بسیار شبیه به نوع ساخت SBOM، این یکی در محیط توسعه تولید میشود و شامل تمام فایلهای منبع و وابستگیهای مورد نیاز برای ساخت یک آرتیفکت است، اما ابزار ساخت را از فرآیند حذف میکند. معمولاً توسط ابزار تجزیه و تحلیل ترکیب نرم افزار (SCA) تولید می شود و برخی توضیحات به صورت دستی اضافه می شود.
• زمان اجرا: گاهی اوقات SBOM ابزاری یا پویا نامیده می شود، این نوع نقطه کور در SBOM های مستقر شده را حل می کند. در این مورد، ابزارها با سیستم تعامل دارند و مصنوعات مورد استفاده در یک محیط در حال اجرا و مواردی که در حین اجرا در حافظه بارگذاری شده اند را ثبت می کنند. این فرآیند به جلوگیری از مثبت کاذب از اجزای استفاده نشده کمک می کند.
ایجاد این نوع SBOM ممکن است نیاز به تغییر فرآیندهای نصب و استقرار داشته باشد، و ممکن است همیشه محیط زمان اجرا مصنوع را منعکس نکند زیرا ممکن است برخی از مؤلفه ها در دسترس نباشند. اما دامنه وسیع این نوع SBOM آن را به گزینه ای جذاب تبدیل می کند.
-
SBOM ها لحظه ای دارند. در خلال کنفرانس اخیر RSA، آژانس امنیت سایبری و امنیت زیرساخت (CISA) دولت فدرال راهنمایی در مورد انواع مختلف SBOM های موجود و استفاده از آنها منتشر کرد.
تبلیغات
از آنجایی که اساساً اجزای مصنوع را مهندسی معکوس می کند، می تواند ابزار مفیدی برای مصرف کنندگان نرم افزاری باشد که SBOM در دسترس ندارند یا می توانند SBOM موجود را تأیید کنند.
یک SBOM، مانند هر صورتحساب مواد، اجزای محصول نهایی را فهرست میکند، بنابراین در صورت بروز مشکل، توسعهدهندگان میتوانند علت را به صفر برسانند و با کمترین اختلال ممکن آن را برطرف کنند. SBOM ها سنگ اصلی امنیت زنجیره تامین هستند که DevOps ایمن تر و اطلاعات تهدید بهتر را برای حفظ شبکه های انعطاف پذیرتر امکان پذیر می کنند.
CISA مروج استفاده از SBOM ها بوده است، به ویژه از زمان فرمان اجرایی 14028 و یادداشت اداره مدیریت و بودجه M-22-18 که نیازمند ایجاد یک فرم گزارش برای توسعه دهندگان نرم افزار در خدمت دولت فدرال است. CISA جلسات SBOM-a-Rama را برگزار می کند که انواع صنعت را برای حمایت از توسعه CBOM گرد هم می آورد.
از جنبه منفی، این نوع SBOM اغلب برای آزمایش مؤلفهها به اکتشافیهای ضعیفتر یا عوامل خطر بر اساس زمینه متکی است. بنابراین آزمایش ممکن است نتایج مثبت کاذب ایجاد کند. اما همچنین احتمال بیشتری وجود دارد که کتابخانههایی را بیابد که از محیط پیوند داده شدهاند، بدون اینکه تیم توسعه متوجه شود، مانند OpenSSL libc، یا سایر کتابخانههایی که معمولاً SBOM را میسازند.
سند CISA ناشی از یک تلاش گروهی است که در سال 2018 آغاز شد و مانند بسیاری از تلاشهای گروهی، میتواند سخت رشد کند. مقدمه سند نیز همین موضوع را تایید میکند و میگوید: «با توجه به روشهای متفاوت جمعآوری دادههای SBOM، خروجیهای ابزار ممکن است متفاوت باشند و در موارد استفاده مختلف ارزش ارائه کنند.» با در نظر گرفتن این موضوع، ارزش آن را دارد که انواع SBOM های موجود و برخی موارد استفاده بالقوه را برای کمک به روشن شدن اینکه کدام یک برای یک سازمان مفیدتر است، تجزیه و تحلیل کنیم.
رمزگشایی 6 نوع اصلی SBOM
با توجه به حمایت دولت فدرال، SBOM بدون شک اینجاست که میماند، و میتواند پایهای محکم ایجاد کند و نظم را در فرآیند گاه بینظم امنیت محصولات نرمافزاری ایجاد کند.
منبع
• ساختن: رایج ترین نوع SBOM مورد استفاده، این موجودی کامل تری است که به عنوان بخشی از فرآیند ساخت نرم افزاری که مصنوع نهایی را اجرا می کند، تولید می شود. این رویکرد از دادههایی مانند فایلهای منبع، وابستگیها، اجزای ساختهشده، دادههای زودگذر فرآیند ساخت و طراحی قبلی و SBOMهای منبع استفاده میکند. متکی به حل همه وابستگی ها در سیستم ساخت و اسکن آنها در ماشین ساخت است.
از آنجایی که فایل های واقعی اسکن می شوند، این نوع SBOM رکورد کامل تری با داده های غنی در مورد هر فایل، مانند هش و منبع آن ایجاد می کند. ارائه دید بیشتر فراتر از آنچه که از کد منبع در دسترس است، این اطمینان را ایجاد می کند که SBOM به طور دقیق فرآیند توسعه را نشان می دهد. این اعتماد از ادغام SBOM و محصول نهایی در یک گردش کار ناشی می شود.
• مستقر شده: همانطور که از نام آن پیداست، این فهرستی از نرم افزار مستقر شده در سیستم است که معمولاً با کامپایل کردن SBOM ها و اطلاعات پیکربندی مصنوعات نصب شده تولید می شود. می تواند تجزیه و تحلیل گزینه های پیکربندی و بررسی رفتار اجرا را در یک محیط مستقر ترکیب کند. بررسی اجزای نرم افزار، از جمله سایر تنظیمات و اجزای سیستمی که یک برنامه کاربردی را اجرا می کنند، مفید است.
تبلیغات
این نوع SBOM به توسعه دهندگان امکان مشاهده اجزای بارگذاری شده به صورت پویا و اتصالات خارجی را می دهد و می تواند جزئیاتی را در مورد اینکه چه اجزایی فعال هستند و چه بخش هایی از آنها در حال استفاده هستند را به آنها ارائه می دهد. این به سربار شبکه اضافه می کند زیرا سیستم باید در حین کار آنالیز شود. از آنجایی که برای استفاده از عملکرد کامل آن باید مدتی در حال اجرا باشد، جمع آوری اطلاعات دقیق ممکن است کمی طول بکشد.
نظرات نهایی در مورد انتخاب SBOM
تبلیغات
• تجزیه و تحلیل: گاهی اوقات به آن “SBOM شخص ثالث” یا SCA باینری می گویند. این به اسکن مصنوع به عنوان تحویل داده شده برای کار کردن اجزای آن متکی است. و از ابزارهای شخص ثالث برای تجزیه و تحلیل مصنوعات مانند بسته ها، کانتینرها و تصاویر ماشین مجازی استفاده می کند. نیازی به دسترسی به محیط ساخت ندارد و میتواند دادههای SBOM را از منابع دیگر دوباره بررسی کند تا وابستگیهای پنهان ابزار ایجاد SBOM را بیابد.
یکی از موارد استفاده احتمالی برای این نوع SBOM این است که به توسعه دهندگان در مورد مسائل مربوط به مجوز که ممکن است در هنگام بررسی استفاده از اجزای خاصی که بر مالکیت معنوی یا توزیع محصول نهایی تأثیر می گذارد، ایجاد شود، هشدار می دهد. این SBOM می تواند به تیم توسعه کمک کند تا عناصر ناسازگار را قبل از خرید شناسایی کرده و لیستی از مؤلفه های تأیید شده و توصیه شده را تعریف کند. این نوع SBOM همچنین میتواند تیم را قادر سازد تا بهترین مؤلفههای منبع باز را از منظر تجاری تهیه کند.
اگر میپرسید «SBOM چیست؟» شما باید سریع به آن رسیدگی کنید. لایحه مواد نرمافزاری اولین خط دفاعی در برابر آسیبپذیریهای نرمافزاری است که میتواند در کمین باشد، مانند درهای پشتی باز شده به شبکه شما، آماده ورود هکرها.
دو سال پس از آنکه یک گروه باجافزار با حمله به اپراتور خط لوله، تحویل سوخت ایالات متحده را متوقف کرد، حملات زنجیره تامین همچنان عامل اصلی تحریک متخصصان امنیتی است. در پی حمله و کشف آسیبپذیری Log4J، SBOMها به جریان اصلی تبدیل شدهاند، زیرا متخصصان امنیتی برای جلوگیری از حملات آینده تلاش میکنند.
برتری SBOM ها و راهنمایی فدرال