proyecto אל Openwall חשפה לאחרונה את ההשקה של הגרסה החדשה של מודול הליבה "LKRG 0.9.2" (Linux Kernel Runtime Guard) אשר נועד לזהות ולחסום התקפות והפרות שלמות מבני הקרנל.
LKRG תומך כרגע ב-x86-64, x86 32-bit, AArch64 (ARM64) ו-ARM 32-bit
ארכיטקטורות מעבד.
על LKRG
כאמור מודול LKRG sואחראי על ביצוע בדיקת תקינות בזמן הריצה של ליבת לינוקס וזיהוי פרצות אבטחה מתפוצץ כנגד הגרעין. לדוגמה, המודול יכול להגן מפני שינויים לא מורשים בקרנל הפועל וניסיונות לשנות את ההרשאות של תהליכי המשתמש (על ידי קביעת השימוש בניצולים).
המודול מתאים הן לארגון הגנה מפני ניצול של פגיעויות ידועות כבר בליבת הלינוקס (לדוגמה, במצבים בהם קשה לעדכן את הליבה במערכת) והן למניעת ניצול של פרצות שעדיין לא ידועות.
יש להבין כי LKRG הוא מודול ליבה (לא תיקון ליבה), כך שניתן לקמפל ולהטעין אותו על מגוון רחב של גרעינים ראשיים והפצה, ללא צורך בתיקון של אף אחד מהם.
נכון לעכשיו, למודול יש תמיכה בגרסאות ליבה החל מ-RHEL7 (והשיבוטים/הגרסאות הרבות שלו) ואובונטו 16.04 ועד להפצות המרכזיות וההליבה האחרונות.
תכונות חדשות עיקריות של LKRG 0.9.2
בגרסה החדשה הזו שמוצגת, המפתחים מזכירים כי lתאימות מובטחת עם ליבות לינוקס 5.14 עד 5.16-rc, כמו גם עם גרעיני ה-LTS 5.4.118+, 4.19.191+ ו-4.14.233+.
בזמן המהדורה הקודמת שלנו, LKRG 0.9.1, Linux 5.12.x היה הליבה האחרונה. היה לנו מזל שזה עבד כמו שהוא גם ב-Linux 5.13.x ואילך 5.10.x ליבות סדרה ארוכות טווח חדשות יותר. עם זאת, החל מתאריך 5.14, כמו כמו גם עבור 3 סדרות ליבה ארוכות טווח ישנות יותר המפורטות ביומן השינויים
מוקדם יותר, היינו צריכים לבצע שינויים כדי לתמוך בגרסאות ליבה חדשות יותר.
לגבי השינויים הבולטים בגרסה החדשה, מודגש כי נוספה תמיכה עבור הגדרות CONFIG_SECCOMP שונות, כמו גם תמיכה בפרמטר הליבה "nolkrg" כדי להשבית את LKRG בזמן האתחול.
לחלק של תיקוני הבאגים, מוזכר זאת תוקן חיובי שגוי עקב מצב המירוץ במהלך עיבוד SECOMP_FILTER_FLAG_TSYNC, בנוסף לכך תוקנה גם התמיכה בתצורת CONFIG_HAVE_STATIC_CALL בליבת לינוקס 5.10+ (תנאי מירוץ קבועים בעת הורדת מודולים אחרים).
בנוסף, מובטח ששמות המודולים החסומים בעת שימוש בהגדרה lkrg.block_modules = 1 נשמרים ברישום.
משאר השינויים הבולטים מהגרסה החדשה הזו:
- יישום של הגדרות sysctl בקובץ /etc/sysctl.d/01-lkrg.conf
- נוסף קובץ תצורה dkms.conf עבור מערכת DKMS (תמיכה ב-Dynamic Kernel Module), המשמשת ליצירת מודולים של צד שלישי לאחר עדכון ליבה.
- תמיכה משופרת ומעודכנת עבור בניית באגים ומערכות אינטגרציה מתמשכות.
בסופו של דבר אם אתה מעוניין לדעת יותר לגבי הפרויקט, עליך לדעת שקוד הפרויקט מופץ תחת רישיון GPLv2.
למי שמעוניין להיות מסוגל להתקין מודול זה, חשוב להזכיר כי se דורש ספריית בניית ליבה התואמת לתמונת ליבת לינוקס בה המודול יפעל. לדוגמה, בדביאן ובאובונטו, אתה יכול לטפל בתשתית הבנייה הנדרשת רק על ידי התקנת כותרות ה-linux:
sudo apt-get install linux-headers-$(uname -r )
במקרה של הפצות, כגון RHEL, Fedora או הפצות המבוססות על אלה, (ואפילו CentOS), החבילה להתקנה היא הבאה:
sudo yum install kernel-devel
כדי ללמוד עוד על זה כמו גם הוראות הקומפילציה יכולים לעיין במידע בקישור הבא.