أيهما أختار LKM أم BKM ؟

السلام عليكم ورحمة الله وبركاته

ﻻ أعلم هل خطر في بالك بعض الأحيان حين يأتي الأمر لعملية بناء النواة Kernel هل تقوم بإختيار بناء بعض الموديولات بشكل LKM أم بشكل BKM ؟

ملاحظة:
LKM هي إختصار لــ Loadable Kernel Modules …
BKM أنا أختصرتها وأصلها هو Built-in Kernel Modules …

طيب لنأتي لتوضيح ميزة البناء للنواة مع الموديول بشكل LKM وما هي ميزته لو تم بناءه بشكل BKM من النواحي الأمنية …

عملية بناء الموديول مع النواة بشكل LKM له ميزة كبيرة وكبيرة جداً … حيث لو نفرض بإن هناك ثغرة Vulnerability وتهديد أمني ظهر مؤخراً أي 0Day Exploit في موديول معيين في النواة … كل ما عليك فعله هو عمل:

rmmod module-name

وبعد أن يصدر التحديث لهذا الموديول والترقيع للمشكلة الأمنية تقوم بتحميل هذا الـ Patch وتقوم بعمل إعادة بناء للموديول وحده ومن ثم ستطيع إعادته مرة أخرى الى النواة من خلال:

insmod module-name

هذه الطريقة جنبتك مسألة إعادة الكومبايل للنواة مع الموديول المحدث Patched Module … فكل ما فعلته هو عمل Patch للموديول الحالي الذي فيه مشكلة ومن ثم قمت بإعادته للنواة وذلك ﻷنه LKM تسمح لك بعملية إدخال وإخراج الموديول بالــ Run Time … أيضاً هذه الطريقة جنبتك عملية إعادة التشغيل للـ BOX وبالتالي حصلت على Zero Down Time ::18

أما لو كانت الطريقة التي قمت ببناء الموديول هي بإضافته بشكل Built-in فحين يظهر ثغرة جديدة وتهديد أمني عليك أن تقوم بعمل إعادة كومبايل للنواة كله مرة أخرى لكي تستطيع أن تستفيد من الترقيع … أو تحميل نواة جديدة … بناء الموديولات بهذه الطريقة ﻻ يسمح لك بالمستقبل بعمل إخراج وإدخال لها حسب حاجتك بالـ Run Time … وكل هذا يستوجب إنك تعمل إعادة تشغيل للـ BOX وبالتالي لم تحصل على Zero Down Time …

طيب حتقول إذن دائماً خلاص نعمل الموديول بشكل LKM صح ؟
الجواب: صعب أن أقول نعم وصعب أن اقول لا … هو يعتمد عليك ويعتمد على طبيعة الـ BOX الذي تعمل عليه … والسبب في عدم وجود جواب نهائي لهذه القضية هو عند إستخدامك الموديولات بشكل LKM فإن هذه الطريقة وفي حالة وصول المخترق الى الـ BOX فإنه يستطيع أن يعمل تنصيب لـ Kernel Level RootKit وبالتالي سلامة تسلمك كل شي عندك تحت رحمة المخترق هذا … وﻻ ينفع معك وقتها وﻻ برامج مراقبة وﻻ شيء ::3 مثال على هذا النوع من الـ RootKits هو SucKIT وقامت مجلة Phrack بالكتابة عنه في أحد أعدادها الذي كان بعنوان:
Linux on-the-fly kernel patching without LKM

ولمزيد من المعلومات حول الـ RootKits الخاصة بنواة جنو/لينوكس أليكم الموقع التالي:
Linux Kernel Rootkits

بالنهاية قم بدراسة الـ Trade-off للطريقة الأولى وللطريقة الثانية حسب الوضع والنظام الذي لديك وماذا يقدم من خدمات ::20

About [email protected]

[Between Teams of Red and Blue, I'm with the Purple Team]
This entry was posted in Kernel, Linux Security. Bookmark the permalink.

5 Responses to أيهما أختار LKM أم BKM ؟

  1. B!n@ry says:

    عاشق المنسف … واضح الفيرة والحسرة خلتك تكتب ماذا …
    على كل حال من عادتي ما أنظر لما هو بمستوى أقدامي ::18

    وكلامك مردود عليك بالنهاية … سولف قد ما تقدر ترى الكلام سهل وسهل جداً …

  2. gh0st says:

    أخوي , الله يكرمك , ما يجوز تسمح بوجود مثل هالردود !!

    الله يهديك ….

  3. gh0st says:

    اذا نطق السفيه فلا تجبه فخير من اجابته السكوت
    فان كلمته فرجت عنه وان خليته كمدا يموت
    يخاطبني السفيه بكل قبح فاكره ان اكون له مجيبا
    يزيد سفاهة وازيد حلما كعودا زاده الاحراق طيبا

  4. B!n@ry says:

    معك حق يا خوي gh0st …
    المشكلة أنا ﻻ أحذف أي رد مهما كان وحتى لو كان شتم علي …
    لكي يرى الناس الى أي مدى هذا الإنسان مريض وبحاجة الى العناية المركزة …
    على كل حال أخي بناءاً على طلبك سأقوم بحذف مثل هذه الردود …
    وسأكتب تدوينة عن الامر هذا … من يريد أن يشتمني أو يكتب سب وشتم ضدي فبريدي الخاص موجود وبإمكانه أن يرسل كلامه هناك …

    بالنهاية يا صاحبي gh0st الرجال هم الرجال وليس الدمى الذي خلف الشاشات ::20

  5. omar says:

    اشكرك من كل قلبي على نشر الفائدة

    و حاليا ادرس برمجة السي++

    تقبل وجودي معكم في المدونة

    اخوك عمر

Comments are closed.