সফটওয়্যারের জন্য সেই 'নিউট্রিশন লেবেল', যা সবসময় অনুপস্থিত ছিল
২০২১ সালের ৯ ডিসেম্বর, একজন নিরাপত্তা গবেষক Log4j নামক একটি Java লাইব্রেরিতে একটি ত্রুটি খুঁজে পান। ৭২ ঘণ্টার মধ্যে কোটি কোটি সিস্টেম ঝুঁকির মুখে পড়ে।
সমস্যাটি কেবল সেই দুর্বলতা বা ভলনারেবিলিটি ছিল না। সমস্যাটি ছিল দৃশ্যমানতা বা ভিজিবিলিটি নিয়ে। বেশিরভাগ কোম্পানিই জানত না যে তাদের নিজস্ব সফটওয়্যারের ভেতরে Log4j রয়েছে কি না।
এই মুহূর্তটি Software Bill of Materials (SBOM)-কে কোম্পানিগুলোর বোর্ড অব ডিরেক্টরসদের কাছে একটি অগ্রাধিকার হিসেবে পরিণত করে।
SBOM হলো আপনার সফটওয়্যারের প্রতিটি উপাদানের একটি তালিকা বা ইনভেন্টরি। এটি কোডের জন্য একটি 'নিউট্রিশন লেবেল'-এর মতো কাজ করে। এটি ওপেন-সোর্স লাইব্রেরি, থার্ড-পার্টি প্যাকেজ এবং অভ্যন্তরীণ অংশগুলোর তালিকা প্রদান করে। এতে ভার্সন এবং লাইসেন্সও অন্তর্ভুক্ত থাকে।
আধুনিক সফটওয়্যার অত্যন্ত জটিল। একটি অ্যাপ্লিকেশন প্রায়শই ৫০০ থেকে ১,৫০০টি থার্ড-পার্টি অংশ ব্যবহার করে। আপনি এগুলো ম্যানুয়ালি ট্র্যাক করতে পারবেন না।
বর্তমানে দুটি প্রধান স্ট্যান্ডার্ড রয়েছে:
• SPDX: লাইসেন্স কমপ্লায়েন্সের ওপর গুরুত্ব দেয়। আইনি দলগুলোর জন্য উপযোগী। • CycloneDX: নিরাপত্তার ওপর গুরুত্ব দেয়। DevSecOps দলগুলোর জন্য উপযোগী।
আপনার প্রতিক্রিয়ার গতি নির্ভর করে আপনার SBOM-এর ওপর। Log4j সংকটের সময়, যেসব কোম্পানির কাছে SBOM ছিল তারা কয়েক ঘণ্টার মধ্যেই তাদের ঝুঁকি শনাক্ত করতে পেরেছিল। যাদের কাছে এটি ছিল না, তাদের ম্যানুয়াল অডিটে কয়েক সপ্তাহ সময় লেগেছিল।
XZ Utils-এর মতো সাম্প্রতিক আক্রমণগুলো প্রমাণ করে যে এই ঘাটতি এখনও রয়ে গেছে। আক্রমণকারীরা সাধারণ লাইব্রেরিগুলোর মধ্যে ব্যাকডোর লুকিয়ে রাখে। অটোমেশন ছাড়া আপনি সেগুলো দেখতে পাবেন না।
নিয়মকানুনও পরিবর্তিত হচ্ছে:
• US Executive Order 14028: ফেডারেল ভেন্ডরদের অবশ্যই SBOM প্রদান করতে হবে। • FDA Guidance: মেডিকেল ডিভাইসের জন্য SBOM প্রয়োজন। • EU Cyber Resilience Act: ২০২৭ সালের মধ্যে ইইউ-তে (EU) সফটওয়্যারের জন্য SBOM প্রয়োজন হবে।
কীভাবে শুরু করবেন:
- একটি স্ট্যান্ডার্ড বেছে নিন। নিরাপত্তার জন্য CycloneDX অথবা লাইসেন্সের জন্য SPDX ব্যবহার করুন।
- জেনারেশন প্রক্রিয়াটি অটোমেট করুন। ইমেজের জন্য Syft অথবা পাইপলাইনের জন্য Snyk-এর মতো টুল ব্যবহার করুন।
- ডেটাবেসের সাথে যুক্ত করুন। আপনার তালিকাকে NIST NVD বা OSV-এর সাথে সংযুক্ত করুন।
- একটি সময়সূচী নির্ধারণ করুন। প্রতিটি বিল্ডের সাথে একটি SBOM তৈরি করুন।
আপনার পুরো পোর্টফোলিও একসাথে ঠিক করার চেষ্টা করবেন না। একটি অ্যাপ্লিকেশন দিয়ে শুরু করুন।
মনে রাখবেন, SBOM হলো একটি ডায়াগনস্টিক টুল। এটি আপনাকে জানায় আপনার কাছে কী আছে। এটি আপনার হয়ে সমস্যাটি সমাধান করে দেয় না। যদি একটি SBOM ২৩টি ভলনারেবিলিটি দেখায়, তবে সেগুলো প্যাচ করার জন্য আপনার এখনও একটি পরিকল্পনার প্রয়োজন হবে।
সেরা কোম্পানিগুলোর কাছে কেবল টুলস থাকে না, তাদের একটি প্রক্রিয়া থাকে। একটি সংকট ঘটার আগেই তারা জানে কোন ডিপেন্ডেন্সি কার অধীনে।
Source: https://dev.to/spicykim/the-nutrition-label-that-software-always-lacked-213 Full details: lucas8.com/what-is-sbom-software-bill-of-materials
