1. “অধ্যায় 61: Dependency Security & SBOM” scenario-তে মূল control কোনটি?
প্রতি release-এ versioned SBOM ও dependency ownership/patch status যাচাই—এটাই অধ্যায় 61: Dependency Security & SBOM-এর প্রধান defensive control.
Dependency inventory, provenance ও vulnerability triage.
অগ্রগতি এই browser-এ স্থানীয়ভাবে সংরক্ষিত হবে।
স্কুলের coding club-এর app-এ পুরোনো dependency আছে কি না কেউ জানত না। ফারহানা SBOM বানিয়ে component, version, owner ও support status লিখল; severity-র পাশাপাশি বাস্তব exposure ধরে patch plan সাজাল। বৃষ্টি ম্যাম বললেন, “সৌরভ সোনা, আগে সমস্যাটাকে ছোট করে বুঝি—কোন সম্পদ, কার অনুমতি, আর কোন সীমার মধ্যে কাজ?” সৌরভ বোর্ডে একটি data-flow এঁকে সম্ভাব্য ভুলের জায়গা চিহ্নিত করল। তারা বাস্তব কোনো account বা website-এ হাত না দিয়ে synthetic উদাহরণে hypothesis যাচাই করল।
বৃষ্টি ম্যাম জিজ্ঞেস করলেন, “সৌরভ, গল্পের চরিত্রটি কোন সীমা পেরোতে দিচ্ছিল?” তারা বোর্ডে asset, actor, trust boundary আর expected outcome লিখল। ভুলটি শুধু একটি tool-এর সমস্যা নয়; server কী অনুমতি দিচ্ছে, আর সেই সিদ্ধান্ত যাচাই করা যায় কি না—সেটিই মূল প্রশ্ন।
তারপর তারা বাস্তব service ছুঁয়ে না দেখে synthetic record-এ একই decision অনুশীলন করল। প্রথমে স্বাভাবিক অনুমোদিত flow, তারপর ভুল পরিচয়/invalid state, শেষে fix-এর পর retest। বৃষ্টি ম্যাম বললেন, “সোনা, নিরাপদ শেখা মানে কেবল সমস্যা দেখানো নয়—সীমা মেনে প্রতিরক্ষা প্রমাণ করাও।”
সমস্যা: অদৃশ্য transitive component inventory-র বাইরে থেকে exploit surface বাড়ায়।
মূল নিয়ম: প্রতি release-এ versioned SBOM ও dependency ownership/patch status যাচাই। এই নিয়মটি Dependency inventory, provenance ও vulnerability triage.-এর সঙ্গে মিলিয়ে threat boundary-তে enforce করো; শুধু UI, client-side check বা model instruction-এ ভরসা কোরো না। প্রত্যাখ্যানের কারণ user-কে নিরাপদভাবে জানাও, আর diagnosis-এর জন্য সীমিত redacted event রাখো।
নিচের snippet-টি illustrative pseudocode। এটি কোনো বাইরের target-এ পরীক্ষা চালায় না; control কীভাবে server-side-এ বসে তা দেখায়।
sbom = generate_sbom(lockfile)
review(sbom.components, advisories, owners)Review checklist: explicit scope, least privilege, malformed/unauthorized negative case, privacy-safe logging এবং post-fix retest।
release-এ vulnerable transitive package আছে কি না কীভাবে জানবে? কেবল isolated mock বা লিখিত অনুমতিপ্রাপ্ত lab-এ চেষ্টা করো। expected result এবং deny case লিখে রাখো।
প্রতি release-এ versioned SBOM ও dependency ownership/patch status যাচাই Pinned reviewed dependencies, SBOM, update policy, provenance. remediation-এর owner ও retest ফলাফলও নথিভুক্ত করো।
Review: owner, telemetry, failure behavior ও retest ফলাফল নথিভুক্ত করো।
Scope, synthetic setup, পর্যবেক্ষণ, ঝুঁকি, remediation ও retest লিখে রাখো। secret বা ব্যক্তিগত তথ্য যোগ কোরো না।
Sample SBOM-এ unsupported dependency-কে lifecycle plan-এ রাখো.
Scenario: release-এ vulnerable transitive package আছে কি না কীভাবে জানবে?
একটি defensive সিদ্ধান্ত বেছে নিয়ে ল্যাব চালু করো চাপো। এটি synthetic scenario; কোনো network request করা হয় না।
অদৃশ্য transitive component inventory-র বাইরে থেকে exploit surface বাড়ায়।—সফল সমাধানে scope, control এবং retest—তিনটিই উল্লেখ করো।
প্রতিটি প্রশ্নে একটি উত্তর বেছে নাও। ব্যাখ্যাসহ স্কোর নিচে দেখা যাবে।
প্রতি release-এ versioned SBOM ও dependency ownership/patch status যাচাই—এটাই অধ্যায় 61: Dependency Security & SBOM-এর প্রধান defensive control.
অদৃশ্য transitive component inventory-র বাইরে থেকে exploit surface বাড়ায়। হওয়ায় access, data বা service impact হতে পারে.
Synthetic isolated environment production data বা অন্যের service-কে ঝুঁকিতে ফেলে না.
Negative case control bypass বা fail-open আচরণ ধরতে সাহায্য করে.
এতে তদন্তযোগ্য প্রমাণ থাকে, কিন্তু secret বা customer payload লগ হয় না.
আগে scope স্থির করলে পরীক্ষা অনুমোদিত ও সীমাবদ্ধ থাকে.
validation ব্যর্থতায় fail-closed আচরণ নিরাপদ.
Code/config ও synthetic test control বাস্তবে কার্যকর কি না দেখায়.
Retest fix ও regression দুটোই যাচাই করে.
এই তথ্য remediation-কে actionable করে, sensitive data প্রকাশ না করে.
স্কোর: ০ / ১০
আরও পড়ার জন্য প্রতিষ্ঠিত security standards ও guidance দেখো; প্রতিটি lab অনুমোদিত বা synthetic environment-এ করো।