نئے ODGen ٹول نے Node.js لائبریریوں میں 180 صفر دن کا پتہ لگایا ہے PlatoBlockchain ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

نئے ODGen ٹول نے Node.js لائبریریوں میں 180 صفر دن کا پتہ لگایا

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

ان خامیوں میں سے ستر کو اس کے بعد سے عام خطرات اور نمائش (CVE) شناخت کار موصول ہوئے ہیں۔ ان میں کمانڈ انجیکشن کی خامیاں، پاتھ ٹراورسل کمزوریاں، صوابدیدی کوڈ پر عمل درآمد کے مسائل، اور کراس سائٹ اسکرپٹنگ کی کمزوریاں شامل ہیں — ان میں سے کچھ وسیع پیمانے پر استعمال ہونے والی ایپلی کیشنز میں۔

اس ماہ کے شروع میں یوزینکس سیکیورٹی سمپوزیم میں جاری ہونے والے ایک مقالے میں، جانز ہاپکنز کے محققین — سونگ لی، منگ کنگ کانگ، جیان وی ہو، اور ینزی کاو — نے ODGen کو موجودہ کوڈ تجزیہ اور نام نہاد گراف استفسار پر مبنی ایک بہتر متبادل کے طور پر بیان کیا۔ Node.js کی کمزوریوں کو تلاش کرنے کے طریقے۔

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

جاوا اسکرپٹ کی کمزوریوں کو تلاش کرنے کے لیے ایک 'ناول' نقطہ نظر

لہذا، محققین نے اس کے بجائے وہ تیار کیا جسے انہوں نے بیان کیا ہے۔ ایک "ناول" اور بہتر طریقہ جسے آبجیکٹ ڈیپینڈنس گراف (ODG) کہا جاتا ہے جو Node.js کی کمزوریوں کا پتہ لگانے کے لیے استعمال کیا جا سکتا ہے۔ انہوں نے کہا کہ انہوں نے کمزوریوں کا پتہ لگانے کے لیے Node.js پروگراموں کے لیے "ODG" بنانے کے لیے ODGen کو نافذ کیا۔

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

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

کیڑے کی ایک قسم

یہ دیکھنے کے لیے کہ آیا ان کا نقطہ نظر کام کرتا ہے، محققین نے پہلے نوڈ پیکیج مینیجر (npm) کے ذخیرے پر Node.js پیکجوں میں پہلے سے اطلاع دی گئی 330 کمزوریوں کے نمونے کے خلاف ODGen کا تجربہ کیا۔ ٹیسٹ نے سکینر کو 302 میں سے 330 کمزوریوں کی صحیح شناخت کرتے ہوئے دکھایا۔ نسبتاً زیادہ درستگی کی شرح سے خوش ہو کر، محققین نے npm میں تقریباً 300,000 Java پیکجوں کے خلاف ODGen چلایا۔ سکینر نے پیکجوں میں کل 2,964 ممکنہ خطرات کی اطلاع دی۔ محققین نے ان میں سے 264 کو چیک کیا - ہر ہفتے اوسطاً 1,000 سے زیادہ ڈاؤن لوڈز کے ساتھ - اور 180 کی جائز کمزوریوں کی تصدیق کرنے میں کامیاب رہے۔ ان میں سے 122 درخواست کی سطح پر تھے، 15 پیکجوں میں تھے جو دیگر ایپلی کیشنز یا کوڈ کے ذریعے درآمد کیے گئے تھے، اور باقی XNUMX بالواسطہ پیکجوں میں موجود تھے۔

ODGen نے تصدیق شدہ کمزوریوں میں سے ایک کثرت (80) کمانڈ انجیکشن فلو کا پتہ لگایا جو حملہ آوروں کو ایک کمزور ایپلی کیشن کے ذریعے آپریٹنگ سسٹم کی سطح پر صوابدیدی کوڈ پر عمل کرنے کی اجازت دیتا ہے۔ 24 تھے راستے ٹراورسل خامیاں; 19 نے کوڈ سے چھیڑ چھاڑ کو فعال کیا، اور XNUMX میں ایک مخصوص قسم کا کمانڈ انجیکشن حملہ شامل تھا جسے پروٹو ٹائپ آلودگی کہا جاتا ہے۔

ٹائم اسٹیمپ:

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