C++ کے خالق نے محفوظ پروگرامنگ زبانوں کے نفاذ پر تنقید کی۔

C++ زبان کے خالق، Bjarne Stroustrup نے NSA کی رپورٹ کے نتائج پر اعتراضات شائع کیے، جس میں تجویز کیا گیا تھا کہ تنظیمیں پروگرامنگ زبانوں جیسے C اور C++ کے استعمال سے ہٹ جائیں، جو میموری مینجمنٹ کو ڈویلپر کو منتقل کرتی ہیں، زبانوں کے حق میں۔ جیسے C#, Go, Java, Ruby, Rust, اور Swift جو خودکار میموری کا انتظام فراہم کرتے ہیں یا مرتب وقت پر میموری کی حفاظت کی جانچ کرتے ہیں۔

Stroustrup کے مطابق، NSA کی رپورٹ میں مذکور محفوظ زبانیں ان کے نقطہ نظر سے اہم ایپلی کیشنز میں C++ سے واقعی برتر نہیں ہیں۔ خاص طور پر، C++ بنیادی رہنما خطوط، جو حالیہ برسوں میں تیار کیے گئے ہیں، محفوظ پروگرامنگ کے طریقوں کا احاطہ کرتے ہیں اور ایسے آلات کے استعمال کو تجویز کرتے ہیں جو اقسام اور وسائل کے ساتھ محفوظ کام کی ضمانت دیتے ہیں۔ تاہم، ایسے ڈویلپرز جن کو اس طرح کی مضبوط حفاظتی ضمانتوں کی ضرورت نہیں ہوتی ہے، انہیں ترقی کے پرانے طریقوں کا استعمال جاری رکھنے کے لیے آزاد چھوڑ دیا جاتا ہے۔

Stroustrup کا خیال ہے کہ ایک اچھا سٹیٹک اینالائزر جو C++ بنیادی رہنما خطوط کی تعمیل کرتا ہے C++ کوڈ کے لیے نئی محفوظ پروگرامنگ زبانوں کو تبدیل کرنے سے بہت کم قیمت پر ضروری حفاظتی ضمانتیں فراہم کر سکتا ہے۔ مثال کے طور پر، زیادہ تر بنیادی رہنما خطوط پہلے سے ہی مائیکروسافٹ ویژول اسٹوڈیو کے جامد تجزیہ کار اور میموری سے محفوظ پروفائل میں نافذ ہیں۔ کلینگ صاف جامد تجزیہ کار میں کچھ سفارشات کو بھی مدنظر رکھا گیا ہے۔

NSA رپورٹ کا فوکس میموری کے مسائل پر بھی تھا، جس سے پروگرامنگ لینگویج کے بہت سے دوسرے مسائل ہیں جو سیکورٹی اور وشوسنییتا کو متاثر کرتے ہیں۔ Stroustrup سیکورٹی کو ایک وسیع تر تصور کے طور پر دیکھتا ہے، جس کے مختلف پہلوؤں کو کوڈنگ کے انداز، لائبریریوں اور جامد تجزیہ کاروں کے امتزاج سے حاصل کیا جا سکتا ہے۔ ان قوانین کی شمولیت کو کنٹرول کرنے کے لیے جو اقسام اور وسائل کے ساتھ کام کرنے کی حفاظت کو یقینی بناتے ہیں، کوڈ اور کمپائلر کے اختیارات میں تشریحات استعمال کرنے کی تجویز ہے۔

ایپلی کیشنز میں جہاں کارکردگی سیکیورٹی سے زیادہ اہم ہوتی ہے، یہ نقطہ نظر ان ٹولز کے منتخب استعمال کی اجازت دیتا ہے جو سیکیورٹی کی ضمانت صرف اس جگہ پر دیتے ہیں جہاں اس کی ضرورت ہو۔ سیکورٹی بڑھانے والے ٹولز کو جزوی طور پر بھی لاگو کیا جا سکتا ہے، جیسے پہلے حد کی جانچ اور ابتدا کے قوانین کو محدود کرنا، اور پھر آہستہ آہستہ کوڈ کو مزید سخت تقاضوں کے مطابق ڈھالنا۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں