Java, .NET ڈویلپرز زیادہ بار بار خطرات کا شکار ہیں۔

Java, .NET ڈویلپرز زیادہ بار بار خطرات کا شکار ہیں۔

ماخذ نوڈ: 1901108

جاوا اور .NET میں لکھی گئی تین چوتھائی سے زیادہ ایپلی کیشنز میں OWASP ٹاپ 10 سے کم از کم ایک کمزوری ہے، سافٹ ویئر کی کمزوریوں کی ایک فہرست جسے ڈویلپرز عام طور پر ایپلیکیشن سیکیورٹی کے لیے بنیادی طور پر استعمال کرتے ہیں۔

یہ سافٹ ویئر ٹیسٹنگ فرم ویرا کوڈ کے مطابق ہے، جس نے تقریباً 760,000 ایپلی کیشنز کے تجزیے میں پایا کہ ان دو پروگرامنگ ماحولیاتی نظاموں کو استعمال کرنے والی پانچ میں سے ایک ایپلی کیشن میں کم از کم ایک انتہائی شدید یا نازک شدت کا خطرہ تھا۔

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

ویرا کوڈ میں اسٹریٹجک پروڈکٹ مینجمنٹ کے نائب صدر ٹم جیریٹ کا کہنا ہے کہ تجزیہ ترقیاتی پائپ لائن میں سیکیورٹی کو ضم کرنے کی اہمیت کو اجاگر کرتا ہے۔

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

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

مثال کے طور پر، جاوا اور .NET ایپلی کیشنز، جن کا مطالعہ کے ذریعے تجزیہ کردہ کل ایپلی کیشنز کا 71% حصہ ہے، نے دیکھا کہ نصف خامیاں بالترتیب 243 دن اور 158 دن کے بعد بھی ایپلی کیشنز کو متاثر کر رہی ہیں۔

پروگرامنگ زبان کے ذریعے کمزوریوں کی نصف زندگی

ماخذ: ویراکوڈ کی "اسٹیٹ آف سافٹ ویئر سیکیورٹی" رپورٹ

ایپلی کیشن بلوٹ اور عمر دونوں نے ان کی حفاظت پر نمایاں منفی اثر ڈالا۔ اوسط ایپلیکیشن نے تقریباً 40% زیادہ کوڈ جمع کیا ہے اور اس میں کمزوریوں کا زیادہ امکان ہے۔ تقریباً 54% دو سال پرانی درخواستوں میں خامیاں ہیں، جبکہ 69% پانچ سال پرانی درخواستوں میں خامیاں ہیں، تجزیہ پایا.

جاوا اسکرپٹ کی حیران کن سیکیورٹی

حیرت کی بات یہ ہے کہ جاوا اسکرپٹ میں لکھی گئی ایپلیکیشنز یا جاوا اسکرپٹ کے فریم ورک میں سے کسی ایک کو استعمال کرتے ہوئے کمزوری کے اسکینوں میں بہتر کارکردگی دکھاتے ہیں۔ جبکہ تقریباً 80% جاوا اور .NET ایپلیکیشنز میں کمزوری تھی، صرف 56% JavaScript ایپلی کیشنز نے ایسا کیا۔ اور جب کہ تقریباً 20% جاوا اور .NET ایپلی کیشنز میں بہت زیادہ کمزوری تھی، جاوا اسکرپٹ ایپلی کیشنز میں سے 10% سے بھی کم۔

جارٹ کا کہنا ہے کہ جاوا اسکرپٹ کے فریم ورک نئے ہیں، ان میں زیادہ سیکیورٹی ہے، اور اوپن سورس ایکو سسٹم کے فوائد ہیں، جس سے جاوا کو حال ہی میں نسبتاً فائدہ ہوا ہے۔

"جاوا اسکرپٹ ایک نئی زبان ہے، اس لیے اس میں لکھی گئی ایپلیکیشنز نئی ہیں، اور ہم نے پچھلی رپورٹس میں ایپلیکیشن کی عمر اور خامیوں کے تدارک کے وقت کے درمیان ایک تعلق قائم کیا ہے،" وہ کہتے ہیں۔ "جاوا اسکرپٹ کے لیے بہت ساری ٹولنگ پختہ ہے اور یہ ایک اچھی طرح سے تعاون یافتہ زبان ہے۔"

مزید برآں، جہاں جاوا ایپلیکیشن میں کمزوری ایک فریق اول کا مسئلہ ہے — مسائل کو حل کرنے کے لیے ڈویلپر کو چھوڑنا — JavaScript اور Node.js فریم ورک میں، کمزوریاں اکثر فریق ثالث کا مسئلہ ہوتی ہیں، کیونکہ کمزوری ایک جزو میں واقع ہوئی ہے۔ جس پر سافٹ ویئر انحصار کرتا ہے۔

وہ کہتے ہیں، "جاوا ایپلیکیشن میں سیکیورٹی کے مسئلے کو حل کرنے کا طریقہ اب بھی زیادہ تر ہے [جہاں] آپ کلاس فائل میں تبدیلی کرتے ہیں اور آپ اسے مرتب کرتے ہیں،" وہ کہتے ہیں۔ "جہاں جاوا اسکرپٹ ایپلی کیشن میں، یہ پیکیج مینجمنٹ کا زیادہ مسئلہ ہے۔ اور یہ ایک ڈویلپر کے لیے سیکھنا ایک الگ چیز ہے، جو شاید آسان ہو۔

پروگرامنگ کی نئی زبانیں زبان زدہ ہیں۔

رپورٹ کا ڈیٹا ان پروگرامنگ زبانوں کے درمیان فرق کو بھی اجاگر کرتا ہے جو ڈویلپرز سیکھ رہے ہیں اور وہ زبان جو درحقیقت کاروباری اداروں کی اکثریت میں استعمال ہوتی ہے۔ سرفہرست زبانیں اور ماحولیاتی نظام — Java, .NET, اور JavaScript — Veracode کے ذریعے دیکھے گئے پروگرامنگ ٹیکنالوجی کے ڈویلپرز کا انتخاب نہیں ہیں۔

جبکہ JavaScript اور JS پر مبنی فریم ورک — جیسے Node.js, React.js، اور Angular — ڈویلپر کی ترجیحی ٹیکنالوجی کی فہرستوں پر حاوی ہیں، جاوا سب سے کم پسند کی جانے والی پروگرامنگ زبانوں میں سے ایک ہے، جس کے مقابلے میں 54% جواب دہندگان اس زبان سے خوفزدہ ہیں۔ اسٹیک اوور فلو کے مطابق، 46٪ کے ساتھ جنہوں نے اسے پسند کیا۔ 2022 ڈویلپر سروے

اس کے باوجود JavaScript کے لیے 44% کے مقابلے میں Veracode کلائنٹس (14%) کے ذریعے اسکین کی گئی ایپلی کیشنز کا حصہ جاوا پر غالب رہا۔ 

اس کے علاوہ، سب سے زیادہ پسند کی جانے والی پروگرامنگ لینگویج، Rust، Veracode کے ڈیٹا میں بھی نظر نہیں آتی، جبکہ ڈویلپرز کا نمبر 6، Python، اسکین کردہ ایپلی کیشنز میں سے صرف 4% سے بھی کم ہے۔

منقطع ہونے کی وجہ کا ایک حصہ یہ ہے کہ قائم کردہ ایپلی کیشنز قائم شدہ پروگرامنگ زبانوں میں لکھی جاتی ہیں، ویرا کوڈ کے جیرٹ کہتے ہیں۔

"آپ کے پاس تمام ضابطوں کی پوری کائنات ہے جو وہاں موجود ہے، اور پھر آپ کے پاس نئی ترقی کی لہر کی چوٹی پر جھاگ کی طرح ہے، اور یہ وہ جگہ ہے جہاں آپ لوگوں کو گو اور رسٹ اور ڈارٹ کو اٹھاتے ہوئے دیکھتے ہیں۔ اور پھڑپھڑانا،" وہ کہتے ہیں۔

ان زبانوں میں لکھے گئے ایپلی کیشنز کے مجموعی کوڈ بیس کی وجہ سے، اس صورت حال میں تبدیلی نہیں آئے گی۔

"بدقسمتی سے پرانی ایپلی کیشنز کبھی نہیں مرتی ہیں، اس لیے ان بڑے جاوا کوڈ بیسز اور .NET کوڈ بیسز والے کاروباری اداروں میں بہت زیادہ تنقیدی ماس موجود ہے،" وہ کہتے ہیں۔

ٹائم اسٹیمپ:

سے زیادہ گہرا پڑھنا