UEFI سیکیور بوٹ کو دور سے بائی پاس کرنے کے لیے اوبنٹو میں لاک ڈاؤن تحفظ کو غیر فعال کرنے کے طریقے

گوگل سے آندرے کونوالوف опубликовал دور سے تحفظ کو غیر فعال کرنے کا طریقہ لاک ڈاؤناوبنٹو کے ساتھ بھیجے گئے لینکس کرنل پیکیج میں پیش کردہ (نظریاتی طور پر تجویز کردہ تکنیک ہے فیڈورا اور دیگر تقسیم کے دانا کے ساتھ کام کریں، لیکن ان کا تجربہ نہیں کیا جاتا ہے)۔

لاک ڈاؤن کرنل تک روٹ یوزر کی رسائی کو محدود کرتا ہے اور UEFI سیکیور بوٹ بائی پاس راستوں کو روکتا ہے۔ مثال کے طور پر، لاک ڈاؤن موڈ میں، /dev/mem، /dev/kmem، /dev/port، /proc/kcore، debugfs، kprobes ڈیبگنگ موڈ، mmiotrace، tracefs، BPF، PCMCIA CIS (کارڈ انفارمیشن سٹرکچر) تک رسائی، کچھ انٹرفیسز محدود ہیں ACPI اور CPU کے MSR رجسٹر، kexec_file اور kexec_load پر کالیں مسدود ہیں، سلیپ موڈ ممنوع ہے، PCI آلات کے لیے DMA کا استعمال محدود ہے، EFI متغیرات سے ACPI کوڈ کی درآمد ممنوع ہے، I/O بندرگاہوں کے ساتھ ہیرا پھیری نہیں ہے۔ سیریل پورٹ کے لیے انٹرپٹ نمبر اور I/O پورٹ کو تبدیل کرنے سمیت اجازت ہے۔

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

Ubuntu اور Fedora میں، کلیدی مجموعہ Alt+SysRq+X لاک ڈاؤن کو غیر فعال کرنے کے لیے فراہم کیا گیا ہے۔ یہ سمجھا جاتا ہے کہ مجموعہ Alt+SysRq+X صرف ڈیوائس تک جسمانی رسائی کے ساتھ استعمال کیا جا سکتا ہے، اور ریموٹ ہیکنگ اور جڑ تک رسائی حاصل کرنے کی صورت میں، حملہ آور لاک ڈاؤن کو غیر فعال نہیں کر سکے گا اور مثال کے طور پر، ایک لوڈ روٹ کٹ کے ساتھ ماڈیول جو دانا میں ڈیجیٹل طور پر سائن نہیں ہوتا ہے۔

آندرے کونوالوف نے دکھایا کہ صارف کی جسمانی موجودگی کی تصدیق کے لیے کی بورڈ پر مبنی طریقے غیر موثر ہیں۔ لاک ڈاؤن کو غیر فعال کرنے کا سب سے آسان طریقہ پروگرام کے مطابق ہوگا۔ نقلی /dev/uinput کے ذریعے Alt+SysRq+X دبانے سے، لیکن یہ آپشن ابتدائی طور پر مسدود ہے۔ ایک ہی وقت میں، متبادل Alt+SysRq+X کے کم از کم دو مزید طریقوں کی نشاندہی کرنا ممکن تھا۔

پہلے طریقہ میں "sysrq-trigger" انٹرفیس کا استعمال شامل ہے - اس کی نقل کرنے کے لیے، صرف "1" کو /proc/sys/kernel/sysrq لکھ کر اس انٹرفیس کو فعال کریں، اور پھر "x" کو /proc/sysrq-trigger پر لکھیں۔ کہا لوپول ختم کر دیا دسمبر میں اوبنٹو کرنل اپ ڈیٹ اور فیڈورا 31 میں۔ یہ قابل ذکر ہے کہ ڈویلپرز، جیسا کہ /dev/uinput کے معاملے میں، ابتدائی طور پر کرنے کی کوشش کی اس طریقہ کو بلاک کریں، لیکن بلاک کرنے کی وجہ سے کام نہیں ہوا۔ غلطیاں کوڈ میں.

دوسرا طریقہ کی بورڈ ایمولیشن کے ذریعے شامل ہے۔ USB/IP اور پھر ورچوئل کی بورڈ سے ترتیب Alt+SysRq+X بھیجنا۔ Ubuntu کے ساتھ بھیجے گئے USB/IP کرنل کو بطور ڈیفالٹ فعال کیا جاتا ہے (CONFIG_USBIP_VHCI_HCD=m اور CONFIG_USBIP_CORE=m) اور آپریشن کے لیے ضروری ڈیجیٹل طور پر دستخط شدہ usbip_core اور vhci_hcd ماڈیول فراہم کرتا ہے۔ حملہ آور کر سکتا ہے۔ بنائیں ورچوئل USB ڈیوائس، چل رہا ہے لوپ بیک انٹرفیس پر نیٹ ورک ہینڈلر اور USB/IP کا استعمال کرتے ہوئے اسے ریموٹ USB ڈیوائس کے طور پر جوڑ رہا ہے۔ مخصوص طریقہ کے بارے میں اطلاع دی Ubuntu ڈویلپرز کو، لیکن ابھی تک ایک فکس جاری نہیں کیا گیا ہے.

ماخذ: opennet.ru

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