GRUB2 میں کمزوریاں جو آپ کو UEFI سیکیور بوٹ کو نظرانداز کرنے کی اجازت دیتی ہیں۔

GRUB2 بوٹ لوڈر میں 7 کمزوریاں طے کی گئی ہیں جو آپ کو UEFI سیکیور بوٹ میکانزم کو نظرانداز کرنے اور غیر تصدیق شدہ کوڈ چلانے کی اجازت دیتی ہیں، مثال کے طور پر، بوٹ لوڈر یا کرنل کی سطح پر چلنے والے میلویئر کو متعارف کروائیں۔ مزید برآں، شیم لیئر میں ایک کمزوری ہے، جو آپ کو UEFI سیکیور بوٹ کو نظرانداز کرنے کی بھی اجازت دیتی ہے۔ کمزوریوں کے گروپ کو بوتھول 3 کا کوڈ نام دیا گیا تھا، جیسا کہ بوٹ لوڈر میں پہلے شناخت کی گئی تھی۔

GRUB2 اور shim میں مسائل کو حل کرنے کے لیے، ڈسٹری بیوشنز SBAT (UEFI Secure Boot Advanced Targeting) طریقہ کار استعمال کر سکیں گی، جو GRUB2، shim اور fwupd کے لیے معاون ہے۔ SBAT کو Microsoft کے ساتھ مشترکہ طور پر تیار کیا گیا تھا اور اس میں UEFI اجزاء کی قابل عمل فائلوں میں اضافی میٹا ڈیٹا شامل کرنا شامل ہے، جس میں مینوفیکچرر، پروڈکٹ، اجزاء اور ورژن کے بارے میں معلومات شامل ہیں۔ مخصوص میٹا ڈیٹا ڈیجیٹل دستخط کے ساتھ تصدیق شدہ ہے اور اسے UEFI سیکیور بوٹ کے لیے اجازت یافتہ یا ممنوعہ اجزاء کی فہرست میں الگ سے شامل کیا جا سکتا ہے۔

زیادہ تر لینکس ڈسٹری بیوشنز UEFI سیکیور بوٹ موڈ میں تصدیق شدہ بوٹنگ کے لیے مائیکروسافٹ کے ذریعے ڈیجیٹل طور پر دستخط شدہ ایک چھوٹی شیم لیئر کا استعمال کرتی ہیں۔ یہ پرت اپنے سرٹیفکیٹ کے ساتھ GRUB2 کی تصدیق کرتی ہے، جو تقسیم کرنے والے ڈویلپرز کو مائیکروسافٹ کے ذریعہ ہر دانا اور GRUB اپ ڈیٹ کی تصدیق نہیں کرنے دیتا ہے۔ GRUB2 میں کمزوریاں آپ کو کامیاب شِم تصدیق کے بعد مرحلے پر اپنے کوڈ پر عمل درآمد کرنے کی اجازت دیتی ہیں، لیکن آپریٹنگ سسٹم کو لوڈ کرنے سے پہلے، جب سیکیور بوٹ موڈ فعال ہوتا ہے تو اعتماد کی زنجیر میں پھنس جانا اور بوٹ کے مزید عمل پر مکمل کنٹرول حاصل کرنا، بشمول دوسرے OS کو لوڈ کرنا، آپریٹنگ سسٹم کے اجزاء کے نظام میں ترمیم کرنا اور لاک ڈاؤن تحفظ کو نظرانداز کرنا۔

بوٹ لوڈر میں مسائل کو حل کرنے کے لیے، ڈسٹری بیوشنز کو نئے اندرونی ڈیجیٹل دستخط بنانا ہوں گے اور انسٹالرز، بوٹ لوڈرز، کرنل پیکجز، fwupd فرم ویئر اور شیم لیئر کو اپ ڈیٹ کرنا ہوگا۔ SBAT کے متعارف ہونے سے پہلے، سرٹیفکیٹ کی منسوخی کی فہرست (dbx، UEFI منسوخی کی فہرست) کو اپ ڈیٹ کرنا خطرے کو مکمل طور پر مسدود کرنے کے لیے ایک شرط تھی، کیونکہ حملہ آور، آپریٹنگ سسٹم کے استعمال سے قطع نظر، GRUB2 کے پرانے کمزور ورژن کے ساتھ بوٹ ایبل میڈیا استعمال کر سکتا ہے، UEFI Secure Boot سے سمجھوتہ کرنے کے لیے ڈیجیٹل دستخط سے تصدیق شدہ۔

دستخط منسوخ کرنے کے بجائے، SBAT آپ کو سیکیور بوٹ کی کلیدوں کو منسوخ کیے بغیر انفرادی اجزاء کے ورژن نمبروں کے لیے اس کے استعمال کو روکنے کی اجازت دیتا ہے۔ SBAT کے ذریعے کمزوریوں کو مسدود کرنے کے لیے UEFI سرٹیفکیٹ کی منسوخی کی فہرست (dbx) کے استعمال کی ضرورت نہیں ہے، لیکن دستخط پیدا کرنے اور GRUB2، شیم اور تقسیم کے ذریعے فراہم کردہ دیگر بوٹ آرٹیفیکٹس کو اپ ڈیٹ کرنے کے لیے اندرونی کلید کو تبدیل کرنے کی سطح پر انجام دیا جاتا ہے۔ فی الحال، سب سے زیادہ مقبول لینکس ڈسٹری بیوشنز میں SBAT سپورٹ پہلے ہی شامل کر دی گئی ہے۔

شناخت شدہ خطرات:

  • CVE-2021-3696, CVE-2021-3695 خاص طور پر ڈیزائن کردہ PNG امیجز پر کارروائی کرتے وقت ہیپ پر مبنی بفر اوور فلو ہوتے ہیں، جو نظریاتی طور پر حملہ آور کوڈ کو چلانے اور UEFI سیکیور بوٹ کو نظرانداز کرنے کے لیے استعمال کیے جا سکتے ہیں۔ یہ نوٹ کیا جاتا ہے کہ اس مسئلے کا فائدہ اٹھانا مشکل ہے، کیونکہ ورکنگ ایکسپلائٹ بنانے کے لیے بہت سے عوامل کو مدنظر رکھنا اور میموری کی ترتیب کے بارے میں معلومات کی دستیابی کی ضرورت ہوتی ہے۔
  • CVE-2021-3697 - JPEG امیج پروسیسنگ کوڈ میں ایک بفر انڈر فلو۔ مسئلے کا فائدہ اٹھانے کے لیے میموری کی ترتیب کا علم درکار ہوتا ہے اور یہ پی این جی ایشو (CVSS 7.5) جیسی پیچیدگی کی سطح پر ہے۔
  • CVE-2022-28733 - grub_net_recv_ip4_packets() فنکشن میں انٹیجر اوور فلو rsm->total_len پیرامیٹر کو خاص طور پر تیار کردہ IP پیکٹ بھیج کر متاثر ہونے کی اجازت دیتا ہے۔ اس مسئلے کو پیش کردہ خطرات میں سب سے خطرناک کے طور پر نشان زد کیا گیا ہے (CVSS 8.1)۔ اگر کامیابی سے استفادہ کیا جاتا ہے تو، کمزوری جان بوجھ کر چھوٹا میموری سائز مختص کرکے ڈیٹا کو بفر باؤنڈری سے آگے لکھنے کی اجازت دیتی ہے۔
  • CVE-2022-28734 - سٹریپ شدہ HTTP ہیڈر پر کارروائی کرتے وقت سنگل بائٹ بفر اوور فلو۔ خاص طور پر تیار کردہ HTTP درخواستوں کو پارس کرتے وقت ایک مسئلہ GRUB2 میٹا ڈیٹا بدعنوانی کا سبب بن سکتا ہے (بفر کے اختتام کے بعد ایک null بائٹ لکھنا)۔
  • CVE-2022-28735 shim_lock تصدیق کنندہ میں ایک مسئلہ نان کرنل فائل لوڈنگ کی اجازت دیتا ہے۔ خطرے کا استعمال غیر دستخط شدہ کرنل ماڈیولز یا UEFI سیکیور بوٹ موڈ میں غیر تصدیق شدہ کوڈ کو لوڈ کرنے کے لیے کیا جا سکتا ہے۔
  • CVE-2022-28736 grub_cmd_chainloader() فنکشن میں chainloader کمانڈ کو دوبارہ چلانے کے ذریعے پہلے سے آزاد میموری تک رسائی، جو آپریٹنگ سسٹم کو بوٹ کرنے کے لیے استعمال ہوتی ہے جو GRUB2 کے ذریعے تعاون یافتہ نہیں ہے۔ استحصال کے نتیجے میں حملہ آور کوڈ پر عمل درآمد ہو سکتا ہے اگر حملہ آور GRUB2 میں میموری مختص کرنے کے قابل ہو
  • CVE-2022-28737 - شیم لیئر میں ایک بفر اوور فلو handle_image() فنکشن میں ہوتا ہے جب تیار کردہ EFI امیجز کو لوڈ اور عمل میں لایا جاتا ہے۔

ماخذ: opennet.ru

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