Software composition analysis
مختلف اجزاء کا استعمال کرتے ہوئے سافٹ ویئر تیار کرنا سافٹ ویئر انجینئرنگ کا ایک عام عمل ہے۔ سافٹ ویئر اجزاء کا استعمال بڑے عناصر کی پیچیدگی کو کوڈ کے چھوٹے ٹکڑوں میں تقسیم کرتا ہے اور نئی ضروریات کو پورا کرنے کے لیے اجزاء کے آسان دوبارہ استعمال کو فعال کرکے لچک کو بڑھاتا ہے۔ سافٹ ویئر ڈویلپمنٹ کے عمل کو تیز کرنے اور مارکیٹ میں وقت کم کرنے میں مدد کے لیے اوپن سورس سافٹ ویئر (او ایس ایس) کو مقبول بنانے کے ساتھ 1990 کی دہائی کے آخر سے اس عمل میں وسیع پیمانے پر توسیع ہوئی ہے۔ تاہم، اوپن سورس سافٹ ویئر کا استعمال سافٹ ویئر ایپلی کیشنز کو تیار کرنے کے لیے بہت سے خطرات متعارف کراتا ہے۔ ان خطرات کو 5 زمروں میں منظم کیا جا سکتا ہے: او ایس ایس ورژن کنٹرول: نئے ورژن کے ذریعے متعارف کرائی گئی تبدیلیوں کے خطرات سیکیورٹی: اجزاء میں کمزوریوں کے خطرات-مشترکہ کمزوریاں اور نمائش (یا سی وی ای) لائسنس: دانشورانہ املاک (آئی پی) کے قانونی تقاضوں کے خطرات ترقی: موجودہ کوڈ بیس اور اوپن سورس سافٹ ویئر سپورٹ کے درمیان مطابقت کے خطرات: ناقص دستاویزات اور متروک سافٹ ویئر اجزاء کا خطرہ فروری 1998 میں اوپن سورس انیشی ایٹو کی بنیاد کے فورا بعد، او ایس ایس سے وابستہ خطرات اٹھائے گئے اور تنظیموں نے اپنے ڈویلپرز کے ذریعے استعمال کیے جانے والے تمام اوپن سورس اجزاء کو ٹریک کرنے کے لیے اسپریڈشیٹ اور دستاویزات کا استعمال کرتے ہوئے اس کا انتظام کرنے کی کوشش کی۔ اوپن سورس اجزاء کو بڑے پیمانے پر استعمال کرنے والی تنظیموں کے لیے، اوپن سورس رسک کے تجزیے اور انتظام کو خودکار بنانے میں مدد کرنے کی ضرورت تھی۔ اس کے نتیجے میں سافٹ ویئر کمپوزیشن اینالیسس (ایس سی اے) نامی سافٹ ویئر پروڈکٹس کا ایک نیا زمرہ سامنے آیا جو تنظیموں کو اوپن سورس رسک کا انتظام کرنے میں مدد کرتا ہے۔ ایس سی اے سافٹ ویئر ایپلی کیشن کے اندر استعمال ہونے والے تمام تیسرے فریق کے اجزاء کا پتہ لگانے کی کوشش کرتا ہے تاکہ حفاظتی خطرات، آئی پی لائسنسنگ کی ضروریات، اور استعمال ہونے والے اجزاء کے غیر فعال ہونے سے وابستہ خطرات کو کم کرنے میں مدد ملے۔ جائزہ سافٹ ویئر کمپوزیشن تجزیہ (ایس سی اے) انفارمیشن ٹیکنالوجی اور سافٹ ویئر انجینئرنگ کے شعبوں میں ایک عمل ہے جس میں کسٹم بلٹ سافٹ ویئر ایپلی کیشنز کا تجزیہ کیا جاتا ہے تاکہ سرایت شدہ اوپن سورس سافٹ ویئر کا پتہ لگایا جا سکے اور پتہ لگایا جا سکے کہ آیا وہ تازہ ترین ہیں، حفاظتی خامیوں پر مشتمل ہیں، یا لائسنسنگ کی ضروریات ہیں۔ ایس سی اے مصنوعات عام طور پر مندرجہ ذیل کام کرتی ہیں: ایک انجن سافٹ ویئر سورس کوڈ کو اسکین کرتا ہے، اور سافٹ ویئر ایپلی کیشن کو مرتب کرنے کے لیے استعمال ہونے والے متعلقہ نمونے۔ انجن او ایس ایس اجزاء اور ان کے ورژن کی شناخت کرتا ہے اور عام طور پر اس معلومات کو اسکین شدہ ایپلی کیشن میں استعمال ہونے والے او ایس ایس کا کیٹلاگ بناتے ہوئے ڈیٹا بیس میں محفوظ کرتا ہے۔ اس کے بعد اس کیٹلاگ کا موازنہ ڈیٹا بیس سے کیا جاتا ہے جس میں ہر جزو کے لیے معلوم حفاظتی خطرات، جزو کے استعمال کے لیے لائسنسنگ کی ضروریات، اور جزو کے تاریخی ورژن کا حوالہ دیا جاتا ہے۔ حفاظتی کمزوری کا پتہ لگانے کے لیے، یہ موازنہ عام طور پر معروف حفاظتی کمزوریوں (سی وی ایز) کے خلاف کیا جاتا ہے جن کا سراغ نیشنل ولنریبلٹی ڈیٹا بیس (این وی ڈی) میں لگایا جاتا ہے۔ کچھ مصنوعات کمزوریوں کا ایک اضافی ملکیتی ڈیٹا بیس استعمال کرتی ہیں۔ آئی پی/قانونی تعمیل کے لیے، ایس سی اے مصنوعات او ایس ایس جزو کے لیے استعمال ہونے والے لائسنسنگ کی قسم کو نکالیں گی اور اس کا جائزہ لیں گی۔ اجزاء کے ورژن مقبول اوپن سورس ریپوزیٹریز جیسے گٹ ہب، میوین، پائی پی، نیو جیٹ، اور بہت سے دوسرے سے نکالے جاتے ہیں۔ اس کے بعد نتائج مختلف ڈیجیٹل فارمیٹس کا استعمال کرتے ہوئے اختتامی صارفین کو دستیاب کرائے جاتے ہیں۔ مواد اور شکل کا انحصار ایس سی اے پروڈکٹ پر ہوتا ہے اور اس میں خطرے کا اندازہ لگانے اور اس کی تشریح کرنے کے لیے رہنمائی شامل ہو سکتی ہے، اور سفارشات خاص طور پر جب اس کا تعلق اوپن سورس اجزاء جیسے مضبوط یا کمزور کاپی لیفٹ لائسنسنگ کی قانونی ضروریات سے ہو۔ آؤٹ پٹ میں سافٹ ویئر بل آف میٹریلز (ایس بی او ایم) بھی ہو سکتا ہے جس میں سافٹ ویئر ایپلی کیشن میں استعمال ہونے والے تمام اوپن سورس اجزاء اور متعلقہ صفات کی تفصیل ہو۔ چونکہ ایس سی اے تنظیموں میں مختلف افعال کو متاثر کرتا ہے، اس لیے مختلف ٹیمیں تنظیم کے کارپوریشن کے سائز اور ڈھانچے کے لحاظ سے ڈیٹا استعمال کر سکتی ہیں۔ محکمہ آئی ٹی اکثر چیف انفارمیشن آفیسر (سی آئی او)، چیف ٹیکنالوجی آفیسر (سی ٹی او)، اور چیف انٹرپرائز آرکیٹیکٹس (ای اے) سمیت مشترکہ اسٹیک ہولڈرز کے ساتھ ٹیکنالوجی کو نافذ کرنے اور چلانے کے لیے ایس سی اے کا استعمال کرے گا۔ سیکیورٹی اور لائسنس کا ڈیٹا اکثر حفاظتی خطرات کے لیے چیف انفارمیشن سیکیورٹی آفیسرز (سی آئی ایس او)، اور دانشورانہ املاک کے خطرے کے انتظام کے لیے چیف آئی پی/تعمیل افسر جیسے کرداروں کے ذریعے استعمال کیا جاتا ہے۔ ایس سی اے پروڈکٹ کی صلاحیتوں پر منحصر ہے، اسے براہ راست ڈویلپر کے انٹیگریٹڈ ڈویلپمنٹ انوائرمنٹ (آئی ڈی ای) کے اندر نافذ کیا جا سکتا ہے جو او ایس ایس اجزاء کا استعمال اور انٹیگریٹ کرتا ہے، یا اسے سافٹ ویئر کوالٹی کنٹرول کے عمل میں ایک مخصوص قدم کے طور پر نافذ کیا جا سکتا ہے۔ ایس سی اے مصنوعات، اور خاص طور پر ایس بی او ایم تیار کرنے کی ان کی صلاحیت کچھ ممالک جیسے کہ ریاستہائے متحدہ میں ضروری ہے کہ وہ کسی وینڈر کے ذریعہ ان کی کسی ایجنسی کو فراہم کردہ سافٹ ویئر کی سیکیورٹی کو نافذ کرے۔ ایس سی اے کے لیے ایک اور عام استعمال کا معاملہ ٹیکنالوجی کی وجہ سے مستعدی کے لیے ہے۔ انضمام اور حصول (ایم اینڈ اے) لین دین سے پہلے، مشاورتی ادارے ٹارگٹ فرم کے سافٹ ویئر سے وابستہ خطرات کا جائزہ لیتے ہیں۔ ایس سی اے کی طاقت ایس سی اے مصنوعات کی خودکار نوعیت ان کی بنیادی طاقت ہے۔ او ایس ایس اجزاء کا استعمال اور انٹیگریٹ کرتے وقت ڈویلپرز کو دستی طور پر اضافی کام کرنے کی ضرورت نہیں ہے۔ آٹومیشن کا اطلاق کوڈ اور نمونوں کے اندر موجود دیگر او ایس ایس اجزاء کے بالواسطہ حوالوں پر بھی ہوتا ہے۔ ایس سی اے کی کمزوریاں اس کے برعکس، موجودہ ایس سی اے مصنوعات کی کچھ کلیدی کمزوریوں میں شامل ہو سکتی ہیں: پیچیدہ اور محنت سے بھرپور تعیناتی جس میں مکمل طور پر کام کرنے میں مہینوں لگ سکتے ہیں۔ ہر پروڈکٹ او ایس ایس اجزاء کا اپنا ملکیتی ڈیٹا بیس استعمال کرتا ہے جو سائز اور کوریج کے لحاظ سے ڈرامائی طور پر مختلف ہو سکتا ہے۔ کمزوری کے اعداد و شمار کو صرف این وی ڈی میں سرکاری طور پر رپورٹ کی گئی کمزوریوں پر رپورٹ کرنے تک محدود کرنا (جو کمزوری کو اصل میں دریافت ہونے کے مہینوں بعد بھی ہو سکتا ہے) ایس سی اے کی رپورٹوں اور ڈیٹا کی بنیاد پر کیے جانے والے اقدامات پر خودکار رہنمائی کا فقدان۔