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