Software composition analysis
বিভিন্ন উপাদান ব্যবহার করে সফ্টওয়্যার বিকাশ করা একটি সাধারণ সফ্টওয়্যার ইঞ্জিনিয়ারিং অনুশীলন। সফ্টওয়্যার উপাদানগুলির ব্যবহার বৃহত্তর উপাদানগুলির জটিলতাকে কোডের ছোট ছোট অংশে বিভক্ত করে এবং নতুন প্রয়োজনীয়তাগুলি সমাধান করার জন্য উপাদানগুলির সহজ পুনঃব্যবহার সক্ষম করে নমনীয়তা বাড়ায়। 1990-এর দশকের শেষের দিক থেকে ওপেন-সোর্স সফ্টওয়্যার (ওএসএস)-এর জনপ্রিয়করণের মাধ্যমে এই অনুশীলনটি ব্যাপকভাবে প্রসারিত হয়েছে যাতে সফ্টওয়্যার বিকাশ প্রক্রিয়াটি ত্বরান্বিত করতে এবং বাজারে সময় কমাতে সহায়তা করা যায়। যাইহোক, ওপেন-সোর্স সফ্টওয়্যার ব্যবহার করা সফ্টওয়্যার অ্যাপ্লিকেশনগুলির বিকাশের জন্য অনেক ঝুঁকি নিয়ে আসে। এই ঝুঁকিগুলিকে 5টি বিভাগে সংগঠিত করা যেতে পারেঃ ওএসএস সংস্করণ নিয়ন্ত্রণঃ নতুন সংস্করণ দ্বারা প্রবর্তিত পরিবর্তনের ঝুঁকি নিরাপত্তাঃ উপাদানগুলিতে দুর্বলতার ঝুঁকি-সাধারণ দুর্বলতা ও এক্সপোজার (বা সিভিই) লাইসেন্সঃ বৌদ্ধিক সম্পত্তির (আইপি) আইনি প্রয়োজনীয়তার ঝুঁকি উন্নয়নঃ বিদ্যমান কোডবেস এবং ওপেন-সোর্স সফ্টওয়্যার সমর্থনের মধ্যে সামঞ্জস্যের ঝুঁকিঃ দুর্বল ডকুমেন্টেশন এবং অপ্রচলিত সফ্টওয়্যার উপাদানগুলির ঝুঁকি 1998 সালের ফেব্রুয়ারিতে ওপেন সোর্স ইনিশিয়েটিভ প্রতিষ্ঠার অল্প সময়ের মধ্যেই, ওএসএসের সাথে সম্পর্কিত ঝুঁকিগুলি উত্থাপিত হয়েছিল এবং সংস্থাগুলি তাদের বিকাশকারীদের দ্বারা ব্যবহৃত সমস্ত ওপেন সোর্স উপাদানগুলি ট্র্যাক করার জন্য স্প্রেডশিট এবং নথি ব্যবহার করে এটি পরিচালনা করার চেষ্টা করেছিল। ওপেন সোর্স উপাদানগুলি ব্যাপকভাবে ব্যবহার করে এমন সংস্থাগুলির জন্য, ওপেন সোর্স ঝুঁকির বিশ্লেষণ এবং পরিচালনা স্বয়ংক্রিয় করতে সহায়তা করার প্রয়োজন ছিল। এর ফলে সফ্টওয়্যার কম্পোজিশন অ্যানালাইসিস (এসসিএ) নামে সফ্টওয়্যার পণ্যগুলির একটি নতুন বিভাগ তৈরি হয় যা সংস্থাগুলিকে ওপেন সোর্স ঝুঁকি পরিচালনা করতে সহায়তা করে। এসসিএ একটি সফ্টওয়্যার অ্যাপ্লিকেশনের মধ্যে ব্যবহৃত সমস্ত তৃতীয় পক্ষের উপাদানগুলি সনাক্ত করার চেষ্টা করে যাতে সুরক্ষা দুর্বলতা, আইপি লাইসেন্সিং প্রয়োজনীয়তা এবং ব্যবহৃত উপাদানগুলির অপ্রচলিততার সাথে সম্পর্কিত ঝুঁকি হ্রাস করতে সহায়তা করে। ওভারভিউ সফ্টওয়্যার কম্পোজিশন অ্যানালাইসিস (এস. সি. এ) হল তথ্য প্রযুক্তি এবং সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের ক্ষেত্রে একটি অনুশীলন যা এমবেডেড ওপেন-সোর্স সফ্টওয়্যার সনাক্ত করতে এবং সেগুলি আপ-টু-ডেট, নিরাপত্তা ত্রুটি রয়েছে বা লাইসেন্সের প্রয়োজনীয়তা রয়েছে কিনা তা সনাক্ত করার জন্য কাস্টম-বিল্ট সফ্টওয়্যার অ্যাপ্লিকেশনগুলি বিশ্লেষণ করে। এসসিএ পণ্যগুলি সাধারণত নিম্নরূপ কাজ করেঃ একটি ইঞ্জিন সফ্টওয়্যার সোর্স কোড এবং একটি সফ্টওয়্যার অ্যাপ্লিকেশন সংকলন করতে ব্যবহৃত সম্পর্কিত নিদর্শনগুলি স্ক্যান করে। ইঞ্জিনটি ওএসএস উপাদান এবং তাদের সংস্করণগুলি সনাক্ত করে এবং সাধারণত স্ক্যান করা অ্যাপ্লিকেশনটিতে ব্যবহৃত ওএসএসের একটি ক্যাটালগ তৈরি করে একটি ডাটাবেসে এই তথ্য সংরক্ষণ করে। এই ক্যাটালগটি তারপর প্রতিটি উপাদানের জন্য পরিচিত নিরাপত্তা দুর্বলতা, উপাদানটি ব্যবহারের জন্য লাইসেন্সের প্রয়োজনীয়তা এবং উপাদানটির ঐতিহাসিক সংস্করণগুলি উল্লেখ করে ডাটাবেসের সাথে তুলনা করা হয়। নিরাপত্তা দুর্বলতা সনাক্তকরণের জন্য, এই তুলনা সাধারণত পরিচিত নিরাপত্তা দুর্বলতা (সিভিই)-র বিরুদ্ধে করা হয় যা জাতীয় দুর্বলতা ডাটাবেসে (এনভিডি) ট্র্যাক করা হয়। কিছু পণ্য দুর্বলতার একটি অতিরিক্ত মালিকানাধীন ডাটাবেস ব্যবহার করে। আই. পি/লিগ্যাল কমপ্লায়েন্সের জন্য, এস. সি. এ পণ্যগুলি ও. এস. এস উপাদানের জন্য ব্যবহৃত লাইসেন্সের ধরন বের করবে এবং মূল্যায়ন করবে। উপাদানগুলির সংস্করণগুলি জনপ্রিয় ওপেন সোর্স সংগ্রহস্থল যেমন গিটহাব, মাভেন, পাইপি, নুগেট এবং আরও অনেকগুলি থেকে বের করা হয়। ফলাফলগুলি তখন বিভিন্ন ডিজিটাল বিন্যাস ব্যবহার করে শেষ ব্যবহারকারীদের জন্য উপলব্ধ করা হয়। বিষয়বস্তু এবং বিন্যাস এস. সি. এ পণ্যের উপর নির্ভর করে এবং এতে ঝুঁকি মূল্যায়ন ও ব্যাখ্যার জন্য নির্দেশনা অন্তর্ভুক্ত থাকতে পারে, এবং বিশেষত যখন এটি শক্তিশালী বা দুর্বল কপিলেফ্ট লাইসেন্সের মতো ওপেন সোর্স উপাদানগুলির আইনি প্রয়োজনীয়তার সাথে সম্পর্কিত হয় তখন সুপারিশগুলি অন্তর্ভুক্ত থাকতে পারে। আউটপুটটিতে একটি সফ্টওয়্যার বিল অফ ম্যাটেরিয়ালস (এসবিওএম) থাকতে পারে যা একটি সফ্টওয়্যার অ্যাপ্লিকেশনে ব্যবহৃত সমস্ত ওপেন সোর্স উপাদান এবং সম্পর্কিত বৈশিষ্ট্যগুলির বিশদ বিবরণ দেয় ব্যবহার যেহেতু এসসিএ সংস্থাগুলিতে বিভিন্ন ক্রিয়াকলাপকে প্রভাবিত করে, বিভিন্ন দল সংস্থার কর্পোরেশনের আকার এবং কাঠামোর উপর নির্ভর করে ডেটা ব্যবহার করতে পারে। প্রধান তথ্য আধিকারিক (সি. আই. ও), প্রধান প্রযুক্তি আধিকারিক (সি. টি. ও) এবং প্রধান উদ্যোগ স্থপতি (ই. এ) সহ সাধারণ অংশীদারদের সঙ্গে প্রযুক্তি রূপায়ণ ও পরিচালনার জন্য তথ্যপ্রযুক্তি বিভাগ প্রায়শই এস. সি. এ ব্যবহার করে। নিরাপত্তা এবং লাইসেন্সের তথ্য প্রায়শই নিরাপত্তা ঝুঁকির জন্য চিফ ইনফরমেশন সিকিউরিটি অফিসার (সিআইএসও) এবং বুদ্ধিবৃত্তিক সম্পত্তির ঝুঁকি ব্যবস্থাপনার জন্য চিফ আইপি/কমপ্লায়েন্স অফিসারের মতো ভূমিকা দ্বারা ব্যবহৃত হয়। এসসিএ পণ্যের ক্ষমতার উপর নির্ভর করে, এটি সরাসরি বিকাশকারীর ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্টের (আইডিই) মধ্যে প্রয়োগ করা যেতে পারে যারা ওএসএস উপাদানগুলি ব্যবহার করে এবং সংহত করে, অথবা এটি সফ্টওয়্যার মান নিয়ন্ত্রণ প্রক্রিয়ার একটি নিবেদিত পদক্ষেপ হিসাবে প্রয়োগ করা যেতে পারে। এস. সি. এ পণ্য, এবং বিশেষ করে মার্কিন যুক্তরাষ্ট্রের মতো কিছু দেশে এস. বি. ও. এম তৈরি করার জন্য তাদের সক্ষমতা প্রয়োজন যাতে কোনও বিক্রেতার দ্বারা তাদের কোনও সংস্থায় সরবরাহ করা সফ্টওয়্যারের সুরক্ষা প্রয়োগ করা যায়। এস. সি. এ-র আরেকটি সাধারণ ব্যবহার হল প্রযুক্তিগত অধ্যবসায়। মার্জার অ্যান্ড অ্যাকুইজিশন (এম অ্যান্ড এ) লেনদেনের আগে, উপদেষ্টা সংস্থাগুলি টার্গেট ফার্মের সফ্টওয়্যারের সাথে সম্পর্কিত ঝুঁকিগুলি পর্যালোচনা করে। এস. সি. এ শক্তি এস. সি. এ পণ্যগুলির স্বয়ংক্রিয় প্রকৃতি হল তাদের প্রাথমিক শক্তি। ওএসএস উপাদানগুলি ব্যবহার এবং সংহত করার সময় ডেভেলপারদের ম্যানুয়ালি অতিরিক্ত কাজ করতে হবে না। অটোমেশন কোড এবং শিল্পকর্মের মধ্যে অন্যান্য ওএসএস উপাদানগুলির পরোক্ষ রেফারেন্সের ক্ষেত্রেও প্রযোজ্য এসসিএ দুর্বলতা বিপরীতভাবে, বর্তমান এসসিএ পণ্যগুলির কিছু মূল দুর্বলতার মধ্যে অন্তর্ভুক্ত থাকতে পারেঃ জটিল এবং শ্রম-নিবিড় স্থাপনার যা সম্পূর্ণরূপে কার্যকরী হতে কয়েক মাস সময় নিতে পারে প্রতিটি পণ্য ওএসএস উপাদানগুলির নিজস্ব মালিকানাধীন ডাটাবেস ব্যবহার করে যা আকার এবং কভারেজের দিক থেকে নাটকীয়ভাবে পরিবর্তিত হতে পারে দুর্বলতা ডেটা সীমাবদ্ধ করে শুধুমাত্র এনভিডিতে আনুষ্ঠানিকভাবে রিপোর্ট করা দুর্বলতাগুলির উপর রিপোর্ট করার জন্য (যা দুর্বলতা মূলত আবিষ্কৃত হওয়ার কয়েক মাস পরে হতে পারে) এসসিএ রিপোর্ট এবং ডেটার উপর ভিত্তি করে পদক্ষেপ নেওয়ার বিষয়ে স্বয়ংক্রিয় দিকনির্দেশনার অভাব সনাক্ত হওয়া ওএসএস লাইসেন্সের আইনি প্রয়োজনীয়তার উপর দিকনির্দেশনার অভাব সুরক্ষা পরীক্ষা ওপেন-সোর্স সফ্টওয়্যার সাধারণ দুর্বলতা এবং এক্সপোজার ওপেন-সোর্স লাইসেন্স সফ্টওয়্যার বুদ্ধিমত্তা রেফারেন্স তথ্য প্রযুক্তি দেখুন