LKRG 0.8 ماڊل کي ڇڏڻ لاءِ لينڪس ڪرنل ۾ ڪمزورين جي استحصال کان بچاءُ لاءِ

اوپن وال پروجيڪٽ شايع ٿيل kernel module ڇڏڻ LKRG 0.8 (Linux Kernel Runtime Guard)، حملن کي ڳولڻ ۽ بلاڪ ڪرڻ لاءِ ٺهيل آهي ۽ ڪنيل ڍانچي جي سالميت جي ڀڃڪڙي. مثال طور، ماڊل هلندڙ ڪنييل ۾ غير مجاز تبديلين جي خلاف حفاظت ڪري سگهي ٿو ۽ صارف جي عملن جي اجازتن کي تبديل ڪرڻ جي ڪوشش ڪري ٿو (استحصال جي استعمال کي ڳولڻ). ماڊل لينڪس ڪرنل لاءِ اڳ ۾ ئي معلوم ٿيل استحصالن جي خلاف تحفظ کي منظم ڪرڻ لاءِ (مثال طور، حالتن ۾ جتي سسٽم ۾ ڪرنل کي اپڊيٽ ڪرڻ ڏکيو آهي)، ۽ اڃا تائين اڻڄاتل خطرن جي استحصال کي منهن ڏيڻ لاءِ ٻنهي لاءِ موزون آهي. پروجيڪٽ ڪوڊ طرفان ورهايل GPLv2 تحت لائسنس يافته.

نئين ورزن ۾ تبديلين مان:

  • LKRG پروجيڪٽ جي پوزيشن کي تبديل ڪيو ويو آهي، جيڪو هاڻي سالميت کي جانچڻ ۽ استحصال جي استعمال کي طئي ڪرڻ لاءِ الڳ سب سسٽم ۾ ورهايل ناهي، پر حملن ۽ مختلف سالميت جي خلاف ورزين جي نشاندهي ڪرڻ لاءِ هڪ مڪمل پيداوار طور پيش ڪيو ويو آهي؛
  • مطابقت مهيا ڪئي وئي آهي لينڪس ڪنلز سان 5.3 کان 5.7 تائين، گڏو گڏ جارحانه GCC اصلاحن سان گڏ ڪيل ڪنلن سان، بغير CONFIG_USB ۽ CONFIG_STACKTRACE اختيارن يا CONFIG_UNWINDER_ORC آپشن سان، ۽ گڏوگڏ ڪنلن سان، جيڪي ڪم نه ڪري سگھن ٿا، LRKRG. سان ورهايو وڃي؛
  • تعمير ڪرڻ وقت، ڪجهه لازمي CONFIG_* ڪنيل سيٽنگون چيڪ ڪيون وينديون آهن ته جيئن غير واضح حادثن جي بدران بامعني نقص پيغام پيدا ڪرڻ لاءِ؛
  • اسٽينڊ بائي لاءِ سپورٽ شامل ڪئي وئي (ACPI S3، رام کي معطل) ۽ ننڊ (S4، ڊسڪ کي معطل) موڊس؛
  • Makefile ۾ DKMS سپورٽ شامل ڪئي وئي؛
  • 32-bit ARM پليٽ فارمن لاءِ تجرباتي سپورٽ لاڳو ڪئي وئي آھي (آزمودہ Raspberry Pi 3 Model B تي). اڳ ۾ موجود AArch64 (ARM64) سپورٽ کي وڌايو ويو آھي Raspberry Pi 4 بورڊ سان مطابقت مهيا ڪرڻ لاءِ؛
  • نوان ٿلها شامل ڪيا ويا آهن، جن ۾ هڪ قابل() ڪال هينڊلر به شامل ڪيو ويو آهي ته جيئن انهن استحصالن کي بهتر طور تي سڃاڻي سگهجي جيڪي هٿرادو "صلاحيتون"، نه پروسيس IDs (اعتبار);
  • نئين منطق تجويز ڪئي وئي آهي ڳولڻ جي ڪوششن جي ڳولا لاءِ نالي جي جڳهه جي پابندين کان بچڻ لاءِ (مثال طور، ڊڪر ڪنٽينرز کان)؛
  • x86-64 سسٽم تي، SMAP (Supervisor Mode Access Prevention) بٽ چيڪ ڪيو ويو آهي ۽ لاڳو ڪيو ويو آهي، جيڪو ڪنيل سطح تي هلندڙ مراعات يافته ڪوڊ کان صارف جي خلائي ڊيٽا تائين رسائي کي بلاڪ ڪرڻ لاءِ ٺهيل آهي. SMEP (Supervisor Mode Execution Prevention) تحفظ اڳ ۾ لاڳو ڪيو ويو هو؛
  • آپريشن دوران، LKRG سيٽنگون ھڪڙي ميموري صفحي ۾ رکيل آھن جيڪي عام طور تي صرف پڙھڻ وارا آھن.
  • لاگنگ جي معلومات جيڪا حملن لاءِ تمام گهڻي ڪارآمد ٿي سگهي ٿي (مثال طور، ڪنيل ۾ پتي جي معلومات) ڊيبگنگ موڊ تائين محدود آهي (log_level=4 ۽ اعليٰ)، جيڪا ڊفالٽ طور بند ٿيل آهي.
  • پروسيس ٽريڪنگ ڊيٽابيس جي اسپيبلٽي کي وڌايو ويو آهي - هڪ اسپن لاڪ طرفان محفوظ ڪيل هڪ آر بي وڻ جي بدران، 512 آر بي وڻن جي هڪ هيش ٽيبل کي 512 ريڊ-رائيٽ لاڪ پاران محفوظ ڪيو ويو آهي؛
  • ھڪڙي موڊ کي ڊفالٽ طور تي لاڳو ڪيو ويو آھي ۽ فعال ڪيو ويو آھي، جنھن ۾ پروسيس جي سڃاڻپ ڪندڙ جي سالميت کي اڪثر صرف موجوده ڪم لاء، ۽ اختياري طور تي چالو ٿيل (جاڳڻ) ڪمن لاء پڻ چيڪ ڪيو ويندو آھي. ٻين ڪمن لاءِ جيڪي ننڊ جي حالت ۾ آهن يا LKRG پاران ڪنٽرول ڪيل kernel API تائين رسائي ڪرڻ کان سواءِ ڪم ڪري رهيا آهن، چيڪ گهٽ بار ڪيو ويندو آهي.
  • Fine-Tuning LKRG لاءِ نئون sysctl ۽ module parameters شامل ڪيا ويا، گڏوگڏ ڊولپرز پاران تيار ڪيل فائن ٽيوننگ سيٽنگن (پروفائلز) جي سيٽن مان چونڊ ڪندي آسان ترتيب ڏيڻ لاءِ ٻه sysctl؛
  • ڊفالٽ سيٽنگون تبديل ڪيون ويون آهن هڪ وڌيڪ متوازن توازن حاصل ڪرڻ جي وچ ۾ ڀڃڪڙي جي رفتار جي رفتار ۽ ردعمل جي اثرائتي، هڪ طرف، ۽ ڪارڪردگي تي اثر ۽ غلط مثبت جي خطري، ٻئي طرف؛
  • سسٽم ڊي يونٽ فائل کي ٻيهر ڊزائين ڪيو ويو آهي LKRG ماڊل لوڊ ڪرڻ لاءِ شروعاتي بوٽ ۾ (هڪ ڪنيل ڪمان لائن آپشن استعمال ڪري سگھجي ٿو ماڊل کي غير فعال ڪرڻ لاءِ)؛

نئين رليز ۾ تجويز ڪيل اصلاحن کي نظر ۾ رکندي، LKRG 0.8 استعمال ڪندي ڪارڪردگي جي گھٽتائي جو اندازو لڳايو ويو آهي 2.5٪ ڊفالٽ موڊ ۾ ("هيوي") ۽ 2٪ لائٽ موڊ ۾ ("لائيٽ").

تازو منعقد ٿيل اجلاس ۾ تحقيق روٽڪٽس LKRG کي ڳولڻ لاء پيڪيجز جي اثرائتي ڏيکاريائين بهترين نتيجا، 8 مان 9 ٽيسٽ ٿيل روٽ ڪِڪس جي سڃاڻپ ڪئي وئي جيڪي ڪنيل سطح تي ڪم ڪري رهيا آهن بغير ڪنهن غلط مثبت جي (rootkits Diamorphine, Honey Pot Bears, LilyOfTheValley, Nuk3 Gh0st, Puszek, Reptile, Rootfoo Linux Rootkit ۽ Sutekh جي سڃاڻپ ڪئي وئي، پر Keysniffer، جيڪو هڪ آهي. kernel module، هڪ keylogger سان ياد ڪيو ويو، ۽ لفظي معني ۾ روٽ ڪٽ نه). مقابلي لاءِ، AIDE، OSSEC ۽ Rootkit Hunter پيڪيجز 2 مان 9 روٽ ڪِٽس کي ڳولي لڌو، جڏهن ته Chkrootkit ڪو به پتو نه پيو. ساڳئي وقت، LKRG صارف جي جاء تي واقع روٽ ڪٽس جي ڳولا جي حمايت نه ڪندو آهي، تنهنڪري سڀ کان وڏي ڪارڪردگي حاصل ڪئي وئي آهي جڏهن AIDE ۽ LKRG جي ميلاپ کي استعمال ڪندي، جنهن کي سڀني قسمن جي 14 مان 15 روٽ ڪٽس کي سڃاڻڻ ممڪن بڻائي.

ان کان علاوه، اهو نوٽ ڪري سگهجي ٿو ته تقسيم ڊولپر وائيڪس شروع ڪيو شڪل ڏيڻ Debian، Whonix، Qubes ۽ Kicksecure لاءِ DKMS سان گڏ تيار ٿيل پيڪيجز، ۽ لاءِ ھڪڙو پيڪيج آرڪيڪس لينڪس اڳ ۾ ئي ورزن 0.8 تي اپڊيٽ ڪيو ويو آهي. LKRG سان پيڪيجز روسي ۾ پڻ موجود آهن اي ايل ٽي لينڪس и ايسٽرا لينڪس.

LKRG ۾ سالميت جي چڪاس اصل ڪوڊ ۽ ڊيٽا جي ڪنيل ۽ ماڊلز، ڪجهه اهم ڊيٽا ڍانچي ۽ سي پي يو سيٽنگن جي مقابلي سان ڪئي ويندي آهي ذخيرو ٿيل هيشز يا ڪاپي سان لاڳاپيل ميموري علائقن، ڊيٽا جي جوڙجڪ يا رجسٽر سان. چيڪ ٻئي وقتي طور تي ٽائمر ۽ مختلف واقعن جي واقعن تي چالو ڪيا ويندا آهن.

استحصال جي ممڪن استعمال جو اندازو لڳائڻ ۽ حملن کي بلاڪ ڪرڻ کان اڳ اسٽيج تي ڪيو ويندو آهي ڪنييل وسيلن تائين رسائي فراهم ڪري ٿو (مثال طور، فائل کولڻ کان اڳ)، پر پروسيس کان پوء غير مجاز اجازتون حاصل ڪيون ويون آهن (مثال طور، UID تبديل ڪرڻ). جڏهن غير مجاز رويو معلوم ٿئي ٿو، عملن کي ڊفالٽ طور تي ختم ڪرڻ تي مجبور ڪيو ويندو آهي، جيڪو ڪيترن ئي استحصال کي روڪڻ لاء ڪافي آهي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو